From f440de244626df9d08e155a6fa3ddacfb5e6dad1 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 20 Oct 2014 13:36:59 +0200 Subject: [PATCH 1/2] Move touchstart preventDefault to ol.renderer.dom.Map `preventDefault` is called to prevent the img context menu on mobile devices. --- src/ol/mapbrowserevent.js | 4 ---- src/ol/renderer/dom/dommaprenderer.js | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index a3969cf16d..199b2fad66 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -385,10 +385,6 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = this.handlePointerUp_, false, this) ]; } - - // FIXME check if/when this is necessary - // prevent context menu - pointerEvent.preventDefault(); }; diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 0d2e72b47b..07aee97ee9 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -3,6 +3,9 @@ goog.provide('ol.renderer.dom.Map'); goog.require('goog.asserts'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); +goog.require('goog.events'); +goog.require('goog.events.Event'); +goog.require('goog.events.EventType'); goog.require('goog.functions'); goog.require('goog.style'); goog.require('ol'); @@ -47,6 +50,10 @@ ol.renderer.dom.Map = function(container, map) { this.layersPane_.onselectstart = goog.functions.FALSE; } + // prevent the img context menu on mobile devices + goog.events.listen(this.layersPane_, goog.events.EventType.TOUCHSTART, + goog.events.Event.preventDefault); + goog.dom.insertChildAt(container, this.layersPane_, 0); /** From c83caa96869dc82806f509e056b123b7ccb79f8c Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Thu, 23 Oct 2014 08:53:55 +0200 Subject: [PATCH 2/2] Add ol.renderer.dom.Map#disposeInternal --- src/ol/renderer/dom/dommaprenderer.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 07aee97ee9..a217178987 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -66,6 +66,15 @@ ol.renderer.dom.Map = function(container, map) { goog.inherits(ol.renderer.dom.Map, ol.renderer.Map); +/** + * @inheritDoc + */ +ol.renderer.dom.Map.prototype.disposeInternal = function() { + goog.dom.removeNode(this.layersPane_); + goog.base(this, 'disposeInternal'); +}; + + /** * @inheritDoc */