This is an automated email from the git hooks/post-receive script.
pierov pushed a commit to branch geckoview-99.0.1-11.0-1 in repository tor-browser.
commit e35a7bcf2b342cbe683f19c9882fee03797768ec Author: Olli Pettay Olli.Pettay@helsinki.fi AuthorDate: Thu Mar 10 10:19:57 2022 +0000
Bug 1758664, don't try to recheck possible session history entry in the parent process if we're doing such check already, r=peterv a=pascalc
The code which this patch removes was clearly an oversight in the regressing patch.
Differential Revision: https://phabricator.services.mozilla.com/D140690 --- docshell/base/nsDocShell.cpp | 5 ----- docshell/test/navigation/file_bug1758664.html | 32 +++++++++++++++++++++++++++ docshell/test/navigation/mochitest.ini | 3 +++ docshell/test/navigation/test_bug1758664.html | 21 ++++++++++++++++++ 4 files changed, 56 insertions(+), 5 deletions(-)
diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index 0ed952664e5f5..04e70cfbaf5c9 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -789,11 +789,6 @@ nsresult nsDocShell::LoadURI(nsDocShellLoadState* aLoadState, ("nsDocShell[%p]: loading %s with flags 0x%08x", this, aLoadState->URI()->GetSpecOrDefault().get(), aLoadState->LoadFlags()));
- // Always clear mCheckingSessionHistory. MaybeHandleSubframeHistory uses it - // internally when querying session history information from the parent - // process. - mCheckingSessionHistory = false; - if ((!aLoadState->LoadIsFromSessionHistory() && !LOAD_TYPE_HAS_FLAGS(aLoadState->LoadType(), LOAD_FLAGS_REPLACE_HISTORY)) || diff --git a/docshell/test/navigation/file_bug1758664.html b/docshell/test/navigation/file_bug1758664.html new file mode 100644 index 0000000000000..07798dfdddf3c --- /dev/null +++ b/docshell/test/navigation/file_bug1758664.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> +<head> +<script> +var onIframeOnload = function() { + var iframe = window.document.getElementById('applicationIframe'); + opener.is(iframe.contentWindow.location.search, "?iframe", "Should have loaded the iframe"); + window.close(); + opener.SimpleTest.finish(); +} + +var onPageOnload = function() { + if (location.search == "?iframe") { + return; + } + if(!window.name) { + window.name = 'file_bug1758664.html'; + window.location.reload(); + return; + } + var iframe = window.document.getElementById('applicationIframe'); + iframe.addEventListener('load', onIframeOnload); + iframe.src = "file_bug1758664.html?iframe"; +} +window.document.addEventListener("DOMContentLoaded", onPageOnload); + +</script> +</head> +<body> + <iframe id="applicationIframe"></iframe> +</body> +</html> diff --git a/docshell/test/navigation/mochitest.ini b/docshell/test/navigation/mochitest.ini index e95a1ac0f7db7..49891942a7332 100644 --- a/docshell/test/navigation/mochitest.ini +++ b/docshell/test/navigation/mochitest.ini @@ -106,6 +106,9 @@ support-files = cache_control_max_age_3600.sjs [test_bug1750973.html] support-files = file_bug1750973.html +[test_bug1758664.html] +support-files = file_bug1758664.html +skip-if = !sessionHistoryInParent # the old implementation behaves inconsistently [test_bug270414.html] [test_bug278916.html] [test_bug279495.html] diff --git a/docshell/test/navigation/test_bug1758664.html b/docshell/test/navigation/test_bug1758664.html new file mode 100644 index 0000000000000..662242e44a613 --- /dev/null +++ b/docshell/test/navigation/test_bug1758664.html @@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>Bug 1758664</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" href="/tests/SimpleTest/test.css"/> + <script> + SimpleTest.waitForExplicitFinish(); + + function test() { + window.open("file_bug1758664.html"); + } + </script> +</head> +<body onload="test()"> +<p id="display"></p> +<div id="content" style="display: none"></div> +<pre id="test"></pre> +</body> +</html>