Bug 826605 - Remove GPSDGeolocationProvider.js r=dougt
authorChristian Sonne <csonne@mozilla.com>
Mon, 14 Jan 2013 16:51:08 -0800
changeset 118833 743e8fac6d505fb4d091a073cf6fe5efef3571cf
parent 118832 f7900eca0a30bc59892cbde432411a4f9aaf8c34
child 118834 79addb03eb8672db2be1251846a234696550e316
push id24180
push useremorley@mozilla.com
push dateTue, 15 Jan 2013 22:58:27 +0000
treeherdermozilla-central@72e34ce7fd92 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdougt
bugs826605
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 826605 - Remove GPSDGeolocationProvider.js r=dougt
browser/installer/package-manifest.in
dom/system/GPSDGeolocationProvider.js
dom/system/GPSDGeolocationProvider.manifest
dom/system/Makefile.in
mobile/android/installer/package-manifest.in
mobile/xul/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -369,18 +369,16 @@
 @BINPATH@/components/nsFilePicker.js
 #endif
 @BINPATH@/components/nsHelperAppDlg.manifest
 @BINPATH@/components/nsHelperAppDlg.js
 @BINPATH@/components/nsDownloadManagerUI.manifest
 @BINPATH@/components/nsDownloadManagerUI.js
 @BINPATH@/components/NetworkGeolocationProvider.manifest
 @BINPATH@/components/NetworkGeolocationProvider.js
-@BINPATH@/components/GPSDGeolocationProvider.manifest
-@BINPATH@/components/GPSDGeolocationProvider.js
 @BINPATH@/components/nsSidebar.manifest
 @BINPATH@/components/nsSidebar.js
 @BINPATH@/components/extensions.manifest
 @BINPATH@/components/addonManager.js
 @BINPATH@/components/amContentHandler.js
 @BINPATH@/components/amWebInstallListener.js
 @BINPATH@/components/nsBlocklistService.js
 #ifdef MOZ_UPDATER
