From 386bb636bb872d5a000b5df60dbaf84efe3a902f Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sun, 20 Jan 2013 22:25:28 +0100 Subject: [PATCH 1/5] Add missing dependencies on goog.array --- src/ol/control/mousepositioncontrol.js | 1 + src/ol/mapbrowserevent.js | 1 + src/ol/overlay/overlay.js | 1 + src/ol/renderer/canvas/canvasmaprenderer.js | 1 + src/ol/renderer/canvas/canvastilelayerrenderer.js | 1 + src/ol/renderer/dom/dommaprenderer.js | 1 + src/ol/renderer/maprenderer.js | 1 + src/ol/renderer/webgl/webglmaprenderer.js | 1 + src/ol/source/bingmapssource.js | 1 + src/ol/source/tiledwmssource.js | 1 + src/ol/tileurlfunction.js | 1 + 11 files changed, 11 insertions(+) diff --git a/src/ol/control/mousepositioncontrol.js b/src/ol/control/mousepositioncontrol.js index ec45c3cabf..a20c25a1cd 100644 --- a/src/ol/control/mousepositioncontrol.js +++ b/src/ol/control/mousepositioncontrol.js @@ -3,6 +3,7 @@ goog.provide('ol.control.MousePosition'); +goog.require('goog.array'); goog.require('goog.dom'); goog.require('goog.events'); goog.require('goog.events.EventType'); diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index c39f838928..17defe5f20 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -2,6 +2,7 @@ goog.provide('ol.MapBrowserEvent'); goog.provide('ol.MapBrowserEvent.EventType'); goog.provide('ol.MapBrowserEventHandler'); +goog.require('goog.array'); goog.require('goog.asserts'); goog.require('goog.events.BrowserEvent'); goog.require('goog.events.EventTarget'); diff --git a/src/ol/overlay/overlay.js b/src/ol/overlay/overlay.js index 1c96bb3d5c..8c878fb3e2 100644 --- a/src/ol/overlay/overlay.js +++ b/src/ol/overlay/overlay.js @@ -1,6 +1,7 @@ goog.provide('ol.overlay.Overlay'); goog.provide('ol.overlay.OverlayPositioning'); +goog.require('goog.array'); goog.require('goog.events'); goog.require('goog.style'); diff --git a/src/ol/renderer/canvas/canvasmaprenderer.js b/src/ol/renderer/canvas/canvasmaprenderer.js index b664dc977a..37cc2f483f 100644 --- a/src/ol/renderer/canvas/canvasmaprenderer.js +++ b/src/ol/renderer/canvas/canvasmaprenderer.js @@ -2,6 +2,7 @@ goog.provide('ol.renderer.canvas.Map'); +goog.require('goog.array'); goog.require('goog.dom'); goog.require('goog.style'); goog.require('goog.vec.Mat4'); diff --git a/src/ol/renderer/canvas/canvastilelayerrenderer.js b/src/ol/renderer/canvas/canvastilelayerrenderer.js index c79251e6f9..6cdcb478db 100644 --- a/src/ol/renderer/canvas/canvastilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvastilelayerrenderer.js @@ -4,6 +4,7 @@ goog.provide('ol.renderer.canvas.TileLayer'); +goog.require('goog.array'); goog.require('goog.dom'); goog.require('goog.style'); goog.require('goog.vec.Mat4'); diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 79853a8d6c..6f9724a746 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -1,5 +1,6 @@ goog.provide('ol.renderer.dom.Map'); +goog.require('goog.array'); goog.require('goog.asserts'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js index 14b3db6d9f..1e185e0db2 100644 --- a/src/ol/renderer/maprenderer.js +++ b/src/ol/renderer/maprenderer.js @@ -1,6 +1,7 @@ goog.provide('ol.renderer.Map'); goog.require('goog.Disposable'); +goog.require('goog.array'); goog.require('goog.asserts'); goog.require('goog.events'); goog.require('goog.functions'); diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js index c334e59b80..89f7f032c6 100644 --- a/src/ol/renderer/webgl/webglmaprenderer.js +++ b/src/ol/renderer/webgl/webglmaprenderer.js @@ -5,6 +5,7 @@ goog.provide('ol.renderer.webgl.Map'); goog.provide('ol.renderer.webgl.map.shader'); +goog.require('goog.array'); goog.require('goog.debug.Logger'); goog.require('goog.dispose'); goog.require('goog.dom'); diff --git a/src/ol/source/bingmapssource.js b/src/ol/source/bingmapssource.js index a700ba09d2..ed89f2363c 100644 --- a/src/ol/source/bingmapssource.js +++ b/src/ol/source/bingmapssource.js @@ -2,6 +2,7 @@ goog.provide('ol.BingMapsStyle'); goog.provide('ol.source.BingMaps'); goog.require('goog.Uri'); +goog.require('goog.array'); goog.require('goog.events'); goog.require('goog.events.EventType'); goog.require('goog.net.Jsonp'); diff --git a/src/ol/source/tiledwmssource.js b/src/ol/source/tiledwmssource.js index 40b0c699ff..41c5024327 100644 --- a/src/ol/source/tiledwmssource.js +++ b/src/ol/source/tiledwmssource.js @@ -3,6 +3,7 @@ goog.provide('ol.source.TiledWMS'); +goog.require('goog.array'); goog.require('goog.asserts'); goog.require('goog.object'); goog.require('goog.uri.utils'); diff --git a/src/ol/tileurlfunction.js b/src/ol/tileurlfunction.js index ce63f6c4cb..ce7168fb24 100644 --- a/src/ol/tileurlfunction.js +++ b/src/ol/tileurlfunction.js @@ -1,6 +1,7 @@ goog.provide('ol.TileUrlFunction'); goog.provide('ol.TileUrlFunctionType'); +goog.require('goog.array'); goog.require('goog.math'); goog.require('goog.uri.utils'); goog.require('ol.TileCoord'); From 7229428741ba069d45acb10818f5fff257ec2f51 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sun, 20 Jan 2013 21:55:08 +0100 Subject: [PATCH 2/5] Use in-place filtering for post-render functions --- src/ol/map.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/ol/map.js b/src/ol/map.js index 6ab92eb8b8..eeac9aee97 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -530,13 +530,12 @@ ol.Map.prototype.handleMapBrowserEvent = function(mapBrowserEvent) { ol.Map.prototype.handlePostRender = function() { this.tileQueue_.reprioritize(); // FIXME only call if needed this.tileQueue_.loadMoreTiles(); - goog.array.forEach( - this.postRenderFunctions_, - function(postRenderFunction) { - postRenderFunction(this, this.frameState_); - }, - this); - this.postRenderFunctions_.length = 0; + var postRenderFunctions = this.postRenderFunctions_; + var i; + for (i = 0; i < postRenderFunctions.length; ++i) { + postRenderFunctions[i](this, this.frameState_); + } + postRenderFunctions.length = 0; }; From d76db2005fe80dde9c064534c571ffb2824b8c24 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sun, 20 Jan 2013 21:56:08 +0100 Subject: [PATCH 3/5] Use for loop for iterating over layers --- src/ol/map.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ol/map.js b/src/ol/map.js index eeac9aee97..e143d0cf7b 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -615,9 +615,11 @@ ol.Map.prototype.renderFrame_ = function(time) { var backgroundColor = this.getBackgroundColor(); var viewHints = view.getHints(); var layerStates = {}; - goog.array.forEach(layersArray, function(layer) { + var layer; + for (i = 0; i < layersArray.length; ++i) { + layer = layersArray[i]; layerStates[goog.getUid(layer)] = layer.getLayerState(); - }); + } var view2DState = view2D.getView2DState(); frameState = { animate: false, From 3967e173668885b685838965ce347686a9120a21 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sun, 20 Jan 2013 21:56:27 +0100 Subject: [PATCH 4/5] Use in-place filtering for pre-render functions --- src/ol/map.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/ol/map.js b/src/ol/map.js index e143d0cf7b..dcf7cc0f4d 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -641,12 +641,15 @@ ol.Map.prototype.renderFrame_ = function(time) { }; } - this.preRenderFunctions_ = goog.array.filter( - this.preRenderFunctions_, - function(preRenderFunction) { - return preRenderFunction(this, frameState); - }, - this); + var preRenderFunctions = this.preRenderFunctions_; + var n = 0, preRenderFunction; + for (i = 0; i < preRenderFunctions.length; ++i) { + preRenderFunction = preRenderFunctions[i]; + if (preRenderFunction(this, frameState)) { + preRenderFunctions[n++] = preRenderFunction; + } + } + preRenderFunctions.length = n; if (!goog.isNull(frameState)) { // FIXME works for View2D only From f1b11866fde8ccd3a4945e426f3b790e2e681e01 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sun, 20 Jan 2013 21:56:48 +0100 Subject: [PATCH 5/5] Remove dependency on goog.array --- src/ol/map.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ol/map.js b/src/ol/map.js index dcf7cc0f4d..a4ae6c28bc 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -8,7 +8,6 @@ goog.provide('ol.RendererHint'); goog.provide('ol.RendererHints'); goog.require('goog.Uri.QueryData'); -goog.require('goog.array'); goog.require('goog.async.AnimationDelay'); goog.require('goog.debug.Logger'); goog.require('goog.dispose');