[gnome-maps] Layers: Gjs-ify togeojson & xmldom packages



commit 3456f3d7c107cbd524be94ce7971171d21261cb2
Author: Hashem Nasarat <hashem riseup net>
Date:   Fri Jan 22 15:29:55 2016 -0500

    Layers: Gjs-ify togeojson & xmldom packages
    
    These packages are made with nodejs in mind, so we have to tweak a few
    things to get them to laod in gjs.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=757171

 src/org.gnome.Maps.src.gresource.xml       |    4 ++++
 src/togeojson/togeojson.js                 |   11 +++--------
 src/xmldom/dom.js                          |    5 -----
 src/xmldom/{dom-parser.js => domparser.js} |   18 +++++++-----------
 src/xmldom/sax.js                          |    5 -----
 5 files changed, 14 insertions(+), 29 deletions(-)
---
diff --git a/src/org.gnome.Maps.src.gresource.xml b/src/org.gnome.Maps.src.gresource.xml
index f7652c3..36fca64 100644
--- a/src/org.gnome.Maps.src.gresource.xml
+++ b/src/org.gnome.Maps.src.gresource.xml
@@ -64,11 +64,15 @@
     <file>socialPlaceListBox.js</file>
     <file>socialPlaceMatcher.js</file>
     <file>storedRoute.js</file>
+    <file>togeojson/togeojson.js</file>
     <file>translations.js</file>
     <file>turnPointMarker.js</file>
     <file>userLocationBubble.js</file>
     <file>userLocationMarker.js</file>
     <file>utils.js</file>
+    <file>xmldom/dom.js</file>
+    <file>xmldom/domparser.js</file>
+    <file>xmldom/sax.js</file>
     <file>zoomControl.js</file>
     <file>zoomInNotification.js</file>
     <file alias="geojsonvt/clip.js">clip.js</file>
diff --git a/src/togeojson/togeojson.js b/src/togeojson/togeojson.js
index d849aec..427ba45 100644
--- a/src/togeojson/togeojson.js
+++ b/src/togeojson/togeojson.js
@@ -1,3 +1,5 @@
+const Dom = imports.xmldom.dom;
+
 var toGeoJSON = (function() {
     'use strict';
 
@@ -73,14 +75,7 @@ var toGeoJSON = (function() {
         };
     }
 
-    var serializer;
-    if (typeof XMLSerializer !== 'undefined') {
-        /* istanbul ignore next */
-        serializer = new XMLSerializer();
-    // only require xmldom in a node environment
-    } else if (typeof exports === 'object' && typeof process === 'object' && !process.browser) {
-        serializer = new (require('xmldom').XMLSerializer)();
-    }
+    var serializer = new Dom.XMLSerializer();
     function xml2str(str) {
         // IE9 will create a new XMLSerializer but it'll crash immediately.
         // This line is ignored because we don't run coverage tests in IE9
diff --git a/src/xmldom/dom.js b/src/xmldom/dom.js
index 460a1be..8e64087 100644
--- a/src/xmldom/dom.js
+++ b/src/xmldom/dom.js
@@ -1140,8 +1140,3 @@ try{
        }
 }catch(e){//ie8
 }
-
-if(typeof require == 'function'){
-       exports.DOMImplementation = DOMImplementation;
-       exports.XMLSerializer = XMLSerializer;
-}
diff --git a/src/xmldom/dom-parser.js b/src/xmldom/domparser.js
similarity index 91%
rename from src/xmldom/dom-parser.js
rename to src/xmldom/domparser.js
index 41a40ad..09941f6 100644
--- a/src/xmldom/dom-parser.js
+++ b/src/xmldom/domparser.js
@@ -1,6 +1,8 @@
+const XMLReader = imports.xmldom.sax.XMLReader;
+const DOMImplementation = imports.xmldom.dom.DOMImplementation;
+
 function DOMParser(options){
        this.options = options ||{locator:{}};
-       
 }
 DOMParser.prototype.parseFromString = function(source,mimeType){       
        var options = this.options;
@@ -171,13 +173,14 @@ DOMHandler.prototype = {
         * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
         */
        warning:function(error) {
-               console.warn('[xmldom warning]\t'+error,_locator(this.locator));
+               log('[xmldom warning]\t'+error);
        },
        error:function(error) {
-               console.error('[xmldom error]\t'+error,_locator(this.locator));
+               log('[xmldom error]\t'+error);
+               throw error;
        },
        fatalError:function(error) {
-               console.error('[xmldom fatalError]\t'+error,_locator(this.locator));
+               log('[xmldom fatalError]\t'+error);
            throw error;
        }
 }
@@ -240,10 +243,3 @@ function appendElement (hander,node) {
         hander.currentElement.appendChild(node);
     }
 }//appendChild and setAttributeNS are preformance key
-
-if(typeof require == 'function'){
-       var XMLReader = require('./sax').XMLReader;
-       var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation;
-       exports.XMLSerializer = require('./dom').XMLSerializer ;
-       exports.DOMParser = DOMParser;
-}
diff --git a/src/xmldom/sax.js b/src/xmldom/sax.js
index 127963f..c771be3 100644
--- a/src/xmldom/sax.js
+++ b/src/xmldom/sax.js
@@ -579,8 +579,3 @@ function split(source,start){
                if(match[1])return buf;
        }
 }
-
-if(typeof require == 'function'){
-       exports.XMLReader = XMLReader;
-}
-


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]