Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/popstate_event.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/popstate_event.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/popstate_event.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4b5e1be5529927be0f0e14e1f150e935f66c627b |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/popstate_event.html |
@@ -0,0 +1,40 @@ |
+<!doctype html> |
+<title>Queue a task to fire popstate event</title> |
+<script src="../../../../../../resources/testharness.js"></script> |
+<script src="../../../../../../resources/testharnessreport.js"></script> |
+<div id="log"></div> |
+<script> |
+t = async_test(); |
+window.onload = t.step_func(function () { |
+ var states = []; |
+ |
+ var timer = null; |
+ |
+ history.pushState("a", "State a", "/a"); |
+ history.pushState("b", "State b", "/b"); |
+ |
+ history.back(); |
+ window.onpopstate = t.step_func(function (e) { |
+ states.push(e.state); |
+ |
+ if (states.length === 2) { |
+ check_result(); |
+ } else if (timer === null) { |
+ timer = setTimeout(function() {check_result()}, 500); |
+ } |
+ }) |
+ |
+ check_result = t.step_func(function() { |
+ clearTimeout(timer); |
+ try { |
+ assert_array_equals(states, ["a", null]); |
+ t.done(); |
+ } finally { |
+ location.hash = ""; |
+ } |
+ }); |
+ |
+ setTimeout(function() {history.back()}, 0); |
+ |
+}); |
+</script> |