| Index: LayoutTests/fast/history/history-length-append-subframe-no-hash.html
|
| diff --git a/LayoutTests/fast/history/history-length-append-subframe-no-hash.html b/LayoutTests/fast/history/history-length-append-subframe-no-hash.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e690f280007a669fd467e613cc7b08fd488b58f6
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/history/history-length-append-subframe-no-hash.html
|
| @@ -0,0 +1,53 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| + <script src="../../resources/js-test.js"></script>
|
| +</head>
|
| +<body>
|
| + <p id="description"></p>
|
| + <pre id="console"></pre>
|
| +
|
| + <script>
|
| + var jsTestIsAsync = true;
|
| +
|
| + description('Tests that appending iframe with with no URL and setting its URL later (without the hash part) does not overwrite current history entry.');
|
| +
|
| + if (window.testRunner)
|
| + testRunner.clearBackForwardList();
|
| +
|
| + onload = beginTest;
|
| +
|
| + function beginTest() {
|
| + // The frame must be appened both on initial load and after navigating
|
| + // back. On first load we must set the same SRC as after navigating away.
|
| + var iframe = document.createElement('iframe');
|
| + document.body.appendChild(iframe);
|
| +
|
| + if (location.hash.indexOf('wentBack') == -1) {
|
| + // Run else code path after going back.
|
| + location.hash = 'wentBack';
|
| +
|
| + setFrameSrc();
|
| +
|
| + // Navigate forward and back to create forward navigation entry.
|
| + // Must be done outside the load handler to generate history entry.
|
| + window.setTimeout(function() {
|
| + location.href = 'data:text/html,<body onload="history.back()">Must not see this text!!!</body>';
|
| + }, 0);
|
| + } else {
|
| + window.setTimeout(setFrameSrcAndfinishTest, 100);
|
| + }
|
| + }
|
| +
|
| + function setFrameSrc() {
|
| + document.querySelector('iframe').src = 'about:blank';
|
| + }
|
| +
|
| + function setFrameSrcAndfinishTest() {
|
| + document.querySelector('iframe').src = 'about:blank';
|
| + testRunner.dumpBackForwardList();
|
| + finishJSTest();
|
| + }
|
| + </script>
|
| +</body>
|
| +</html>
|
|
|