According Shadow DOM specification (https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#upper-boundary-encapsulation) "The nodes and named elements are not accessible using shadow host's document DOM tree accessors or with Window object named properties". But in fact some named elements are accessible (Chrome 26.0.1366.0 canary). Test: <html> <head> <script type="text/javascript"> function test() { var d = document; var div = d.createElement('div'); d.body.appendChild(div); var s = div.webkitCreateShadowRoot(); //Window named properties var namedElements = ['a', 'applet', 'area', 'embed', 'form', 'frame', 'frameset', 'iframe','img', 'object']; namedElements.forEach(function (tagName) { var element = d.createElement(tagName); element.name = 'named_' + tagName; d.body.appendChild(element); s.appendChild(element); if (element.name in d) { console.log( element.name + ' accessible'); } else { console.log( element.name + ' inaccessible'); } }); } </script> </head> <body onload="test()"> </body> </html> Run this test and observe Chrome console. Result: applet, embed, form, iframe, img and object are visible on the document level.
Created attachment 180697 [details] Patch
Comment on attachment 180697 [details] Patch Clearing flags on attachment: 180697 Committed r138897: <http://trac.webkit.org/changeset/138897>
All reviewed patches have been landed. Closing bug.