From 554887ae140ace5c3fba49abdb64032355ad203d Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Wed, 3 Feb 2016 10:10:16 -0700 Subject: [PATCH] Remove use of goog.object.forEach() --- src/ol/layer/layergroup.js | 6 ++--- src/ol/renderer/maprenderer.js | 11 ++++---- src/ol/renderer/webgl/webglmaprenderer.js | 22 ++++++---------- src/ol/source/tileimagesource.js | 15 ++++++----- src/ol/source/vectorsource.js | 13 +++++----- src/ol/webgl/context.js | 31 ++++++++++++----------- 6 files changed, 48 insertions(+), 50 deletions(-) diff --git a/src/ol/layer/layergroup.js b/src/ol/layer/layergroup.js index daa3db3524..deaff7a9b1 100644 --- a/src/ol/layer/layergroup.js +++ b/src/ol/layer/layergroup.js @@ -104,9 +104,9 @@ ol.layer.Group.prototype.handleLayersChanged_ = function(event) { ol.events.listen(layers, ol.CollectionEventType.REMOVE, this.handleLayersRemove_, this)); - goog.object.forEach(this.listenerKeys_, function(keys) { - keys.forEach(ol.events.unlistenByKey); - }); + for (var id in this.listenerKeys_) { + this.listenerKeys_[id].forEach(ol.events.unlistenByKey); + } goog.object.clear(this.listenerKeys_); var layersArray = layers.getArray(); diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js index 3e3530fab6..49393f0898 100644 --- a/src/ol/renderer/maprenderer.js +++ b/src/ol/renderer/maprenderer.js @@ -4,12 +4,11 @@ goog.provide('ol.renderer.Map'); goog.require('goog.Disposable'); goog.require('goog.asserts'); goog.require('goog.dispose'); -goog.require('ol.events'); -goog.require('ol.events.EventType'); goog.require('goog.functions'); -goog.require('goog.object'); goog.require('goog.vec.Mat4'); goog.require('ol'); +goog.require('ol.events'); +goog.require('ol.events.EventType'); goog.require('ol.extent'); goog.require('ol.layer.Layer'); goog.require('ol.renderer.Layer'); @@ -95,7 +94,9 @@ ol.renderer.Map.prototype.createLayerRenderer = goog.abstractMethod; * @inheritDoc */ ol.renderer.Map.prototype.disposeInternal = function() { - goog.object.forEach(this.layerRenderers_, goog.dispose); + for (var id in this.layerRenderers_) { + goog.dispose(this.layerRenderers_[id]); + } goog.base(this, 'disposeInternal'); }; @@ -277,7 +278,7 @@ ol.renderer.Map.prototype.getLayerRendererByKey = function(layerKey) { /** * @protected - * @return {Object.} Layer renderers. + * @return {Object.} Layer renderers. */ ol.renderer.Map.prototype.getLayerRenderers = function() { return this.layerRenderers_; diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js index 8bb50fd2db..fed3f58ee8 100644 --- a/src/ol/renderer/webgl/webglmaprenderer.js +++ b/src/ol/renderer/webgl/webglmaprenderer.js @@ -4,11 +4,8 @@ goog.provide('ol.renderer.webgl.Map'); goog.require('goog.asserts'); goog.require('goog.dom'); -goog.require('ol.events'); -goog.require('ol.events.Event'); goog.require('goog.log'); goog.require('goog.log.Logger'); -goog.require('goog.object'); goog.require('goog.style'); goog.require('goog.webgl'); goog.require('ol'); @@ -16,6 +13,8 @@ goog.require('ol.RendererType'); goog.require('ol.array'); goog.require('ol.css'); goog.require('ol.dom'); +goog.require('ol.events'); +goog.require('ol.events.Event'); goog.require('ol.layer.Image'); goog.require('ol.layer.Layer'); goog.require('ol.layer.Tile'); @@ -384,17 +383,12 @@ ol.renderer.webgl.Map.prototype.handleWebGLContextLost = function(event) { event.preventDefault(); this.textureCache_.clear(); this.textureCacheFrameMarkerCount_ = 0; - goog.object.forEach(this.getLayerRenderers(), - /** - * @param {ol.renderer.Layer} layerRenderer Layer renderer. - * @param {string} key Key. - * @param {Object.} object Object. - */ - function(layerRenderer, key, object) { - goog.asserts.assertInstanceof(layerRenderer, ol.renderer.webgl.Layer, - 'renderer is an instance of ol.renderer.webgl.Layer'); - layerRenderer.handleWebGLContextLost(); - }); + + var renderers = this.getLayerRenderers(); + for (var id in renderers) { + var renderer = /** @type {ol.renderer.webgl.Layer} */ (renderers[id]); + renderer.handleWebGLContextLost(); + } }; diff --git a/src/ol/source/tileimagesource.js b/src/ol/source/tileimagesource.js index 23d9218199..9d2e6ea666 100644 --- a/src/ol/source/tileimagesource.js +++ b/src/ol/source/tileimagesource.js @@ -1,12 +1,12 @@ goog.provide('ol.source.TileImage'); goog.require('goog.asserts'); -goog.require('ol.events'); -goog.require('ol.events.EventType'); goog.require('goog.object'); goog.require('ol.ImageTile'); goog.require('ol.TileCache'); goog.require('ol.TileState'); +goog.require('ol.events'); +goog.require('ol.events.EventType'); goog.require('ol.proj'); goog.require('ol.reproj.Tile'); goog.require('ol.source.UrlTile'); @@ -112,9 +112,10 @@ ol.source.TileImage.prototype.expireCache = function(projection, usedTiles) { var usedTileCache = this.getTileCacheForProjection(projection); this.tileCache.expireCache(this.tileCache == usedTileCache ? usedTiles : {}); - goog.object.forEach(this.tileCacheForProjection, function(tileCache) { + for (var id in this.tileCacheForProjection) { + var tileCache = this.tileCacheForProjection[id]; tileCache.expireCache(tileCache == usedTileCache ? usedTiles : {}); - }); + } }; @@ -303,9 +304,9 @@ ol.source.TileImage.prototype.setRenderReprojectionEdges = function(render) { return; } this.renderReprojectionEdges_ = render; - goog.object.forEach(this.tileCacheForProjection, function(tileCache) { - tileCache.clear(); - }); + for (var id in this.tileCacheForProjection) { + this.tileCacheForProjection[id].clear(); + } this.changed(); }; diff --git a/src/ol/source/vectorsource.js b/src/ol/source/vectorsource.js index a5f60642b4..fd0bfd3602 100644 --- a/src/ol/source/vectorsource.js +++ b/src/ol/source/vectorsource.js @@ -6,9 +6,6 @@ goog.provide('ol.source.VectorEvent'); goog.provide('ol.source.VectorEventType'); goog.require('goog.asserts'); -goog.require('ol.events'); -goog.require('ol.events.Event'); -goog.require('ol.events.EventType'); goog.require('goog.object'); goog.require('ol'); goog.require('ol.Collection'); @@ -19,6 +16,9 @@ goog.require('ol.FeatureLoader'); goog.require('ol.LoadingStrategy'); goog.require('ol.ObjectEventType'); goog.require('ol.array'); +goog.require('ol.events'); +goog.require('ol.events.Event'); +goog.require('ol.events.EventType'); goog.require('ol.extent'); goog.require('ol.featureloader'); goog.require('ol.loadingstrategy'); @@ -382,10 +382,11 @@ ol.source.Vector.prototype.clear = function(opt_fast) { this.undefIdIndex_ = {}; } } else { - var rmFeatureInternal = this.removeFeatureInternal; if (this.featuresRtree_) { - this.featuresRtree_.forEach(rmFeatureInternal, this); - goog.object.forEach(this.nullGeometryFeatures_, rmFeatureInternal, this); + this.featuresRtree_.forEach(this.removeFeatureInternal, this); + for (var id in this.nullGeometryFeatures_) { + this.removeFeatureInternal(this.nullGeometryFeatures_[id]); + } } } if (this.featuresCollection_) { diff --git a/src/ol/webgl/context.js b/src/ol/webgl/context.js index 3790647b1f..dda073019d 100644 --- a/src/ol/webgl/context.js +++ b/src/ol/webgl/context.js @@ -1,11 +1,11 @@ goog.provide('ol.webgl.Context'); goog.require('goog.asserts'); -goog.require('ol.events'); goog.require('goog.log'); goog.require('goog.object'); goog.require('ol'); goog.require('ol.array'); +goog.require('ol.events'); goog.require('ol.webgl.Buffer'); goog.require('ol.webgl.WebGLContextEventType'); @@ -42,13 +42,13 @@ ol.webgl.Context = function(canvas, gl) { /** * @private - * @type {Object.} + * @type {Object.} */ this.bufferCache_ = {}; /** * @private - * @type {Object.} + * @type {Object.} */ this.shaderCache_ = {}; @@ -113,7 +113,7 @@ ol.webgl.Context = function(canvas, gl) { ol.webgl.Context.prototype.bindBuffer = function(target, buf) { var gl = this.getGL(); var arr = buf.getArray(); - var bufferKey = goog.getUid(buf); + var bufferKey = String(goog.getUid(buf)); if (bufferKey in this.bufferCache_) { var bufferCacheEntry = this.bufferCache_[bufferKey]; gl.bindBuffer(target, bufferCacheEntry.buffer); @@ -146,7 +146,7 @@ ol.webgl.Context.prototype.bindBuffer = function(target, buf) { */ ol.webgl.Context.prototype.deleteBuffer = function(buf) { var gl = this.getGL(); - var bufferKey = goog.getUid(buf); + var bufferKey = String(goog.getUid(buf)); goog.asserts.assert(bufferKey in this.bufferCache_, 'attempted to delete uncached buffer'); var bufferCacheEntry = this.bufferCache_[bufferKey]; @@ -163,15 +163,16 @@ ol.webgl.Context.prototype.deleteBuffer = function(buf) { ol.webgl.Context.prototype.disposeInternal = function() { var gl = this.getGL(); if (!gl.isContextLost()) { - goog.object.forEach(this.bufferCache_, function(bufferCacheEntry) { - gl.deleteBuffer(bufferCacheEntry.buffer); - }); - goog.object.forEach(this.programCache_, function(program) { - gl.deleteProgram(program); - }); - goog.object.forEach(this.shaderCache_, function(shader) { - gl.deleteShader(shader); - }); + var key; + for (key in this.bufferCache_) { + gl.deleteBuffer(this.bufferCache_[key].buffer); + } + for (key in this.programCache_) { + gl.deleteProgram(this.programCache_[key]); + } + for (key in this.shaderCache_) { + gl.deleteShader(this.shaderCache_[key]); + } // delete objects for hit-detection gl.deleteFramebuffer(this.hitDetectionFramebuffer_); gl.deleteRenderbuffer(this.hitDetectionRenderbuffer_); @@ -217,7 +218,7 @@ ol.webgl.Context.prototype.getHitDetectionFramebuffer = function() { * @return {WebGLShader} Shader. */ ol.webgl.Context.prototype.getShader = function(shaderObject) { - var shaderKey = goog.getUid(shaderObject); + var shaderKey = String(goog.getUid(shaderObject)); if (shaderKey in this.shaderCache_) { return this.shaderCache_[shaderKey]; } else {