Bug 1444926 - Move devtools/shim to devtools/startup;r=ochameau draft
authorJulian Descottes <jdescottes@mozilla.com>
Mon, 12 Mar 2018 14:41:48 +0100
changeset 770096 7867a5b103d01dc936091a71deeaf526e7f0e47a
parent 769888 827c686c570935483c3ad8022aa92b9e005574c3
child 770097 394a4567ed85044b190d9ea8e805fb3aaae9bf11
push id103316
push userjdescottes@mozilla.com
push dateTue, 20 Mar 2018 18:33:53 +0000
reviewersochameau
bugs1444926
milestone61.0a1
Bug 1444926 - Move devtools/shim to devtools/startup;r=ochameau MozReview-Commit-ID: K9WuJuTdYHS
.eslintignore
browser/base/content/nsContextMenu.js
browser/components/extensions/ext-devtools.js
browser/components/sessionstore/SessionStore.jsm
browser/installer/package-manifest.in
browser/locales/Makefile.in
browser/locales/filter.py
browser/locales/l10n.ini
browser/locales/l10n.toml
devtools/client/definitions.js
devtools/client/framework/devtools.js
devtools/client/netmonitor/webpack.config.js
devtools/client/webconsole/webpack.config.js
devtools/docs/preferences.md
devtools/moz.build
devtools/shared/Loader.jsm
devtools/shared/l10n.js
devtools/shim/DevToolsShim.jsm
devtools/shim/aboutdebugging-registration.js
devtools/shim/aboutdebugging.manifest
devtools/shim/aboutdevtools/aboutdevtools-registration.js
devtools/shim/aboutdevtools/aboutdevtools.css
devtools/shim/aboutdevtools/aboutdevtools.js
devtools/shim/aboutdevtools/aboutdevtools.manifest
devtools/shim/aboutdevtools/aboutdevtools.xhtml
devtools/shim/aboutdevtools/images/dev-edition-logo.svg
devtools/shim/aboutdevtools/images/external-link.svg
devtools/shim/aboutdevtools/images/feature-console.svg
devtools/shim/aboutdevtools/images/feature-debugger.svg
devtools/shim/aboutdevtools/images/feature-inspector.svg
devtools/shim/aboutdevtools/images/feature-memory.svg
devtools/shim/aboutdevtools/images/feature-network.svg
devtools/shim/aboutdevtools/images/feature-performance.svg
devtools/shim/aboutdevtools/images/feature-responsive.svg
devtools/shim/aboutdevtools/images/feature-storage.svg
devtools/shim/aboutdevtools/images/feature-visualediting.svg
devtools/shim/aboutdevtools/images/otter.svg
devtools/shim/aboutdevtools/moz.build
devtools/shim/aboutdevtools/subscribe.css
devtools/shim/aboutdevtools/subscribe.js
devtools/shim/aboutdevtools/test/.eslintrc.js
devtools/shim/aboutdevtools/test/browser.ini
devtools/shim/aboutdevtools/test/browser_aboutdevtools_closes_page.js
devtools/shim/aboutdevtools/test/browser_aboutdevtools_enables_devtools.js
devtools/shim/aboutdevtools/test/browser_aboutdevtools_focus_owner_tab.js
devtools/shim/aboutdevtools/test/browser_aboutdevtools_reuse_existing.js
devtools/shim/aboutdevtools/test/head.js
devtools/shim/aboutdevtoolstoolbox-registration.js
devtools/shim/aboutdevtoolstoolbox.manifest
devtools/shim/devtools-startup-prefs.js
devtools/shim/devtools-startup.js
devtools/shim/devtools-startup.manifest
devtools/shim/jar.mn
devtools/shim/locales/en-US/aboutdevtools.dtd
devtools/shim/locales/en-US/aboutdevtools.properties
devtools/shim/locales/en-US/key-shortcuts.properties
devtools/shim/locales/en-US/startup.properties
devtools/shim/locales/jar.mn
devtools/shim/locales/moz.build
devtools/shim/moz.build
devtools/shim/tests/browser/.eslintrc.js
devtools/shim/tests/browser/browser.ini
devtools/shim/tests/browser/browser_shim_disable_devtools.js
devtools/shim/tests/unit/.eslintrc.js
devtools/shim/tests/unit/test_devtools_shim.js
devtools/shim/tests/unit/xpcshell.ini
devtools/startup/DevToolsShim.jsm
devtools/startup/aboutdebugging-registration.js
devtools/startup/aboutdebugging.manifest
devtools/startup/aboutdevtools/aboutdevtools-registration.js
devtools/startup/aboutdevtools/aboutdevtools.css
devtools/startup/aboutdevtools/aboutdevtools.js
devtools/startup/aboutdevtools/aboutdevtools.manifest
devtools/startup/aboutdevtools/aboutdevtools.xhtml
devtools/startup/aboutdevtools/images/dev-edition-logo.svg
devtools/startup/aboutdevtools/images/external-link.svg
devtools/startup/aboutdevtools/images/feature-console.svg
devtools/startup/aboutdevtools/images/feature-debugger.svg
devtools/startup/aboutdevtools/images/feature-inspector.svg
devtools/startup/aboutdevtools/images/feature-memory.svg
devtools/startup/aboutdevtools/images/feature-network.svg
devtools/startup/aboutdevtools/images/feature-performance.svg
devtools/startup/aboutdevtools/images/feature-responsive.svg
devtools/startup/aboutdevtools/images/feature-storage.svg
devtools/startup/aboutdevtools/images/feature-visualediting.svg
devtools/startup/aboutdevtools/images/otter.svg
devtools/startup/aboutdevtools/moz.build
devtools/startup/aboutdevtools/subscribe.css
devtools/startup/aboutdevtools/subscribe.js
devtools/startup/aboutdevtools/test/.eslintrc.js
devtools/startup/aboutdevtools/test/browser.ini
devtools/startup/aboutdevtools/test/browser_aboutdevtools_closes_page.js
devtools/startup/aboutdevtools/test/browser_aboutdevtools_enables_devtools.js
devtools/startup/aboutdevtools/test/browser_aboutdevtools_focus_owner_tab.js
devtools/startup/aboutdevtools/test/browser_aboutdevtools_reuse_existing.js
devtools/startup/aboutdevtools/test/head.js
devtools/startup/aboutdevtoolstoolbox-registration.js
devtools/startup/aboutdevtoolstoolbox.manifest
devtools/startup/devtools-startup-prefs.js
devtools/startup/devtools-startup.js
devtools/startup/devtools-startup.manifest
devtools/startup/jar.mn
devtools/startup/locales/en-US/aboutdevtools.dtd
devtools/startup/locales/en-US/aboutdevtools.properties
devtools/startup/locales/en-US/key-shortcuts.properties
devtools/startup/locales/en-US/startup.properties
devtools/startup/locales/jar.mn
devtools/startup/locales/moz.build
devtools/startup/moz.build
devtools/startup/tests/browser/.eslintrc.js
devtools/startup/tests/browser/browser.ini
devtools/startup/tests/browser/browser_shim_disable_devtools.js
devtools/startup/tests/unit/.eslintrc.js
devtools/startup/tests/unit/test_devtools_shim.js
devtools/startup/tests/unit/xpcshell.ini
toolkit/components/extensions/ext-runtime.js
--- a/.eslintignore
+++ b/.eslintignore
@@ -151,17 +151,17 @@ devtools/server/tests/browser/stylesheet
 devtools/server/tests/unit/xpcshell_debugging_script.js
 devtools/client/shared/webpack/shims/test/test_clipboard.html
 devtools/shared/qrcode/tests/mochitest/test_decode.html
 devtools/shared/tests/mochitest/*.html
 devtools/shared/webconsole/test/test_*.html
 
 # Ignore devtools preferences files
 devtools/client/preferences/**
-devtools/shim/devtools-startup-prefs.js
+devtools/startup/devtools-startup-prefs.js
 
 # Ignore devtools third-party libs
 devtools/shared/jsbeautify/*
 devtools/shared/acorn/*
 devtools/shared/gcli/source/*
 devtools/shared/node-properties/*
 devtools/shared/pretty-fast/*
 devtools/shared/sourcemap/*
--- a/browser/base/content/nsContextMenu.js
+++ b/browser/base/content/nsContextMenu.js
@@ -10,17 +10,17 @@ ChromeUtils.import("resource://gre/modul
 ChromeUtils.import("resource://gre/modules/Services.jsm");
 
 XPCOMUtils.defineLazyModuleGetters(this, {
   SpellCheckHelper: "resource://gre/modules/InlineSpellChecker.jsm",
   LoginHelper: "resource://gre/modules/LoginHelper.jsm",
   LoginManagerContextMenu: "resource://gre/modules/LoginManagerContextMenu.jsm",
   WebNavigationFrames: "resource://gre/modules/WebNavigationFrames.jsm",
   ContextualIdentityService: "resource://gre/modules/ContextualIdentityService.jsm",
-  DevToolsShim: "chrome://devtools-shim/content/DevToolsShim.jsm",
+  DevToolsShim: "chrome://devtools-startup/content/DevToolsShim.jsm",
   NetUtil: "resource://gre/modules/NetUtil.jsm",
 });
 
 var gContextMenuContentData = null;
 
 function setContextMenuContentData(data) {
   gContextMenuContentData = data;
 }
--- a/browser/components/extensions/ext-devtools.js
+++ b/browser/components/extensions/ext-devtools.js
@@ -9,17 +9,17 @@
 /* import-globals-from ext-browser.js */
 
 /**
  * This module provides helpers used by the other specialized `ext-devtools-*.js` modules
  * and the implementation of the `devtools_page`.
  */
 
 ChromeUtils.defineModuleGetter(this, "DevToolsShim",
-                               "chrome://devtools-shim/content/DevToolsShim.jsm");
+                               "chrome://devtools-startup/content/DevToolsShim.jsm");
 
 ChromeUtils.import("resource://gre/modules/ExtensionParent.jsm");
 
 var {
   HiddenExtensionPage,
   watchExtensionProxyContextLoad,
 } = ExtensionParent;
 
