Use ol.Disposable instead of goog.Disposable

This commit is contained in:
Tim Schaub
2016-03-01 23:58:36 -07:00
parent ae4d8195c0
commit 09eee46822
7 changed files with 67 additions and 30 deletions

View File

@@ -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,