chromium/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/noopener-noreferrer-sizing.window.js

const windowProps = ["innerWidth", "innerHeight"];

["noopener", "noreferrer"].forEach(openerStyle => {
  async_test(t => {
    const channelName = "34342" + openerStyle + "8907";
    const channel = new BroadcastChannel(channelName);
    window.open("support/sizing-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 windowProps) {
        assert_equals(window[prop], e.data[prop]);
      }
    });
  }, `window.open() with ${openerStyle} should have equal viewport width and height`);
});