From 388e5304205c94cd9d20d125d03d75d206f9b97f Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Fri, 19 Apr 2013 20:22:20 +0200 Subject: [PATCH] Use for loop instead of forEach in DOM map renderer --- src/ol/renderer/dom/dommaprenderer.js | 28 ++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 7ad296a0f1..11ed8a7bb2 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -1,10 +1,8 @@ goog.provide('ol.renderer.dom.Map'); -goog.require('goog.array'); goog.require('goog.asserts'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); -goog.require('goog.object'); goog.require('goog.style'); goog.require('ol.css'); goog.require('ol.layer.ImageLayer'); @@ -79,21 +77,25 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) { return; } - goog.array.forEach(frameState.layersArray, function(layer) { - var layerRenderer = this.getLayerRenderer(layer); - var layerState = frameState.layerStates[goog.getUid(layer)]; + var layerStates = frameState.layerStates; + var layersArray = frameState.layersArray; + var i, layer, layerRenderer, layerState; + for (i = 0; i < layersArray.length; ++i) { + layer = layersArray[i]; + layerRenderer = this.getLayerRenderer(layer); + layerState = frameState.layerStates[goog.getUid(layer)]; if (layerState.ready) { layerRenderer.renderFrame(frameState, layerState); } - }, this); + } - goog.object.forEach( - this.getLayerRenderers(), - function(layerRenderer, layerKey) { - if (!(layerKey in frameState.layerStates)) { - goog.dom.removeNode(layerRenderer.getTarget()); - } - }); + var layerKey; + for (layerKey in this.getLayerRenderers()) { + if (!(layerKey in layerStates)) { + layerRenderer = this.getLayerRendererByKey(layerKey); + goog.dom.removeNode(layerRenderer.getTarget()); + } + } if (!this.renderedVisible_) { goog.style.showElement(this.layersPane_, true);