Title: [111149] trunk/LayoutTests
Revision
111149
Author
[email protected]
Date
2012-03-18 19:40:19 -0700 (Sun, 18 Mar 2012)

Log Message

Skip fast/dom/shadow/get-element-id-in-shadow-roots on some ports where SHADOW_DOM flag is disabled.
https://bugs.webkit.org/show_bug.cgi?id=81336

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/resources/shadow-dom.js:
(createDOM):
(isShadowRoot):
* platform/efl/Skipped:
* platform/mac/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (111148 => 111149)


--- trunk/LayoutTests/ChangeLog	2012-03-19 02:21:38 UTC (rev 111148)
+++ trunk/LayoutTests/ChangeLog	2012-03-19 02:40:19 UTC (rev 111149)
@@ -1,3 +1,18 @@
+2012-03-18  Hayato Ito  <[email protected]>
+
+        Skip fast/dom/shadow/get-element-id-in-shadow-roots on some ports where SHADOW_DOM flag is disabled.
+        https://bugs.webkit.org/show_bug.cgi?id=81336
+
+        Reviewed by Dimitri Glazkov.
+
+        * fast/dom/shadow/resources/shadow-dom.js:
+        (createDOM):
+        (isShadowRoot):
+        * platform/efl/Skipped:
+        * platform/mac/Skipped:
+        * platform/win/Skipped:
+        * platform/wincairo/Skipped:
+
 2012-03-18  Keishi Hattori  <[email protected]>
 
         [chromium] Rebaseline SL results for video-opacity-overlay.html and load-video-in-reflection.html

Modified: trunk/LayoutTests/fast/dom/shadow/resources/shadow-dom.js (111148 => 111149)


--- trunk/LayoutTests/fast/dom/shadow/resources/shadow-dom.js	2012-03-19 02:21:38 UTC (rev 111148)
+++ trunk/LayoutTests/fast/dom/shadow/resources/shadow-dom.js	2012-03-19 02:40:19 UTC (rev 111149)
@@ -5,20 +5,27 @@
 }
 
 // This function can take optional child elements, which might be a result of createShadowRoot(), as arguments[2:].
+// You must enable SHADOW_DOM flag if you use this fucntion to host multiple ShadowRoots
+// since window.internals does not have a function which can be used to host multiple shadow roots.
+// FIXME: window.internals should have such function and remove the restriction.
 function createDOM(tagName, attributes)
 {
     var element = document.createElement(tagName);
     for (var name in attributes)
         element.setAttribute(name, attributes[name]);
     var childElements = Array.prototype.slice.call(arguments, 2);
+    var shadowRootCount = 0;
     for (var i = 0; i < childElements.length; ++i) {
         var child = childElements[i];
         if (child.isShadowRoot) {
+            ++shadowRootCount;
             var shadowRoot;
             if (window.WebKitShadowRoot)
-              shadowRoot = new WebKitShadowRoot(element);
+                shadowRoot = new WebKitShadowRoot(element);
+            else if (shadowRootcount == 1)
+                shadowRoot = internals.ensureShadowRoot(element);
             else
-              shadowRoot = internals.ensureShadowRoot(element);
+                throw "CreateDOM cannot be used to host multiple ShadowRoots without new WebKitShadowRoot()";
             for (var j = 0; j < child.children.length; ++j)
                 shadowRoot.appendChild(child.children[j]);
         } else
@@ -30,7 +37,7 @@
 function isShadowRoot(node)
 {
     // FIXME: window.internals should have internals.isShadowRoot(node).
-    return node.host;
+    return node.nodeName == "#shadow-root" || node.host;
 }
 
 // You can spefify youngerShadowRoot by consecutive slashes.

Modified: trunk/LayoutTests/platform/efl/Skipped (111148 => 111149)


--- trunk/LayoutTests/platform/efl/Skipped	2012-03-19 02:21:38 UTC (rev 111148)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-03-19 02:40:19 UTC (rev 111149)
@@ -1938,6 +1938,7 @@
 fast/dom/shadow/content-element-api.html
 fast/dom/shadow/content-element-outside-shadow.html
 fast/dom/shadow/content-element-outside-shadow-style.html
+fast/dom/shadow/get-element-by-id-in-shadow-root.html
 fast/dom/shadow/shadow-root-js-api.html
 fast/dom/shadow/shadow-disable.html
 fast/dom/shadow/shadow-root-attached.html

Modified: trunk/LayoutTests/platform/mac/Skipped (111148 => 111149)


--- trunk/LayoutTests/platform/mac/Skipped	2012-03-19 02:21:38 UTC (rev 111148)
+++ trunk/LayoutTests/platform/mac/Skipped	2012-03-19 02:40:19 UTC (rev 111149)
@@ -435,6 +435,7 @@
 fast/dom/shadow/content-element-api.html
 fast/dom/shadow/content-element-outside-shadow.html
 fast/dom/shadow/content-element-outside-shadow-style.html
+fast/dom/shadow/get-element-by-id-in-shadow-root.html
 fast/dom/shadow/shadow-root-js-api.html
 fast/dom/shadow/shadow-disable.html
 fast/dom/shadow/shadow-root-activeElement.html

Modified: trunk/LayoutTests/platform/win/Skipped (111148 => 111149)


--- trunk/LayoutTests/platform/win/Skipped	2012-03-19 02:21:38 UTC (rev 111148)
+++ trunk/LayoutTests/platform/win/Skipped	2012-03-19 02:40:19 UTC (rev 111149)
@@ -1460,6 +1460,7 @@
 fast/dom/shadow/content-element-api.html
 fast/dom/shadow/content-element-outside-shadow.html
 fast/dom/shadow/content-element-outside-shadow-style.html
+fast/dom/shadow/get-element-by-id-in-shadow-root.html
 fast/dom/shadow/shadow-root-js-api.html
 fast/dom/shadow/shadow-disable.html
 fast/dom/shadow/shadow-root-activeElement.html

Modified: trunk/LayoutTests/platform/wincairo/Skipped (111148 => 111149)


--- trunk/LayoutTests/platform/wincairo/Skipped	2012-03-19 02:21:38 UTC (rev 111148)
+++ trunk/LayoutTests/platform/wincairo/Skipped	2012-03-19 02:40:19 UTC (rev 111149)
@@ -1972,6 +1972,7 @@
 # ENABLE(SHADOW_DOM) is disabled.
 fast/dom/shadow/content-element-api.html
 fast/dom/shadow/content-element-outside-shadow.html
+fast/dom/shadow/get-element-by-id-in-shadow-root.html
 fast/dom/shadow/shadow-root-js-api.html
 fast/dom/shadow/shadow-disable.html
 fast/dom/shadow/shadow-root-activeElement.html
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to