Skip to content

Commit

Permalink
Bug 1550197 [wpt PR 16330] - HTML: ensure BarProps are visible for no…
Browse files Browse the repository at this point in the history
…opener/noreferrer, a=testonly

Automatic update from web-platform-tests
HTML: ensure BarProps are visible for noopener/noreferrer

For whatwg/html#3297.

--

wpt-commits: ce675f004d08b1dfd7f4bbf3dbb422229addedac
wpt-pr: 16330
  • Loading branch information
annevk authored and jgraham committed Jun 5, 2019
1 parent b747ad4 commit 9db8846
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
const barProps = ["locationbar", "menubar", "personalbar", "scrollbars", "statusbar", "toolbar"];

test(() => {
for(const prop of barProps) {
assert_true(window[prop].visible);
}
}, "All bars visible");

["noopener", "noreferrer"].forEach(openerStyle => {
async_test(t => {
const channelName = "5454" + openerStyle + "34324";
const channel = new BroadcastChannel(channelName);
window.open("support/BarProp-target.html?" + channelName, "", openerStyle);
channel.onmessage = t.step_func_done(e => {
// Send message first so if asserts throw the popup is still closed
channel.postMessage(null);

for(const prop of barProps) {
assert_true(e.data[prop]);
}
});
}, `window.open() with ${openerStyle} should have all bars visible`);
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<script>
const barProps = ["locationbar", "menubar", "personalbar", "scrollbars", "statusbar", "toolbar"];
const barPropsObj = {};
const channelName = location.search.substr(1);
const channel = new BroadcastChannel(channelName);
for (const prop of barProps) {
barPropsObj[prop] = window[prop].visible;
}
channel.postMessage(barPropsObj);

// 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 = () => { window.close() };
</script>

0 comments on commit 9db8846

Please sign in to comment.