Portals: Do not create a RemoteFrame for a portal when a portal if
inserted into a disconnected node.
Bug: 1029508
Change-Id: I8d90a488198b0772baa2bd41a16c6a330fc792fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1943310
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Lucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#720283}
diff --git a/portals/portals-adopt-predecessor.html b/portals/portals-adopt-predecessor.html
index 7054545..96d0be9 100644
--- a/portals/portals-adopt-predecessor.html
+++ b/portals/portals-adopt-predecessor.html
@@ -62,4 +62,14 @@
});
window.open(`resources/portals-adopt-predecessor.html?test=${test}`);
}, "Tests that the adopted predecessor is destroyed if it isn't inserted");
+
+ async_test(t => {
+ var test = "adopt-to-disconnected-node";
+ var bc = new BroadcastChannel(`test-${test}`);
+ bc.onmessage = t.step_func_done(function(e) {
+ assert_equals(e.data, "passed");
+ bc.close();
+ });
+ window.open(`resources/portals-adopt-predecessor.html?test=${test}`);
+ }, "Tests that an adopted portal can be inserted into a disconnected node.");
</script>
diff --git a/portals/resources/portals-adopt-predecessor-portal.html b/portals/resources/portals-adopt-predecessor-portal.html
index b7eb3b9..48e162b 100644
--- a/portals/resources/portals-adopt-predecessor-portal.html
+++ b/portals/resources/portals-adopt-predecessor-portal.html
@@ -64,5 +64,14 @@
});
});
}
+ if (test == "adopt-to-disconnected-node") {
+ var portal = e.adoptPredecessor();
+ document.body.appendChild(portal);
+ var node = document.createElement("div");
+ node.appendChild(portal);
+ var bc_test = new BroadcastChannel(`test-${test}`);
+ bc_test.postMessage("passed");
+ bc_test.close();
+ }
}
</script>