--- a/browser/components/sessionstore/SessionStore.jsm
+++ b/browser/components/sessionstore/SessionStore.jsm
@@ -160,17 +160,17 @@ XPCOMUtils.defineLazyServiceGetters(this
   gSessionStartup: ["@mozilla.org/browser/sessionstartup;1", "nsISessionStartup"],
   gScreenManager: ["@mozilla.org/gfx/screenmanager;1", "nsIScreenManager"],
   Telemetry: ["@mozilla.org/base/telemetry;1", "nsITelemetry"],
 });
 
 XPCOMUtils.defineLazyModuleGetters(this, {
   AppConstants: "resource://gre/modules/AppConstants.jsm",
   AsyncShutdown: "resource://gre/modules/AsyncShutdown.jsm",
-  DevToolsShim: "chrome://devtools-shim/content/DevToolsShim.jsm",
+  DevToolsShim: "chrome://devtools-startup/content/DevToolsShim.jsm",
   GlobalState: "resource:///modules/sessionstore/GlobalState.jsm",
   PrivacyFilter: "resource:///modules/sessionstore/PrivacyFilter.jsm",
   PromiseUtils: "resource://gre/modules/PromiseUtils.jsm",
   RecentWindow: "resource:///modules/RecentWindow.jsm",
   RunState: "resource:///modules/sessionstore/RunState.jsm",
   SessionCookies: "resource:///modules/sessionstore/SessionCookies.jsm",
   SessionFile: "resource:///modules/sessionstore/SessionFile.jsm",
   SessionSaver: "resource:///modules/sessionstore/SessionSaver.jsm",
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -609,18 +609,18 @@
 @RESPATH@/browser/features/*
 
 ; [Webide Files]
 @RESPATH@/browser/chrome/webide@JAREXT@
 @RESPATH@/browser/chrome/webide.manifest
 @RESPATH@/browser/@PREF_DIR@/webide-prefs.js
 
 ; [DevTools Shim Files]
-@RESPATH@/browser/chrome/devtools-shim@JAREXT@
-@RESPATH@/browser/chrome/devtools-shim.manifest
+@RESPATH@/browser/chrome/devtools-startup@JAREXT@
+@RESPATH@/browser/chrome/devtools-startup.manifest
 @RESPATH@/browser/@PREF_DIR@/devtools-startup-prefs.js
 
 ; DevTools
 @RESPATH@/browser/chrome/devtools@JAREXT@
 @RESPATH@/browser/chrome/devtools.manifest
 @RESPATH@/browser/@PREF_DIR@/devtools.js
 @RESPATH@/browser/@PREF_DIR@/debugger.js
 
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -78,17 +78,17 @@ endif
 	@$(MAKE) -C ../extensions/pocket/locale AB_CD=$* XPI_NAME=locale-$*
 ifndef RELEASE_OR_BETA
 	@$(MAKE) -C ../extensions/presentation/locale AB_CD=$* XPI_NAME=locale-$*
 endif
 ifneq '$(or $(MOZ_DEV_EDITION),$(NIGHTLY_BUILD))' ''
 	@$(MAKE) -C ../extensions/webcompat-reporter/locales AB_CD=$* XPI_NAME=locale-$*
 endif
 	@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
-	@$(MAKE) -C ../../devtools/shim/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
+	@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
 	@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
 	@$(MAKE) multilocale.txt-$* AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
 
 chrome-%: AB_CD=$*
 chrome-%: IS_LANGUAGE_REPACK=1
 chrome-%:
@@ -99,17 +99,17 @@ chrome-%:
 ifneq (,$(wildcard ../extensions/formautofill/locales))
 	@$(MAKE) -C ../extensions/formautofill/locales chrome AB_CD=$*
 endif
 	@$(MAKE) -C ../extensions/pocket/locale chrome AB_CD=$*
 ifndef RELEASE_OR_BETA
 	@$(MAKE) -C ../extensions/presentation/locale chrome AB_CD=$*
 endif
 	@$(MAKE) -C ../../devtools/client/locales chrome AB_CD=$*
-	@$(MAKE) -C ../../devtools/shim/locales chrome AB_CD=$*
+	@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
 	@$(MAKE) chrome AB_CD=$*
 	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
 ifdef NIGHTLY_BUILD
 	@$(MAKE) -C ../extensions/webcompat-reporter/locales chrome AB_CD=$*
 endif
 
 package-win32-installer: WIN32_INSTALLER_OUT=$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
 package-win32-installer: $(SUBMAKEFILES)
--- a/browser/locales/filter.py
+++ b/browser/locales/filter.py
@@ -1,17 +1,17 @@
 # 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/.
 
 def test(mod, path, entity = None):
   import re
   # ignore anything but Firefox
   if mod not in ("netwerk", "dom", "toolkit", "security/manager",
-                 "devtools/client", "devtools/shared", "devtools/shim",
+                 "devtools/client", "devtools/shared", "devtools/startup",
                  "browser",
                  "browser/extensions/formautofill",
                  "browser/extensions/onboarding",
                  "browser/extensions/webcompat-reporter",
                  "extensions/spellcheck",
                  "other-licenses/branding/firefox",
                  "browser/branding/official",
                  "services/sync"):
--- a/browser/locales/l10n.ini
+++ b/browser/locales/l10n.ini
@@ -6,17 +6,17 @@
 depth = ../..
 all = browser/locales/all-locales
 
 [compare]
 dirs = browser
      other-licenses/branding/firefox
      browser/branding/official
      devtools/client
-     devtools/shim
+     devtools/startup
      browser/extensions/formautofill
      browser/extensions/onboarding
      browser/extensions/webcompat-reporter
 
 [includes]
 # non-central apps might want to use %(topsrcdir)s here, or other vars
 # RFE: that needs to be supported by compare-locales, too, though
 toolkit = toolkit/locales/l10n.ini
--- a/browser/locales/l10n.toml
+++ b/browser/locales/l10n.toml
@@ -140,18 +140,18 @@ locales = [
 
 [[includes]]
     path = "toolkit/locales/l10n.toml"
 
 [[includes]]
     path = "devtools/client/locales/l10n.toml"
 
 [[paths]]
-    reference = "devtools/shim/locales/en-US/**"
-    l10n = "{l}devtools/shim/**"
+    reference = "devtools/startup/locales/en-US/**"
+    l10n = "{l}devtools/startup/**"
 
 # Filters
 # The filters below are evaluated one after the other, in the given order.
 # Enter a combination of path as in the localization, key, and an action,
 # to change the default behavior of compare-locales and l10n merge.
 #
 # For browser/locales/en-US/chrome/browser/foo.properties,
 # path would be {l}browser/chrome/browser/foo.properties
--- a/devtools/client/definitions.js
+++ b/devtools/client/definitions.js
@@ -29,17 +29,17 @@ loader.lazyGetter(this, "DomPanel", () =
 loader.lazyRequireGetter(this, "CommandUtils", "devtools/client/shared/developer-toolbar", true);
 loader.lazyRequireGetter(this, "CommandState", "devtools/shared/gcli/command-state", true);
 loader.lazyRequireGetter(this, "ResponsiveUIManager", "devtools/client/responsive.html/manager", true);
 loader.lazyImporter(this, "ScratchpadManager", "resource://devtools/client/scratchpad/scratchpad-manager.jsm");
 
 const {MultiLocalizationHelper} = require("devtools/shared/l10n");
 const L10N = new MultiLocalizationHelper(
   "devtools/client/locales/startup.properties",
-  "devtools/shim/locales/key-shortcuts.properties"
+  "devtools/startup/locales/key-shortcuts.properties"
 );
 
 var Tools = {};
 exports.Tools = Tools;
 
 // Definitions
 Tools.options = {
   id: "options",
--- a/devtools/client/framework/devtools.js
+++ b/devtools/client/framework/devtools.js
@@ -2,17 +2,17 @@
  * 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/. */
 
 "use strict";
 
 const {Cu} = require("chrome");
 const Services = require("Services");
 
-const {DevToolsShim} = require("chrome://devtools-shim/content/DevToolsShim.jsm");
+const {DevToolsShim} = require("chrome://devtools-startup/content/DevToolsShim.jsm");
 
 // Load gDevToolsBrowser toolbox lazily as they need gDevTools to be fully initialized
 loader.lazyRequireGetter(this, "TargetFactory", "devtools/client/framework/target", true);
 loader.lazyRequireGetter(this, "TabTarget", "devtools/client/framework/target", true);
 loader.lazyRequireGetter(this, "Toolbox", "devtools/client/framework/toolbox", true);
 loader.lazyRequireGetter(this, "ToolboxHostManager", "devtools/client/framework/toolbox-host-manager", true);
 loader.lazyRequireGetter(this, "gDevToolsBrowser", "devtools/client/framework/devtools-browser", true);
 loader.lazyRequireGetter(this, "HUDService", "devtools/client/webconsole/hudservice", true);
--- a/devtools/client/netmonitor/webpack.config.js
+++ b/devtools/client/netmonitor/webpack.config.js
@@ -87,17 +87,17 @@ let webpackConfig = {
       "devtools/shared/event-emitter": "devtools-modules/src/utils/event-emitter",
       "devtools/shared/fronts/timeline": path.join(__dirname, "../../client/shared/webpack/shims/fronts-timeline-shim"),
       "devtools/shared/platform/clipboard": path.join(__dirname, "../../client/shared/webpack/shims/platform-clipboard-stub"),
       "devtools/client/netmonitor/src/utils/firefox/open-request-in-tab": path.join(__dirname, "src/utils/open-request-in-tab"),
 
       // Locales need to be explicitly mapped to the en-US subfolder
       "devtools/client/locales": path.join(__dirname, "../../client/locales/en-US"),
       "devtools/shared/locales": path.join(__dirname, "../../shared/locales/en-US"),
-      "devtools/shim/locales": path.join(__dirname, "../../shared/locales/en-US"),
+      "devtools/startup/locales": path.join(__dirname, "../../shared/locales/en-US"),
       "toolkit/locales": path.join(__dirname, "../../../toolkit/locales/en-US"),
 
       // Unless a path explicitly needs to be rewritten or shimmed, all devtools paths can
       // be mapped to ../../
       "devtools": path.join(__dirname, "../../"),
     },
   },
 };
