diff --git a/.eslintignore b/.eslintignore index 9173be2df528..74aea2254817 100644 --- a/.eslintignore +++ b/.eslintignore @@ -153,8 +153,7 @@ devtools/client/debugger/new/** # Ignore devtools preferences files devtools/client/preferences/** -devtools/shared/preferences/** -devtools/startup/preferences/devtools-startup.js +devtools/startup/devtools-startup-prefs.js # Ignore devtools third-party libs devtools/shared/jsbeautify/* diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 72af3332229f..edbed18aa4bb 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -420,18 +420,17 @@ ; [Webide Files] @RESPATH@/browser/chrome/webide@JAREXT@ @RESPATH@/browser/chrome/webide.manifest -@RESPATH@/browser/@PREF_DIR@/webide.js +@RESPATH@/browser/@PREF_DIR@/webide-prefs.js ; [DevTools Startup Files] @RESPATH@/browser/chrome/devtools-startup@JAREXT@ @RESPATH@/browser/chrome/devtools-startup.manifest -@RESPATH@/browser/@PREF_DIR@/devtools-startup.js +@RESPATH@/browser/@PREF_DIR@/devtools-startup-prefs.js ; DevTools @RESPATH@/browser/chrome/devtools@JAREXT@ @RESPATH@/browser/chrome/devtools.manifest -@RESPATH@/browser/@PREF_DIR@/devtools-shared.js -@RESPATH@/browser/@PREF_DIR@/devtools-client.js +@RESPATH@/browser/@PREF_DIR@/devtools.js @RESPATH@/browser/@PREF_DIR@/debugger.js ; shell icons diff --git a/devtools/client/performance/test/helpers/prefs.js b/devtools/client/performance/test/helpers/prefs.js index 955c29393942..af5134f6d7d7 100644 --- a/devtools/client/performance/test/helpers/prefs.js +++ b/devtools/client/performance/test/helpers/prefs.js @@ -6,7 +6,7 @@ const Services = require("Services"); const { Preferences } = require("resource://gre/modules/Preferences.jsm"); // Prefs to revert to default once tests finish. Keep these in sync with -// all the preferences defined in devtools/client/preferences/devtools-client.js. +// all the preferences defined in devtools/client/preferences/devtools.js. exports.MEMORY_SAMPLE_PROB_PREF = "devtools.performance.memory.sample-probability"; exports.MEMORY_MAX_LOG_LEN_PREF = "devtools.performance.memory.max-log-length"; exports.PROFILER_BUFFER_SIZE_PREF = "devtools.performance.profiler.buffer-size"; diff --git a/devtools/client/preferences/devtools-client.js b/devtools/client/preferences/devtools.js similarity index 100% rename from devtools/client/preferences/devtools-client.js rename to devtools/client/preferences/devtools.js diff --git a/devtools/client/preferences/moz.build b/devtools/client/preferences/moz.build index 0d36d2523f6b..f07d09285d99 100644 --- a/devtools/client/preferences/moz.build +++ b/devtools/client/preferences/moz.build @@ -5,7 +5,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. JS_PREFERENCE_PP_FILES += [ - 'devtools-client.js' + 'devtools.js' ] JS_PREFERENCE_FILES += [ diff --git a/devtools/client/webide/moz.build b/devtools/client/webide/moz.build index 8fae5d559ea4..42e048491d9b 100644 --- a/devtools/client/webide/moz.build +++ b/devtools/client/webide/moz.build @@ -7,7 +7,6 @@ DIRS += [ 'content', 'modules', - 'preferences', 'themes', ] @@ -18,5 +17,9 @@ MOCHITEST_CHROME_MANIFESTS += [ 'test/chrome.ini' ] +JS_PREFERENCE_FILES += [ + 'webide-prefs.js', +] + with Files('**'): BUG_COMPONENT = ('Firefox', 'Developer Tools: WebIDE') diff --git a/devtools/client/webide/preferences/moz.build b/devtools/client/webide/preferences/moz.build deleted file mode 100644 index b6236b291c12..000000000000 --- a/devtools/client/webide/preferences/moz.build +++ /dev/null @@ -1,9 +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_FILES += [ - 'webide.js', -] diff --git a/devtools/client/webide/preferences/webide.js b/devtools/client/webide/webide-prefs.js similarity index 100% rename from devtools/client/webide/preferences/webide.js rename to devtools/client/webide/webide-prefs.js diff --git a/devtools/docs/preferences.md b/devtools/docs/preferences.md index 0bff84e19088..2c580b303432 100644 --- a/devtools/docs/preferences.md +++ b/devtools/docs/preferences.md @@ -70,17 +70,14 @@ These APIs are very similar for each preference type. 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-client.js +- devtools/client/preferences/devtools.js - devtools/client/preferences/debugger.js -- devtools/shared/preferences/devtools-shared.js -- devtools/startup/preferences/devtools-startup.js +- devtools/startup/devtools-startup-prefs.js -Most new preferences should go in devtools/client/preferences/devtools-client.js. Debugger -specific preferences should go in devtools/client/preferences/debugger.js. If a preference -should be available even when the client for DevTools is not shipped (for instance on -Fennec) the preference should go to devtools/shared/preferences/devtools-shared.js. -Finally if a preference needs to be available very early during the Firefox startup -sequence, it should go in devtools/startup/preferences/devtools-startup.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/startup/devtools-startup-prefs.js. ### Projects using Launchpad diff --git a/devtools/moz.build b/devtools/moz.build index c60d2454269b..6f507d6b1c42 100644 --- a/devtools/moz.build +++ b/devtools/moz.build @@ -14,10 +14,10 @@ if CONFIG['MOZ_DEVTOOLS'] == 'all': # `platform` contains all native components DIRS += [ - 'platform', 'server', 'shared', 'startup', + 'platform', ] # /browser uses DIST_SUBDIR. We opt-in to this treatment when building diff --git a/devtools/shared/moz.build b/devtools/shared/moz.build index f136b90e9d00..16a2b475b3b7 100644 --- a/devtools/shared/moz.build +++ b/devtools/shared/moz.build @@ -22,7 +22,6 @@ DIRS += [ 'node-properties', 'performance', 'platform', - 'preferences', 'pretty-fast', 'qrcode', 'security', diff --git a/devtools/shared/preferences/devtools-shared.js b/devtools/shared/preferences/devtools-shared.js deleted file mode 100644 index b6499e9d5d20..000000000000 --- a/devtools/shared/preferences/devtools-shared.js +++ /dev/null @@ -1,82 +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/. */ - -// Tells if DevTools have been explicitely enabled by the user. -// This pref allows to disable all features related to DevTools -// for users that never use them. -// Until bug 1361080 lands, we always consider them enabled. -pref("devtools.enabled", true); - -// Enable deprecation warnings. -pref("devtools.errorconsole.deprecation_warnings", true); - -#ifdef NIGHTLY_BUILD -// Don't show the Browser Toolbox prompt on local builds / nightly -pref("devtools.debugger.prompt-connection", false, sticky); -#else -pref("devtools.debugger.prompt-connection", true, sticky); -#endif - -#ifdef MOZILLA_OFFICIAL -// Disable debugging chrome -pref("devtools.chrome.enabled", false, sticky); -// Disable remote debugging connections -pref("devtools.debugger.remote-enabled", false, sticky); -#else -// In local builds, enable the browser toolbox by default -pref("devtools.chrome.enabled", true, sticky); -pref("devtools.debugger.remote-enabled", true, sticky); -#endif - -// Disable remote debugging protocol logging -pref("devtools.debugger.log", false); -pref("devtools.debugger.log.verbose", false); - -pref("devtools.debugger.remote-port", 6000); -pref("devtools.debugger.remote-websocket", false); -// Force debugger server binding on the loopback interface -pref("devtools.debugger.force-local", true); -// Block tools from seeing / interacting with certified apps -pref("devtools.debugger.forbid-certified-apps", true); - -// Limit for intercepted response bodies (1 MB) -// Possible values: -// 0 => the response body has no limit -// n => represents max number of bytes stored -pref("devtools.netmonitor.responseBodyLimit", 1048576); - -// DevTools default color unit -pref("devtools.defaultColorUnit", "authored"); - -// Used for devtools debugging -pref("devtools.dump.emit", false); - -// Disable device discovery logging -pref("devtools.discovery.log", false); -// Whether to scan for DevTools devices via WiFi -pref("devtools.remote.wifi.scan", true); -// Client must complete TLS handshake within this window (ms) -pref("devtools.remote.tls-handshake-timeout", 10000); - -// URL of the remote JSON catalog used for device simulation -pref("devtools.devices.url", "https://code.cdn.mozilla.net/devices/devices.json"); - -// Display the introductory text -pref("devtools.gcli.hideIntro", false); - -// How eager are we to show help: never=1, sometimes=2, always=3 -pref("devtools.gcli.eagerHelper", 2); - -// Alias to the script URLs for inject command. -pref("devtools.gcli.jquerySrc", "https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"); -pref("devtools.gcli.lodashSrc", "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.6.1/lodash.min.js"); -pref("devtools.gcli.underscoreSrc", "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"); - -// Set imgur upload client ID -pref("devtools.gcli.imgurClientID", '0df414e888d7240'); -// Imgur's upload URL -pref("devtools.gcli.imgurUploadURL", "https://api.imgur.com/3/image"); - -// GCLI commands directory -pref("devtools.commands.dir", ""); diff --git a/devtools/shared/preferences/moz.build b/devtools/shared/preferences/moz.build deleted file mode 100644 index b6dfbc55f108..000000000000 --- a/devtools/shared/preferences/moz.build +++ /dev/null @@ -1,9 +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 += [ - 'devtools-shared.js' -] \ No newline at end of file diff --git a/devtools/startup/preferences/devtools-startup.js b/devtools/startup/devtools-startup-prefs.js similarity index 100% rename from devtools/startup/preferences/devtools-startup.js rename to devtools/startup/devtools-startup-prefs.js diff --git a/devtools/startup/moz.build b/devtools/startup/moz.build index c3b701950cc4..2fc701978f2f 100644 --- a/devtools/startup/moz.build +++ b/devtools/startup/moz.build @@ -6,8 +6,8 @@ JAR_MANIFESTS += ['jar.mn'] -DIRS += [ - 'preferences', +JS_PREFERENCE_PP_FILES += [ + 'devtools-startup-prefs.js', ] # Register the startup components only for 'all' builds. diff --git a/devtools/startup/preferences/moz.build b/devtools/startup/preferences/moz.build deleted file mode 100644 index e76962642e78..000000000000 --- a/devtools/startup/preferences/moz.build +++ /dev/null @@ -1,9 +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 += [ - 'devtools-startup.js' -] diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 393c1e64f618..96dffbbd89bc 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -1077,16 +1077,92 @@ pref("toolkit.asyncshutdown.crash_timeout", 180000); // 3 minutes // Extra logging for AsyncShutdown barriers and phases pref("toolkit.asyncshutdown.log", false); +// Tells if DevTools have been explicitely enabled by the user. +// This pref allows to disable all features related to DevTools +// for users that never use them. +// Until bug 1361080 lands, we always consider them enabled. +pref("devtools.enabled", true); + +// Enable deprecation warnings. +pref("devtools.errorconsole.deprecation_warnings", true); + +#ifdef NIGHTLY_BUILD +// Don't show the Browser Toolbox prompt on local builds / nightly +pref("devtools.debugger.prompt-connection", false, sticky); +#else +pref("devtools.debugger.prompt-connection", true, sticky); +#endif + #ifdef MOZILLA_OFFICIAL +// Disable debugging chrome +pref("devtools.chrome.enabled", false, sticky); +// Disable remote debugging connections +pref("devtools.debugger.remote-enabled", false, sticky); // enable JS dump() function. pref("browser.dom.window.dump.enabled", false, sticky); #else +// In local builds, enable the browser toolbox by default +pref("devtools.chrome.enabled", true, sticky); +pref("devtools.debugger.remote-enabled", true, sticky); pref("browser.dom.window.dump.enabled", true, sticky); #endif + +// Disable remote debugging protocol logging +pref("devtools.debugger.log", false); +pref("devtools.debugger.log.verbose", false); + +pref("devtools.debugger.remote-port", 6000); +pref("devtools.debugger.remote-websocket", false); +// Force debugger server binding on the loopback interface +pref("devtools.debugger.force-local", true); +// Block tools from seeing / interacting with certified apps +pref("devtools.debugger.forbid-certified-apps", true); + +// Limit for intercepted response bodies (1 MB) +// Possible values: +// 0 => the response body has no limit +// n => represents max number of bytes stored +pref("devtools.netmonitor.responseBodyLimit", 1048576); + +// DevTools default color unit +pref("devtools.defaultColorUnit", "authored"); + +// Used for devtools debugging +pref("devtools.dump.emit", false); + // Controls whether EventEmitter module throws dump message on each emit pref("toolkit.dump.emit", false); +// Disable device discovery logging +pref("devtools.discovery.log", false); +// Whether to scan for DevTools devices via WiFi +pref("devtools.remote.wifi.scan", true); +// Client must complete TLS handshake within this window (ms) +pref("devtools.remote.tls-handshake-timeout", 10000); + +// URL of the remote JSON catalog used for device simulation +pref("devtools.devices.url", "https://code.cdn.mozilla.net/devices/devices.json"); + +// Display the introductory text +pref("devtools.gcli.hideIntro", false); + +// How eager are we to show help: never=1, sometimes=2, always=3 +pref("devtools.gcli.eagerHelper", 2); + +// Alias to the script URLs for inject command. +pref("devtools.gcli.jquerySrc", "https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"); +pref("devtools.gcli.lodashSrc", "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.6.1/lodash.min.js"); +pref("devtools.gcli.underscoreSrc", "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"); + +// Set imgur upload client ID +pref("devtools.gcli.imgurClientID", '0df414e888d7240'); +// Imgur's upload URL +pref("devtools.gcli.imgurUploadURL", "https://api.imgur.com/3/image"); + +// GCLI commands directory +pref("devtools.commands.dir", ""); + // view source pref("view_source.syntax_highlight", true); pref("view_source.wrap_long_lines", false);