зеркало из 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'
|
skip-if = buildapp == 'mulet'
|
||||||
[browser_identity_UI.js]
|
[browser_identity_UI.js]
|
||||||
[browser_insecureLoginForms.js]
|
[browser_insecureLoginForms.js]
|
||||||
|
[browser_invalid_uri_back_forward_manipulation.js]
|
||||||
[browser_keywordBookmarklets.js]
|
[browser_keywordBookmarklets.js]
|
||||||
[browser_keywordSearch.js]
|
[browser_keywordSearch.js]
|
||||||
[browser_keywordSearch_postData.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);
|
||||||
|
});
|
Загрузка…
Ссылка в новой задаче