зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1226781 - add a regression test for going back from pages that cause about:neterror to be shown, r=mconley
--HG-- extra : commitid : DFW2kFNgfqs extra : rebase_source : 4d196bc9b3303eb9ff407435f098d71bfd8b5934
This commit is contained in:
Родитель
f6f7600762
Коммит
0f1604de71
|
@ -320,6 +320,7 @@ skip-if = e10s # Bug 863514 - no gesture support.
|
|||
skip-if = buildapp == 'mulet'
|
||||
[browser_identity_UI.js]
|
||||
[browser_insecureLoginForms.js]
|
||||
[browser_invalid_uri_back_forward_manipulation.js]
|
||||
[browser_keywordBookmarklets.js]
|
||||
[browser_keywordSearch.js]
|
||||
[browser_keywordSearch_postData.js]
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
"use strict";
|
||||
|
||||
|
||||
/**
|
||||
* Verify that loading an invalid URI does not clobber a previously-loaded page's history
|
||||
* entry, but that the invalid URI gets its own history entry instead. We're checking this
|
||||
* using nsIWebNavigation's canGoBack, as well as actually going back and then checking
|
||||
* canGoForward.
|
||||
*/
|
||||
add_task(function* checkBackFromInvalidURI() {
|
||||
yield pushPrefs(["keyword.enabled", false]);
|
||||
let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, "about:robots", true);
|
||||
gURLBar.value = "::2600";
|
||||
gURLBar.focus();
|
||||
|
||||
let promiseErrorPageLoaded = BrowserTestUtils.waitForEvent(tab.linkedBrowser, "DOMContentLoaded");
|
||||
EventUtils.synthesizeKey("VK_RETURN", {});
|
||||
yield promiseErrorPageLoaded;
|
||||
|
||||
ok(gBrowser.webNavigation.canGoBack, "Should be able to go back");
|
||||
if (gBrowser.webNavigation.canGoBack) {
|
||||
// Can't use DOMContentLoaded here because the page is bfcached. Can't use pageshow for
|
||||
// the error page because it doesn't seem to fire for those.
|
||||
let promiseOtherPageLoaded = BrowserTestUtils.waitForEvent(tab.linkedBrowser, "pageshow", false,
|
||||
// Be paranoid we *are* actually seeing this other page load, not some kind of race
|
||||
// for if/when we do start firing pageshow for the error page...
|
||||
function(e) { return gBrowser.currentURI.spec == "about:robots" }
|
||||
);
|
||||
gBrowser.goBack();
|
||||
yield promiseOtherPageLoaded;
|
||||
ok(gBrowser.webNavigation.canGoForward, "Should be able to go forward from previous page.");
|
||||
}
|
||||
yield BrowserTestUtils.removeTab(tab);
|
||||
});
|
Загрузка…
Ссылка в новой задаче