diff --git a/src/ol/control/zoomslidercontrol.js b/src/ol/control/zoomslidercontrol.js index 1a4859df6e..c5e13a0ef5 100644 --- a/src/ol/control/zoomslidercontrol.js +++ b/src/ol/control/zoomslidercontrol.js @@ -118,14 +118,17 @@ ol.control.ZoomSlider = function(opt_options) { [className, ol.css.CLASS_UNSELECTABLE, ol.css.CLASS_CONTROL], thumbElement); - var dragger = new ol.pointer.PointerEventHandler(containerElement); - this.registerDisposable(dragger); + /** + * @type {ol.pointer.PointerEventHandler} + * @private + */ + this.dragger_ = new ol.pointer.PointerEventHandler(containerElement); - ol.events.listen(dragger, ol.pointer.EventType.POINTERDOWN, + ol.events.listen(this.dragger_, ol.pointer.EventType.POINTERDOWN, this.handleDraggerStart_, this); - ol.events.listen(dragger, ol.pointer.EventType.POINTERMOVE, + ol.events.listen(this.dragger_, ol.pointer.EventType.POINTERMOVE, this.handleDraggerDrag_, this); - ol.events.listen(dragger, ol.pointer.EventType.POINTERUP, + ol.events.listen(this.dragger_, ol.pointer.EventType.POINTERUP, this.handleDraggerEnd_, this); ol.events.listen(containerElement, ol.events.EventType.CLICK, @@ -143,6 +146,15 @@ ol.control.ZoomSlider = function(opt_options) { goog.inherits(ol.control.ZoomSlider, ol.control.Control); +/** + * @inheritDoc + */ +ol.control.ZoomSlider.prototype.disposeInternal = function() { + this.dragger_.dispose(); + goog.base(this, 'disposeInternal'); +}; + + /** * The enum for available directions. * diff --git a/src/ol/disposable.js b/src/ol/disposable.js new file mode 100644 index 0000000000..42978aac89 --- /dev/null +++ b/src/ol/disposable.js @@ -0,0 +1,32 @@ +goog.provide('ol.Disposable'); + +goog.require('ol'); + +/** + * Objects that need to clean up after themselves. + * @constructor + */ +ol.Disposable = function() {}; + +/** + * The object has already been disposed. + * @type {boolean} + * @private + */ +ol.Disposable.prototype.disposed_ = false; + +/** + * Clean up. + */ +ol.Disposable.prototype.dispose = function() { + if (!this.disposed_) { + this.disposed_ = true; + this.disposeInternal(); + } +}; + +/** + * Extension point for disposable objects. + * @protected + */ +ol.Disposable.prototype.disposeInternal = ol.nullFunction; diff --git a/src/ol/events/eventtarget.js b/src/ol/events/eventtarget.js index b103a25e8c..f2591ef538 100644 --- a/src/ol/events/eventtarget.js +++ b/src/ol/events/eventtarget.js @@ -1,6 +1,6 @@ goog.provide('ol.events.EventTarget'); -goog.require('goog.Disposable'); +goog.require('ol.Disposable'); goog.require('ol.events'); goog.require('ol.events.Event'); @@ -20,7 +20,7 @@ goog.require('ol.events.Event'); * returns false. * * @constructor - * @extends {goog.Disposable} + * @extends {ol.Disposable} */ ol.events.EventTarget = function() { @@ -33,7 +33,7 @@ ol.events.EventTarget = function() { this.listeners_ = {}; }; -goog.inherits(ol.events.EventTarget, goog.Disposable); +goog.inherits(ol.events.EventTarget, ol.Disposable); /** @@ -79,7 +79,6 @@ ol.events.EventTarget.prototype.dispatchEvent = function(event) { */ ol.events.EventTarget.prototype.disposeInternal = function() { ol.events.unlistenAll(this); - goog.base(this, 'disposeInternal'); }; diff --git a/src/ol/imagetile.js b/src/ol/imagetile.js index 03c8042a93..b440e908ad 100644 --- a/src/ol/imagetile.js +++ b/src/ol/imagetile.js @@ -70,7 +70,7 @@ ol.ImageTile.prototype.disposeInternal = function() { this.unlistenImage_(); } if (this.interimTile) { - goog.dispose(this.interimTile); + this.interimTile.dispose(); } goog.base(this, 'disposeInternal'); }; diff --git a/src/ol/map.js b/src/ol/map.js index dc8535fbdb..36ba13e3c0 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -300,12 +300,15 @@ ol.Map = function(options) { } this.viewport_.appendChild(this.overlayContainerStopEvent_); - var mapBrowserEventHandler = new ol.MapBrowserEventHandler(this); + /** + * @private + * @type {ol.MapBrowserEventHandler} + */ + this.mapBrowserEventHandler_ = new ol.MapBrowserEventHandler(this); for (var key in ol.MapBrowserEvent.EventType) { - ol.events.listen(mapBrowserEventHandler, ol.MapBrowserEvent.EventType[key], + ol.events.listen(this.mapBrowserEventHandler_, ol.MapBrowserEvent.EventType[key], this.handleMapBrowserEvent, this); } - this.registerDisposable(mapBrowserEventHandler); /** * @private @@ -353,9 +356,7 @@ ol.Map = function(options) { * @type {ol.renderer.Map} * @private */ - this.renderer_ = - new optionsInternal.rendererConstructor(this.viewport_, this); - this.registerDisposable(this.renderer_); + this.renderer_ = new optionsInternal.rendererConstructor(this.viewport_, this); /** * @type {function(Event)|undefined} @@ -577,6 +578,8 @@ ol.Map.prototype.removePreRenderFunction = function(preRenderFunction) { * @inheritDoc */ ol.Map.prototype.disposeInternal = function() { + this.mapBrowserEventHandler_.dispose(); + this.renderer_.dispose(); ol.events.unlisten(this.viewport_, ol.events.EventType.WHEEL, this.handleBrowserEvent, this); ol.events.unlisten(this.viewport_, ol.events.EventType.MOUSEWHEEL, diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index 64cf29524c..da4c3bf1c5 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -285,7 +285,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerUp_ = function(pointerEvent) { this.dragListenerKeys_.length = 0; this.dragging_ = false; this.down_ = null; - goog.dispose(this.documentPointerEventHandler_); + this.documentPointerEventHandler_.dispose(); this.documentPointerEventHandler_ = null; } }; @@ -416,11 +416,11 @@ ol.MapBrowserEventHandler.prototype.disposeInternal = function() { this.dragListenerKeys_.length = 0; if (this.documentPointerEventHandler_) { - goog.dispose(this.documentPointerEventHandler_); + this.documentPointerEventHandler_.dispose(); this.documentPointerEventHandler_ = null; } if (this.pointerEventHandler_) { - goog.dispose(this.pointerEventHandler_); + this.pointerEventHandler_.dispose(); this.pointerEventHandler_ = null; } goog.base(this, 'disposeInternal'); diff --git a/src/ol/render/box.js b/src/ol/render/box.js index cc2c534b97..b2b9fd154d 100644 --- a/src/ol/render/box.js +++ b/src/ol/render/box.js @@ -2,14 +2,14 @@ goog.provide('ol.render.Box'); -goog.require('goog.Disposable'); goog.require('goog.asserts'); +goog.require('ol.Disposable'); goog.require('ol.geom.Polygon'); /** * @constructor - * @extends {goog.Disposable} + * @extends {ol.Disposable} * @param {string} className CSS class name. */ ol.render.Box = function(className) { @@ -47,7 +47,7 @@ ol.render.Box = function(className) { this.endPixel_ = null; }; -goog.inherits(ol.render.Box, goog.Disposable); +goog.inherits(ol.render.Box, ol.Disposable); /** @@ -55,7 +55,6 @@ goog.inherits(ol.render.Box, goog.Disposable); */ ol.render.Box.prototype.disposeInternal = function() { this.setMap(null); - goog.base(this, 'disposeInternal'); }; diff --git a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js index 59b0d77096..d87dc6250f 100644 --- a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js @@ -257,8 +257,6 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, lay return true; } - // FIXME dispose of old replayGroup in post render - goog.dispose(this.replayGroup_); this.replayGroup_ = null; this.dirty_ = false; diff --git a/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js b/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js index 3db37c3c50..3fa67c1908 100644 --- a/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js @@ -216,8 +216,6 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup = function(tile, return; } - // FIXME dispose of old replayGroup in post render - goog.dispose(replayState.replayGroup); replayState.replayGroup = null; replayState.dirty = false; diff --git a/src/ol/renderer/dom/domvectorlayerrenderer.js b/src/ol/renderer/dom/domvectorlayerrenderer.js index 96f052f6a7..b367f811d0 100644 --- a/src/ol/renderer/dom/domvectorlayerrenderer.js +++ b/src/ol/renderer/dom/domvectorlayerrenderer.js @@ -268,8 +268,6 @@ ol.renderer.dom.VectorLayer.prototype.prepareFrame = function(frameState, layerS return true; } - // FIXME dispose of old replayGroup in post render - goog.dispose(this.replayGroup_); this.replayGroup_ = null; this.dirty_ = false; diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js index 6414b9b791..eab340e91b 100644 --- a/src/ol/renderer/maprenderer.js +++ b/src/ol/renderer/maprenderer.js @@ -1,12 +1,11 @@ goog.provide('ol.RendererType'); goog.provide('ol.renderer.Map'); -goog.require('goog.Disposable'); goog.require('goog.asserts'); -goog.require('goog.dispose'); goog.require('goog.functions'); goog.require('goog.vec.Mat4'); goog.require('ol'); +goog.require('ol.Disposable'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.extent'); @@ -30,7 +29,7 @@ ol.RendererType = { /** * @constructor - * @extends {goog.Disposable} + * @extends {ol.Disposable} * @param {Element} container Container. * @param {ol.Map} map Map. * @struct @@ -59,7 +58,7 @@ ol.renderer.Map = function(container, map) { this.layerRendererListeners_ = {}; }; -goog.inherits(ol.renderer.Map, goog.Disposable); +goog.inherits(ol.renderer.Map, ol.Disposable); /** @@ -95,9 +94,8 @@ ol.renderer.Map.prototype.createLayerRenderer = goog.abstractMethod; */ ol.renderer.Map.prototype.disposeInternal = function() { for (var id in this.layerRenderers_) { - goog.dispose(this.layerRenderers_[id]); + this.layerRenderers_[id].dispose(); } - goog.base(this, 'disposeInternal'); }; @@ -340,7 +338,7 @@ ol.renderer.Map.prototype.removeUnusedLayerRenderers_ = function(map, frameState var layerKey; for (layerKey in this.layerRenderers_) { if (!frameState || !(layerKey in frameState.layerStates)) { - goog.dispose(this.removeLayerRendererByKey_(layerKey)); + this.removeLayerRendererByKey_(layerKey).dispose(); } } }; diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js index bfb0bece6a..07f1de15a3 100644 --- a/src/ol/renderer/webgl/webglmaprenderer.js +++ b/src/ol/renderer/webgl/webglmaprenderer.js @@ -311,7 +311,7 @@ ol.renderer.webgl.Map.prototype.disposeInternal = function() { } }); } - goog.dispose(this.context_); + this.context_.dispose(); goog.base(this, 'disposeInternal'); }; diff --git a/src/ol/webgl/context.js b/src/ol/webgl/context.js index dd91964e6b..b84ee12dd5 100644 --- a/src/ol/webgl/context.js +++ b/src/ol/webgl/context.js @@ -3,6 +3,7 @@ goog.provide('ol.webgl.Context'); goog.require('goog.asserts'); goog.require('goog.log'); goog.require('ol'); +goog.require('ol.Disposable'); goog.require('ol.array'); goog.require('ol.events'); goog.require('ol.object'); @@ -22,7 +23,7 @@ ol.webgl.BufferCacheEntry; * A WebGL context for accessing low-level WebGL capabilities. * * @constructor - * @extends {ol.events.EventTarget} + * @extends {ol.Disposable} * @param {HTMLCanvasElement} canvas Canvas. * @param {WebGLRenderingContext} gl GL. */ @@ -101,6 +102,7 @@ ol.webgl.Context = function(canvas, gl) { this.handleWebGLContextRestored, this); }; +goog.inherits(ol.webgl.Context, ol.Disposable); /** @@ -161,6 +163,7 @@ ol.webgl.Context.prototype.deleteBuffer = function(buf) { * @inheritDoc */ ol.webgl.Context.prototype.disposeInternal = function() { + ol.events.unlistenAll(this.canvas_); var gl = this.getGL(); if (!gl.isContextLost()) { var key; diff --git a/test/spec/ol/control/control.test.js b/test/spec/ol/control/control.test.js index f428a52485..44d8d8e7cf 100644 --- a/test/spec/ol/control/control.test.js +++ b/test/spec/ol/control/control.test.js @@ -13,12 +13,12 @@ describe('ol.control.Control', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); }); describe('dispose', function() { it('removes the control element from its parent', function() { - goog.dispose(control); + control.dispose(); expect(control.element.parentNode).to.be(null); }); }); @@ -32,7 +32,7 @@ describe('ol.control.Control\'s target', function() { document.body.appendChild(target); var ctrl = new ol.control.Control({target: 'mycontrol'}); expect(ctrl.target_.id).to.equal('mycontrol'); - goog.dispose(ctrl); + ctrl.dispose(); }); it('accepts element for target', function() { var target = document.createElement('div'); @@ -40,16 +40,15 @@ describe('ol.control.Control\'s target', function() { document.body.appendChild(target); var ctrl = new ol.control.Control({target: target}); expect(ctrl.target_.id).to.equal('mycontrol'); - goog.dispose(ctrl); + ctrl.dispose(); }); it('ignores non-existing target id', function() { var ctrl = new ol.control.Control({target: 'doesnotexist'}); expect(ctrl.target_).to.equal(null); - goog.dispose(ctrl); + ctrl.dispose(); }); }); }); -goog.require('goog.dispose'); goog.require('ol.Map'); goog.require('ol.control.Control'); diff --git a/test/spec/ol/control/overviewmapcontrol.test.js b/test/spec/ol/control/overviewmapcontrol.test.js index 30de52b4c9..f2cc8c5cbe 100644 --- a/test/spec/ol/control/overviewmapcontrol.test.js +++ b/test/spec/ol/control/overviewmapcontrol.test.js @@ -12,7 +12,7 @@ describe('ol.control.OverviewMap', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); map = null; target = null; diff --git a/test/spec/ol/control/zoomslidercontrol.test.js b/test/spec/ol/control/zoomslidercontrol.test.js index 9fe30399c3..c01f355e43 100644 --- a/test/spec/ol/control/zoomslidercontrol.test.js +++ b/test/spec/ol/control/zoomslidercontrol.test.js @@ -15,8 +15,8 @@ describe('ol.control.ZoomSlider', function() { }); afterEach(function() { - goog.dispose(zoomslider); - goog.dispose(map); + zoomslider.dispose(); + map.dispose(); document.body.removeChild(target); zoomslider = null; map = null; @@ -68,7 +68,7 @@ describe('ol.control.ZoomSlider', function() { var horizontal = ol.control.ZoomSlider.direction.HORIZONTAL; expect(control.direction_).to.be(horizontal); - goog.dispose(control); + control.dispose(); }); it('is vertical for tall containers', function() { @@ -81,7 +81,7 @@ describe('ol.control.ZoomSlider', function() { var vertical = ol.control.ZoomSlider.direction.VERTICAL; expect(control.direction_).to.be(vertical); - goog.dispose(control); + control.dispose(); }); }); @@ -102,7 +102,6 @@ describe('ol.control.ZoomSlider', function() { }); it('[horizontal] handles a drag sequence', function() { - var spy = sinon.spy(goog.Disposable.prototype, 'registerDisposable'); var control = new ol.control.ZoomSlider(); map.addControl(control); map.getView().setZoom(0); @@ -111,8 +110,7 @@ describe('ol.control.ZoomSlider', function() { control.element.firstChild.style.width = '100px'; control.element.firstChild.style.height = '10px'; map.renderSync(); - var dragger = spy.firstCall.args[0]; - spy.restore(); + var dragger = control.dragger_; var event = new ol.pointer.PointerEvent(ol.pointer.EventType.POINTERDOWN, { target: control.element.firstElementChild }); @@ -138,7 +136,6 @@ describe('ol.control.ZoomSlider', function() { expect(control.dragging_).to.be(false); }); it('[vertical] handles a drag sequence', function() { - var spy = sinon.spy(goog.Disposable.prototype, 'registerDisposable'); var control = new ol.control.ZoomSlider(); control.element.style.width = '10px'; control.element.style.height = '100px'; @@ -147,8 +144,7 @@ describe('ol.control.ZoomSlider', function() { map.addControl(control); map.getView().setZoom(8); map.renderSync(); - var dragger = spy.firstCall.args[0]; - spy.restore(); + var dragger = control.dragger_; var event = new ol.pointer.PointerEvent(ol.pointer.EventType.POINTERDOWN, { target: control.element.firstElementChild }); @@ -177,8 +173,6 @@ describe('ol.control.ZoomSlider', function() { }); -goog.require('goog.Disposable'); -goog.require('goog.dispose'); goog.require('goog.dom.classlist'); goog.require('ol.Map'); goog.require('ol.View'); diff --git a/test/spec/ol/interaction/dragzoominteraction.test.js b/test/spec/ol/interaction/dragzoominteraction.test.js index 8c3bb97646..07015d2bab 100644 --- a/test/spec/ol/interaction/dragzoominteraction.test.js +++ b/test/spec/ol/interaction/dragzoominteraction.test.js @@ -33,7 +33,7 @@ describe('ol.interaction.DragZoom', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -82,7 +82,6 @@ describe('ol.interaction.DragZoom', function() { }); -goog.require('goog.dispose'); goog.require('ol.Map'); goog.require('ol.View'); goog.require('ol.extent'); diff --git a/test/spec/ol/interaction/drawinteraction.test.js b/test/spec/ol/interaction/drawinteraction.test.js index 811aa36c06..1a491caddc 100644 --- a/test/spec/ol/interaction/drawinteraction.test.js +++ b/test/spec/ol/interaction/drawinteraction.test.js @@ -32,7 +32,7 @@ describe('ol.interaction.Draw', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -811,7 +811,6 @@ describe('ol.interaction.Draw', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.events'); goog.require('ol.Feature'); goog.require('ol.Map'); diff --git a/test/spec/ol/interaction/modifyinteraction.test.js b/test/spec/ol/interaction/modifyinteraction.test.js index 620b60423a..af2a420869 100644 --- a/test/spec/ol/interaction/modifyinteraction.test.js +++ b/test/spec/ol/interaction/modifyinteraction.test.js @@ -48,7 +48,7 @@ describe('ol.interaction.Modify', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -375,7 +375,6 @@ describe('ol.interaction.Modify', function() { }); -goog.require('goog.dispose'); goog.require('ol.events'); goog.require('ol.Collection'); goog.require('ol.Feature'); diff --git a/test/spec/ol/interaction/selectinteraction.test.js b/test/spec/ol/interaction/selectinteraction.test.js index 19e8c577f1..1da9594b65 100644 --- a/test/spec/ol/interaction/selectinteraction.test.js +++ b/test/spec/ol/interaction/selectinteraction.test.js @@ -63,7 +63,7 @@ describe('ol.interaction.Select', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -391,7 +391,6 @@ describe('ol.interaction.Select', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Collection'); goog.require('ol.Feature'); goog.require('ol.Map'); diff --git a/test/spec/ol/interaction/snapinteraction.test.js b/test/spec/ol/interaction/snapinteraction.test.js index 3d396a317b..d5df59cb7f 100644 --- a/test/spec/ol/interaction/snapinteraction.test.js +++ b/test/spec/ol/interaction/snapinteraction.test.js @@ -43,7 +43,7 @@ describe('ol.interaction.Snap', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); diff --git a/test/spec/ol/interaction/translateinteraction.test.js b/test/spec/ol/interaction/translateinteraction.test.js index 4af3595c2e..1f83b06f3f 100644 --- a/test/spec/ol/interaction/translateinteraction.test.js +++ b/test/spec/ol/interaction/translateinteraction.test.js @@ -38,7 +38,7 @@ describe('ol.interaction.Translate', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -108,7 +108,6 @@ describe('ol.interaction.Translate', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Collection'); goog.require('ol.Feature'); goog.require('ol.Map'); diff --git a/test/spec/ol/layer/layer.test.js b/test/spec/ol/layer/layer.test.js index 19681abddb..b37f476865 100644 --- a/test/spec/ol/layer/layer.test.js +++ b/test/spec/ol/layer/layer.test.js @@ -15,7 +15,7 @@ describe('ol.layer.Layer', function() { }); afterEach(function() { - goog.dispose(layer); + layer.dispose(); }); it('creates an instance', function() { @@ -86,7 +86,7 @@ describe('ol.layer.Layer', function() { minResolution: 0.25 }); - goog.dispose(layer); + layer.dispose(); }); }); @@ -103,7 +103,7 @@ describe('ol.layer.Layer', function() { }); afterEach(function() { - goog.dispose(layer); + layer.dispose(); }); it('returns false if layer is not visible', function() { @@ -153,7 +153,7 @@ describe('ol.layer.Layer', function() { }); afterEach(function() { - goog.dispose(layer); + layer.dispose(); }); it('returns a layerState from the properties values', function() { @@ -323,7 +323,7 @@ describe('ol.layer.Layer', function() { }); afterEach(function() { - goog.dispose(layer); + layer.dispose(); }); it('accepts a positive number', function() { @@ -353,7 +353,7 @@ describe('ol.layer.Layer', function() { }); afterEach(function() { - goog.dispose(layer); + layer.dispose(); }); it('sets visible property', function() { @@ -432,7 +432,6 @@ describe('ol.layer.Layer', function() { }); -goog.require('goog.dispose'); goog.require('ol.Map'); goog.require('ol.ObjectEventType'); goog.require('ol.layer.Layer'); diff --git a/test/spec/ol/layer/layergroup.test.js b/test/spec/ol/layer/layergroup.test.js index a285ed23c6..15128a2abf 100644 --- a/test/spec/ol/layer/layergroup.test.js +++ b/test/spec/ol/layer/layergroup.test.js @@ -11,7 +11,7 @@ describe('ol.layer.Group', function() { }); afterEach(function() { - goog.dispose(layerGroup); + layerGroup.dispose(); }); it('creates an instance', function() { @@ -63,8 +63,8 @@ describe('ol.layer.Group', function() { }); afterEach(function() { - goog.dispose(group); - goog.dispose(layer); + group.dispose(); + layer.dispose(); }); it('is dispatched by the group when layer opacity changes', function() { @@ -102,8 +102,8 @@ describe('ol.layer.Group', function() { }); afterEach(function() { - goog.dispose(group); - goog.dispose(layer); + group.dispose(); + layer.dispose(); }); it('is dispatched by the group when group opacity changes', function() { @@ -161,8 +161,8 @@ describe('ol.layer.Group', function() { expect(layerGroup.getLayers().getLength()).to.be(1); expect(layerGroup.getLayers().item(0)).to.be(layer); - goog.dispose(layer); - goog.dispose(layerGroup); + layer.dispose(); + layerGroup.dispose(); }); it('accepts an extent option', function() { @@ -202,8 +202,8 @@ describe('ol.layer.Group', function() { expect(layerGroup.getLayers().getLength()).to.be(1); expect(layerGroup.getLayers().item(0)).to.be(layer); - goog.dispose(layer); - goog.dispose(layerGroup); + layer.dispose(); + layerGroup.dispose(); }); }); @@ -216,7 +216,7 @@ describe('ol.layer.Group', function() { }); afterEach(function() { - goog.dispose(layerGroup); + layerGroup.dispose(); }); it('returns a layerState from the properties values', function() { @@ -312,9 +312,9 @@ describe('ol.layer.Group', function() { layerGroup.setLayers(layers); expect(layerGroup.getLayers()).to.be(layers); - goog.dispose(layerGroup); - goog.dispose(layer); - goog.dispose(layers); + layerGroup.dispose(); + layer.dispose(); + layers.dispose(); }); }); @@ -329,7 +329,7 @@ describe('ol.layer.Group', function() { expect(layerStatesArray).to.be.a(Array); expect(layerStatesArray.length).to.be(0); - goog.dispose(layerGroup); + layerGroup.dispose(); }); var layer1 = new ol.layer.Layer({ @@ -372,7 +372,7 @@ describe('ol.layer.Group', function() { expect(layerStatesArray[1]).to.eql(layer2.getLayerState()); - goog.dispose(layerGroup); + layerGroup.dispose(); }); it('uses the layer group extent if layer has no extent', function() { @@ -383,7 +383,7 @@ describe('ol.layer.Group', function() { }); var layerStatesArray = layerGroup.getLayerStatesArray(); expect(layerStatesArray[0].extent).to.eql(groupExtent); - goog.dispose(layerGroup); + layerGroup.dispose(); }); it('uses the intersection of group and child extent', function() { @@ -395,7 +395,7 @@ describe('ol.layer.Group', function() { var layerStatesArray = layerGroup.getLayerStatesArray(); expect(layerStatesArray[0].extent).to.eql( ol.extent.getIntersection(layer3.getExtent(), groupExtent)); - goog.dispose(layerGroup); + layerGroup.dispose(); }); it('transforms layerStates correctly', function() { @@ -433,7 +433,7 @@ describe('ol.layer.Group', function() { minResolution: 0.25 }); - goog.dispose(layerGroup); + layerGroup.dispose(); }); it('let order of layers without Z-index unchanged', function() { @@ -447,7 +447,7 @@ describe('ol.layer.Group', function() { expect(layerStatesArray[0]).to.eql(initialArray[0]); expect(layerStatesArray[1]).to.eql(initialArray[1]); - goog.dispose(layerGroup); + layerGroup.dispose(); }); it('orders layer with higher Z-index on top', function() { @@ -477,20 +477,19 @@ describe('ol.layer.Group', function() { expect(layerStatesArray[2]).to.eql(initialArray[2]); expect(layerStatesArray[3]).to.eql(initialArray[1]); - goog.dispose(layer10); - goog.dispose(layerM1); - goog.dispose(layerGroup); + layer10.dispose(); + layerM1.dispose(); + layerGroup.dispose(); }); - goog.dispose(layer1); - goog.dispose(layer2); - goog.dispose(layer3); + layer1.dispose(); + layer2.dispose(); + layer3.dispose(); }); }); goog.require('ol.array'); -goog.require('goog.dispose'); goog.require('ol.Collection'); goog.require('ol.ObjectEventType'); goog.require('ol.events'); diff --git a/test/spec/ol/layer/tilelayer.test.js b/test/spec/ol/layer/tilelayer.test.js index 7b7b302c82..98bf2f102d 100644 --- a/test/spec/ol/layer/tilelayer.test.js +++ b/test/spec/ol/layer/tilelayer.test.js @@ -13,7 +13,7 @@ describe('ol.layer.Tile', function() { }); afterEach(function() { - goog.dispose(layer); + layer.dispose(); }); it('creates an instance', function() { @@ -32,6 +32,5 @@ describe('ol.layer.Tile', function() { }); -goog.require('goog.dispose'); goog.require('ol.layer.Tile'); goog.require('ol.source.OSM'); diff --git a/test/spec/ol/layer/vectortilelayer.test.js b/test/spec/ol/layer/vectortilelayer.test.js index 4ced5c282e..fcbbde71c2 100644 --- a/test/spec/ol/layer/vectortilelayer.test.js +++ b/test/spec/ol/layer/vectortilelayer.test.js @@ -13,7 +13,7 @@ describe('ol.layer.VectorTile', function() { }); afterEach(function() { - goog.dispose(layer); + layer.dispose(); }); it('creates an instance', function() { @@ -32,6 +32,5 @@ describe('ol.layer.VectorTile', function() { }); -goog.require('goog.dispose'); goog.require('ol.layer.VectorTile'); goog.require('ol.source.VectorTile'); diff --git a/test/spec/ol/map.test.js b/test/spec/ol/map.test.js index 663026abf1..7beac5be7d 100644 --- a/test/spec/ol/map.test.js +++ b/test/spec/ol/map.test.js @@ -97,7 +97,7 @@ describe('ol.Map', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -143,7 +143,7 @@ describe('ol.Map', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -226,12 +226,12 @@ describe('ol.Map', function() { }); it('removes the viewport from its parent', function() { - goog.dispose(map); + map.dispose(); expect(map.getViewport().parentNode).to.be(null); }); it('removes window listeners', function() { - goog.dispose(map); + map.dispose(); expect(map.handleResize_).to.be(undefined); }); }); @@ -383,7 +383,7 @@ describe('ol.Map', function() { afterEach(function() { map.removeOverlay(overlay); - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -425,7 +425,6 @@ describe('ol.Map', function() { }); -goog.require('goog.dispose'); goog.require('ol.Map'); goog.require('ol.MapEvent'); goog.require('ol.Overlay'); diff --git a/test/spec/ol/overlay.test.js b/test/spec/ol/overlay.test.js index 468e58d1da..156549d710 100644 --- a/test/spec/ol/overlay.test.js +++ b/test/spec/ol/overlay.test.js @@ -28,7 +28,7 @@ describe('ol.Overlay', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); @@ -72,7 +72,6 @@ describe('ol.Overlay', function() { }); -goog.require('goog.dispose'); goog.require('ol.Map'); goog.require('ol.Overlay'); goog.require('ol.View'); diff --git a/test/spec/ol/render/box.test.js b/test/spec/ol/render/box.test.js index 409a9065f7..12982204f8 100644 --- a/test/spec/ol/render/box.test.js +++ b/test/spec/ol/render/box.test.js @@ -22,7 +22,7 @@ describe('ol.render.Box', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }); diff --git a/test/spec/ol/renderer/webgl/webglimagelayerrenderer.test.js b/test/spec/ol/renderer/webgl/webglimagelayerrenderer.test.js index dca38b538c..663cff60f3 100644 --- a/test/spec/ol/renderer/webgl/webglimagelayerrenderer.test.js +++ b/test/spec/ol/renderer/webgl/webglimagelayerrenderer.test.js @@ -40,7 +40,7 @@ describe('ol.renderer.webgl.ImageLayer', function() { }); afterEach(function() { - goog.dispose(map); + map.dispose(); }); it('produces a correct matrix', function() { @@ -80,7 +80,6 @@ describe('ol.renderer.webgl.ImageLayer', function() { }); }); -goog.require('goog.dispose'); goog.require('goog.vec.Mat4'); goog.require('goog.vec.Vec4'); goog.require('ol.Map'); diff --git a/test/test-extensions.js b/test/test-extensions.js index efa5f87a1a..0ce5e46a99 100644 --- a/test/test-extensions.js +++ b/test/test-extensions.js @@ -370,7 +370,7 @@ global.disposeMap = function(map) { var target = map.getTarget(); map.setTarget(null); - goog.dispose(map); + map.dispose(); document.body.removeChild(target); }; diff --git a/test_rendering/spec/ol/map.test.js b/test_rendering/spec/ol/map.test.js index d08175f855..ffb1846f0a 100644 --- a/test_rendering/spec/ol/map.test.js +++ b/test_rendering/spec/ol/map.test.js @@ -115,7 +115,6 @@ describe('ol.rendering.Map', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Feature'); goog.require('ol.geom.Point'); goog.require('ol.Map'); diff --git a/test_rendering/spec/ol/style/circle.test.js b/test_rendering/spec/ol/style/circle.test.js index 1fbe541bdd..8066e7ebbc 100644 --- a/test_rendering/spec/ol/style/circle.test.js +++ b/test_rendering/spec/ol/style/circle.test.js @@ -188,7 +188,6 @@ describe('ol.rendering.style.Circle', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Feature'); goog.require('ol.geom.Point'); goog.require('ol.Map'); diff --git a/test_rendering/spec/ol/style/icon.test.js b/test_rendering/spec/ol/style/icon.test.js index 3effc5e4ee..5549231b30 100644 --- a/test_rendering/spec/ol/style/icon.test.js +++ b/test_rendering/spec/ol/style/icon.test.js @@ -111,7 +111,6 @@ describe('ol.rendering.style.Icon', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Feature'); goog.require('ol.geom.Point'); goog.require('ol.Map'); diff --git a/test_rendering/spec/ol/style/linestring.test.js b/test_rendering/spec/ol/style/linestring.test.js index 6142237586..2c69a3c7c3 100644 --- a/test_rendering/spec/ol/style/linestring.test.js +++ b/test_rendering/spec/ol/style/linestring.test.js @@ -91,7 +91,6 @@ describe('ol.rendering.style.LineString', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Feature'); goog.require('ol.geom.LineString'); goog.require('ol.Map'); diff --git a/test_rendering/spec/ol/style/polygon.test.js b/test_rendering/spec/ol/style/polygon.test.js index de8f53cfbd..afd205261e 100644 --- a/test_rendering/spec/ol/style/polygon.test.js +++ b/test_rendering/spec/ol/style/polygon.test.js @@ -188,7 +188,6 @@ describe('ol.rendering.style.Polygon', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Feature'); goog.require('ol.geom.Polygon'); goog.require('ol.Map'); diff --git a/test_rendering/spec/ol/style/regularshape.test.js b/test_rendering/spec/ol/style/regularshape.test.js index 2df205f6f0..8dfd3c35fa 100644 --- a/test_rendering/spec/ol/style/regularshape.test.js +++ b/test_rendering/spec/ol/style/regularshape.test.js @@ -116,7 +116,6 @@ describe('ol.rendering.style.RegularShape', function() { }); }); -goog.require('goog.dispose'); goog.require('ol.Feature'); goog.require('ol.geom.Point'); goog.require('ol.Map');