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>