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
|
||||
* 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
|
||||
map.zoomTween.finish = {
|
||||
scale: map.zoomTween.finish.scale * end.scale
|
||||
}
|
||||
};
|
||||
} else {
|
||||
if (!xy) {
|
||||
var size = map.getSize();
|
||||
@@ -2805,7 +2805,8 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
if (transform) {
|
||||
// Try translate3d, but only if the viewPortDiv has a transform
|
||||
// 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') {
|
||||
template = ['translate3d(', ',0) ', 'scale3d(', ',1)'];
|
||||
style[transform] = [template[0], '0,0', template[1]].join('');
|
||||
|
||||
@@ -968,7 +968,7 @@
|
||||
}
|
||||
|
||||
function test_applyBackBuffer(t) {
|
||||
t.plan(9);
|
||||
t.plan(12);
|
||||
|
||||
var map = new OpenLayers.Map('map2');
|
||||
var layer = new OpenLayers.Layer.WMS('', '', {}, {
|
||||
@@ -1025,7 +1025,25 @@
|
||||
t.eq(layer.backBuffer.style.top, '295px',
|
||||
'back buffer has correct top');
|
||||
|
||||
map.destroy();
|
||||
// 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();
|
||||
}
|
||||
|
||||
function test_createBackBuffer(t) {
|
||||
@@ -1269,6 +1287,55 @@
|
||||
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) {
|
||||
t.plan(12);
|
||||
|
||||
|
||||
@@ -2022,7 +2022,7 @@
|
||||
map.applyTransform = function(x, y, scale) {
|
||||
log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
|
||||
OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
|
||||
}
|
||||
};
|
||||
|
||||
moved = {};
|
||||
map.zoomToExtent(new OpenLayers.Bounds(-1, -1, 1, 1));
|
||||
@@ -2091,7 +2091,7 @@
|
||||
map.applyTransform = function(x, y, scale) {
|
||||
log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
|
||||
OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
|
||||
}
|
||||
};
|
||||
|
||||
map.moveByPx(-10, -10);
|
||||
t.eq(log[0][0], 10, 'layer container left correct');
|
||||
|
||||
Reference in New Issue
Block a user