loleaflet/build/deps.js | 1 loleaflet/js/global.js | 140 ++++++++++++++++++++++++++++++++++++ loleaflet/src/Leaflet.js | 28 ------- loleaflet/src/core/Browser.js | 162 ------------------------------------------ 4 files changed, 141 insertions(+), 190 deletions(-)
New commits: commit e10e9335c52b29d5c70a879ebc620c3900b4d1bd Author: Henry Castro <hcas...@collabora.com> AuthorDate: Fri Feb 14 16:51:47 2020 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Mon Feb 17 15:59:15 2020 +0100 loleaflet: allow browser detection when loading html page Move the code related to browser detection immediately when loading html page to be accessible to all javascript libraries Change-Id: I442cf5ab8e9452bffa5a760768e8a3e38c1c3c21 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88744 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Henry Castro <hcas...@collabora.com> diff --git a/loleaflet/build/deps.js b/loleaflet/build/deps.js index 29026afca..c80d9a17d 100644 --- a/loleaflet/build/deps.js +++ b/loleaflet/build/deps.js @@ -11,7 +11,6 @@ var deps = { 'core/Class.js', 'core/Events.js', 'core/Socket.js', - 'core/Browser.js', 'core/Matrix.js', 'geometry/Point.js', 'geometry/Bounds.js', diff --git a/loleaflet/js/global.js b/loleaflet/js/global.js index 9e5578163..f98450fb0 100644 --- a/loleaflet/js/global.js +++ b/loleaflet/js/global.js @@ -1,6 +1,146 @@ /* -*- js-indent-level: 8 -*- */ (function (global) { + var ua = navigator.userAgent.toLowerCase(), + uv = navigator.vendor.toLowerCase(), + doc = document.documentElement, + + ie = 'ActiveXObject' in window, + + webkit = ua.indexOf('webkit') !== -1, + phantomjs = ua.indexOf('phantom') !== -1, + android23 = ua.search('android [23]') !== -1, + chrome = ua.indexOf('chrome') !== -1, + gecko = ua.indexOf('gecko') !== -1 && !webkit && !window.opera && !ie, + safari = !chrome && (ua.indexOf('safari') !== -1 || uv.indexOf('apple') == 0), + + win = navigator.platform.indexOf('Win') === 0, + + mobile = typeof orientation !== 'undefined' || ua.indexOf('mobile') !== -1, + cypressTest = ua.indexOf('cypress') !== -1, + msPointer = !window.PointerEvent && window.MSPointerEvent, + pointer = (window.PointerEvent && navigator.pointerEnabled && navigator.maxTouchPoints) || msPointer, + + ie3d = ie && ('transition' in doc.style), + webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23, + gecko3d = 'MozPerspective' in doc.style, + opera12 = 'OTransition' in doc.style; + + var touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window || + (window.DocumentTouch && document instanceof window.DocumentTouch)); + + var isInternetExplorer = (navigator.userAgent.toLowerCase().indexOf('msie') != -1 || + navigator.userAgent.toLowerCase().indexOf('trident') != -1); + + global.L = {}; + global.L.Browser = { + + // @property ie: Boolean + // `true` for all Internet Explorer versions (not Edge). + ie: ie, + + // @property ielt9: Boolean + // `true` for Internet Explorer versions less than 9. + ielt9: ie && !document.addEventListener, + + // @property edge: Boolean + // `true` for the Edge web browser. + edge: 'msLaunchUri' in navigator && !('documentMode' in document), + + // @property webkit: Boolean + // `true` for webkit-based browsers like Chrome and Safari (including mobile versions). + webkit: webkit, + + // @property gecko: Boolean + // `true` for gecko-based browsers like Firefox. + gecko: gecko, + + // @property android: Boolean + // `true` for any browser running on an Android platform. + android: ua.indexOf('android') !== -1, + + // @property android23: Boolean + // `true` for browsers running on Android 2 or Android 3. + android23: android23, + + // @property chrome: Boolean + // `true` for the Chrome browser. + chrome: chrome, + + // @property safari: Boolean + // `true` for the Safari browser. + safari: safari, + + // @property win: Boolean + // `true` when the browser is running in a Windows platform + win: win, + + // @property ie3d: Boolean + // `true` for all Internet Explorer versions supporting CSS transforms. + ie3d: ie3d, + + // @property isInternetExplorer: Boolean + // `true` for Internet Explorer + isInternetExplorer: isInternetExplorer, + + // @property webkit3d: Boolean + // `true` for webkit-based browsers supporting CSS transforms. + webkit3d: webkit3d, + + // @property gecko3d: Boolean + // `true` for gecko-based browsers supporting CSS transforms. + gecko3d: gecko3d, + + // @property opera12: Boolean + // `true` for the Opera browser supporting CSS transforms (version 12 or later). + opera12: opera12, + + // @property any3d: Boolean + // `true` for all browsers supporting CSS transforms. + any3d: !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantomjs, + + + // @property mobile: Boolean + // `true` for all browsers running in a mobile device. + mobile: mobile, + + // @property mobileWebkit: Boolean + // `true` for all webkit-based browsers in a mobile device. + mobileWebkit: mobile && webkit, + + // @property mobileWebkit3d: Boolean + // `true` for all webkit-based browsers in a mobile device supporting CSS transforms. + mobileWebkit3d: mobile && webkit3d, + + // @property mobileOpera: Boolean + // `true` for the Opera browser in a mobile device. + mobileOpera: mobile && window.opera, + + // @property mobileGecko: Boolean + // `true` for gecko-based browsers running in a mobile device. + mobileGecko: mobile && gecko, + + // @property cypressTest: Boolean + // `true` when the browser run by cypress + cypressTest: cypressTest, + + // @property touch: Boolean + // `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events). + touch: !!touch, + + // @property msPointer: Boolean + // `true` for browsers implementing the Microsoft touch events model (notably IE10). + msPointer: !!msPointer, + + // @property pointer: Boolean + // `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx). + pointer: !!pointer, + + // @property retina: Boolean + // `true` for browsers on a high-resolution "retina" screen. + retina: (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1 + }; + document.addEventListener('contextmenu', function(e) { if (e.preventDefault) { e.preventDefault(); diff --git a/loleaflet/src/Leaflet.js b/loleaflet/src/Leaflet.js index 329f66a14..43b432473 100644 --- a/loleaflet/src/Leaflet.js +++ b/loleaflet/src/Leaflet.js @@ -1,29 +1,3 @@ /* -*- js-indent-level: 8 -*- */ -var L = { - version: '0.8-dev' -}; -function expose() { - var oldL = window.L; - - L.noConflict = function () { - window.L = oldL; - return this; - }; - - window.L = L; -} - -// define Leaflet for Node module pattern loaders, including Browserify -if (typeof module === 'object' && typeof module.exports === 'object') { - module.exports = L; - -// define Leaflet as an AMD module -} else if (typeof define === 'function' && define.amd) { - define(L); -} - -// define Leaflet as a global L variable, saving the original L to restore later if needed -if (typeof window !== 'undefined') { - expose(); -} +window.L.version = '0.8-dev'; diff --git a/loleaflet/src/core/Browser.js b/loleaflet/src/core/Browser.js deleted file mode 100644 index 607fbb77a..000000000 --- a/loleaflet/src/core/Browser.js +++ /dev/null @@ -1,162 +0,0 @@ -/* -*- js-indent-level: 8 -*- */ -/* - * @namespace Browser - * @aka L.Browser - * - * A namespace with static properties for browser/feature detection used by Leaflet internally. - * - * @example - * - * ```js - * if (L.Browser.ielt9) { - * alert('Upgrade your browser, dude!'); - * } - * ``` - */ - -(function () { - - var ua = navigator.userAgent.toLowerCase(), - uv = navigator.vendor.toLowerCase(), - doc = document.documentElement, - - ie = 'ActiveXObject' in window, - - webkit = ua.indexOf('webkit') !== -1, - phantomjs = ua.indexOf('phantom') !== -1, - android23 = ua.search('android [23]') !== -1, - chrome = ua.indexOf('chrome') !== -1, - gecko = ua.indexOf('gecko') !== -1 && !webkit && !window.opera && !ie, - safari = !chrome && (ua.indexOf('safari') !== -1 || uv.indexOf('apple') == 0), - - win = navigator.platform.indexOf('Win') === 0, - - mobile = typeof orientation !== 'undefined' || ua.indexOf('mobile') !== -1, - cypressTest = ua.indexOf('cypress') !== -1, - msPointer = !window.PointerEvent && window.MSPointerEvent, - pointer = (window.PointerEvent && navigator.pointerEnabled && navigator.maxTouchPoints) || msPointer, - - ie3d = ie && ('transition' in doc.style), - webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23, - gecko3d = 'MozPerspective' in doc.style, - opera12 = 'OTransition' in doc.style; - - - var touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window || - (window.DocumentTouch && document instanceof window.DocumentTouch)); - - var isInternetExplorer = (navigator.userAgent.toLowerCase().indexOf('msie') != -1 || - navigator.userAgent.toLowerCase().indexOf('trident') != -1); - - L.Browser = { - - // @property ie: Boolean - // `true` for all Internet Explorer versions (not Edge). - ie: ie, - - // @property ielt9: Boolean - // `true` for Internet Explorer versions less than 9. - ielt9: ie && !document.addEventListener, - - // @property edge: Boolean - // `true` for the Edge web browser. - edge: 'msLaunchUri' in navigator && !('documentMode' in document), - - // @property webkit: Boolean - // `true` for webkit-based browsers like Chrome and Safari (including mobile versions). - webkit: webkit, - - // @property gecko: Boolean - // `true` for gecko-based browsers like Firefox. - gecko: gecko, - - // @property android: Boolean - // `true` for any browser running on an Android platform. - android: ua.indexOf('android') !== -1, - - // @property android23: Boolean - // `true` for browsers running on Android 2 or Android 3. - android23: android23, - - // @property chrome: Boolean - // `true` for the Chrome browser. - chrome: chrome, - - // @property safari: Boolean - // `true` for the Safari browser. - safari: safari, - - - // @property win: Boolean - // `true` when the browser is running in a Windows platform - win: win, - - - // @property ie3d: Boolean - // `true` for all Internet Explorer versions supporting CSS transforms. - ie3d: ie3d, - - // @property isInternetExplorer: Boolean - // `true` for Internet Explorer - isInternetExplorer: isInternetExplorer, - - // @property webkit3d: Boolean - // `true` for webkit-based browsers supporting CSS transforms. - webkit3d: webkit3d, - - // @property gecko3d: Boolean - // `true` for gecko-based browsers supporting CSS transforms. - gecko3d: gecko3d, - - // @property opera12: Boolean - // `true` for the Opera browser supporting CSS transforms (version 12 or later). - opera12: opera12, - - // @property any3d: Boolean - // `true` for all browsers supporting CSS transforms. - any3d: !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantomjs, - - - // @property mobile: Boolean - // `true` for all browsers running in a mobile device. - mobile: mobile, - - // @property mobileWebkit: Boolean - // `true` for all webkit-based browsers in a mobile device. - mobileWebkit: mobile && webkit, - - // @property mobileWebkit3d: Boolean - // `true` for all webkit-based browsers in a mobile device supporting CSS transforms. - mobileWebkit3d: mobile && webkit3d, - - // @property mobileOpera: Boolean - // `true` for the Opera browser in a mobile device. - mobileOpera: mobile && window.opera, - - // @property mobileGecko: Boolean - // `true` for gecko-based browsers running in a mobile device. - mobileGecko: mobile && gecko, - - // @property cypressTest: Boolean - // `true` when the browser run by cypress - cypressTest: cypressTest, - - // @property touch: Boolean - // `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events). - touch: !!touch, - - // @property msPointer: Boolean - // `true` for browsers implementing the Microsoft touch events model (notably IE10). - msPointer: !!msPointer, - - // @property pointer: Boolean - // `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx). - pointer: !!pointer, - - - // @property retina: Boolean - // `true` for browsers on a high-resolution "retina" screen. - retina: (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1 - }; - -}()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits