Merge pull request #4162 from fredj/rm_legacy_ie
Remove ol.LEGACY_IE_SUPPORT
This commit is contained in:
@@ -7,7 +7,6 @@ goog.require('goog.dom.TagName');
|
||||
goog.require('goog.events');
|
||||
goog.require('goog.events.Event');
|
||||
goog.require('goog.events.EventType');
|
||||
goog.require('goog.functions');
|
||||
goog.require('goog.style');
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('ol');
|
||||
@@ -45,16 +44,13 @@ ol.renderer.dom.Map = function(container, map) {
|
||||
* @private
|
||||
* @type {CanvasRenderingContext2D}
|
||||
*/
|
||||
this.context_ = null;
|
||||
if (!(ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE)) {
|
||||
this.context_ = ol.dom.createCanvasContext2D();
|
||||
var canvas = this.context_.canvas;
|
||||
canvas.style.position = 'absolute';
|
||||
canvas.style.width = '100%';
|
||||
canvas.style.height = '100%';
|
||||
canvas.className = ol.css.CLASS_UNSELECTABLE;
|
||||
goog.dom.insertChildAt(container, canvas, 0);
|
||||
}
|
||||
this.context_ = ol.dom.createCanvasContext2D();
|
||||
var canvas = this.context_.canvas;
|
||||
canvas.style.position = 'absolute';
|
||||
canvas.style.width = '100%';
|
||||
canvas.style.height = '100%';
|
||||
canvas.className = ol.css.CLASS_UNSELECTABLE;
|
||||
goog.dom.insertChildAt(container, canvas, 0);
|
||||
|
||||
/**
|
||||
* @private
|
||||
@@ -73,14 +69,6 @@ ol.renderer.dom.Map = function(container, map) {
|
||||
style.width = '100%';
|
||||
style.height = '100%';
|
||||
|
||||
// in IE < 9, we need to return false from ondragstart to cancel the default
|
||||
// behavior of dragging images, which is interfering with the custom handler
|
||||
// in the Drag interaction subclasses
|
||||
if (ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) {
|
||||
this.layersPane_.ondragstart = goog.functions.FALSE;
|
||||
this.layersPane_.onselectstart = goog.functions.FALSE;
|
||||
}
|
||||
|
||||
// prevent the img context menu on mobile devices
|
||||
goog.events.listen(this.layersPane_, goog.events.EventType.TOUCHSTART,
|
||||
goog.events.Event.preventDefault);
|
||||
@@ -115,8 +103,7 @@ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) {
|
||||
layerRenderer = new ol.renderer.dom.ImageLayer(layer);
|
||||
} else if (ol.ENABLE_TILE && layer instanceof ol.layer.Tile) {
|
||||
layerRenderer = new ol.renderer.dom.TileLayer(layer);
|
||||
} else if (!(ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) &&
|
||||
ol.ENABLE_VECTOR && layer instanceof ol.layer.Vector) {
|
||||
} else if (ol.ENABLE_VECTOR && layer instanceof ol.layer.Vector) {
|
||||
layerRenderer = new ol.renderer.dom.VectorLayer(layer);
|
||||
} else {
|
||||
goog.asserts.fail('unexpected layer configuration');
|
||||
@@ -134,7 +121,7 @@ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) {
|
||||
ol.renderer.dom.Map.prototype.dispatchComposeEvent_ =
|
||||
function(type, frameState) {
|
||||
var map = this.getMap();
|
||||
if (!(ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) && map.hasListener(type)) {
|
||||
if (map.hasListener(type)) {
|
||||
var extent = frameState.extent;
|
||||
var pixelRatio = frameState.pixelRatio;
|
||||
var viewState = frameState.viewState;
|
||||
@@ -180,40 +167,9 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @this {ol.renderer.dom.Map}
|
||||
* @param {Element} elem
|
||||
* @param {number} i
|
||||
*/
|
||||
var addChild;
|
||||
|
||||
// appendChild is actually more performant than insertBefore
|
||||
// in IE 7 and 8. http://jsperf.com/reattaching-dom-nodes
|
||||
if (ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) {
|
||||
addChild =
|
||||
/**
|
||||
* @this {ol.renderer.dom.Map}
|
||||
* @param {Element} elem
|
||||
*/ (
|
||||
function(elem) {
|
||||
goog.dom.appendChild(this.layersPane_, elem);
|
||||
});
|
||||
} else {
|
||||
addChild =
|
||||
/**
|
||||
* @this {ol.renderer.dom.Map}
|
||||
* @param {Element} elem
|
||||
* @param {number} i
|
||||
*/ (
|
||||
function(elem, i) {
|
||||
goog.dom.insertChildAt(this.layersPane_, elem, i);
|
||||
});
|
||||
}
|
||||
|
||||
var map = this.getMap();
|
||||
if (!(ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) &&
|
||||
(map.hasListener(ol.render.EventType.PRECOMPOSE) ||
|
||||
map.hasListener(ol.render.EventType.POSTCOMPOSE))) {
|
||||
if (map.hasListener(ol.render.EventType.PRECOMPOSE) ||
|
||||
map.hasListener(ol.render.EventType.POSTCOMPOSE)) {
|
||||
var canvas = this.context_.canvas;
|
||||
var pixelRatio = frameState.pixelRatio;
|
||||
canvas.width = frameState.size[0] * pixelRatio;
|
||||
@@ -234,7 +190,7 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) {
|
||||
this.getLayerRenderer(layer));
|
||||
goog.asserts.assertInstanceof(layerRenderer, ol.renderer.dom.Layer,
|
||||
'renderer is an instance of ol.renderer.dom.Layer');
|
||||
addChild.call(this, layerRenderer.getTarget(), i);
|
||||
goog.dom.insertChildAt(this.layersPane_, layerRenderer.getTarget(), i);
|
||||
if (ol.layer.Layer.visibleAtResolution(layerState, viewResolution) &&
|
||||
layerState.sourceState == ol.source.State.READY) {
|
||||
if (layerRenderer.prepareFrame(frameState, layerState)) {
|
||||
|
||||
@@ -17,7 +17,6 @@ goog.require('ol.TileRange');
|
||||
goog.require('ol.TileState');
|
||||
goog.require('ol.ViewHint');
|
||||
goog.require('ol.dom');
|
||||
goog.require('ol.dom.BrowserFeature');
|
||||
goog.require('ol.extent');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.renderer.dom.Layer');
|
||||
@@ -38,12 +37,6 @@ ol.renderer.dom.TileLayer = function(tileLayer) {
|
||||
var target = goog.dom.createElement(goog.dom.TagName.DIV);
|
||||
target.style.position = 'absolute';
|
||||
|
||||
// Needed for IE7-8 to render a transformed element correctly
|
||||
if (ol.dom.BrowserFeature.USE_MS_MATRIX_TRANSFORM) {
|
||||
target.style.width = '100%';
|
||||
target.style.height = '100%';
|
||||
}
|
||||
|
||||
goog.base(this, tileLayer, target);
|
||||
|
||||
/**
|
||||
@@ -249,7 +242,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
|
||||
}
|
||||
|
||||
if (layerState.opacity != this.renderedOpacity_) {
|
||||
ol.dom.setOpacity(this.target, layerState.opacity);
|
||||
this.target.style.opacity = layerState.opacity;
|
||||
this.renderedOpacity_ = layerState.opacity;
|
||||
}
|
||||
|
||||
@@ -285,21 +278,6 @@ ol.renderer.dom.TileLayerZ_ = function(tileGrid, tileCoordOrigin) {
|
||||
this.target.style.width = '100%';
|
||||
this.target.style.height = '100%';
|
||||
|
||||
if (ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) {
|
||||
/**
|
||||
* Needed due to issues with IE7-8 clipping of transformed elements
|
||||
* Solution is to translate separately from the scaled/rotated elements
|
||||
* @private
|
||||
* @type {!Element}
|
||||
*/
|
||||
this.translateTarget_ = goog.dom.createElement(goog.dom.TagName.DIV);
|
||||
this.translateTarget_.style.position = 'absolute';
|
||||
this.translateTarget_.style.width = '100%';
|
||||
this.translateTarget_.style.height = '100%';
|
||||
|
||||
goog.dom.appendChild(this.target, this.translateTarget_);
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {ol.tilegrid.TileGrid}
|
||||
@@ -413,11 +391,7 @@ ol.renderer.dom.TileLayerZ_.prototype.addTile = function(tile, tileGutter) {
|
||||
*/
|
||||
ol.renderer.dom.TileLayerZ_.prototype.finalizeAddTiles = function() {
|
||||
if (!goog.isNull(this.documentFragment_)) {
|
||||
if (ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) {
|
||||
goog.dom.appendChild(this.translateTarget_, this.documentFragment_);
|
||||
} else {
|
||||
goog.dom.appendChild(this.target, this.documentFragment_);
|
||||
}
|
||||
goog.dom.appendChild(this.target, this.documentFragment_);
|
||||
this.documentFragment_ = null;
|
||||
}
|
||||
};
|
||||
@@ -471,12 +445,7 @@ ol.renderer.dom.TileLayerZ_.prototype.removeTilesOutsideExtent =
|
||||
*/
|
||||
ol.renderer.dom.TileLayerZ_.prototype.setTransform = function(transform) {
|
||||
if (!ol.vec.Mat4.equals2D(transform, this.transform_)) {
|
||||
if (ol.LEGACY_IE_SUPPORT && ol.IS_LEGACY_IE) {
|
||||
ol.dom.transformElement2D(this.target, transform, 6,
|
||||
this.translateTarget_);
|
||||
} else {
|
||||
ol.dom.transformElement2D(this.target, transform, 6);
|
||||
}
|
||||
ol.dom.transformElement2D(this.target, transform, 6);
|
||||
goog.vec.Mat4.setFromArray(this.transform_, transform);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user