tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>