Changeset 139169 in webkit
- Timestamp:
- Jan 8, 2013 11:41:38 PM (11 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r139168 r139169 1 2013-01-08 Takashi Sakamoto <tasak@google.com> 2 3 Use window.WebKitShadowRoot for checking whether a node is shadow root or not. 4 https://bugs.webkit.org/show_bug.cgi?id=88748 5 6 Reviewed by Hajime Morita. 7 8 * fast/dom/shadow/resources/shadow-dom.js: 9 (isShadowRoot): 10 Modified to use window.WebKitShadowRoot instead of node name. 11 * resources/dump-as-markup.js: 12 (Markup.get var): 13 Added shadowRootList which has information about whether the given node 14 is a shadow root or not. 15 (Markup): 16 (Markup._get): 17 If the given element is a document fragment and its address is in 18 shadowRootList, use "<shadow:root>". 19 (Markup._getShadowHostIfPossible): 20 Only this method uses internals.shadowRoot and obtains the youngest 21 shadow root from the given node. So update shadowRootList in this 22 method. 23 1 24 2013-01-08 Stephanie Lewis <slewis@apple.com> 2 25 -
trunk/LayoutTests/fast/dom/shadow/resources/shadow-dom.js
r138386 r139169 53 53 function isShadowRoot(node) 54 54 { 55 // FIXME: window.internals should have internals.isShadowRoot(node). 56 return node.nodeName == "#shadow-root"; 55 return node instanceof window.WebKitShadowRoot; 57 56 } 58 57 -
trunk/LayoutTests/resources/dump-as-markup.js
r138386 r139169 127 127 Markup.get = function(node) 128 128 { 129 var markup = Markup._getShadowHostIfPossible(node, 0); 129 var shadowRootList = {}; 130 var markup = Markup._getShadowHostIfPossible(node, 0, shadowRootList); 130 131 if (markup) 131 132 return markup.substring(1); … … 136 137 // Don't print any markup for the root node. 137 138 for (var i = 0, len = node.childNodes.length; i < len; i++) 138 markup += Markup._get(node.childNodes[i], 0 );139 markup += Markup._get(node.childNodes[i], 0, shadowRootList); 139 140 return markup.substring(1); 140 141 } … … 142 143 // Returns the markup for the given node. To be used for cases where a test needs 143 144 // to get the markup but not clobber the whole page. 144 Markup._get = function(node, depth )145 Markup._get = function(node, depth, shadowRootList) 145 146 { 146 147 var str = Markup._indent(depth); … … 162 163 str += '<!-- -->'; 163 164 } 164 break;165 break; 165 166 166 167 case Node.PROCESSING_INSTRUCTION_NODE: … … 219 220 break; 220 221 case Node.DOCUMENT_FRAGMENT_NODE: 221 if ( node.nodeName == "#shadow-root")222 if (shadowRootList && internals.address(node) in shadowRootList) 222 223 str += "<shadow:root>"; 223 224 else … … 228 229 // HTML Template elements serialize their content DocumentFragment, and NOT their children. 229 230 if (node.namespaceURI = 'http://www.w3.org/1999/xhtml' && node.tagName == 'TEMPLATE') { 230 str += Markup._get(node.content, depth + 1 );231 str += Markup._get(node.content, depth + 1, shadowRootList); 231 232 } else { 232 233 for (var i = 0, len = node.childNodes.length; i < len; i++) { … … 235 236 str += Markup._indent(depth + 1) + selection; 236 237 237 str += Markup._get(node.childNodes[i], depth + 1 );238 } 239 } 240 241 str += Markup._getShadowHostIfPossible(node, depth );238 str += Markup._get(node.childNodes[i], depth + 1, shadowRootList); 239 } 240 } 241 242 str += Markup._getShadowHostIfPossible(node, depth, shadowRootList); 242 243 243 244 var selection = Markup._getSelectionMarker(node, i); … … 248 249 } 249 250 250 Markup._getShadowHostIfPossible = function (node, depth )251 Markup._getShadowHostIfPossible = function (node, depth, shadowRootList) 251 252 { 252 253 if (!Markup._useHTML5libOutputFormat && node.nodeType == Node.ELEMENT_NODE && window.internals) { 253 254 var root = window.internals.shadowRoot(node); 254 if (root) 255 return Markup._get(root, depth + 1); 255 if (root) { 256 shadowRootList[internals.address(root)] = true; 257 return Markup._get(root, depth + 1, shadowRootList); 258 } 256 259 } 257 260 return '';
Note: See TracChangeset
for help on using the changeset viewer.