--- a/devtools/client/webconsole/webpack.config.js
+++ b/devtools/client/webconsole/webpack.config.js
@@ -101,17 +101,17 @@ webpackConfig.resolve = {
     "devtools/shared/client/debugger-client": path.join(__dirname, "new-console-output/test/fixtures/DebuggerClient"),
     "devtools/shared/platform/clipboard": path.join(__dirname, "../../client/shared/webpack/shims/platform-clipboard-stub"),
     "devtools/shared/platform/stack": path.join(__dirname, "../../client/shared/webpack/shims/platform-stack-stub"),
 
     // Locales need to be explicitly mapped to the en-US subfolder
     "toolkit/locales": path.join(__dirname, "../../../toolkit/locales/en-US"),
     "devtools/client/locales": path.join(__dirname, "../../client/locales/en-US"),
     "devtools/shared/locales": path.join(__dirname, "../../shared/locales/en-US"),
-    "devtools/shim/locales": path.join(__dirname, "../../shared/locales/en-US"),
+    "devtools/startup/locales": path.join(__dirname, "../../shared/locales/en-US"),
 
     // Unless a path explicitly needs to be rewritten or shimmed, all devtools paths can
     // be mapped to ../../
     "devtools": path.join(__dirname, "../../"),
   }
 };
 
 const mappings = [
--- a/devtools/docs/preferences.md
+++ b/devtools/docs/preferences.md
@@ -67,22 +67,22 @@ value does not match the preference type
 These APIs are very similar for each preference type.
 
 ## Create a new preference
 
 To create a new preference, it should be assigned a default value. Default preferences are
 defined in preferences files such as:
 - devtools/client/preferences/devtools.js
 - devtools/client/preferences/debugger.js
-- devtools/shim/devtools-startup-prefs.js
+- devtools/startup/devtools-startup-prefs.js
 
 Most new preferences should go in devtools/client/preferences/devtools.js. Debugger
 specific preferences should go in devtools/client/preferences/debugger.js. Finally if a
 preference needs to be available very early during the Firefox startup sequence, it should
-go in devtools/shim/devtools-startup-prefs.js.
+go in devtools/startup/devtools-startup-prefs.js.
 
 ### Projects using Launchpad
 
 At the time of writing this doc, projects using Launchpad have to duplicate the default
 definition of a preference.
 * debugger.html: update [src/utils/prefs.js](https://github.com/devtools-html/debugger.html/blob/master/src/utils/prefs.js)
 * netmonitor: update [index.js](http://searchfox.org/mozilla-central/source/devtools/client/netmonitor/index.js)
 * webconsole: update [local-dev/index.js](http://searchfox.org/mozilla-central/source/devtools/client/webconsole/local-dev/index.js)
--- a/devtools/moz.build
+++ b/devtools/moz.build
@@ -8,21 +8,21 @@ if CONFIG['MOZ_DEVTOOLS'] and CONFIG['MO
     error('Unsupported MOZ_DEVTOOLS value: %s' % (CONFIG['MOZ_DEVTOOLS']))
 
 if CONFIG['MOZ_DEVTOOLS'] == 'all':
     DIRS += [
         'client',
     ]
 
 # `addon` is a special build mode to strip everything except binary components
-# and shim modules that are going to stay in Firefox once DevTools ship as an
+# and startup modules that are going to stay in Firefox once DevTools ship as an
 # add-on.
 # `platform` contains all native components
 DIRS += [
-    'shim',
+    'startup',
     'platform',
 ]
 
 if CONFIG['MOZ_DEVTOOLS'] != 'addon':
     DIRS += [
         'server',
         'shared',
     ]
--- a/devtools/shared/Loader.jsm
+++ b/devtools/shared/Loader.jsm
@@ -42,17 +42,17 @@ BuiltinProvider.prototype = {
       // Allow access to xpcshell test items from the loader.
       "xpcshell-test": "resource://test",
 
       // ⚠ DISCUSSION ON DEV-DEVELOPER-TOOLS REQUIRED BEFORE MODIFYING ⚠
       // Allow access to locale data using paths closer to what is
       // used in the source tree.
       "devtools/client/locales": "chrome://devtools/locale",
       "devtools/shared/locales": "chrome://devtools-shared/locale",
-      "devtools/shim/locales": "chrome://devtools-shim/locale",
+      "devtools/startup/locales": "chrome://devtools-startup/locale",
       "toolkit/locales": "chrome://global/locale",
     };
     // When creating a Loader invisible to the Debugger, we have to ensure
     // using only modules and not depend on any JSM. As everything that is
     // not loaded with Loader isn't going to respect `invisibleToDebugger`.
     // But we have to keep using Promise.jsm for other loader to prevent
     // breaking unhandled promise rejection in tests.
     if (this.invisibleToDebugger) {
--- a/devtools/shared/l10n.js
+++ b/devtools/shared/l10n.js
@@ -25,17 +25,17 @@ const propertiesMap = {};
 // directory.  Then we use the correct context to load the property
 // file.  In the webpack case this results in just the locale property
 // files being included in the pack; and in the devtools case this is
 // a wordy no-op.
 const reqShared = require.context("raw!devtools/shared/locales/",
                                   true, /^.*\.properties$/);
 const reqClient = require.context("raw!devtools/client/locales/",
                                   true, /^.*\.properties$/);
-const reqShim = require.context("raw!devtools/shim/locales/",
+const reqStartup = require.context("raw!devtools/startup/locales/",
                                   true, /^.*\.properties$/);
 const reqGlobal = require.context("raw!toolkit/locales/",
                                   true, /^.*\.properties$/);
 
 // Map used to memoize Number formatters.
 const numberFormatters = new Map();
 const getNumberFormatter = function(decimals) {
   let formatter = numberFormatters.get(decimals);
@@ -69,18 +69,18 @@ function getProperties(url) {
     let index = url.lastIndexOf("/");
     // Turn "mumble/locales/resource.properties" => "./resource.properties".
     let baseName = "." + url.substr(index);
     let reqFn;
     if (/^toolkit/.test(url)) {
       reqFn = reqGlobal;
     } else if (/^devtools\/shared/.test(url)) {
       reqFn = reqShared;
-    } else if (/^devtools\/shim/.test(url)) {
-      reqFn = reqShim;
+    } else if (/^devtools\/startup/.test(url)) {
+      reqFn = reqStartup;
     } else {
       reqFn = reqClient;
     }
     propertiesMap[url] = parsePropertiesFile(reqFn(baseName));
   }
 
   return propertiesMap[url];
 }
rename from devtools/shim/DevToolsShim.jsm
rename to devtools/startup/DevToolsShim.jsm
rename from devtools/shim/aboutdebugging-registration.js
rename to devtools/startup/aboutdebugging-registration.js
rename from devtools/shim/aboutdebugging.manifest
rename to devtools/startup/aboutdebugging.manifest
rename from devtools/shim/aboutdevtools/aboutdevtools-registration.js
rename to devtools/startup/aboutdevtools/aboutdevtools-registration.js
--- a/devtools/shim/aboutdevtools/aboutdevtools-registration.js
+++ b/devtools/startup/aboutdevtools/aboutdevtools-registration.js
@@ -9,17 +9,17 @@
 const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm", {});
 const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm", {});
 
 const { nsIAboutModule } = Ci;
 
 function AboutDevtools() {}
 
 AboutDevtools.prototype = {
-  uri: Services.io.newURI("chrome://devtools-shim/content/aboutdevtools/aboutdevtools.xhtml"),
+  uri: Services.io.newURI("chrome://devtools-startup/content/aboutdevtools/aboutdevtools.xhtml"),
   classDescription: "about:devtools",
   classID: Components.ID("3a16d383-92bd-4c24-ac10-0e2bd66883ab"),
   contractID: "@mozilla.org/network/protocol/about;1?what=devtools",
 
   QueryInterface: XPCOMUtils.generateQI([nsIAboutModule]),
 
   newChannel: function(uri, loadInfo) {
     let chan = Services.io.newChannelFromURIWithLoadInfo(
rename from devtools/shim/aboutdevtools/aboutdevtools.css
rename to devtools/startup/aboutdevtools/aboutdevtools.css
rename from devtools/shim/aboutdevtools/aboutdevtools.js
rename to devtools/startup/aboutdevtools/aboutdevtools.js
--- a/devtools/shim/aboutdevtools/aboutdevtools.js
+++ b/devtools/startup/aboutdevtools/aboutdevtools.js
@@ -23,20 +23,20 @@ const MESSAGES = {
 };
 
 // Google analytics parameters that should be added to all outgoing links.
 const GA_PARAMETERS = [
   ["utm_source", "devtools"],
   ["utm_medium", "onboarding"],
 ];
 
-const ABOUTDEVTOOLS_STRINGS = "chrome://devtools-shim/locale/aboutdevtools.properties";
+const ABOUTDEVTOOLS_STRINGS = "chrome://devtools-startup/locale/aboutdevtools.properties";
 const aboutDevtoolsBundle = Services.strings.createBundle(ABOUTDEVTOOLS_STRINGS);
 
-const KEY_SHORTCUTS_STRINGS = "chrome://devtools-shim/locale/key-shortcuts.properties";
+const KEY_SHORTCUTS_STRINGS = "chrome://devtools-startup/locale/key-shortcuts.properties";
 const keyShortcutsBundle = Services.strings.createBundle(KEY_SHORTCUTS_STRINGS);
 
 // URL constructor doesn't support about: scheme,
 // we have to use http in order to have working searchParams.
 let url = new URL(window.location.href.replace("about:", "http://"));
 let reason = url.searchParams.get("reason");
 let keyid = url.searchParams.get("keyid");
 let tabid = parseInt(url.searchParams.get("tabid"), 10);
@@ -81,57 +81,57 @@ function updatePage() {
  * Each feature should contain:
  * - icon: the name of the image to use
  * - title: the key of the localized title (from aboutdevtools.properties)
  * - desc: the key of the localized description (from aboutdevtools.properties)
  * - link: the MDN documentation link
  */
 const features = [
   {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-inspector.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-inspector.svg",
     title: "features.inspector.title",
     desc: "features.inspector.desc",
     link: "https://developer.mozilla.org/docs/Tools/Page_Inspector",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-console.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-console.svg",
     title: "features.console.title",
     desc: "features.console.desc",
     link: "https://developer.mozilla.org/docs/Tools/Web_Console",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-debugger.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-debugger.svg",
     title: "features.debugger.title",
     desc: "features.debugger.desc",
     link: "https://developer.mozilla.org/docs/Tools/Debugger",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-network.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-network.svg",
     title: "features.network.title",
     desc: "features.network.desc",
     link: "https://developer.mozilla.org/docs/Tools/Network_Monitor",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-storage.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-storage.svg",
     title: "features.storage.title",
     desc: "features.storage.desc",
     link: "https://developer.mozilla.org/docs/Tools/Storage_Inspector",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-responsive.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-responsive.svg",
     title: "features.responsive.title",
     desc: "features.responsive.desc",
     link: "https://developer.mozilla.org/docs/Tools/Responsive_Design_Mode",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-visualediting.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-visualediting.svg",
     title: "features.visualediting.title",
     desc: "features.visualediting.desc",
     link: "https://developer.mozilla.org/docs/Tools/Style_Editor",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-performance.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-performance.svg",
     title: "features.performance.title",
     desc: "features.performance.desc",
     link: "https://developer.mozilla.org/docs/Tools/Performance",
   }, {
-    icon: "chrome://devtools-shim/content/aboutdevtools/images/feature-memory.svg",
+    icon: "chrome://devtools-startup/content/aboutdevtools/images/feature-memory.svg",
     title: "features.memory.title",
     desc: "features.memory.desc",
     link: "https://developer.mozilla.org/docs/Tools/Memory",
   },
 ];
 
 /**
  * Helper to create a DOM element to represent a DevTools feature.
rename from devtools/shim/aboutdevtools/aboutdevtools.manifest
rename to devtools/startup/aboutdevtools/aboutdevtools.manifest
rename from devtools/shim/aboutdevtools/aboutdevtools.xhtml
rename to devtools/startup/aboutdevtools/aboutdevtools.xhtml
--- a/devtools/shim/aboutdevtools/aboutdevtools.xhtml
+++ b/devtools/startup/aboutdevtools/aboutdevtools.xhtml
@@ -1,27 +1,27 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- 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/. -->
 <!DOCTYPE html [
 <!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> %htmlDTD;
 <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd"> %globalDTD;
-<!ENTITY % aboutdevtoolsDTD SYSTEM "chrome://devtools-shim/locale/aboutdevtools.dtd"> %aboutdevtoolsDTD;
+<!ENTITY % aboutdevtoolsDTD SYSTEM "chrome://devtools-startup/locale/aboutdevtools.dtd"> %aboutdevtoolsDTD;
 ]>
 
 <html xmlns="http://www.w3.org/1999/xhtml" dir="&locale.dir;">
 <head>
   <title>&aboutDevtools.headTitle;</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>a
   <link rel="stylesheet" href="chrome://global/skin/in-content/common.css" type="text/css"/>
-  <link rel="stylesheet" href="chrome://devtools-shim/content/aboutdevtools/aboutdevtools.css"  type="text/css"/>
-  <link rel="stylesheet" href="chrome://devtools-shim/content/aboutdevtools/subscribe.css"  type="text/css"/>
-  <script type="application/javascript" src="chrome://devtools-shim/content/aboutdevtools/aboutdevtools.js"></script>
-  <script type="application/javascript" src="chrome://devtools-shim/content/aboutdevtools/subscribe.js"></script>
+  <link rel="stylesheet" href="chrome://devtools-startup/content/aboutdevtools/aboutdevtools.css"  type="text/css"/>
+  <link rel="stylesheet" href="chrome://devtools-startup/content/aboutdevtools/subscribe.css"  type="text/css"/>
+  <script type="application/javascript" src="chrome://devtools-startup/content/aboutdevtools/aboutdevtools.js"></script>
+  <script type="application/javascript" src="chrome://devtools-startup/content/aboutdevtools/subscribe.js"></script>
 </head>
 <body>
   <div id="install-page" class="wrapper" hidden="true">
     <div class="box">
       <div class="left-pane" />
       <div class="right-pane">
         <h1 class="title" id="common-title" hidden="true">&aboutDevtools.enable.title;</h1>
         <h1 class="title" id="inspect-title" hidden="true">&aboutDevtools.enable.inspectElementTitle;</h1>
@@ -84,17 +84,17 @@
 
     <div class="features">
       <ul class="features-list">
       </ul>
     </div>
 
     <footer>
       <img class="dev-edition-logo"
-           src="chrome://devtools-shim/content/aboutdevtools/images/dev-edition-logo.svg"
+           src="chrome://devtools-startup/content/aboutdevtools/images/dev-edition-logo.svg"
            alt="Firefox Developer Edition logo"/>
       <div class="footer-message">
         <h1 class="footer-message-title">&aboutDevtools.footer.title;</h1>
         <p>&aboutDevtools.footer.message;</p>
         <a class="external footer-link"
            href="https://www.mozilla.org/firefox/developer/"
            target="_blank">&aboutDevtools.footer.learnMoreLink;</a>
       </div>
rename from devtools/shim/aboutdevtools/images/dev-edition-logo.svg
rename to devtools/startup/aboutdevtools/images/dev-edition-logo.svg
rename from devtools/shim/aboutdevtools/images/external-link.svg
rename to devtools/startup/aboutdevtools/images/external-link.svg
rename from devtools/shim/aboutdevtools/images/feature-console.svg
rename to devtools/startup/aboutdevtools/images/feature-console.svg
rename from devtools/shim/aboutdevtools/images/feature-debugger.svg
rename to devtools/startup/aboutdevtools/images/feature-debugger.svg
rename from devtools/shim/aboutdevtools/images/feature-inspector.svg
rename to devtools/startup/aboutdevtools/images/feature-inspector.svg
rename from devtools/shim/aboutdevtools/images/feature-memory.svg
rename to devtools/startup/aboutdevtools/images/feature-memory.svg
rename from devtools/shim/aboutdevtools/images/feature-network.svg
rename to devtools/startup/aboutdevtools/images/feature-network.svg
rename from devtools/shim/aboutdevtools/images/feature-performance.svg
rename to devtools/startup/aboutdevtools/images/feature-performance.svg
rename from devtools/shim/aboutdevtools/images/feature-responsive.svg
rename to devtools/startup/aboutdevtools/images/feature-responsive.svg
rename from devtools/shim/aboutdevtools/images/feature-storage.svg
rename to devtools/startup/aboutdevtools/images/feature-storage.svg
rename from devtools/shim/aboutdevtools/images/feature-visualediting.svg
rename to devtools/startup/aboutdevtools/images/feature-visualediting.svg
rename from devtools/shim/aboutdevtools/images/otter.svg
rename to devtools/startup/aboutdevtools/images/otter.svg
rename from devtools/shim/aboutdevtools/moz.build
rename to devtools/startup/aboutdevtools/moz.build
rename from devtools/shim/aboutdevtools/subscribe.css
rename to devtools/startup/aboutdevtools/subscribe.css
rename from devtools/shim/aboutdevtools/subscribe.js
rename to devtools/startup/aboutdevtools/subscribe.js
--- a/devtools/shim/aboutdevtools/subscribe.js
+++ b/devtools/startup/aboutdevtools/subscribe.js
@@ -10,17 +10,17 @@
  */
 
 window.addEventListener("load", function() {
   const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm", {});
 
   // Timeout for the subscribe XHR.
   const REQUEST_TIMEOUT = 5000;
 
-  const ABOUTDEVTOOLS_STRINGS = "chrome://devtools-shim/locale/aboutdevtools.properties";
+  const ABOUTDEVTOOLS_STRINGS = "chrome://devtools-startup/locale/aboutdevtools.properties";
   const aboutDevtoolsBundle = Services.strings.createBundle(ABOUTDEVTOOLS_STRINGS);
 
   let emailInput = document.getElementById("email");
   let newsletterErrors = document.getElementById("newsletter-errors");
   let newsletterForm = document.getElementById("newsletter-form");
   let newsletterPrivacySection = document.getElementById("newsletter-privacy");
   let newsletterThanks = document.getElementById("newsletter-thanks");
 
rename from devtools/shim/aboutdevtools/test/.eslintrc.js
rename to devtools/startup/aboutdevtools/test/.eslintrc.js
rename from devtools/shim/aboutdevtools/test/browser.ini
rename to devtools/startup/aboutdevtools/test/browser.ini
rename from devtools/shim/aboutdevtools/test/browser_aboutdevtools_closes_page.js
rename to devtools/startup/aboutdevtools/test/browser_aboutdevtools_closes_page.js
rename from devtools/shim/aboutdevtools/test/browser_aboutdevtools_enables_devtools.js
rename to devtools/startup/aboutdevtools/test/browser_aboutdevtools_enables_devtools.js
rename from devtools/shim/aboutdevtools/test/browser_aboutdevtools_focus_owner_tab.js
rename to devtools/startup/aboutdevtools/test/browser_aboutdevtools_focus_owner_tab.js
rename from devtools/shim/aboutdevtools/test/browser_aboutdevtools_reuse_existing.js
rename to devtools/startup/aboutdevtools/test/browser_aboutdevtools_reuse_existing.js
rename from devtools/shim/aboutdevtools/test/head.js
rename to devtools/startup/aboutdevtools/test/head.js
rename from devtools/shim/aboutdevtoolstoolbox-registration.js
rename to devtools/startup/aboutdevtoolstoolbox-registration.js
rename from devtools/shim/aboutdevtoolstoolbox.manifest
rename to devtools/startup/aboutdevtoolstoolbox.manifest
rename from devtools/shim/devtools-startup-prefs.js
rename to devtools/startup/devtools-startup-prefs.js
rename from devtools/shim/devtools-startup.js
rename to devtools/startup/devtools-startup.js
--- a/devtools/shim/devtools-startup.js
+++ b/devtools/startup/devtools-startup.js
@@ -40,22 +40,22 @@ ChromeUtils.defineModuleGetter(this, "Se
 ChromeUtils.defineModuleGetter(this, "AppConstants",
                                "resource://gre/modules/AppConstants.jsm");
 ChromeUtils.defineModuleGetter(this, "CustomizableUI",
                                "resource:///modules/CustomizableUI.jsm");
 ChromeUtils.defineModuleGetter(this, "CustomizableWidgets",
                                "resource:///modules/CustomizableWidgets.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "StartupBundle", function() {
-  const url = "chrome://devtools-shim/locale/startup.properties";
+  const url = "chrome://devtools-startup/locale/startup.properties";
   return Services.strings.createBundle(url);
 });
 
 XPCOMUtils.defineLazyGetter(this, "KeyShortcutsBundle", function() {
-  const url = "chrome://devtools-shim/locale/key-shortcuts.properties";
+  const url = "chrome://devtools-startup/locale/key-shortcuts.properties";
   return Services.strings.createBundle(url);
 });
 
 XPCOMUtils.defineLazyGetter(this, "KeyShortcuts", function() {
   const isMac = AppConstants.platform == "macosx";
 
   // Common modifier shared by most key shortcuts
   const modifiers = isMac ? "accel,alt" : "accel,shift";
rename from devtools/shim/devtools-startup.manifest
rename to devtools/startup/devtools-startup.manifest
rename from devtools/shim/jar.mn
rename to devtools/startup/jar.mn
--- a/devtools/shim/jar.mn
+++ b/devtools/startup/jar.mn
@@ -1,14 +1,14 @@
 # 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/.
 
-devtools-shim.jar:
-%   content devtools-shim %content/
+devtools-startup.jar:
+%   content devtools-startup %content/
     content/aboutdevtools/aboutdevtools.xhtml  (aboutdevtools/aboutdevtools.xhtml)
     content/aboutdevtools/aboutdevtools.css (aboutdevtools/aboutdevtools.css)
     content/aboutdevtools/aboutdevtools.js (aboutdevtools/aboutdevtools.js)
     content/aboutdevtools/subscribe.css (aboutdevtools/subscribe.css)
     content/aboutdevtools/subscribe.js (aboutdevtools/subscribe.js)
 
     content/aboutdevtools/images/otter.svg (aboutdevtools/images/otter.svg)
 
rename from devtools/shim/locales/en-US/aboutdevtools.dtd
rename to devtools/startup/locales/en-US/aboutdevtools.dtd
rename from devtools/shim/locales/en-US/aboutdevtools.properties
rename to devtools/startup/locales/en-US/aboutdevtools.properties
rename from devtools/shim/locales/en-US/key-shortcuts.properties
rename to devtools/startup/locales/en-US/key-shortcuts.properties
rename from devtools/shim/locales/en-US/startup.properties
rename to devtools/startup/locales/en-US/startup.properties
rename from devtools/shim/locales/jar.mn
rename to devtools/startup/locales/jar.mn
--- a/devtools/shim/locales/jar.mn
+++ b/devtools/startup/locales/jar.mn
@@ -1,8 +1,8 @@
 #filter substitution
 # 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/.
 
 @AB_CD@.jar:
-%   locale devtools-shim @AB_CD@ %locale/@AB_CD@/devtools/shim/
-    locale/@AB_CD@/devtools/shim/ (%*)
+%   locale devtools-startup @AB_CD@ %locale/@AB_CD@/devtools/startup/
+    locale/@AB_CD@/devtools/startup/ (%*)
rename from devtools/shim/locales/moz.build
rename to devtools/startup/locales/moz.build
rename from devtools/shim/moz.build
rename to devtools/startup/moz.build
rename from devtools/shim/tests/browser/.eslintrc.js
rename to devtools/startup/tests/browser/.eslintrc.js
rename from devtools/shim/tests/browser/browser.ini
rename to devtools/startup/tests/browser/browser.ini
rename from devtools/shim/tests/browser/browser_shim_disable_devtools.js
rename to devtools/startup/tests/browser/browser_shim_disable_devtools.js
rename from devtools/shim/tests/unit/.eslintrc.js
rename to devtools/startup/tests/unit/.eslintrc.js
rename from devtools/shim/tests/unit/test_devtools_shim.js
rename to devtools/startup/tests/unit/test_devtools_shim.js
--- a/devtools/shim/tests/unit/test_devtools_shim.js
+++ b/devtools/startup/tests/unit/test_devtools_shim.js
@@ -1,16 +1,16 @@
 /* -*- js-indent-level: 2; indent-tabs-mode: nil -*- */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const { DevToolsShim } =
-    ChromeUtils.import("chrome://devtools-shim/content/DevToolsShim.jsm", {});
+    ChromeUtils.import("chrome://devtools-startup/content/DevToolsShim.jsm", {});
 const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm", {});
 
 // Test the DevToolsShim
 
 /**
  * Create a mocked version of DevTools that records all calls made to methods expected
  * to be called by DevToolsShim.
  */
rename from devtools/shim/tests/unit/xpcshell.ini
rename to devtools/startup/tests/unit/xpcshell.ini
--- a/toolkit/components/extensions/ext-runtime.js
+++ b/toolkit/components/extensions/ext-runtime.js
@@ -7,17 +7,17 @@ ChromeUtils.defineModuleGetter(this, "Ad
                                "resource://gre/modules/AddonManager.jsm");
 ChromeUtils.defineModuleGetter(this, "AddonManagerPrivate",
                                "resource://gre/modules/AddonManager.jsm");
 ChromeUtils.defineModuleGetter(this, "ExtensionParent",
                                "resource://gre/modules/ExtensionParent.jsm");
 ChromeUtils.defineModuleGetter(this, "Services",
                                "resource://gre/modules/Services.jsm");
 ChromeUtils.defineModuleGetter(this, "DevToolsShim",
-                               "chrome://devtools-shim/content/DevToolsShim.jsm");
+                               "chrome://devtools-startup/content/DevToolsShim.jsm");
 
 this.runtime = class extends ExtensionAPI {
   getAPI(context) {
     let {extension} = context;
     return {
       runtime: {
         onStartup: new EventManager(context, "runtime.onStartup", fire => {
           if (context.incognito) {