deleted file mode 100644
--- a/dom/system/GPSDGeolocationProvider.js
+++ /dev/null
@@ -1,204 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-
-const Ci = Components.interfaces;
-const Cc = Components.classes;
-
-var gLoggingEnabled = false;
-
-function LOG(aMsg) {
-  if (gLoggingEnabled)
-  {
-    aMsg = ("*** GPSD GEO: " + aMsg);
-    Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService).logStringMessage(aMsg);
-    dump(aMsg);
-  }
-}
-
-function GeoPositionCoordsObject(latitude, longitude, altitude, accuracy, altitudeAccuracy, heading, speed) {
-
-  this.latitude = latitude;
-  this.longitude = longitude;
-  this.altitude = altitude;
-  this.accuracy = accuracy;
-  this.altitudeAccuracy = altitudeAccuracy;
-  this.heading = heading;
-  this.speed = speed;
-
-};
-
-GeoPositionCoordsObject.prototype = {
-
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMGeoPositionCoords]),
-  
-  // Class Info is required to be able to pass objects back into the DOM.
-  classInfo: XPCOMUtils.generateCI({interfaces: [Ci.nsIDOMGeoPositionCoords],
-                                    flags: Ci.nsIClassInfo.DOM_OBJECT,
-                                    classDescription: "Geoposition Coordinate Object"}),
-
-  latitude: null,
-  longitude: null,
-  altitude: null,
-  accuracy: null,
-  altitudeAccuracy: null,
-  heading: null,
-  speed: null,
-
-};
-
-function GeoPositionObject(latitude, longitude, altitude, accuracy, altitudeAccuracy, heading, speed, timestamp) {
-  this.coords = new GeoPositionCoordsObject(latitude, longitude, altitude, accuracy, altitudeAccuracy, heading, speed);
-  this.timestamp = timestamp;
-};
-
-GeoPositionObject.prototype = {
-
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMGeoPosition]),
-
-  // Class Info is required to be able to pass objects back into the DOM.
-  classInfo: XPCOMUtils.generateCI({interfaces: [Ci.nsIDOMGeoPosition],
-                                    flags: Ci.nsIClassInfo.DOM_OBJECT,
-                                    classDescription: "Geoposition Object"}),
-
-  coords: null,
-  timestamp: null,
-
-};
-
-function GPSDProvider() {
-  this.prefService = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch).QueryInterface(Ci.nsIPrefService);
-
-  try {
-    gLoggingEnabled = this.prefService.getBoolPref("geo.gpsd.logging.enabled");
-  } catch (e) {}
-};
-
-GPSDProvider.prototype = {
-  
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIGeolocationProvider]),
-  
-  classID: Components.ID("{0A3BE523-0F2A-32CC-CCD8-1E5986D5A79D}"),
-  
-  prefService: null,
-
-  transport: null,
-  outputStream: null,
-  inputStream: null,
-  
-  startup: function() {
-
-    LOG("startup called\n");
-    var socketTransportService = Cc["@mozilla.org/network/socket-transport-service;1"].getService(Ci.nsISocketTransportService);
-    
-    var hostIPAddr = "127.0.0.1";
-    var hostPort = "2947";
-
-    try {
-      hostIPAddr = this.prefService.getCharPref("geo.gpsd.host.ipaddr");
-    } catch (e) {}
-
-    try {
-      hostPort = this.prefService.getCharPref("geo.gpsd.host.port");
-    } catch (e) {}
-
-    LOG("Host info: " + hostIPAddr + ":" + hostPort + "\n");
-
-    this.transport = socketTransportService.createTransport(null, 0, hostIPAddr, hostPort, null);
-    
-    // Alright to open streams here as they are non-blocking by default
-    this.outputStream = this.transport.openOutputStream(0,0,0);
-    this.inputStream = this.transport.openInputStream(0,0,0);
-
-  },
-  
-  shutdown: function() {
-    LOG("shutdown called\n"); 
-    this.outputStream.close();
-    this.inputStream.close();
-    this.transport.close(Components.results.NS_OK);
-  },
-  
-  watch: function(c, isPrivate) {
-    LOG("watch called\n");    
-    try {
-        // Go into "watcher" mode
-        var mode = '?WATCH={"enable":true,"json":true}';
-        this.outputStream.write(mode, mode.length);
-    } catch (e) { return; }
-
-    var dataListener = {
-      onStartRequest: function(request, context) {},
-      onStopRequest: function(request, context, status) {},
-      onDataAvailable: function(request, context, inputStream, offset, count) {
-    
-        var sInputStream = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream);
-        sInputStream.init(inputStream);
-
-        var responseSentence = sInputStream.read(count);
-        
-        var response = null; 
-        try {
-          response = JSON.parse(responseSentence);
-          } catch (e) { return; }
-        
-        // is the right kind of sentence?
-        if (response.class != 'TPV') {
-          //don't do anything
-          return;
-        }
-
-        // is there a fix?
-        if (response.mode == '1') {
-          // don't do anything
-          return;
-        }
-        
-        LOG("Got info: " + responseSentence);
- 
-        // The API requires these values, if one is missing
-        // we return without updating the position.
-        if (response.time && response.lat && response.lon
-            && response.epx && response.epy) {
-        var timestamp = response.time; // UTC
-        var latitude = response.lat; // degrees
-        var longitude = response.lon; // degrees
-        var horizontalError = Math.max(response.epx,response.epy); } // meters 
-        else { return; }
-        
-        // Altitude is optional, but if it's present, so must be vertical precision.
-        var altitude = null;
-        var verticalError = null; 
-        if (response.alt && response.epv) {
-          altitude = response.alt; // meters
-          verticalError = response.epv; // meters
-        } 
-
-        var speed = null;
-        if (response.speed) { var speed = response.speed; } // meters/sec
-         
-        var course = null;
-        if (response.track) { var course = response.track; } // degrees
-        
-        var geoPos = new GeoPositionObject(latitude, longitude, altitude, horizontalError, verticalError, course, speed, timestamp);
-        
-        c.update(geoPos);
-        LOG("Position updated:" + timestamp + "," + latitude + "," + longitude + ","
-             + horizontalError + "," + altitude + "," + verticalError + "," + course 
-             + "," + speed);
-    
-      }
-      
-    };
-    
-    var pump = Cc["@mozilla.org/network/input-stream-pump;1"].createInstance(Ci.nsIInputStreamPump);
-    pump.init(this.inputStream, -1, -1, 0, 0, false);
-    pump.asyncRead(dataListener, null);
-
-  },
-  
-};
-
-this.NSGetFactory = XPCOMUtils.generateNSGetFactory([GPSDProvider]);
deleted file mode 100644
--- a/dom/system/GPSDGeolocationProvider.manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-component {0A3BE523-0F2A-32CC-CCD8-1E5986D5A79D} GPSDGeolocationProvider.js
-contract @mozilla.org/geolocation/gpsd/provider;1 {0A3BE523-0F2A-32CC-CCD8-1E5986D5A79D}
-category geolocation-provider GPSDProvider @mozilla.org/geolocation/gpsd/provider;1
--- a/dom/system/Makefile.in
+++ b/dom/system/Makefile.in
@@ -50,18 +50,16 @@ LOCAL_INCLUDES += \
   $(NULL)
 
 # On Systems that have build in geolocation providers,
 # we really do not need these.
 ifneq (Android,$(OS_TARGET))
 EXTRA_COMPONENTS = \
   NetworkGeolocationProvider.js \
   NetworkGeolocationProvider.manifest \
-  GPSDGeolocationProvider.js \
-  GPSDGeolocationProvider.manifest \
   $(NULL)
 endif
 
 ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
 EXTRA_COMPONENTS = \
   NetworkGeolocationProvider.js \
   NetworkGeolocationProvider.manifest \
   $(NULL)
--- a/mobile/android/installer/package-manifest.in
+++ b/mobile/android/installer/package-manifest.in
@@ -292,18 +292,16 @@
 @BINPATH@/components/nsFilePicker.js
 #endif
 @BINPATH@/components/nsHelperAppDlg.manifest
 @BINPATH@/components/nsHelperAppDlg.js
 @BINPATH@/components/nsDownloadManagerUI.manifest
 @BINPATH@/components/nsDownloadManagerUI.js
 @BINPATH@/components/NetworkGeolocationProvider.manifest
 @BINPATH@/components/NetworkGeolocationProvider.js
-@BINPATH@/components/GPSDGeolocationProvider.manifest
-@BINPATH@/components/GPSDGeolocationProvider.js
 @BINPATH@/components/nsSidebar.manifest
 @BINPATH@/components/nsSidebar.js
 @BINPATH@/components/extensions.manifest
 @BINPATH@/components/addonManager.js
 @BINPATH@/components/amContentHandler.js
 @BINPATH@/components/amWebInstallListener.js
 @BINPATH@/components/nsBlocklistService.js
 
--- a/mobile/xul/installer/package-manifest.in
+++ b/mobile/xul/installer/package-manifest.in
@@ -340,18 +340,16 @@
 @BINPATH@/components/nsFilePicker.js
 #endif
 @BINPATH@/components/nsHelperAppDlg.manifest
 @BINPATH@/components/nsHelperAppDlg.js
 @BINPATH@/components/nsDownloadManagerUI.manifest
 @BINPATH@/components/nsDownloadManagerUI.js
 @BINPATH@/components/NetworkGeolocationProvider.manifest
 @BINPATH@/components/NetworkGeolocationProvider.js
-@BINPATH@/components/GPSDGeolocationProvider.manifest
-@BINPATH@/components/GPSDGeolocationProvider.js
 @BINPATH@/components/nsSidebar.manifest
 @BINPATH@/components/nsSidebar.js
 @BINPATH@/components/extensions.manifest
 @BINPATH@/components/addonManager.js
 @BINPATH@/components/amContentHandler.js
 @BINPATH@/components/amWebInstallListener.js
 @BINPATH@/components/nsBlocklistService.js