Bug 827303 - Firefox core and crypto services components assume services/sync is built. Move registrations out of services/sync. r=gps
☠☠ backed out by c05ccd690319 ☠ ☠
authorMark Banner <bugzilla@standard8.plus.com>
Wed, 09 Jan 2013 22:38:34 +0000
changeset 118284 a38692ea87aeb7da436c2b187ce001e052d28d04
parent 118283 8d16c92e1bf4a4148edab937267242b1999fa3b3
child 118285 1161ba1f3d6f227f42bcfbfe920055c62f16fea7
push id20970
push userbugzilla@standard8.plus.com
push dateWed, 09 Jan 2013 22:45:59 +0000
treeherdermozilla-inbound@a38692ea87ae [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs827303
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 827303 - Firefox core and crypto services components assume services/sync is built. Move registrations out of services/sync. r=gps
services/common/Makefile.in
services/common/servicesComponents.manifest
services/crypto/Makefile.in
services/crypto/cryptoComponents.manifest
services/crypto/modules/WeaveCrypto.js
services/sync/SyncComponents.manifest
--- a/services/common/Makefile.in
+++ b/services/common/Makefile.in
@@ -25,16 +25,20 @@ modules := \
 testing_modules := \
   aitcserver.js \
   bagheeraserver.js \
   logging.js \
   storageserver.js \
   utils.js \
   $(NULL)
 
+EXTRA_COMPONENTS := \
+  servicesComponents.manifest \
+  $(NULL)
+
 TEST_DIRS += tests
 
 PREF_JS_EXPORTS = $(srcdir)/services-common.js
 
 MODULES_FILES := $(modules)
 MODULES_DEST = $(FINAL_TARGET)/modules/services-common
 INSTALL_TARGETS += MODULES
 
copy from services/sync/SyncComponents.manifest
copy to services/common/servicesComponents.manifest
--- a/services/sync/SyncComponents.manifest
+++ b/services/common/servicesComponents.manifest
@@ -1,27 +1,2 @@
-# WebappRT doesn't need these instructions, and they don't necessarily work
-# with it, but it does use a GRE directory that the GRE shares with Firefox,
-# so in order to prevent the instructions from being processed for WebappRT,
-# we need to restrict them to the applications that depend on them, i.e.:
-#
-#   b2g:            {3c2e2abc-06d4-11e1-ac3b-374f68613e61}
-#   browser:        {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
-#   mobile/android: {aa3c5121-dab2-40e2-81ca-7ea25febc110}
-#   mobile/xul:     {a23983c0-fd0e-11dc-95ff-0800200c9a66}
-#   suite (comm):   {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
-#   metro browser:  {99bceaaa-e3c6-48c1-b981-ef9b46b67d60}
-#
-# In theory we should do this for all these instructions, but in practice it is
-# sufficient to do it for the app-startup one, and the file is simpler that way.
-
-# Weave.js
-component {74b89fb0-f200-4ae8-a3ec-dd164117f6de} Weave.js
-contract @mozilla.org/weave/service;1 {74b89fb0-f200-4ae8-a3ec-dd164117f6de}
-category app-startup WeaveService service,@mozilla.org/weave/service;1 application={3c2e2abc-06d4-11e1-ac3b-374f68613e61} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} application={99bceaaa-e3c6-48c1-b981-ef9b46b67d60}
-component {d28f8a0b-95da-48f4-b712-caf37097be41} Weave.js
-contract @mozilla.org/network/protocol/about;1?what=sync-log {d28f8a0b-95da-48f4-b712-caf37097be41}
-
 # Register resource aliases
-# (Note, for tests these are also set up in addResourceAlias)
-resource services-sync resource://gre/modules/services-sync/
 resource services-common resource://gre/modules/services-common/
-resource services-crypto resource://gre/modules/services-crypto/
--- a/services/crypto/Makefile.in
+++ b/services/crypto/Makefile.in
@@ -11,16 +11,20 @@ include $(DEPTH)/config/autoconf.mk
 
 modules := \
   utils.js \
   WeaveCrypto.js \
   $(NULL)
 
 MODULE = services-crypto
 
