mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
ab9253304f
When Firefox downloads an update, it previously kept the update around to apply it on the next restart. This patch changes this so that the updater program is launched in the background as soon as the update has finished downloading in order to stage the updated version of the application by copying the existing installation directory to a temporary location and applying the update on top of it, and replace the existing installation directory with the staged directory on the next restart. Because the replacing step is typically very fast, this patch eliminates the wait for the update to be applied on restart, making it unnecessary to show a progress dialog when restarting. --HG-- rename : toolkit/mozapps/update/test/chrome/test_0092_finishedBackground.xul => toolkit/mozapps/update/test/chrome/test_0093_stagedBackground.xul rename : toolkit/mozapps/update/test/unit/test_0110_general.js => toolkit/mozapps/update/test/unit/test_0113_general.js rename : toolkit/mozapps/update/test/unit/test_0111_general.js => toolkit/mozapps/update/test/unit/test_0114_general.js rename : toolkit/mozapps/update/test/unit/test_0112_general.js => toolkit/mozapps/update/test/unit/test_0115_general.js rename : toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js => toolkit/mozapps/update/test/unit/test_0172_fileLocked_xp_win_complete.js rename : toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js => toolkit/mozapps/update/test/unit/test_0173_fileLocked_xp_win_partial.js rename : toolkit/mozapps/update/test/unit/test_0110_general.js => toolkit/mozapps/update/test_svc/unit/test_0113_general_svc.js rename : toolkit/mozapps/update/test/unit/test_0111_general.js => toolkit/mozapps/update/test_svc/unit/test_0114_general_svc.js rename : toolkit/mozapps/update/test/unit/test_0112_general.js => toolkit/mozapps/update/test_svc/unit/test_0115_general_svc.js rename : toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js => toolkit/mozapps/update/test_svc/unit/test_0172_fileLocked_xp_win_complete_svc.js rename : toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js => toolkit/mozapps/update/test_svc/unit/test_0173_fileLocked_xp_win_partial_svc.js
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
/* 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/.
|
|
*/
|
|
|
|
/* Test version downgrade MAR security check */
|
|
|
|
const TEST_ID = "0113";
|
|
|
|
// We don't actually care if the MAR has any data, we only care about the
|
|
// application return code and update.status result.
|
|
const TEST_FILES = [];
|
|
|
|
const VERSION_DOWNGRADE_ERROR = "23";
|
|
|
|
function run_test() {
|
|
if (!IS_MAR_CHECKS_ENABLED) {
|
|
return;
|
|
}
|
|
|
|
// Setup an old version MAR file
|
|
do_register_cleanup(cleanupUpdaterTest);
|
|
setupUpdaterTest(MAR_OLD_VERSION_FILE);
|
|
|
|
// Apply the MAR
|
|
let exitValue = runUpdate();
|
|
logTestInfo("testing updater binary process exitValue for failure when " +
|
|
"applying a version downgrade MAR");
|
|
// Make sure the updater execution failed.
|
|
// Note that if execv is used, the updater process will turn into the
|
|
// callback process, so its return code will be that of the callback
|
|
// app.
|
|
do_check_eq(exitValue, USE_EXECV ? 0 : 1);
|
|
let updatesDir = do_get_file(TEST_ID + UPDATES_DIR_SUFFIX);
|
|
|
|
//Make sure we get a version downgrade error
|
|
let updateStatus = readStatusFile(updatesDir);
|
|
do_check_eq(updateStatus.split(": ")[1], VERSION_DOWNGRADE_ERROR);
|
|
}
|