loleaflet/src/map/Map.js | 12 +++++++----- loleaflet/src/map/handler/Map.Mouse.js | 18 ++++++++++++------ 2 files changed, 19 insertions(+), 11 deletions(-)
New commits: commit 38324b3e29331aee893a989b0765a810ad24d189 Author: Henry Castro <hcas...@collabora.com> AuthorDate: Tue Feb 4 09:20:22 2020 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Tue Feb 4 22:44:51 2020 +0100 loleaflet: mobile: avoid creating an "iframe" element resize detector Creating an "iframe" element inside a container the browser usually creates another sandbox window object. This is not required in mobile browser also we can reduce complexity operations. Change-Id: I75c57479af1cbf51beb1eaa812293432aeaf221c Reviewed-on: https://gerrit.libreoffice.org/c/online/+/87974 Reviewed-by: Michael Meeks <michael.me...@collabora.com> Reviewed-by: Henry Castro <hcas...@collabora.com> Tested-by: Henry Castro <hcas...@collabora.com> diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js index afd66ef8b..3ffc476ae 100644 --- a/loleaflet/src/map/Map.js +++ b/loleaflet/src/map/Map.js @@ -961,13 +961,15 @@ L.Map = L.Evented.extend({ throw new Error('Map container is already initialized.'); } - this._resizeDetector = L.DomUtil.create('iframe', 'resize-detector', container); + if (!L.Browser.mobile) { + this._resizeDetector = L.DomUtil.create('iframe', 'resize-detector', container); + this._resizeDetector.contentWindow.addEventListener('touchstart', L.DomEvent.preventDefault, {passive: false}); + L.DomEvent.on(this._resizeDetector.contentWindow, 'contextmenu', L.DomEvent.preventDefault); + } + this._fileDownloader = L.DomUtil.create('iframe', '', container); L.DomUtil.setStyle(this._fileDownloader, 'display', 'none'); - this._resizeDetector.contentWindow.addEventListener('touchstart', L.DomEvent.preventDefault, {passive: false}); - - L.DomEvent.on(this._resizeDetector.contentWindow, 'contextmenu', L.DomEvent.preventDefault); L.DomEvent.on(this._fileDownloader.contentWindow, 'contextmenu', L.DomEvent.preventDefault); L.DomEvent.addListener(container, 'scroll', this._onScroll, this); container._leaflet = true; @@ -1095,7 +1097,7 @@ L.Map = L.Evented.extend({ this._mainEvents(onOff); - if (this.options.trackResize && this._resizeDetector.contentWindow) { + if (this.options.trackResize && this._resizeDetector && this._resizeDetector.contentWindow) { L.DomEvent[onOff](this._resizeDetector.contentWindow, 'resize', this._onResize, this); } diff --git a/loleaflet/src/map/handler/Map.Mouse.js b/loleaflet/src/map/handler/Map.Mouse.js index 21b884366..cb5b4d91c 100644 --- a/loleaflet/src/map/handler/Map.Mouse.js +++ b/loleaflet/src/map/handler/Map.Mouse.js @@ -92,8 +92,10 @@ L.Map.Mouse = L.Handler.extend({ if (mouseEnteringLeavingMap && e.type === 'mouseover' && this._mouseDown) { L.DomEvent.off(document, 'mousemove', this._onMouseMoveOutside, this); L.DomEvent.off(document, 'mouseup', this._onMouseUpOutside, this); - L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mousemove', this._onMouseMoveOutside, this); - L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mouseup', this._onMouseUpOutside, this); + if (this._map._resizeDetector) { + L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mousemove', this._onMouseMoveOutside, this); + L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mouseup', this._onMouseUpOutside, this); + } } else if (e.type === 'mousedown') { docLayer._resetPreFetching(); @@ -211,8 +213,10 @@ L.Map.Mouse = L.Handler.extend({ docLayer._postMouseEvent('buttonup', mousePos.x, mousePos.y, count, buttons, modifier); } else if (mouseEnteringLeavingMap && e.type === 'mouseout' && this._mouseDown) { - L.DomEvent.on(this._map._resizeDetector.contentWindow, 'mousemove', this._onMouseMoveOutside, this); - L.DomEvent.on(this._map._resizeDetector.contentWindow, 'mouseup', this._onMouseUpOutside, this); + if (this._map._resizeDetector) { + L.DomEvent.on(this._map._resizeDetector.contentWindow, 'mousemove', this._onMouseMoveOutside, this); + L.DomEvent.on(this._map._resizeDetector.contentWindow, 'mouseup', this._onMouseUpOutside, this); + } L.DomEvent.on(document, 'mousemove', this._onMouseMoveOutside, this); L.DomEvent.on(document, 'mouseup', this._onMouseUpOutside, this); } @@ -237,8 +241,10 @@ L.Map.Mouse = L.Handler.extend({ this._mouseDown = false; L.DomEvent.off(document, 'mousemove', this._onMouseMoveOutside, this); L.DomEvent.off(document, 'mouseup', this._onMouseUpOutside, this); - L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mousemove', this._onMouseMoveOutside, this); - L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mouseup', this._onMouseUpOutside, this); + if (this._map._resizeDetector) { + L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mousemove', this._onMouseMoveOutside, this); + L.DomEvent.off(this._map._resizeDetector.contentWindow, 'mouseup', this._onMouseUpOutside, this); + } this._map._handleDOMEvent(e); if (this._map.dragging.enabled()) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits