open-features-tokenization-top-left.html (2412B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>HTML: window.open `features`: tokenization -- position features `top` and `left`</title> 4 <meta name=timeout content=long> 5 <link rel="help" href="https://html.spec.whatwg.org/multipage/#apis-for-creating-and-navigating-browsing-contexts-by-name"> 6 7 <!-- user agents are not required to support open features other than `noopener` 8 and on some platforms position and size features don't make sense --> 9 <meta name="flags" content="may" /> 10 11 <script src="/resources/testharness.js"></script> 12 <script src="/resources/testharnessreport.js"></script> 13 <script src="/common/PrefixedPostMessage.js"></script> 14 <script> 15 var windowURL = 'resources/message-opener.html'; 16 var width = 'width=401,'; 17 var height = 'height=402,'; 18 19 [ 'left=141', 20 ' left = 141', 21 'left==141', 22 '\nleft= 141', 23 ',left=141,,', 24 'LEFT=141' 25 ].forEach((features, idx, arr) => { 26 async_test(t => { 27 var prefixedMessage = new PrefixedMessageTest(); 28 prefixedMessage.onMessage(t.step_func_done((data, e) => { 29 e.source.close(); 30 assert_equals(data.left, 141); 31 })); 32 var win = window.open(prefixedMessage.url(windowURL) + '&expected_screenX=141', '', width + height + features); 33 }, `"${features}" should set left position of opened window`); 34 }); 35 36 [ 'top=142', 37 ' top = 142', 38 'top==142', 39 '\ttop= 142', 40 ',top=142,,', 41 'TOP=142' 42 ].forEach((features, idx, arr) => { 43 async_test(t => { 44 var prefixedMessage = new PrefixedMessageTest(); 45 prefixedMessage.onMessage(t.step_func_done((data, e) => { 46 e.source.close(); 47 assert_equals(data.top, 142); 48 })); 49 var win = window.open(prefixedMessage.url(windowURL) + '&expected_screenY=142', '', width + height + features); 50 }, `${format_value(features)} should set top position of opened window`); 51 }); 52 53 [ 'top=152,left=152', 54 'top=152,,left=152,', 55 'top=152==left=152', 56 ',,top= 152, left=152' 57 ].forEach((features, idx, arr) => { 58 async_test(t => { 59 var prefixedMessage = new PrefixedMessageTest(); 60 prefixedMessage.onMessage(t.step_func_done((data, e) => { 61 e.source.close(); 62 assert_equals(data.top, 152); 63 assert_equals(data.left, 152); 64 })); 65 var win = window.open(prefixedMessage.url(windowURL) + '&expected_screenX=152&expected_screenY=152', '', width + height + features); 66 }, `${format_value(features)} should set top and left position of opened window`); 67 }); 68 69 </script>