[gnome-maps] Layers: Gjs-ify togeojson & xmldom packages
- From: Hashem Nasarat <hnasarat src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-maps] Layers: Gjs-ify togeojson & xmldom packages
- Date: Mon, 15 Feb 2016 19:30:54 +0000 (UTC)
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]