diff --git a/examples/tilecache.html b/examples/tilecache.html
index dc3202d5eb..cf9db618f7 100644
--- a/examples/tilecache.html
+++ b/examples/tilecache.html
@@ -32,17 +32,6 @@
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(0, 0), 0);
}
-
- OpenLayers.Util.onImageLoadError = function() {
- /**
- * For images that don't exist in the cache, you can display
- * a default image - one that looks like water for example.
- * To show nothing at all, leave the following lines commented out.
- */
-
- //this.src = "../img/blank.gif";
- //this.style.display = "";
- };
diff --git a/lib/OpenLayers/Map.js b/lib/OpenLayers/Map.js
index 1865557dc3..c4e9bf41e2 100644
--- a/lib/OpenLayers/Map.js
+++ b/lib/OpenLayers/Map.js
@@ -238,20 +238,6 @@ OpenLayers.Map = OpenLayers.Class({
*/
panRatio: 1.5,
- /**
- * Property: viewRequestID
- * {String} Used to store a unique identifier that changes when the map
- * view changes. viewRequestID should be used when adding data
- * asynchronously to the map: viewRequestID is incremented when
- * you initiate your request (right now during changing of
- * baselayers and changing of zooms). It is stored here in the
- * map and also in the data that will be coming back
- * asynchronously. Before displaying this data on request
- * completion, we check that the viewRequestID of the data is
- * still the same as that of the map. Fix for #480
- */
- viewRequestID: 0,
-
// Options
/**
@@ -1174,10 +1160,6 @@ OpenLayers.Map = OpenLayers.Class({
// set new baselayer
this.baseLayer = newBaseLayer;
- // Increment viewRequestID since the baseLayer is
- // changing. This is used by tiles to check if they should
- // draw themselves.
- this.viewRequestID++;
if(!this.allOverlays || this.baseLayer.visibility) {
this.baseLayer.setVisibility(true);
}
@@ -1819,8 +1801,6 @@ OpenLayers.Map = OpenLayers.Class({
if (zoomChanged) {
this.zoom = zoom;
this.resolution = res;
- // zoom level has changed, increment viewRequestID.
- this.viewRequestID++;
}
var bounds = this.getExtent();
diff --git a/lib/OpenLayers/Util.js b/lib/OpenLayers/Util.js
index 77254cddff..729bbce20d 100644
--- a/lib/OpenLayers/Util.js
+++ b/lib/OpenLayers/Util.js
@@ -279,13 +279,14 @@ OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border,
OpenLayers.Util.modifyDOMElement(image, id, px, sz, position,
border, null, opacity);
- if(delayDisplay) {
+ if (delayDisplay) {
image.style.display = "none";
- OpenLayers.Event.observe(image, "load",
- OpenLayers.Function.bind(OpenLayers.Util.onImageLoad, image));
- OpenLayers.Event.observe(image, "error",
- OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError, image));
-
+ function display() {
+ image.style.display = "";
+ OpenLayers.Event.stopObservingElement(image);
+ }
+ OpenLayers.Event.observe(image, "load", display);
+ OpenLayers.Event.observe(image, "error", display);
}
//set special properties
@@ -294,8 +295,6 @@ OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border,
if (imgURL) {
image.src = imgURL;
}
-
-
return image;
};
@@ -321,33 +320,6 @@ OpenLayers.Util.setOpacity = function(element, opacity) {
null, null, null, opacity);
};
-/**
- * Function: onImageLoad
- * Bound to image load events. For all images created with or
- * , this function will be bound to the load event.
- */
-OpenLayers.Util.onImageLoad = function() {
- // The complex check here is to solve issues described in #480.
- // Every time a map view changes, it increments the 'viewRequestID'
- // property. As the requests for the images for the new map view are sent
- // out, they are tagged with this unique viewRequestID.
- //
- // If an image has no viewRequestID property set, we display it regardless,
- // but if it does have a viewRequestID property, we check that it matches
- // the viewRequestID set on the map.
- //
- // If the viewRequestID on the map has changed, that means that the user
- // has changed the map view since this specific request was sent out, and
- // therefore this tile does not need to be displayed (so we do not execute
- // this code that turns its display on).
- //
- if (!this.viewRequestID ||
- (this.map && this.viewRequestID == this.map.viewRequestID)) {
- this.style.display = "";
- }
- OpenLayers.Element.removeClass(this, "olImageLoadError");
-};
-
/**
* Property: IMAGE_RELOAD_ATTEMPTS
* {Integer} How many times should we try to reload an image before giving up?
@@ -355,38 +327,6 @@ OpenLayers.Util.onImageLoad = function() {
*/
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 0;
-/**
- * Function: onImageLoadError
- */
-OpenLayers.Util.onImageLoadError = function() {
- this._attempts = (this._attempts) ? (this._attempts + 1) : 1;
- if (this._attempts <= OpenLayers.IMAGE_RELOAD_ATTEMPTS) {
- var urls = this.urls;
- if (urls && OpenLayers.Util.isArray(urls) && urls.length > 1){
- var src = this.src.toString();
- var current_url, k;
- for (k = 0; current_url = urls[k]; k++){
- if(src.indexOf(current_url) != -1){
- break;
- }
- }
- var guess = Math.floor(urls.length * Math.random());
- var new_url = urls[guess];
- k = 0;
- while(new_url == current_url && k++ < 4){
- guess = Math.floor(urls.length * Math.random());
- new_url = urls[guess];
- }
- this.src = src.replace(current_url, new_url);
- } else {
- this.src = this.src;
- }
- } else {
- OpenLayers.Element.addClass(this, "olImageLoadError");
- }
- this.style.display = "";
-};
-
/**
* Property: alphaHackNeeded
* {Boolean} true if the png alpha hack is necessary and possible, false otherwise.
@@ -497,17 +437,9 @@ OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL,
var div = OpenLayers.Util.createDiv();
var img = OpenLayers.Util.createImage(null, null, null, null, null, null,
- null, false);
+ null, delayDisplay);
div.appendChild(img);
- if (delayDisplay) {
- img.style.display = "none";
- OpenLayers.Event.observe(img, "load",
- OpenLayers.Function.bind(OpenLayers.Util.onImageLoad, div));
- OpenLayers.Event.observe(img, "error",
- OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError, div));
- }
-
OpenLayers.Util.modifyAlphaImageDiv(div, id, px, sz, imgURL, position,
border, sizing, opacity);
diff --git a/tests/Util.html b/tests/Util.html
index f70cbb9ddf..d6dcc93def 100644
--- a/tests/Util.html
+++ b/tests/Util.html
@@ -254,21 +254,6 @@
}
- function test_Util_imageLoadError(t) {
- t.plan(2);
-
- var img = OpenLayers.Util.createImage(null, null, null, null, null, null, null, false);
-
- // mock up image load failure
- img._attempts = OpenLayers.IMAGE_RELOAD_ATTEMPTS + 1;
- OpenLayers.Util.onImageLoadError.call(img);
- t.ok(OpenLayers.Element.hasClass(img, 'olImageLoadError'), 'broken image has class olImageLoadError');
-
- // mock up image load success
- OpenLayers.Util.onImageLoad.call(img);
- t.ok(!OpenLayers.Element.hasClass(img, 'olImageLoadError'), 'good image does not have class olImageLoadError');
- }
-
function test_Util_applyDefaults(t) {
t.plan(12);