| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>HTML: window.open `features`: tokenization -- position features `top` and `left`</title> |
| <meta name=timeout content=long> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/#apis-for-creating-and-navigating-browsing-contexts-by-name"> |
| |
| <!-- user agents are not required to support open features other than `noopener` |
| and on some platforms position and size features don't make sense --> |
| <meta name="flags" content="may" /> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/common/PrefixedPostMessage.js"></script> |
| <script> |
| var windowURL = 'resources/message-opener.html'; |
| var width = 'width=401,'; |
| var height = 'height=402,'; |
| |
| [ 'left=141', |
| ' left = 141', |
| 'left==141', |
| '\nleft= 141', |
| ',left=141,,', |
| 'LEFT=141' |
| ].forEach((features, idx, arr) => { |
| async_test(t => { |
| var prefixedMessage = new PrefixedMessageTest(); |
| prefixedMessage.onMessage(t.step_func_done((data, e) => { |
| e.source.close(); |
| assert_equals(data.left, 141); |
| })); |
| var win = window.open(prefixedMessage.url(windowURL), '', width + height + features); |
| }, `"${features}" should set left position of opened window`); |
| }); |
| |
| [ 'top=142', |
| ' top = 142', |
| 'top==142', |
| '\ttop= 142', |
| ',top=142,,', |
| 'TOP=142' |
| ].forEach((features, idx, arr) => { |
| async_test(t => { |
| var prefixedMessage = new PrefixedMessageTest(); |
| prefixedMessage.onMessage(t.step_func_done((data, e) => { |
| e.source.close(); |
| assert_equals(data.top, 142); |
| })); |
| var win = window.open(prefixedMessage.url(windowURL), '', width + height + features); |
| }, `${format_value(features)} should set top position of opened window`); |
| }); |
| |
| [ 'top=152,left=152', |
| 'top=152,,left=152,', |
| 'top=152==left=152', |
| ',,top= 152, left=152' |
| ].forEach((features, idx, arr) => { |
| async_test(t => { |
| var prefixedMessage = new PrefixedMessageTest(); |
| prefixedMessage.onMessage(t.step_func_done((data, e) => { |
| e.source.close(); |
| assert_equals(data.top, 152); |
| assert_equals(data.left, 152); |
| })); |
| var win = window.open(prefixedMessage.url(windowURL), '', width + height + features); |
| }, `${format_value(features)} should set top and left position of opened window`); |
| }); |
| |
| </script> |