***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8
This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:
ChromeUtils.import("resource://gre/modules/Services.jsm");
is approximately the same as the following, in the new model:
var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs
This was done using the followng script:
https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16750
--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
This moves getting and setting the value of app.update.auto from nsUpdateService.js to UpdateUtils.jsm so nsUpdateService.js isn't loaded during startup
Changes the browser_policy_app_update_URL.js test to check the default pref for app.update.url since the default pref is read by app update
Fixes a NS_NOINTERFACE error in app update xpcshell tests for AppInfo not implementing nsIPlatformInfo
Differential Revision: https://phabricator.services.mozilla.com/D13285
--HG--
extra : moz-landing-system : lando
This patch additionally includes support for automatic migration of the pref from its old location to its new location.
This patch does not fix telemetry reporting of app.update.auto - that will be addressed in another patch in the same series.
MozReview-Commit-ID: KjX1mmGVB8M
Differential Revision: https://phabricator.services.mozilla.com/D4590
--HG--
extra : moz-landing-system : lando
This patch additionally includes support for automatic migration of the pref from its old location to its new location.
This patch does not fix telemetry reporting of app.update.auto - that will be addressed in another patch in the same series.
MozReview-Commit-ID: KjX1mmGVB8M
Differential Revision: https://phabricator.services.mozilla.com/D4590
--HG--
extra : moz-landing-system : lando
Getting rid of this pref allowed some other code to be removed:
- Changed nsIUpdateService::stopChecking(duration) to nsIUpdateService::stopCurrentCheck() and got rid of the constants representing durations. The available durations were CURRENT_CHECK, CURRENT_SESSION, and ANY_CHECKS, but only CURRENT_CHECK was ever used.
- nsIUpdateChecker::stopChecking(CURRENT_SESSION) and nsIUpdateChecker::stopChecking(ANY_CHECKS) were the only mechanisms for setting Checker::_enabled to false, so Checker::_enabled and Checker::enabled were removed. References to Checker::enabled were replaced with checks for nsUpdateService::canCheckForUpdates.
- In browser/base/content/aboutDialog-appUpdater.js, the updateDisabledAndLocked() function was renamed to updateDisabledByPolicy, since the old name is no longer accurate and the new function name is a better description of the function's actual use.
MozReview-Commit-ID: 4wwqo4ROr1V
--HG--
extra : rebase_source : ea2e0f157dccc02eece585d3d15ebb67a38813d8
extra : intermediate-source : 00f6d87c63dfb940c439b49c8310b3a91be3a912
extra : source : 83c69c5f289572aee6ff5a8c85237bbeaac3cb8b
Getting rid of this pref allowed some other code to be removed:
- Changed nsIUpdateService::stopChecking(duration) to nsIUpdateService::stopCurrentCheck() and got rid of the constants representing durations. The available durations were CURRENT_CHECK, CURRENT_SESSION, and ANY_CHECKS, but only CURRENT_CHECK was ever used.
- nsIUpdateChecker::stopChecking(CURRENT_SESSION) and nsIUpdateChecker::stopChecking(ANY_CHECKS) were the only mechanisms for setting Checker::_enabled to false, so Checker::_enabled and Checker::enabled were removed. References to Checker::enabled were replaced with checks for nsUpdateService::canCheckForUpdates.
- In browser/base/content/aboutDialog-appUpdater.js, the updateDisabledAndLocked() function was renamed to updateDisabledByPolicy, since the old name is no longer accurate and the new function name is a better description of the function's actual use.
MozReview-Commit-ID: 4wwqo4ROr1V
--HG--
extra : rebase_source : 036099b7cd1f5fc74284ae8800ec30b3037f0d4a
extra : source : 83c69c5f289572aee6ff5a8c85237bbeaac3cb8b
Manually-implemented QueryInterface functions don't benefit from the
MozQueryInterface optimizaions, and a lot of them are in hot code, and
implement a large number of interfaces.
MozReview-Commit-ID: 8OzglraowZt
--HG--
extra : rebase_source : 5fff3d9973a0ea976096339a63ce9ff628b68441
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
extra : intermediate-source : 34c999fa006bffe8705cf50c54708aa21a962e62
extra : histedit_source : b2be2c5e5d226e6c347312456a6ae339c1e634b0
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : rebase_source : c004a023389f1f6bf3d2f3efe93c13d423b23ccd
This change includes unmodified aboutDialog-appUpdater.js into
preferences.xul, so we could enable the updater UI there. Also,
copied code on version/distribution strings from aboutDialog.js.
MozReview-Commit-ID: 7o24az7Tn28
--HG--
extra : rebase_source : 9fe1ce4762904818216893298097672c3604c9ee
This change includes unmodified aboutDialog-appUpdater.js into
preferences.xul, so we could enable the updater UI there. Also,
copied code on version/distribution strings from aboutDialog.js.
MozReview-Commit-ID: 7o24az7Tn28
--HG--
extra : rebase_source : d3120bfa9d30f0f3fb8a1dad9e5c62427b1e6d62
Restart might not happen instantly when the user clicks the restart
button. Ideally we want to provide instant feedback in that case. This
patch will switch the UI to a "Restarting..." label as soon as the user
clicks the restart button.
The button is restored if the restart action is aborted.
MozReview-Commit-ID: BfMVla87FmT
--HG--
extra : transplant_source : X%5B%B9c%02%B6%B1%87z%13%18F%AC%1E.dt%20%F7%93