+EXTRA_COMPONENTS := \
+  cryptoComponents.manifest \
+  $(NULL)
+
 CRYPTO_MODULE_FILES := $(addprefix modules/,$(modules))
 CRYPTO_MODULE_DEST = $(FINAL_TARGET)/modules/services-crypto
 INSTALL_TARGETS += CRYPTO_MODULE
 
 TEST_DIRS += tests
 
 DIRS += component
 
copy from services/sync/SyncComponents.manifest
copy to services/crypto/cryptoComponents.manifest
--- a/services/sync/SyncComponents.manifest
+++ b/services/crypto/cryptoComponents.manifest
@@ -1,27 +1,1 @@
-# WebappRT doesn't need these instructions, and they don't necessarily work
-# with it, but it does use a GRE directory that the GRE shares with Firefox,
-# so in order to prevent the instructions from being processed for WebappRT,
-# we need to restrict them to the applications that depend on them, i.e.:
-#
-#   b2g:            {3c2e2abc-06d4-11e1-ac3b-374f68613e61}
-#   browser:        {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
-#   mobile/android: {aa3c5121-dab2-40e2-81ca-7ea25febc110}
-#   mobile/xul:     {a23983c0-fd0e-11dc-95ff-0800200c9a66}
-#   suite (comm):   {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
-#   metro browser:  {99bceaaa-e3c6-48c1-b981-ef9b46b67d60}
-#
-# In theory we should do this for all these instructions, but in practice it is
-# sufficient to do it for the app-startup one, and the file is simpler that way.
-
-# Weave.js
-component {74b89fb0-f200-4ae8-a3ec-dd164117f6de} Weave.js
-contract @mozilla.org/weave/service;1 {74b89fb0-f200-4ae8-a3ec-dd164117f6de}
-category app-startup WeaveService service,@mozilla.org/weave/service;1 application={3c2e2abc-06d4-11e1-ac3b-374f68613e61} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} application={99bceaaa-e3c6-48c1-b981-ef9b46b67d60}
-component {d28f8a0b-95da-48f4-b712-caf37097be41} Weave.js
-contract @mozilla.org/network/protocol/about;1?what=sync-log {d28f8a0b-95da-48f4-b712-caf37097be41}
-
-# Register resource aliases
-# (Note, for tests these are also set up in addResourceAlias)
-resource services-sync resource://gre/modules/services-sync/
-resource services-common resource://gre/modules/services-common/
 resource services-crypto resource://gre/modules/services-crypto/
--- a/services/crypto/modules/WeaveCrypto.js
+++ b/services/crypto/modules/WeaveCrypto.js
@@ -52,17 +52,21 @@ WeaveCrypto.prototype = {
     },
 
     init : function() {
         try {
             // Preferences. Add observer so we get notified of changes.
             this.prefBranch = Services.prefs.getBranch("services.sync.log.");
             this.prefBranch.addObserver("cryptoDebug", this.observer, false);
             this.observer._self = this;
-            this.debug = this.prefBranch.getBoolPref("cryptoDebug");
+            try {
+              this.debug = this.prefBranch.getBoolPref("cryptoDebug");
+            } catch (x) {
+              this.debug = false;
+            }
 
             this.initNSS();
             this.initAlgorithmSettings();   // Depends on NSS.
             this.initIVSECItem();
             this.initSharedInts();
             this.initBuffers(INITIAL_BUFFER_SIZE);
         } catch (e) {
             this.log("init failed: " + e);
--- a/services/sync/SyncComponents.manifest
+++ b/services/sync/SyncComponents.manifest
@@ -18,10 +18,8 @@ component {74b89fb0-f200-4ae8-a3ec-dd164
 contract @mozilla.org/weave/service;1 {74b89fb0-f200-4ae8-a3ec-dd164117f6de}
 category app-startup WeaveService service,@mozilla.org/weave/service;1 application={3c2e2abc-06d4-11e1-ac3b-374f68613e61} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} application={99bceaaa-e3c6-48c1-b981-ef9b46b67d60}
 component {d28f8a0b-95da-48f4-b712-caf37097be41} Weave.js
 contract @mozilla.org/network/protocol/about;1?what=sync-log {d28f8a0b-95da-48f4-b712-caf37097be41}
 
 # Register resource aliases
 # (Note, for tests these are also set up in addResourceAlias)
 resource services-sync resource://gre/modules/services-sync/
-resource services-common resource://gre/modules/services-common/
-resource services-crypto resource://gre/modules/services-crypto/