From 35579ab714397a3d6edb049f1a321bb17a6a4dc5 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Thu, 18 Feb 2016 16:25:58 +0100 Subject: [PATCH 1/2] Reuse dragListenerKeys_ local variable Reuse the array instead of recreating a new one. --- src/ol/mapbrowserevent.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index 7efa027cbe..b729e4aa0a 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -147,10 +147,10 @@ ol.MapBrowserEventHandler = function(map) { this.dragging_ = false; /** - * @type {Array.} + * @type {!Array.} * @private */ - this.dragListenerKeys_ = null; + this.dragListenerKeys_ = []; /** * @type {?ol.events.Key} @@ -280,7 +280,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerUp_ = function(pointerEvent) { 'this.activePointers_ should be equal to or larger than 0'); if (this.activePointers_ === 0) { this.dragListenerKeys_.forEach(ol.events.unlistenByKey); - this.dragListenerKeys_ = null; + this.dragListenerKeys_.length = 0; this.dragging_ = false; this.down_ = null; goog.dispose(this.documentPointerEventHandler_); @@ -311,7 +311,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent) this.down_ = pointerEvent; - if (!this.dragListenerKeys_) { + if (this.dragListenerKeys_.length === 0) { /* Set up a pointer event handler on the `document`, * which is required when the pointer is moved outside * the viewport when dragging. @@ -319,7 +319,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent) this.documentPointerEventHandler_ = new ol.pointer.PointerEventHandler(document); - this.dragListenerKeys_ = [ + this.dragListenerKeys_.push( ol.events.listen(this.documentPointerEventHandler_, ol.MapBrowserEvent.EventType.POINTERMOVE, this.handlePointerMove_, this), @@ -342,7 +342,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent) ol.events.listen(this.pointerEventHandler_, ol.MapBrowserEvent.EventType.POINTERCANCEL, this.handlePointerUp_, this) - ]; + ); } }; @@ -409,10 +409,10 @@ ol.MapBrowserEventHandler.prototype.disposeInternal = function() { ol.events.unlistenByKey(this.pointerdownListenerKey_); this.pointerdownListenerKey_ = null; } - if (this.dragListenerKeys_) { - this.dragListenerKeys_.forEach(ol.events.unlistenByKey); - this.dragListenerKeys_ = null; - } + + this.dragListenerKeys_.forEach(ol.events.unlistenByKey); + this.dragListenerKeys_.length = 0; + if (this.documentPointerEventHandler_) { goog.dispose(this.documentPointerEventHandler_); this.documentPointerEventHandler_ = null; From 612280c67630e0e2683b89a411234c5dca44fe33 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Thu, 18 Feb 2016 16:38:09 +0100 Subject: [PATCH 2/2] Fix variable declaration in constructor --- src/ol/mapbrowserevent.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index b729e4aa0a..64cf29524c 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -152,12 +152,6 @@ ol.MapBrowserEventHandler = function(map) { */ this.dragListenerKeys_ = []; - /** - * @type {?ol.events.Key} - * @private - */ - this.pointerdownListenerKey_ = null; - /** * The most recent "down" type event (or null if none have occurred). * Set on pointerdown. @@ -198,10 +192,18 @@ ol.MapBrowserEventHandler = function(map) { */ this.documentPointerEventHandler_ = null; + /** + * @type {?ol.events.Key} + * @private + */ this.pointerdownListenerKey_ = ol.events.listen(this.pointerEventHandler_, ol.pointer.EventType.POINTERDOWN, this.handlePointerDown_, this); + /** + * @type {?ol.events.Key} + * @private + */ this.relayedListenerKey_ = ol.events.listen(this.pointerEventHandler_, ol.pointer.EventType.POINTERMOVE, this.relayEvent_, this);