From fbb585c5d83021ad3e555188e6420a80d165276e Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 8 Aug 2016 10:48:13 +0200 Subject: [PATCH] Remove goog.addSingletonGetter function --- .../render/webgl/imagereplay/defaultshader.js | 8 ++++++-- src/ol/render/webgl/imagereplay/index.js | 6 ++---- src/ol/renderer/map.js | 4 ++-- src/ol/renderer/webgl/defaultmapshader.js | 8 ++++++-- src/ol/renderer/webgl/layer.js | 4 ++-- src/ol/renderer/webgl/tilelayer.js | 5 ++--- src/ol/renderer/webgl/tilelayershader.js | 8 ++++++-- src/ol/style/icon.js | 9 ++++++--- src/ol/webgl/shader.mustache | 8 ++++++-- test/spec/ol/style/icon.test.js | 19 ++++++++----------- 10 files changed, 46 insertions(+), 33 deletions(-) diff --git a/src/ol/render/webgl/imagereplay/defaultshader.js b/src/ol/render/webgl/imagereplay/defaultshader.js index e1944c2fe6..495e7a59e0 100644 --- a/src/ol/render/webgl/imagereplay/defaultshader.js +++ b/src/ol/render/webgl/imagereplay/defaultshader.js @@ -14,7 +14,6 @@ ol.render.webgl.imagereplay.defaultshader.Fragment = function() { ol.webgl.Fragment.call(this, ol.render.webgl.imagereplay.defaultshader.Fragment.SOURCE); }; ol.inherits(ol.render.webgl.imagereplay.defaultshader.Fragment, ol.webgl.Fragment); -goog.addSingletonGetter(ol.render.webgl.imagereplay.defaultshader.Fragment); /** @@ -40,6 +39,9 @@ ol.render.webgl.imagereplay.defaultshader.Fragment.SOURCE = goog.DEBUG ? ol.render.webgl.imagereplay.defaultshader.Fragment.OPTIMIZED_SOURCE; +ol.render.webgl.imagereplay.defaultshader.fragment = new ol.render.webgl.imagereplay.defaultshader.Fragment(); + + /** * @constructor * @extends {ol.webgl.Vertex} @@ -49,7 +51,6 @@ ol.render.webgl.imagereplay.defaultshader.Vertex = function() { ol.webgl.Vertex.call(this, ol.render.webgl.imagereplay.defaultshader.Vertex.SOURCE); }; ol.inherits(ol.render.webgl.imagereplay.defaultshader.Vertex, ol.webgl.Vertex); -goog.addSingletonGetter(ol.render.webgl.imagereplay.defaultshader.Vertex); /** @@ -75,6 +76,9 @@ ol.render.webgl.imagereplay.defaultshader.Vertex.SOURCE = goog.DEBUG ? ol.render.webgl.imagereplay.defaultshader.Vertex.OPTIMIZED_SOURCE; +ol.render.webgl.imagereplay.defaultshader.vertex = new ol.render.webgl.imagereplay.defaultshader.Vertex(); + + /** * @constructor * @param {WebGLRenderingContext} gl GL. diff --git a/src/ol/render/webgl/imagereplay/index.js b/src/ol/render/webgl/imagereplay/index.js index 56ebfb7f42..4fd0aff35d 100644 --- a/src/ol/render/webgl/imagereplay/index.js +++ b/src/ol/render/webgl/imagereplay/index.js @@ -515,10 +515,8 @@ ol.render.webgl.ImageReplay.prototype.replay = function(context, context.bindBuffer(ol.webgl.ELEMENT_ARRAY_BUFFER, this.indicesBuffer_); // get the program - var fragmentShader = - ol.render.webgl.imagereplay.defaultshader.Fragment.getInstance(); - var vertexShader = - ol.render.webgl.imagereplay.defaultshader.Vertex.getInstance(); + var fragmentShader = ol.render.webgl.imagereplay.defaultshader.fragment; + var vertexShader = ol.render.webgl.imagereplay.defaultshader.vertex; var program = context.getProgram(fragmentShader, vertexShader); // get the locations diff --git a/src/ol/renderer/map.js b/src/ol/renderer/map.js index 439e103937..841d9b4b9a 100644 --- a/src/ol/renderer/map.js +++ b/src/ol/renderer/map.js @@ -9,7 +9,7 @@ goog.require('ol.events.EventType'); goog.require('ol.extent'); goog.require('ol.functions'); goog.require('ol.layer.Layer'); -goog.require('ol.style.IconImageCache'); +goog.require('ol.style.iconImageCache'); /** @@ -104,7 +104,7 @@ ol.renderer.Map.prototype.disposeInternal = function() { * @private */ ol.renderer.Map.expireIconCache_ = function(map, frameState) { - ol.style.IconImageCache.getInstance().expire(); + ol.style.iconImageCache.expire(); }; diff --git a/src/ol/renderer/webgl/defaultmapshader.js b/src/ol/renderer/webgl/defaultmapshader.js index 35d01d4003..ca2e32176b 100644 --- a/src/ol/renderer/webgl/defaultmapshader.js +++ b/src/ol/renderer/webgl/defaultmapshader.js @@ -14,7 +14,6 @@ ol.renderer.webgl.defaultmapshader.Fragment = function() { ol.webgl.Fragment.call(this, ol.renderer.webgl.defaultmapshader.Fragment.SOURCE); }; ol.inherits(ol.renderer.webgl.defaultmapshader.Fragment, ol.webgl.Fragment); -goog.addSingletonGetter(ol.renderer.webgl.defaultmapshader.Fragment); /** @@ -40,6 +39,9 @@ ol.renderer.webgl.defaultmapshader.Fragment.SOURCE = goog.DEBUG ? ol.renderer.webgl.defaultmapshader.Fragment.OPTIMIZED_SOURCE; +ol.renderer.webgl.defaultmapshader.fragment = new ol.renderer.webgl.defaultmapshader.Fragment(); + + /** * @constructor * @extends {ol.webgl.Vertex} @@ -49,7 +51,6 @@ ol.renderer.webgl.defaultmapshader.Vertex = function() { ol.webgl.Vertex.call(this, ol.renderer.webgl.defaultmapshader.Vertex.SOURCE); }; ol.inherits(ol.renderer.webgl.defaultmapshader.Vertex, ol.webgl.Vertex); -goog.addSingletonGetter(ol.renderer.webgl.defaultmapshader.Vertex); /** @@ -75,6 +76,9 @@ ol.renderer.webgl.defaultmapshader.Vertex.SOURCE = goog.DEBUG ? ol.renderer.webgl.defaultmapshader.Vertex.OPTIMIZED_SOURCE; +ol.renderer.webgl.defaultmapshader.vertex = new ol.renderer.webgl.defaultmapshader.Vertex(); + + /** * @constructor * @param {WebGLRenderingContext} gl GL. diff --git a/src/ol/renderer/webgl/layer.js b/src/ol/renderer/webgl/layer.js index 536289deb3..b8e3e4b979 100644 --- a/src/ol/renderer/webgl/layer.js +++ b/src/ol/renderer/webgl/layer.js @@ -145,8 +145,8 @@ ol.renderer.webgl.Layer.prototype.composeFrame = function(frameState, layerState var gl = context.getGL(); - var fragmentShader = ol.renderer.webgl.defaultmapshader.Fragment.getInstance(); - var vertexShader = ol.renderer.webgl.defaultmapshader.Vertex.getInstance(); + var fragmentShader = ol.renderer.webgl.defaultmapshader.fragment; + var vertexShader = ol.renderer.webgl.defaultmapshader.vertex; var program = context.getProgram(fragmentShader, vertexShader); diff --git a/src/ol/renderer/webgl/tilelayer.js b/src/ol/renderer/webgl/tilelayer.js index 1b9a09697e..130cf94feb 100644 --- a/src/ol/renderer/webgl/tilelayer.js +++ b/src/ol/renderer/webgl/tilelayer.js @@ -30,14 +30,13 @@ ol.renderer.webgl.TileLayer = function(mapRenderer, tileLayer) { * @private * @type {ol.webgl.Fragment} */ - this.fragmentShader_ = - ol.renderer.webgl.tilelayershader.Fragment.getInstance(); + this.fragmentShader_ = ol.renderer.webgl.tilelayershader.fragment; /** * @private * @type {ol.webgl.Vertex} */ - this.vertexShader_ = ol.renderer.webgl.tilelayershader.Vertex.getInstance(); + this.vertexShader_ = ol.renderer.webgl.tilelayershader.vertex; /** * @private diff --git a/src/ol/renderer/webgl/tilelayershader.js b/src/ol/renderer/webgl/tilelayershader.js index 11db8e3b39..32f2889b1e 100644 --- a/src/ol/renderer/webgl/tilelayershader.js +++ b/src/ol/renderer/webgl/tilelayershader.js @@ -14,7 +14,6 @@ ol.renderer.webgl.tilelayershader.Fragment = function() { ol.webgl.Fragment.call(this, ol.renderer.webgl.tilelayershader.Fragment.SOURCE); }; ol.inherits(ol.renderer.webgl.tilelayershader.Fragment, ol.webgl.Fragment); -goog.addSingletonGetter(ol.renderer.webgl.tilelayershader.Fragment); /** @@ -40,6 +39,9 @@ ol.renderer.webgl.tilelayershader.Fragment.SOURCE = goog.DEBUG ? ol.renderer.webgl.tilelayershader.Fragment.OPTIMIZED_SOURCE; +ol.renderer.webgl.tilelayershader.fragment = new ol.renderer.webgl.tilelayershader.Fragment(); + + /** * @constructor * @extends {ol.webgl.Vertex} @@ -49,7 +51,6 @@ ol.renderer.webgl.tilelayershader.Vertex = function() { ol.webgl.Vertex.call(this, ol.renderer.webgl.tilelayershader.Vertex.SOURCE); }; ol.inherits(ol.renderer.webgl.tilelayershader.Vertex, ol.webgl.Vertex); -goog.addSingletonGetter(ol.renderer.webgl.tilelayershader.Vertex); /** @@ -75,6 +76,9 @@ ol.renderer.webgl.tilelayershader.Vertex.SOURCE = goog.DEBUG ? ol.renderer.webgl.tilelayershader.Vertex.OPTIMIZED_SOURCE; +ol.renderer.webgl.tilelayershader.vertex = new ol.renderer.webgl.tilelayershader.Vertex(); + + /** * @constructor * @param {WebGLRenderingContext} gl GL. diff --git a/src/ol/style/icon.js b/src/ol/style/icon.js index df6fffa8c5..d984958d55 100644 --- a/src/ol/style/icon.js +++ b/src/ol/style/icon.js @@ -1,7 +1,7 @@ goog.provide('ol.style.Icon'); goog.provide('ol.style.IconAnchorUnits'); -goog.provide('ol.style.IconImageCache'); goog.provide('ol.style.IconOrigin'); +goog.provide('ol.style.iconImageCache'); goog.require('ol.events'); goog.require('ol.events.EventTarget'); @@ -458,7 +458,7 @@ ol.inherits(ol.style.IconImage_, ol.events.EventTarget); */ ol.style.IconImage_.get = function(image, src, size, crossOrigin, imageState, color) { - var iconImageCache = ol.style.IconImageCache.getInstance(); + var iconImageCache = ol.style.iconImageCache; var iconImage = iconImageCache.get(src, crossOrigin, color); if (!iconImage) { iconImage = new ol.style.IconImage_( @@ -638,6 +638,7 @@ ol.style.IconImage_.prototype.unlistenImage_ = function() { /** * @constructor + * @private */ ol.style.IconImageCache = function() { @@ -660,7 +661,6 @@ ol.style.IconImageCache = function() { */ this.maxCacheSize_ = 32; }; -goog.addSingletonGetter(ol.style.IconImageCache); /** @@ -728,3 +728,6 @@ ol.style.IconImageCache.prototype.set = function(src, crossOrigin, color, this.cache_[key] = iconImage; ++this.cacheSize_; }; + + +ol.style.iconImageCache = new ol.style.IconImageCache(); diff --git a/src/ol/webgl/shader.mustache b/src/ol/webgl/shader.mustache index f50b0ac4ba..83406a4803 100644 --- a/src/ol/webgl/shader.mustache +++ b/src/ol/webgl/shader.mustache @@ -14,7 +14,6 @@ goog.require('ol.webgl.Vertex'); ol.webgl.Fragment.call(this, {{className}}.Fragment.SOURCE); }; ol.inherits({{className}}.Fragment, ol.webgl.Fragment); -goog.addSingletonGetter({{className}}.Fragment); /** @@ -40,6 +39,9 @@ goog.addSingletonGetter({{className}}.Fragment); {{className}}.Fragment.OPTIMIZED_SOURCE; +{{className}}.fragment = new {{className}}.Fragment(); + + /** * @constructor * @extends {ol.webgl.Vertex} @@ -49,7 +51,6 @@ goog.addSingletonGetter({{className}}.Fragment); ol.webgl.Vertex.call(this, {{className}}.Vertex.SOURCE); }; ol.inherits({{className}}.Vertex, ol.webgl.Vertex); -goog.addSingletonGetter({{className}}.Vertex); /** @@ -75,6 +76,9 @@ goog.addSingletonGetter({{className}}.Vertex); {{className}}.Vertex.OPTIMIZED_SOURCE; +{{className}}.vertex = new {{className}}.Vertex(); + + /** * @constructor * @param {WebGLRenderingContext} gl GL. diff --git a/test/spec/ol/style/icon.test.js b/test/spec/ol/style/icon.test.js index c3a967975f..d3e6c07c8a 100644 --- a/test/spec/ol/style/icon.test.js +++ b/test/spec/ol/style/icon.test.js @@ -2,7 +2,7 @@ goog.provide('ol.test.style.Icon'); goog.provide('ol.test.style.IconImageCache'); goog.require('ol.events'); -goog.require('ol.style.IconImageCache'); +goog.require('ol.style.iconImageCache'); goog.require('ol.style.Icon'); @@ -145,7 +145,7 @@ describe('ol.style.Icon', function() { it('takes the real image size', function() { // pretend that the image is already in the cache, // this image will be used for the icon. - var cache = ol.style.IconImageCache.getInstance(); + var cache = ol.style.iconImageCache; var src = 'test.png'; var iconImage = new ol.style.IconImage_(null, 'test.png', imgSize); cache.set(src, null, null, iconImage); @@ -170,23 +170,23 @@ describe('ol.style.IconImageCache', function() { var originalMaxCacheSize; beforeEach(function() { - var cache = ol.style.IconImageCache.getInstance(); + var cache = ol.style.iconImageCache; cache.clear(); originalMaxCacheSize = cache.maxCacheSize; cache.maxCacheSize_ = 4; }); afterEach(function() { - var cache = ol.style.IconImageCache.getInstance(); + var cache = ol.style.iconImageCache; cache.maxCacheSize_ = originalMaxCacheSize; cache.clear(); }); describe('#expire', function() { it('expires images when expected', function() { - var cache = ol.style.IconImageCache.getInstance(); + var cache = ol.style.iconImageCache; - var i, src, iconImage, key; + var i, src, iconImage; for (i = 0; i < 4; ++i) { src = i + ''; @@ -223,11 +223,8 @@ describe('ol.style.IconImageCache', function() { // check that '0' and '4' are not removed from the cache cache.expire(); - key = ol.style.IconImageCache.getKey('0', null, null); - expect(key in cache.cache_).to.be.ok(); - key = ol.style.IconImageCache.getKey('4', null, null); - expect(key in cache.cache_).to.be.ok(); - + expect(cache.get('0', null, null)).to.not.be(null); + expect(cache.get('4', null, null)).to.not.be(null); }); }); });