tor-browser

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

test-001.html (2068B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>Shadow DOM Test: A_05_00_01</title>
      5 <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
      6 <link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#events">
      7 <meta name="assert" content="Events:The mutation event types must never be dispatched in a shadow DOM subtree.">
      8 <script src="/resources/testharness.js"></script>
      9 <script src="/resources/testharnessreport.js"></script>
     10 <script src="../../../html/resources/common.js"></script>
     11 </head>
     12 <body>
     13 <div id="log"></div>
     14 <script>
     15 var A_05_00_01_T1 = async_test('A_05_00_01_T1');
     16 
     17 A_05_00_01_T1.step(function () {
     18    var iframe = document.createElement('iframe');
     19    iframe.src = '../resources/blank.html';
     20    document.body.appendChild(iframe);
     21 
     22    iframe.onload = A_05_00_01_T1.step_func(function () {
     23 
     24    try {
     25        var d = iframe.contentDocument;
     26 
     27        var div = d.createElement('div');
     28        d.body.appendChild(div);
     29 
     30        var s = div.attachShadow({mode: 'open'});
     31 
     32        var div2 = d.createElement('div');
     33        s.appendChild(div2);
     34 
     35        var inp = d.createElement('input');
     36        inp.setAttribute('type', 'text');
     37        inp.setAttribute('id', 'inpid');
     38        div2.appendChild(inp);
     39 
     40        div2.addEventListener('DOMAttrModified', A_05_00_01_T1.step_func(function (event) {
     41            assert_true(false, 'The mutation event types must never be dispatched in a shadow DOM subtree');
     42        }), false);
     43        /*
     44        var attr = inp.getAttributeNode ("value");
     45        var event = d.createEvent('MutationEvent');
     46        event.initMutationEvent ("DOMAttrModified", true, true, attr, null, 'new value', "value", MutationEvent.MODIFICATION);
     47        inp.dispatchEvent(event);
     48            */
     49        inp.value = 'new value';
     50        inp.setAttribute ("newAttr" , "firstValue");
     51        inp.setAttribute ("newAttr" , "secondValue");
     52        inp.removeAttribute ("newAttr");
     53    } finally {
     54        iframe.parentNode.removeChild(iframe);
     55    }
     56    A_05_00_01_T1.done();
     57    });
     58 });
     59 </script>
     60 </body>
     61 </html>