From bfcfb61eff8ae521d788ac57eed27c42ead70701 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Mon, 25 Jul 2016 16:17:18 +0200 Subject: [PATCH] De-randomize the listener map property --- src/ol/events.js | 19 +++++-------------- test/spec/ol/events.test.js | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/ol/events.js b/src/ol/events.js index 642dd5c828..d8244e2112 100644 --- a/src/ol/events.js +++ b/src/ol/events.js @@ -52,15 +52,6 @@ ol.events.KeyCode = { }; -/** - * Property name on an event target for the listener map associated with the - * event target. - * @const {string} - * @private - */ -ol.events.LISTENER_MAP_PROP_ = 'olm_' + ((Math.random() * 1e4) | 0); - - /** * @param {ol.EventsKey} listenerObj Listener object. * @return {ol.EventsListenerFunctionType} Bound listener. @@ -114,7 +105,7 @@ ol.events.findListener_ = function(listeners, listener, opt_this, * @return {Array.|undefined} Listeners. */ ol.events.getListeners = function(target, type) { - var listenerMap = target[ol.events.LISTENER_MAP_PROP_]; + var listenerMap = target.ol_lm; return listenerMap ? listenerMap[type] : undefined; }; @@ -128,9 +119,9 @@ ol.events.getListeners = function(target, type) { * @private */ ol.events.getListenerMap_ = function(target) { - var listenerMap = target[ol.events.LISTENER_MAP_PROP_]; + var listenerMap = target.ol_lm; if (!listenerMap) { - listenerMap = target[ol.events.LISTENER_MAP_PROP_] = {}; + listenerMap = target.ol_lm = {}; } return listenerMap; }; @@ -152,11 +143,11 @@ ol.events.removeListeners_ = function(target, type) { ol.object.clear(listeners[i]); } listeners.length = 0; - var listenerMap = target[ol.events.LISTENER_MAP_PROP_]; + var listenerMap = target.ol_lm; if (listenerMap) { delete listenerMap[type]; if (Object.keys(listenerMap).length === 0) { - delete target[ol.events.LISTENER_MAP_PROP_]; + delete target.ol_lm; } } } diff --git a/test/spec/ol/events.test.js b/test/spec/ol/events.test.js index 28d9167353..dca9b70e68 100644 --- a/test/spec/ol/events.test.js +++ b/test/spec/ol/events.test.js @@ -192,7 +192,7 @@ describe('ol.events', function() { ol.events.unlistenAll(target); expect(ol.events.getListeners(target, 'foo')).to.be(undefined); expect(ol.events.getListeners(target, 'bar')).to.be(undefined); - expect(ol.events.LISTENER_MAP_PROP_ in target).to.be(false); + expect('ol_lm' in target).to.be(false); expect(keys).to.eql([{}, {}]); }); });