зеркало из https://github.com/mozilla/pjs.git
Change startup order of random failing test browser_394759_privatebrowsing.js
This commit is contained in:
Родитель
d082874b67
Коммит
11eb7cde6a
|
@ -42,8 +42,33 @@ function test() {
|
|||
|
||||
waitForExplicitFinish();
|
||||
|
||||
// Set interval to a large time so state won't be written while we setup env.
|
||||
gPrefService.setIntPref("browser.sessionstore.interval", 100000);
|
||||
|
||||
// Set up the browser in a blank state. Popup windows in previous tests result
|
||||
// in different states on different platforms.
|
||||
let ss = Cc["@mozilla.org/browser/sessionstore;1"].
|
||||
getService(Ci.nsISessionStore);
|
||||
let blankState = JSON.stringify({
|
||||
windows: [{
|
||||
tabs: [{ entries: [{ url: "about:blank" }] }],
|
||||
_closedTabs: []
|
||||
}],
|
||||
_closedWindows: []
|
||||
});
|
||||
ss.setBrowserState(blankState);
|
||||
|
||||
// Wait for the sessionstore.js file to be written before going on.
|
||||
let os = Cc["@mozilla.org/observer-service;1"].
|
||||
getService(Ci.nsIObserverService);
|
||||
os.addObserver({observe: function(aSubject, aTopic, aData) {
|
||||
os.removeObserver(this, aTopic);
|
||||
info("sessionstore.js was written");
|
||||
if (gPrefService.prefHasUserValue("browser.sessionstore.interval"))
|
||||
gPrefService.clearUserPref("browser.sessionstore.interval");
|
||||
|
||||
executeSoon(continue_test);
|
||||
}}, "sessionstore-state-write-complete", false);
|
||||
|
||||
// Remove the sessionstore.js file before setting the interval to 0
|
||||
let profilePath = Cc["@mozilla.org/file/directory_service;1"].
|
||||
|
@ -54,42 +79,10 @@ function test() {
|
|||
if (sessionStoreJS.exists())
|
||||
sessionStoreJS.remove(false);
|
||||
ok(sessionStoreJS.exists() == false, "sessionstore.js was removed");
|
||||
|
||||
// Make sure that sessionstore.js can be forced to be created by setting
|
||||
// the interval pref to a low value.
|
||||
gPrefService.setIntPref("browser.sessionstore.interval", 100);
|
||||
// sessionstore.js should be re-created at this point
|
||||
sessionStoreJS = profilePath.clone();
|
||||
sessionStoreJS.append("sessionstore.js");
|
||||
|
||||
// Wait for the sessionstore.js file to be written before going on.
|
||||
let os = Cc["@mozilla.org/observer-service;1"].
|
||||
getService(Ci.nsIObserverService);
|
||||
os.addObserver({observe: function(aSubject, aTopic, aData) {
|
||||
if (gPrefService.prefHasUserValue("browser.sessionstore.interval"))
|
||||
gPrefService.clearUserPref("browser.sessionstore.interval");
|
||||
os.removeObserver(this, aTopic);
|
||||
executeSoon(continue_test);
|
||||
}}, "sessionstore-state-write-complete", false);
|
||||
|
||||
//XXXDEBUG Detect spurious windows-restored notifications.
|
||||
os.addObserver({observe: function(aSubject, aTopic, aData) {
|
||||
// If this is not called in this test it will be called by next ones,
|
||||
// but i don't mind actually, it's just an info(), and will go away once
|
||||
// the randomness has been fixed.
|
||||
info("Windows status has been restored, was that expected?");
|
||||
os.removeObserver(this, aTopic);
|
||||
}}, "sessionstore-windows-restored", false);
|
||||
|
||||
// Set up the browser in a blank state. Popup windows in previous tests result
|
||||
// in different states on different platforms.
|
||||
let blankState = JSON.stringify({
|
||||
windows: [{
|
||||
tabs: [{ entries: [{ url: "about:blank" }] }],
|
||||
_closedTabs: []
|
||||
}],
|
||||
_closedWindows: []
|
||||
});
|
||||
ss.setBrowserState(blankState);
|
||||
// the interval pref to 0.
|
||||
gPrefService.setIntPref("browser.sessionstore.interval", 0);
|
||||
}
|
||||
|
||||
function continue_test() {
|
||||
|
|
Загрузка…
Ссылка в новой задаче