Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/shadow/resources/shadow-dom.js

Issue 1489433002: Support the essential part of Shadow DOM v1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert Internals.* Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/dom/shadow/v1-default-slots.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 function createShadowRoot() 1 function createShadowRoot()
2 { 2 {
3 var children = Array.prototype.slice.call(arguments); 3 var children = Array.prototype.slice.call(arguments);
4 if ((children[0] instanceof Object) && !(children[0] instanceof Node)) 4 if ((children[0] instanceof Object) && !(children[0] instanceof Node))
5 return attachShadow.apply(null, children); 5 return attachShadow.apply(null, children);
6 return {'isShadowRoot': true, 6 return {'isShadowRoot': true,
7 'children': children}; 7 'children': children};
8 } 8 }
9 9
10 // TODO(kochi): This is not pure attachShadow wrapper, but also handles createSh adowRoot() 10 // TODO(kochi): This is not pure attachShadow wrapper, but also handles createSh adowRoot()
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 } 59 }
60 } 60 }
61 for (var j = 0; j < child.children.length; ++j) 61 for (var j = 0; j < child.children.length; ++j)
62 shadowRoot.appendChild(child.children[j]); 62 shadowRoot.appendChild(child.children[j]);
63 } else 63 } else
64 element.appendChild(child); 64 element.appendChild(child);
65 } 65 }
66 return element; 66 return element;
67 } 67 }
68 68
69 function removeWhiteSpaceOnlyTextNodes(node)
70 {
71 for (var i = 0; i < node.childNodes.length; i++) {
72 var child = node.childNodes[i];
73 if (child.nodeType === Node.TEXT_NODE && child.nodeValue.trim().length = = 0) {
74 node.removeChild(child);
75 i--;
76 } else if (child.nodeType === Node.ELEMENT_NODE || child.nodeType === No de.DOCUMENT_FRAGMENT_NODE) {
77 removeWhiteSpaceOnlyTextNodes(child);
78 }
79 }
80 if (node.shadowRoot) {
81 removeWhiteSpaceOnlyTextNodes(node.shadowRoot);
82 }
83 }
84
69 function convertTemplatesToShadowRootsWithin(node) { 85 function convertTemplatesToShadowRootsWithin(node) {
70 var nodes = node.querySelectorAll("template"); 86 var nodes = node.querySelectorAll("template");
71 for (var i = 0; i < nodes.length; ++i) { 87 for (var i = 0; i < nodes.length; ++i) {
72 var template = nodes[i]; 88 var template = nodes[i];
73 var mode = template.getAttribute("data-mode"); 89 var mode = template.getAttribute("data-mode");
74 var parent = template.parentNode; 90 var parent = template.parentNode;
75 parent.removeChild(template); 91 parent.removeChild(template);
76 var shadowRoot; 92 var shadowRoot;
77 if (!mode) { 93 if (!mode) {
78 shadowRoot = parent.createShadowRoot(); 94 shadowRoot = parent.createShadowRoot();
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 return node; 351 return node;
336 } 352 }
337 353
338 return null; 354 return null;
339 }; 355 };
340 356
341 if (!window.internals) 357 if (!window.internals)
342 return null; 358 return null;
343 return iter(root, id); 359 return iter(root, id);
344 } 360 }
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/dom/shadow/v1-default-slots.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698