diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 9d37f139600e..d934a1cd6494 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -161,18 +161,6 @@ ; JavaScript components @RESPATH@/browser/components/BrowserComponents.manifest -@RESPATH@/browser/components/devtools-startup.manifest -@RESPATH@/browser/components/devtools-startup.js -@RESPATH@/browser/components/aboutdebugging-registration.js -@RESPATH@/browser/components/aboutdebugging.manifest -#ifdef NIGHTLY_BUILD -@RESPATH@/browser/components/aboutdebugging-new-registration.js -@RESPATH@/browser/components/aboutdebugging-new.manifest -#endif -@RESPATH@/browser/components/aboutdevtools-registration.js -@RESPATH@/browser/components/aboutdevtools.manifest -@RESPATH@/browser/components/aboutdevtoolstoolbox-registration.js -@RESPATH@/browser/components/aboutdevtoolstoolbox.manifest @RESPATH@/browser/components/aboutNewTabService.js @RESPATH@/browser/components/NewTabComponents.manifest @RESPATH@/browser/components/EnterprisePolicies.js diff --git a/devtools/startup/aboutdebugging-new-registration.js b/devtools/startup/AboutDebuggingNewRegistration.jsm similarity index 89% rename from devtools/startup/aboutdebugging-new-registration.js rename to devtools/startup/AboutDebuggingNewRegistration.jsm index 6d90f3895bb3..a8d65a138778 100644 --- a/devtools/startup/aboutdebugging-new-registration.js +++ b/devtools/startup/AboutDebuggingNewRegistration.jsm @@ -8,7 +8,6 @@ // open the new about:debugging when going to about:debugging-new, without having to flip // the preference. This allows running both versions of about:debugging side by side to // compare them. -const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); const { nsIAboutModule } = Ci; @@ -38,6 +37,4 @@ AboutDebuggingNew.prototype = { }, }; -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ - AboutDebuggingNew, -]); +var EXPORTED_SYMBOLS = ["AboutDebuggingNew"]; diff --git a/devtools/startup/aboutdebugging-registration.js b/devtools/startup/AboutDebuggingRegistration.jsm similarity index 90% rename from devtools/startup/aboutdebugging-registration.js rename to devtools/startup/AboutDebuggingRegistration.jsm index 94aeb1a342bc..6a50e34bee57 100644 --- a/devtools/startup/aboutdebugging-registration.js +++ b/devtools/startup/AboutDebuggingRegistration.jsm @@ -8,7 +8,6 @@ // workers and tabs by launching a dedicated DevTools toolbox for the selected target. // If DevTools are not installed, this about page will display a shim landing page // encouraging the user to download and install DevTools. -const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); const { nsIAboutModule } = Ci; @@ -40,6 +39,4 @@ AboutDebugging.prototype = { }, }; -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ - AboutDebugging, -]); +var EXPORTED_SYMBOLS = ["AboutDebugging"]; diff --git a/devtools/startup/aboutdevtoolstoolbox-registration.js b/devtools/startup/AboutDevToolsToolboxRegistration.jsm similarity index 88% rename from devtools/startup/aboutdevtoolstoolbox-registration.js rename to devtools/startup/AboutDevToolsToolboxRegistration.jsm index a1bf914d21d4..4f6df05f02b5 100644 --- a/devtools/startup/aboutdevtoolstoolbox-registration.js +++ b/devtools/startup/AboutDevToolsToolboxRegistration.jsm @@ -7,7 +7,6 @@ // Register about:devtools-toolbox which allows to open a devtools toolbox // in a Firefox tab or a custom html iframe in browser.html -const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); const { nsIAboutModule } = Ci; @@ -35,6 +34,4 @@ AboutDevtoolsToolbox.prototype = { }, }; -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ - AboutDevtoolsToolbox, -]); +var EXPORTED_SYMBOLS = ["AboutDevtoolsToolbox"]; diff --git a/devtools/startup/devtools-startup.js b/devtools/startup/DevToolsStartup.jsm similarity index 99% rename from devtools/startup/devtools-startup.js rename to devtools/startup/DevToolsStartup.jsm index c557646859e0..3d5003b5bdff 100644 --- a/devtools/startup/devtools-startup.js +++ b/devtools/startup/DevToolsStartup.jsm @@ -1007,5 +1007,4 @@ const JsonView = { }, }; -this.NSGetFactory = XPCOMUtils.generateNSGetFactory( - [DevToolsStartup]); +var EXPORTED_SYMBOLS = ["DevToolsStartup"]; diff --git a/devtools/startup/aboutdebugging-new.manifest b/devtools/startup/aboutdebugging-new.manifest deleted file mode 100644 index 6c44cb2f5ba2..000000000000 --- a/devtools/startup/aboutdebugging-new.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {610e4e26-26bd-4a7d-aebc-69211d5a3be0} aboutdebugging-new-registration.js -contract @mozilla.org/network/protocol/about;1?what=debugging-new {610e4e26-26bd-4a7d-aebc-69211d5a3be0} diff --git a/devtools/startup/aboutdebugging.manifest b/devtools/startup/aboutdebugging.manifest deleted file mode 100644 index 4626430f38f2..000000000000 --- a/devtools/startup/aboutdebugging.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {1060afaf-dc9e-43da-8646-23a2faf48493} aboutdebugging-registration.js -contract @mozilla.org/network/protocol/about;1?what=debugging {1060afaf-dc9e-43da-8646-23a2faf48493} \ No newline at end of file diff --git a/devtools/startup/aboutdevtools/aboutdevtools-registration.js b/devtools/startup/aboutdevtools/AboutDevToolsRegistration.jsm similarity index 87% rename from devtools/startup/aboutdevtools/aboutdevtools-registration.js rename to devtools/startup/aboutdevtools/AboutDevToolsRegistration.jsm index f7d17f4eebf3..37f7e4e9ab6b 100644 --- a/devtools/startup/aboutdevtools/aboutdevtools-registration.js +++ b/devtools/startup/aboutdevtools/AboutDevToolsRegistration.jsm @@ -6,7 +6,6 @@ // Register the about:devtools URL, that is opened whenever a user attempts to open // DevTools for the first time. -const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); const { nsIAboutModule } = Ci; @@ -35,6 +34,4 @@ AboutDevtools.prototype = { }, }; -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ - AboutDevtools, -]); +var EXPORTED_SYMBOLS = ["AboutDevtools"]; diff --git a/devtools/startup/aboutdevtools/aboutdevtools.manifest b/devtools/startup/aboutdevtools/aboutdevtools.manifest deleted file mode 100644 index 05cd3dee87ee..000000000000 --- a/devtools/startup/aboutdevtools/aboutdevtools.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {3a16d383-92bd-4c24-ac10-0e2bd66883ab} aboutdevtools-registration.js -contract @mozilla.org/network/protocol/about;1?what=devtools {3a16d383-92bd-4c24-ac10-0e2bd66883ab} diff --git a/devtools/startup/aboutdevtools/components.conf b/devtools/startup/aboutdevtools/components.conf new file mode 100644 index 000000000000..e9ea6846f810 --- /dev/null +++ b/devtools/startup/aboutdevtools/components.conf @@ -0,0 +1,14 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +Classes = [ + { + 'cid': '{3a16d383-92bd-4c24-ac10-0e2bd66883ab}', + 'contract_ids': ['@mozilla.org/network/protocol/about;1?what=devtools'], + 'jsm': 'resource:///modules/AboutDevToolsRegistration.jsm', + 'constructor': 'AboutDevtools', + }, +] diff --git a/devtools/startup/aboutdevtools/moz.build b/devtools/startup/aboutdevtools/moz.build index 1816a74035dd..772fc9c1fea9 100644 --- a/devtools/startup/aboutdevtools/moz.build +++ b/devtools/startup/aboutdevtools/moz.build @@ -4,9 +4,12 @@ # 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/. -EXTRA_COMPONENTS += [ - 'aboutdevtools-registration.js', - 'aboutdevtools.manifest', +EXTRA_JS_MODULES += [ + 'AboutDevToolsRegistration.jsm', +] + +XPCOM_MANIFESTS += [ + 'components.conf', ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] diff --git a/devtools/startup/aboutdevtoolstoolbox.manifest b/devtools/startup/aboutdevtoolstoolbox.manifest deleted file mode 100644 index dab423222ab5..000000000000 --- a/devtools/startup/aboutdevtoolstoolbox.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {11342911-3135-45a8-8d71-737a2b0ad469} aboutdevtoolstoolbox-registration.js -contract @mozilla.org/network/protocol/about;1?what=devtools-toolbox {11342911-3135-45a8-8d71-737a2b0ad469} \ No newline at end of file diff --git a/devtools/startup/components.conf b/devtools/startup/components.conf new file mode 100644 index 000000000000..4976e28bede5 --- /dev/null +++ b/devtools/startup/components.conf @@ -0,0 +1,40 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +Classes = [] + +if buildconfig.substs['MOZ_DEVTOOLS'] == 'all': + Classes += [ + { + 'cid': '{9e9a9283-0ce9-4e4a-8f1c-ba129a032c32}', + 'contract_ids': ['@mozilla.org/devtools/startup-clh;1'], + 'jsm': 'resource:///modules/DevToolsStartup.jsm', + 'constructor': 'DevToolsStartup', + 'categories': {'command-line-handler': 'm-devtools'}, + }, + { + 'cid': '{1060afaf-dc9e-43da-8646-23a2faf48493}', + 'contract_ids': ['@mozilla.org/network/protocol/about;1?what=debugging'], + 'jsm': 'resource:///modules/AboutDebuggingRegistration.jsm', + 'constructor': 'AboutDebugging', + }, + { + 'cid': '{11342911-3135-45a8-8d71-737a2b0ad469}', + 'contract_ids': ['@mozilla.org/network/protocol/about;1?what=devtools-toolbox'], + 'jsm': 'resource:///modules/AboutDevToolsToolboxRegistration.jsm', + 'constructor': 'AboutDevtoolsToolbox', + }, + ] + +if defined('NIGHTLY_BUILD'): + Classes += [ + { + 'cid': '{610e4e26-26bd-4a7d-aebc-69211d5a3be0}', + 'contract_ids': ['@mozilla.org/network/protocol/about;1?what=debugging-new'], + 'jsm': 'resource:///modules/AboutDebuggingNewRegistration.jsm', + 'constructor': 'AboutDebuggingNew', + }, + ] diff --git a/devtools/startup/devtools-startup.manifest b/devtools/startup/devtools-startup.manifest deleted file mode 100644 index ac9583d2614a..000000000000 --- a/devtools/startup/devtools-startup.manifest +++ /dev/null @@ -1,3 +0,0 @@ -component {9e9a9283-0ce9-4e4a-8f1c-ba129a032c32} devtools-startup.js -contract @mozilla.org/devtools/startup-clh;1 {9e9a9283-0ce9-4e4a-8f1c-ba129a032c32} -category command-line-handler m-devtools @mozilla.org/devtools/startup-clh;1 diff --git a/devtools/startup/moz.build b/devtools/startup/moz.build index a44f6130a347..22e9462bd7fe 100644 --- a/devtools/startup/moz.build +++ b/devtools/startup/moz.build @@ -12,13 +12,10 @@ DIRS += [ # Register the startup components only for 'all' builds. if CONFIG['MOZ_DEVTOOLS'] == 'all': - EXTRA_COMPONENTS += [ - 'aboutdebugging-registration.js', - 'aboutdebugging.manifest', - 'aboutdevtoolstoolbox-registration.js', - 'aboutdevtoolstoolbox.manifest', - 'devtools-startup.js', - 'devtools-startup.manifest', + EXTRA_JS_MODULES += [ + 'AboutDebuggingRegistration.jsm', + 'AboutDevToolsToolboxRegistration.jsm', + 'DevToolsStartup.jsm', ] DIRS += [ @@ -28,10 +25,13 @@ if CONFIG['MOZ_DEVTOOLS'] == 'all': if CONFIG['NIGHTLY_BUILD']: EXTRA_COMPONENTS += [ - 'aboutdebugging-new-registration.js', - 'aboutdebugging-new.manifest', + 'AboutDebuggingNewRegistration.jsm', ] +XPCOM_MANIFESTS += [ + 'components.conf', +] + XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] if CONFIG['MOZ_BUILD_APP'] != 'mobile/android':