Merge pull request #10533 from w3c/sync_9baf12e103c9b77498c9869cc666aa063f6e3237

Merge pull request #10533 from sync_9baf12e103c9b77498c9869cc666aa063f6e3237
diff --git a/html/browsers/history/joint-session-history/joint-session-history-filler.html b/html/browsers/history/joint-session-history/joint-session-history-filler.html
new file mode 100644
index 0000000..b6d47c3
--- /dev/null
+++ b/html/browsers/history/joint-session-history/joint-session-history-filler.html
@@ -0,0 +1 @@
+<body>Filler</body>
diff --git a/html/browsers/history/joint-session-history/joint-session-history-remove-iframe.html b/html/browsers/history/joint-session-history/joint-session-history-remove-iframe.html
new file mode 100644
index 0000000..b66adcb
--- /dev/null
+++ b/html/browsers/history/joint-session-history/joint-session-history-remove-iframe.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>Joint session history length does not include entries from a removed iframe.</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body>
+<iframe id="frame" src="about:blank"></iframe>
+<script>
+async_test(function(t) {
+    t.step_timeout(() => {
+        var child = document.getElementById("frame");
+        var old_history_len = history.length;
+        child.onload = () => {
+            assert_equals(old_history_len + 1, history.length);
+            document.body.removeChild(document.getElementById("frame"));
+            assert_equals(old_history_len, history.length);
+            t.done();
+        }
+        child.src = "joint-session-history-filler.html";
+    }, 1000);
+});
+</script>
+</body>