Index: third_party/WebKit/LayoutTests/external/wpt/html/browsers/the-window-object/support/noopener-target.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/the-window-object/support/noopener-target.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/the-window-object/support/noopener-target.html |
index d0d0360260cc455f6fcb2025956eeaaab931afd7..41e197a74630ac70cb34ab2bf164b188767f7218 100644 |
--- a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/the-window-object/support/noopener-target.html |
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/the-window-object/support/noopener-target.html |
@@ -4,5 +4,12 @@ |
var channel = new BroadcastChannel(channelName); |
channel.postMessage({ name: window.name, |
haveOpener: window.opener !== null }); |
- window.close(); |
+ |
+ // Because messages are not delivered synchronously and because closing a |
+ // browsing context prompts the eventual clearing of all task sources, this |
+ // document should not be closed until the opener document has confirmed |
+ // receipt. |
+ channel.onmessage = function() { |
+ window.close(); |
+ }; |
</script> |