RESOLVED INVALID 102767
[Shadow DOM]: retargeting doesn't work for document nodes distributed among insertion points
https://bugs.webkit.org/show_bug.cgi?id=102767
Summary [Shadow DOM]: retargeting doesn't work for document nodes distributed among i...
Sergey G. Grekhov
Reported 2012-11-19 22:03:45 PST
Found in Chrome 23.0.1271.64 m If node in Shadow tree is a document node distributed into insertion point then event retargeting doesn't work. Run the following example: <html> <head> <script type="text/javascript"> function test() { var d = document; var SR = window.ShadowRoot || window.WebKitShadowRoot; //Shadow root to play with var ul = d.querySelector('ul.stories'); var s = new SR(ul); //make shadow subtree var div = document.createElement('div'); div.innerHTML = '<ul id="ip_wrapper"><content select=".shadow"></content></ul>'; s.appendChild(div); d.body.addEventListener('click', function (event) { alert(event.target.tagName); }, false); var event = d.createEvent('HTMLEvents'); event.initEvent ("click", true, false); d.querySelector('#li3').dispatchEvent(event); } </script> </head> <body onload="test()"> <ul class='stories'> <li id='li1'><a href='#1'>Link1</a></li> <li id='li2' title="li2"><a href='#2'>Link 2</a></li> <li id='li3' class='shadow'><a href='#3'>Link 3 Shadow</a></li> <li id='li4' class='shadow2'><a href='#4'>Link 4 Shadow 2</a></li> <li id='li5'><a href='#5'>Link 5</a></li> <li id='li6' class='shadow'><a href='#5'>Link 6 Shadow</a></li> </ul> </body> </html> This example shows that after bubbling up to the document body event target was not retargeted and shows tagName LI, but according to http://dvcs.w3.org/hg/webcomponents/raw-file/c2f82425ba8d/spec/shadow/index.html#event-retargeting target should be adjusted and shadow root (UL) should be the target
Attachments
Hayato Ito
Comment 1 2013-01-10 02:38:22 PST
This is an intended behavior for a event fired on a node which is distributed into a insertion point. I think the spec is written to do so. Please re-open if you think the spec is wrong.
Note You need to log in before you can comment on or make changes to this bug.