nsUpdateService should use BITS for download. If the BITS download fails, it will fallback to the existing download mechanism (nsIIncrementalDownload).
Differential Revision: https://phabricator.services.mozilla.com/D25162
***
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
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
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
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
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
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
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
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
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