Bug 1369801 - DevTools as system add-on
MozReview-Commit-ID: EUjkQtEUy4V
--- a/browser/installer/allowed-dupes.mn
+++ b/browser/installer/allowed-dupes.mn
@@ -78,67 +78,39 @@ browser/chrome/browser/content/browser/d
browser/chrome/browser/content/browser/extension.svg
browser/chrome/browser/content/browser/places/bookmarkProperties.xul
browser/chrome/browser/content/browser/places/bookmarkProperties2.xul
browser/chrome/browser/skin/classic/browser/addons/addon-install-confirm.svg
browser/chrome/browser/skin/classic/browser/connection-secure.svg
browser/chrome/browser/skin/classic/browser/controlcenter/warning-gray.svg
browser/chrome/browser/skin/classic/browser/newtab/close.png
# devtools reduction is bug 1311178
-browser/chrome/devtools/content/dom/content/dom-view.css
-browser/chrome/devtools/content/dom/dom.html
-browser/chrome/devtools/content/dom/main.js
-browser/chrome/devtools/content/framework/toolbox-options.js
-browser/chrome/devtools/content/inspector/fonts/fonts.js
-browser/chrome/devtools/content/inspector/inspector.xhtml
-browser/chrome/devtools/content/memory/initializer.js
-browser/chrome/devtools/content/projecteditor/lib/helpers/readdir.js
-browser/chrome/devtools/content/shared/frame-script-utils.js
-browser/chrome/devtools/content/shared/theme-switching.js
-browser/chrome/devtools/modules/devtools/client/dom/content/dom-view.css
-browser/chrome/devtools/modules/devtools/client/dom/dom.html
-browser/chrome/devtools/modules/devtools/client/dom/main.js
-browser/chrome/devtools/modules/devtools/client/framework/toolbox-options.js
-browser/chrome/devtools/modules/devtools/client/inspector/fonts/fonts.js
-browser/chrome/devtools/modules/devtools/client/inspector/inspector.xhtml
-browser/chrome/devtools/modules/devtools/client/jsonview/css/controls.png
-browser/chrome/devtools/modules/devtools/client/jsonview/css/controls@2x.png
-browser/chrome/devtools/modules/devtools/client/memory/initializer.js
-browser/chrome/devtools/modules/devtools/client/projecteditor/lib/helpers/readdir.js
-browser/chrome/devtools/modules/devtools/client/shared/frame-script-utils.js
-browser/chrome/devtools/modules/devtools/client/shared/theme-switching.js
-browser/chrome/devtools/modules/devtools/client/themes/common.css
-browser/chrome/devtools/modules/devtools/client/themes/toolbars.css
-browser/chrome/devtools/modules/devtools/client/themes/variables.css
-browser/chrome/devtools/skin/common.css
-browser/chrome/devtools/skin/toolbars.css
-browser/chrome/devtools/skin/images/command-scratchpad.svg
-browser/chrome/devtools/skin/images/controls.png
-browser/chrome/devtools/skin/images/controls@2x.png
-browser/chrome/devtools/skin/images/debugger-blackbox.svg
-browser/chrome/devtools/skin/images/debugger-prettyprint.svg
-browser/chrome/devtools/skin/images/filetypes/store.svg
-browser/chrome/devtools/skin/images/itemToggle.svg
-browser/chrome/devtools/skin/images/security-state-broken.svg
-browser/chrome/devtools/skin/images/security-state-local.svg
-browser/chrome/devtools/skin/images/security-state-secure.svg
-browser/chrome/devtools/skin/images/tabs-icon.svg
-browser/chrome/devtools/skin/images/tool-scratchpad.svg
-browser/chrome/devtools/skin/images/tool-storage.svg
-browser/chrome/devtools/skin/images/tool-styleeditor.svg
-browser/chrome/devtools/skin/promisedebugger.css
-browser/chrome/devtools/skin/variables.css
-modules/devtools/Console.jsm
+browser/features/devtools@mozilla.org/chrome/skin/images/security-state-broken.svg
+browser/features/devtools@mozilla.org/chrome/skin/images/security-state-secure.svg
+browser/features/devtools@mozilla.org/chrome/skin/toolbars.css
+browser/features/devtools@mozilla.org/chrome/modules/client/themes/toolbars.css
modules/devtools/Loader.jsm
-modules/devtools/Simulator.jsm
-modules/devtools/shared/Console.jsm
modules/devtools/shared/Loader.jsm
-modules/devtools/shared/apps/Simulator.jsm
-browser/modules/devtools/client/framework/gDevTools.jsm
-browser/modules/devtools/gDevTools.jsm
+browser/chrome/en-US/locale/en-US/devtools/shared/shared.properties
+chrome/en-US/locale/en-US/devtools/shared/shared.properties
+browser/chrome/en-US/locale/en-US/devtools/shared/eyedropper.properties
+chrome/en-US/locale/en-US/devtools/shared/eyedropper.properties
+browser/chrome/en-US/locale/en-US/devtools/shared/csscoverage.properties
+chrome/en-US/locale/en-US/devtools/shared/csscoverage.properties
+browser/chrome/en-US/locale/en-US/devtools/shared/csscoverage.dtd
+chrome/en-US/locale/en-US/devtools/shared/csscoverage.dtd
+browser/chrome/en-US/locale/en-US/devtools/shared/debugger.properties
+chrome/en-US/locale/en-US/devtools/shared/debugger.properties
+browser/chrome/en-US/locale/en-US/devtools/shared/styleinspector.properties
+chrome/en-US/locale/en-US/devtools/shared/styleinspector.properties
+browser/chrome/en-US/locale/en-US/devtools/shared/gcli.properties
+chrome/en-US/locale/en-US/devtools/shared/gcli.properties
+browser/chrome/en-US/locale/en-US/devtools/shared/gclicommands.properties
+chrome/en-US/locale/en-US/devtools/shared/gclicommands.properties
+
browser/chrome/icons/default/default16.png
browser/chrome/icons/default/default32.png
browser/chrome/icons/default/default48.png
browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl.png
browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl@2x.png
browser/chrome/pdfjs/content/web/images/findbarButton-next.png
browser/chrome/pdfjs/content/web/images/findbarButton-next@2x.png
browser/chrome/pdfjs/content/web/images/findbarButton-previous-rtl.png
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -375,22 +375,16 @@
@RESPATH@/browser/components/FeedConverter.js
@RESPATH@/browser/components/FeedWriter.js
@RESPATH@/browser/components/WebContentConverter.js
@RESPATH@/browser/components/BrowserComponents.manifest
@RESPATH@/browser/components/nsBrowserContentHandler.js
@RESPATH@/browser/components/nsBrowserGlue.js
@RESPATH@/browser/components/nsSetDefaultBrowser.manifest
@RESPATH@/browser/components/nsSetDefaultBrowser.js
-@RESPATH@/browser/components/devtools-startup.manifest
-@RESPATH@/browser/components/devtools-startup.js
-@RESPATH@/browser/components/aboutdebugging-registration.js
-@RESPATH@/browser/components/aboutdebugging.manifest
-@RESPATH@/browser/components/webideCli.js
-@RESPATH@/browser/components/webideComponents.manifest
@RESPATH@/browser/components/Experiments.manifest
@RESPATH@/browser/components/ExperimentsService.js
@RESPATH@/browser/components/browser-newtab.xpt
@RESPATH@/browser/components/aboutNewTabService.js
@RESPATH@/browser/components/NewTabComponents.manifest
@RESPATH@/components/Downloads.manifest
@RESPATH@/components/DownloadLegacy.js
@RESPATH@/components/BrowserPageThumbs.manifest
@@ -617,31 +611,16 @@
@RESPATH@/chrome/recording/*
#ifdef MOZ_GTK
@RESPATH@/browser/chrome/icons/default/default16.png
@RESPATH@/browser/chrome/icons/default/default32.png
@RESPATH@/browser/chrome/icons/default/default48.png
#endif
@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
-
-; DevTools
-@RESPATH@/browser/chrome/devtools@JAREXT@
-@RESPATH@/browser/chrome/devtools.manifest
-@RESPATH@/browser/@PREF_DIR@/devtools.js
-@RESPATH@/browser/@PREF_DIR@/debugger.js
-
; shell icons
#ifdef XP_UNIX
#ifndef XP_MACOSX
; shell icons
@RESPATH@/browser/icons/*.png
#ifdef MOZ_UPDATER
; updater icon
@RESPATH@/icons/updater.png
--- a/devtools/bootstrap.js
+++ b/devtools/bootstrap.js
@@ -65,19 +65,19 @@ function processPrefFile(url) {
defaultBranch.setBoolPref(name, val == "true");
} else {
console.log("Unable to match preference type for value:", val);
}
});
}
function setPrefs() {
- processPrefFile(resourceURI.spec + "./client/preferences/devtools.js");
- processPrefFile(resourceURI.spec + "./client/preferences/debugger.js");
- processPrefFile(resourceURI.spec + "./client/webide/webide-prefs.js");
+ processPrefFile("chrome://devtools/content/preferences/devtools.js");
+ processPrefFile("chrome://devtools/content/preferences/debugger.js");
+ processPrefFile("chrome://devtools/content/webide/webide-prefs.js");
}
// Helper to listen to a key on all windows
function MultiWindowKeyListener({ keyCode, ctrlKey, altKey, callback }) {
let keyListener = function (event) {
if (event.ctrlKey == !!ctrlKey &&
event.altKey == !!altKey &&
event.keyCode === keyCode) {
--- a/devtools/client/jar.mn
+++ b/devtools/client/jar.mn
@@ -1,14 +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/.
-devtools.jar:
+[features/devtools@mozilla.org] chrome.jar:
% content devtools %content/
+ content/preferences/debugger.js (preferences/debugger.js)
+ content/preferences/devtools.js (preferences/devtools.js)
+ content/webide/webide-prefs.js (webide/webide-prefs.js)
content/shared/vendor/d3.js (shared/vendor/d3.js)
content/shared/vendor/dagre-d3.js (shared/vendor/dagre-d3.js)
content/shared/widgets/widgets.css (shared/widgets/widgets.css)
content/shared/widgets/VariablesView.xul (shared/widgets/VariablesView.xul)
content/projecteditor/chrome/content/projecteditor.xul (projecteditor/chrome/content/projecteditor.xul)
content/projecteditor/lib/helpers/readdir.js (projecteditor/lib/helpers/readdir.js)
content/netmonitor/index.html (netmonitor/index.html)
content/webconsole/webconsole.xul (webconsole/webconsole.xul)
@@ -308,8 +311,11 @@ devtools.jar:
skin/images/firebug/command-frames.svg (themes/images/firebug/command-frames.svg)
skin/images/firebug/command-paintflashing.svg (themes/images/firebug/command-paintflashing.svg)
skin/images/firebug/command-responsivemode.svg (themes/images/firebug/command-responsivemode.svg)
skin/images/firebug/command-scratchpad.svg (themes/images/firebug/command-scratchpad.svg)
skin/images/firebug/command-screenshot.svg (themes/images/firebug/command-screenshot.svg)
skin/images/firebug/command-measure.svg (themes/images/firebug/command-measure.svg)
skin/images/firebug/command-rulers.svg (themes/images/firebug/command-rulers.svg)
skin/images/firebug/command-noautohide.svg (themes/images/firebug/command-noautohide.svg)
+
+% manifest devtools-startup.manifest
+% manifest webideComponents.manifest
--- a/devtools/client/locales/jar.mn
+++ b/devtools/client/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 @AB_CD@ %locale/@AB_CD@/devtools/client/
- locale/@AB_CD@/devtools/client/ (%*)
+[features/devtools@mozilla.org] chrome.jar:
+% locale devtools @AB_CD@ %locale/@AB_CD@/
+ locale/@AB_CD@/ (en-US/*)
--- a/devtools/client/moz.build
+++ b/devtools/client/moz.build
@@ -15,17 +15,16 @@ DIRS += [
'dom',
'framework',
'inspector',
'jsonview',
'locales',
'memory',
'netmonitor',
'performance',
- 'preferences',
'projecteditor',
'responsive.html',
'responsivedesign',
'scratchpad',
'shadereditor',
'shared',
'shims',
'sourceeditor',
@@ -36,22 +35,22 @@ DIRS += [
'webconsole',
'webide',
]
# Shim old theme paths used by DevTools add-ons
if CONFIG['MOZ_BUILD_APP'] == 'browser':
DIRS += ['themes/shims']
-EXTRA_COMPONENTS += [
+FINAL_TARGET_FILES.features['devtools@mozilla.org'] += [
'devtools-startup.js',
'devtools-startup.manifest',
]
JAR_MANIFESTS += ['jar.mn']
DevToolsModules(
'definitions.js',
'menus.js',
)
-with Files('**'):
- BUG_COMPONENT = ('Firefox', 'Developer Tools')
+with Files('**'):
+ BUG_COMPONENT = ('Firefox', 'Developer Tools')
deleted file mode 100644
--- a/devtools/client/preferences/moz.build
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- 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/.
-
-JS_PREFERENCE_PP_FILES += [
- 'debugger.js',
- 'devtools.js'
-]
--- a/devtools/client/webide/components/moz.build
+++ b/devtools/client/webide/components/moz.build
@@ -1,10 +1,10 @@
# -*- 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/.
-EXTRA_COMPONENTS += [
+FINAL_TARGET_FILES.features['devtools@mozilla.org'] += [
'webideCli.js',
'webideComponents.manifest',
]
--- a/devtools/client/webide/moz.build
+++ b/devtools/client/webide/moz.build
@@ -13,14 +13,10 @@ DIRS += [
BROWSER_CHROME_MANIFESTS += [
'test/browser.ini'
]
MOCHITEST_CHROME_MANIFESTS += [
'test/chrome.ini'
]
-JS_PREFERENCE_FILES += [
- 'webide-prefs.js',
-]
-
with Files('**'):
BUG_COMPONENT = ('Firefox', 'Developer Tools: WebIDE')
--- a/devtools/moz.build
+++ b/devtools/moz.build
@@ -22,16 +22,21 @@ DIRS += [
]
if CONFIG['MOZ_DEVTOOLS'] != 'addon':
DIRS += [
'server',
'shared',
]
+FINAL_TARGET_FILES.features['devtools@mozilla.org'] += [
+ 'bootstrap.js',
+ 'install.rdf'
+]
+
# /browser uses DIST_SUBDIR. We opt-in to this treatment when building
# DevTools for the browser to keep the root omni.ja slim for use by external XUL
# apps. Mulet also uses this since it includes /browser.
if CONFIG['MOZ_BUILD_APP'] == 'browser':
DIST_SUBDIR = 'browser'
export('DIST_SUBDIR')
with Files('**'):
--- a/devtools/shared/jar.mn
+++ b/devtools/shared/jar.mn
@@ -1,10 +1,10 @@
# 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.jar:
-% resource devtools %modules/devtools/
+[features/devtools@mozilla.org] chrome.jar:
+% resource devtools %modules/
# The typical approach would be to list all the resource files in this manifest
# for installation. Instead of doing this, use the DevToolsModules syntax via
# moz.build files to do the installation so that we can enforce correct paths
# based on source tree location.
--- a/devtools/shared/shims/fronts/moz.build
+++ b/devtools/shared/shims/fronts/moz.build
@@ -1,9 +1,11 @@
# -*- 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/.
+DIST_SUBDIR = 'browser'
+
DevToolsModules(
'timeline.js',
)
--- a/devtools/templates.mozbuild
+++ b/devtools/templates.mozbuild
@@ -24,12 +24,15 @@ def DevToolsModules(*modules):
if '/' in m:
error('DevToolsModules must be used from the same directory as ' +
'the files to be installed.')
# jar.mn manifest files are typically used to install files to chrome
# locations. Instead of doing this, use this DevToolsModules syntax via
# moz.build files to do the installation so that we can enforce correct
# paths based on source tree location.
- base = FINAL_TARGET_FILES.chrome.devtools.modules
- for dir in RELATIVEDIR.split('/'):
+ base = FINAL_TARGET_FILES.features['devtools@mozilla.org'].chrome.modules
+ relative = RELATIVEDIR.split('/')
+ # Remove 'devtools' to got straight to client, shared or server folders
+ relative.pop(0)
+ for dir in relative:
base = base[dir]
base += [m for m in modules]