| OLD | NEW | 
| (Empty) |  | 
 |   1 <!DOCTYPE html> | 
 |   2 <!--  | 
 |   3 Distributed under both the W3C Test Suite License [1] and the W3C | 
 |   4 3-clause BSD License [2]. To contribute to a W3C Test Suite, see the | 
 |   5 policies and contribution forms [3]. | 
 |   6  | 
 |   7 [1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license | 
 |   8 [2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license | 
 |   9 [3] http://www.w3.org/2004/10/27-testcases | 
 |  10  --> | 
 |  11 <html> | 
 |  12 <head> | 
 |  13 <title>Shadow DOM Test: A_05_02_01</title> | 
 |  14 <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> | 
 |  15 <link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-201305214#retarge
    ting-related-target"> | 
 |  16 <meta name="assert" content="Retargeting relatedTarget:Event retargeting is a pr
    ocess of computing relative targets for each ancestor of the node at which the e
    vent is dispatched. A relative target is a DOM node that most accurately represe
    nts the target of a dispatched event at a given ancestor while maintaining the u
    pper boundary encapsulation."> | 
 |  17 <script src="../../../../../resources/testharness.js"></script> | 
 |  18 <script src="../../../../../resources/testharnessreport.js"></script> | 
 |  19 <script src="../../testcommon.js"></script> | 
 |  20 <link rel="stylesheet" href="../../../../../resources/testharness.css"> | 
 |  21 </head> | 
 |  22 <body> | 
 |  23 <div id="log"></div> | 
 |  24 <script> | 
 |  25 var A_05_02_01_T01 = async_test('A_05_02_01_T1'); | 
 |  26  | 
 |  27 A_05_02_01_T01.step(unit(function (ctx) { | 
 |  28  | 
 |  29     var d = newRenderedHTMLDocument(ctx); | 
 |  30  | 
 |  31     var host = d.createElement('div'); | 
 |  32     host.setAttribute('style', 'height:100%; width:100%'); | 
 |  33     host.setAttribute('id', 'host'); | 
 |  34     d.body.appendChild(host); | 
 |  35  | 
 |  36     //Shadow root to play with | 
 |  37     var s = host.createShadowRoot(); | 
 |  38  | 
 |  39     var div1 = d.createElement('div'); | 
 |  40     div1.setAttribute('style', 'height:40px; width:100%'); | 
 |  41     div1.setAttribute('id', 'div1'); | 
 |  42     s.appendChild(div1); | 
 |  43  | 
 |  44     var div2 = d.createElement('div'); | 
 |  45     div2.setAttribute('style', 'height:40px; width:100%'); | 
 |  46     div2.setAttribute('id', 'div2'); | 
 |  47     s.appendChild(div2); | 
 |  48  | 
 |  49     s.addEventListener('mouseover', A_05_02_01_T01.step_func(function(event) { | 
 |  50         assert_equals(event.relatedTarget.getAttribute('id'), 'div1', 'Wrong rel
    atedTarget'); | 
 |  51     }), false); | 
 |  52  | 
 |  53     d.body.addEventListener('mouseover', A_05_02_01_T01.step_func(function(event
    ) { | 
 |  54         assert_true(false, 'Event must be stopped at Shadow boundary'); | 
 |  55     }), false); | 
 |  56  | 
 |  57  | 
 |  58     var evt = document.createEvent("MouseEvents"); | 
 |  59     evt.initMouseEvent("mouseover", true, false, window, | 
 |  60       0, 10, 10, 10, 10, false, false, false, false, 0, div1); | 
 |  61  | 
 |  62     div2.dispatchEvent(evt); | 
 |  63  | 
 |  64  | 
 |  65     A_05_02_01_T01.done(); | 
 |  66 })); | 
 |  67 </script> | 
 |  68 </body> | 
 |  69 </html> | 
| OLD | NEW |