Incorporating @elemoine's review comments
This commit is contained in:
@@ -1140,15 +1140,6 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* Method: onLoadEnd
|
|
||||||
* Sets the loading flag to false and triggers the loadend event.
|
|
||||||
*/
|
|
||||||
onLoadEnd: function() {
|
|
||||||
this.loading = false;
|
|
||||||
this.events.triggerEvent("loadend");
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method: removeTileMonitoringHooks
|
* Method: removeTileMonitoringHooks
|
||||||
* This function takes a tile as input and removes the tile hooks
|
* This function takes a tile as input and removes the tile hooks
|
||||||
|
|||||||
@@ -2399,7 +2399,7 @@ OpenLayers.Map = OpenLayers.Class({
|
|||||||
// update the end scale, and reuse the running zoomTween
|
// update the end scale, and reuse the running zoomTween
|
||||||
map.zoomTween.finish = {
|
map.zoomTween.finish = {
|
||||||
scale: map.zoomTween.finish.scale * end.scale
|
scale: map.zoomTween.finish.scale * end.scale
|
||||||
}
|
};
|
||||||
} else {
|
} else {
|
||||||
if (!xy) {
|
if (!xy) {
|
||||||
var size = map.getSize();
|
var size = map.getSize();
|
||||||
@@ -2805,7 +2805,8 @@ OpenLayers.Map = OpenLayers.Class({
|
|||||||
if (transform) {
|
if (transform) {
|
||||||
// Try translate3d, but only if the viewPortDiv has a transform
|
// Try translate3d, but only if the viewPortDiv has a transform
|
||||||
// defined in a stylesheet
|
// defined in a stylesheet
|
||||||
var computedStyle = OpenLayers.Element.getStyle(this.viewPortDiv, OpenLayers.Util.vendorPrefix.css('transform'));
|
var computedStyle = OpenLayers.Element.getStyle(this.viewPortDiv,
|
||||||
|
OpenLayers.Util.vendorPrefix.css('transform'));
|
||||||
if (!computedStyle || computedStyle !== 'none') {
|
if (!computedStyle || computedStyle !== 'none') {
|
||||||
template = ['translate3d(', ',0) ', 'scale3d(', ',1)'];
|
template = ['translate3d(', ',0) ', 'scale3d(', ',1)'];
|
||||||
style[transform] = [template[0], '0,0', template[1]].join('');
|
style[transform] = [template[0], '0,0', template[1]].join('');
|
||||||
|
|||||||
@@ -968,7 +968,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_applyBackBuffer(t) {
|
function test_applyBackBuffer(t) {
|
||||||
t.plan(9);
|
t.plan(12);
|
||||||
|
|
||||||
var map = new OpenLayers.Map('map2');
|
var map = new OpenLayers.Map('map2');
|
||||||
var layer = new OpenLayers.Layer.WMS('', '', {}, {
|
var layer = new OpenLayers.Layer.WMS('', '', {}, {
|
||||||
@@ -1025,6 +1025,24 @@
|
|||||||
t.eq(layer.backBuffer.style.top, '295px',
|
t.eq(layer.backBuffer.style.top, '295px',
|
||||||
'back buffer has correct top');
|
'back buffer has correct top');
|
||||||
|
|
||||||
|
// test #4
|
||||||
|
// and a back buffer in the layer and do as if back buffer removal
|
||||||
|
// has been scheduled, and test that applyBackBuffer removes the
|
||||||
|
// back buffer and clears the timer
|
||||||
|
layer.createBackBuffer = function() {
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
backBuffer = document.createElement('div');
|
||||||
|
map.layerContainerDiv.insertBefore(backBuffer, map.baseLayer.div);
|
||||||
|
layer.backBuffer = backBuffer;
|
||||||
|
layer.backBufferTimerId = 'fake';
|
||||||
|
layer.applyBackBuffer(2);
|
||||||
|
t.ok(backBuffer !== map.layerContainerDiv.firstChild,
|
||||||
|
'back buffer is not first child of layer container div');
|
||||||
|
t.eq(layer.backBuffer, null,
|
||||||
|
'back buffer not set in layer');
|
||||||
|
t.eq(layer.backBufferTimerId, null,
|
||||||
|
'back buffer timer cleared');
|
||||||
map.destroy();
|
map.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1269,6 +1287,55 @@
|
|||||||
OpenLayers.Tile.Image.prototype.createBackBuffer = origCreateBackBuffer
|
OpenLayers.Tile.Image.prototype.createBackBuffer = origCreateBackBuffer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function test_delayed_back_buffer_removal(t) {
|
||||||
|
//
|
||||||
|
// Test that the delaying of the back buffer removal behaves
|
||||||
|
// as expected.
|
||||||
|
//
|
||||||
|
|
||||||
|
t.plan(5);
|
||||||
|
|
||||||
|
// set up
|
||||||
|
|
||||||
|
var map = new OpenLayers.Map('map', {
|
||||||
|
resolutions: [32, 16, 8, 4, 2, 1],
|
||||||
|
zoomMethod: null
|
||||||
|
});
|
||||||
|
var layer = new OpenLayers.Layer.WMS('', '', {}, {
|
||||||
|
isBaseLayer: true,
|
||||||
|
transitionEffect: 'resize'
|
||||||
|
});
|
||||||
|
map.addLayer(layer);
|
||||||
|
map.setCenter(new OpenLayers.LonLat(0, 0), 0);
|
||||||
|
|
||||||
|
map.zoomTo(1);
|
||||||
|
|
||||||
|
t.ok(layer.backBuffer === map.layerContainerDiv.firstChild,
|
||||||
|
'[a] back buffer is first child of layer container div');
|
||||||
|
|
||||||
|
// Mark one tile loaded, to see if back buffer removal gets scheduled.
|
||||||
|
layer.grid[1][1].onImageLoad();
|
||||||
|
|
||||||
|
t.ok(layer.backBufferTimerId !== null,
|
||||||
|
'[a] back buffer scheduled for removal');
|
||||||
|
|
||||||
|
var backBuffer = layer.backBuffer;
|
||||||
|
|
||||||
|
map.zoomTo(2);
|
||||||
|
|
||||||
|
t.ok(layer.backBuffer !== backBuffer,
|
||||||
|
'[b] a new back buffer was created');
|
||||||
|
t.ok(layer.backBuffer === map.layerContainerDiv.firstChild,
|
||||||
|
'[b] back buffer is first child of layer container div');
|
||||||
|
t.ok(layer.backBufferTimerId === null,
|
||||||
|
'[b] back buffer no longer scheduled for removal');
|
||||||
|
|
||||||
|
// tear down
|
||||||
|
|
||||||
|
map.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
function test_getGridData(t) {
|
function test_getGridData(t) {
|
||||||
t.plan(12);
|
t.plan(12);
|
||||||
|
|
||||||
|
|||||||
@@ -2022,7 +2022,7 @@
|
|||||||
map.applyTransform = function(x, y, scale) {
|
map.applyTransform = function(x, y, scale) {
|
||||||
log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
|
log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
|
||||||
OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
|
OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
|
||||||
}
|
};
|
||||||
|
|
||||||
moved = {};
|
moved = {};
|
||||||
map.zoomToExtent(new OpenLayers.Bounds(-1, -1, 1, 1));
|
map.zoomToExtent(new OpenLayers.Bounds(-1, -1, 1, 1));
|
||||||
@@ -2091,7 +2091,7 @@
|
|||||||
map.applyTransform = function(x, y, scale) {
|
map.applyTransform = function(x, y, scale) {
|
||||||
log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
|
log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
|
||||||
OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
|
OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
|
||||||
}
|
};
|
||||||
|
|
||||||
map.moveByPx(-10, -10);
|
map.moveByPx(-10, -10);
|
||||||
t.eq(log[0][0], 10, 'layer container left correct');
|
t.eq(log[0][0], 10, 'layer container left correct');
|
||||||
|
|||||||
Reference in New Issue
Block a user