Title: [138165] trunk
Revision
138165
Author
hay...@chromium.org
Date
2012-12-19 08:09:46 -0800 (Wed, 19 Dec 2012)

Log Message

Expose WebKitShadowRoot constructor to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=105385

Reviewed by Dimitri Glazkov.

Source/WebCore:

This is a follow-up patch for r137870.  WebKitShadowRoot
constructor should be in DOMWindow, just like all of the other
not-callable-constructors like HTMLDivElement, etc.  We need it
for instanceof tests and so on.

Test: fast/dom/shadow/shadow-root-js-api.html
      fast/js/global-constructors-expected.html

* page/DOMWindow.idl:

LayoutTests:

* fast/dom/shadow/shadow-root-js-api-expected.txt:
* fast/dom/shadow/shadow-root-js-api.html:
* fast/js/global-constructors-expected.txt:
* platform/efl/fast/js/global-constructors-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (138164 => 138165)


--- trunk/LayoutTests/ChangeLog	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/LayoutTests/ChangeLog	2012-12-19 16:09:46 UTC (rev 138165)
@@ -1,3 +1,16 @@
+2012-12-19  Hayato Ito  <hay...@chromium.org>
+
+        Expose WebKitShadowRoot constructor to DOMWindow.
+        https://bugs.webkit.org/show_bug.cgi?id=105385
+
+        Reviewed by Dimitri Glazkov.
+
+        * fast/dom/shadow/shadow-root-js-api-expected.txt:
+        * fast/dom/shadow/shadow-root-js-api.html:
+        * fast/js/global-constructors-expected.txt:
+        * platform/efl/fast/js/global-constructors-expected.txt:
+        * platform/gtk/fast/js/global-constructors-expected.txt:
+
 2012-12-19  Tim Volodine  <timvolod...@chromium.org>
 
         Text Autosizing: Work out what to do about form controls

Modified: trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api-expected.txt (138164 => 138165)


--- trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api-expected.txt	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api-expected.txt	2012-12-19 16:09:46 UTC (rev 138165)
@@ -3,6 +3,10 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
+PASS window.ShadowRoot is undefined.
+PASS window.WebKitShadowRoot is defined.
+PASS new window.WebKitShadowRoot(document.createElement('div')) threw exception TypeError: Illegal constructor.
+PASS shadowRoot instanceof window.WebKitShadowRoot is true
 PASS shadowRoot.getElementById('div1') is div1
 PASS shadowRoot.getElementById('foo') is null
 PASS shadowRoot.getElementsByClassName('class2') is [div2]

Modified: trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api.html (138164 => 138165)


--- trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api.html	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api.html	2012-12-19 16:09:46 UTC (rev 138165)
@@ -14,10 +14,17 @@
 
 if (window.testRunner)
     testRunner.dumpAsText();
+
+shouldBeUndefined("window.ShadowRoot");
+shouldBeDefined("window.WebKitShadowRoot");
+shouldThrow("new window.WebKitShadowRoot(document.createElement('div'))");
+
 var shadowHost = document.createElement('div');
 document.body.appendChild(shadowHost);
 var shadowRoot = shadowHost.webkitCreateShadowRoot();
 
+shouldBeTrue("shadowRoot instanceof window.WebKitShadowRoot");
+
 var div1 = document.createElement("div");
 div1.setAttribute("id", "div1");
 shadowRoot.appendChild(div1);

Modified: trunk/LayoutTests/fast/js/global-constructors-expected.txt (138164 => 138165)


--- trunk/LayoutTests/fast/js/global-constructors-expected.txt	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/LayoutTests/fast/js/global-constructors-expected.txt	2012-12-19 16:09:46 UTC (rev 138165)
@@ -329,6 +329,7 @@
 FAIL WebKitIntent.toString() should be [object WebKitIntentConstructor]. Was [object IntentConstructor].
 FAIL WebKitMutationObserver.toString() should be [object WebKitMutationObserverConstructor]. Was [object MutationObserverConstructor].
 PASS WebKitPoint.toString() is '[object WebKitPointConstructor]'
+FAIL WebKitShadowRoot.toString() should be [object WebKitShadowRootConstructor]. Was [object ShadowRootConstructor].
 PASS WebKitTransitionEvent.toString() is '[object WebKitTransitionEventConstructor]'
 PASS WebSocket.toString() is '[object WebSocketConstructor]'
 PASS WheelEvent.toString() is '[object WheelEventConstructor]'

Modified: trunk/LayoutTests/platform/efl/fast/js/global-constructors-expected.txt (138164 => 138165)


--- trunk/LayoutTests/platform/efl/fast/js/global-constructors-expected.txt	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/LayoutTests/platform/efl/fast/js/global-constructors-expected.txt	2012-12-19 16:09:46 UTC (rev 138165)
@@ -335,6 +335,7 @@
 FAIL WebKitIntent.toString() should be [object WebKitIntentConstructor]. Was [object IntentConstructor].
 FAIL WebKitMutationObserver.toString() should be [object WebKitMutationObserverConstructor]. Was [object MutationObserverConstructor].
 PASS WebKitPoint.toString() is '[object WebKitPointConstructor]'
+FAIL WebKitShadowRoot.toString() should be [object WebKitShadowRootConstructor]. Was [object ShadowRootConstructor].
 PASS WebKitTransitionEvent.toString() is '[object WebKitTransitionEventConstructor]'
 PASS WebSocket.toString() is '[object WebSocketConstructor]'
 PASS WheelEvent.toString() is '[object WheelEventConstructor]'

Modified: trunk/LayoutTests/platform/gtk/fast/js/global-constructors-expected.txt (138164 => 138165)


--- trunk/LayoutTests/platform/gtk/fast/js/global-constructors-expected.txt	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/LayoutTests/platform/gtk/fast/js/global-constructors-expected.txt	2012-12-19 16:09:46 UTC (rev 138165)
@@ -330,6 +330,7 @@
 PASS WebKitCSSTransformValue.toString() is '[object WebKitCSSTransformValueConstructor]'
 FAIL WebKitMutationObserver.toString() should be [object WebKitMutationObserverConstructor]. Was [object MutationObserverConstructor].
 PASS WebKitPoint.toString() is '[object WebKitPointConstructor]'
+FAIL WebKitShadowRoot.toString() should be [object WebKitShadowRootConstructor]. Was [object ShadowRootConstructor].
 PASS WebKitTransitionEvent.toString() is '[object WebKitTransitionEventConstructor]'
 PASS WebSocket.toString() is '[object WebSocketConstructor]'
 PASS WheelEvent.toString() is '[object WheelEventConstructor]'

Modified: trunk/Source/WebCore/ChangeLog (138164 => 138165)


--- trunk/Source/WebCore/ChangeLog	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/Source/WebCore/ChangeLog	2012-12-19 16:09:46 UTC (rev 138165)
@@ -1,3 +1,20 @@
+2012-12-19  Hayato Ito  <hay...@chromium.org>
+
+        Expose WebKitShadowRoot constructor to DOMWindow.
+        https://bugs.webkit.org/show_bug.cgi?id=105385
+
+        Reviewed by Dimitri Glazkov.
+
+        This is a follow-up patch for r137870.  WebKitShadowRoot
+        constructor should be in DOMWindow, just like all of the other
+        not-callable-constructors like HTMLDivElement, etc.  We need it
+        for instanceof tests and so on.
+
+        Test: fast/dom/shadow/shadow-root-js-api.html
+              fast/js/global-constructors-expected.html
+
+        * page/DOMWindow.idl:
+
 2012-12-19  Andrey Lushnikov  <lushni...@chromium.com>
 
         Web Inspector: refactor DefaultTextEditor's |expanded| setters

Modified: trunk/Source/WebCore/page/DOMWindow.idl (138164 => 138165)


--- trunk/Source/WebCore/page/DOMWindow.idl	2012-12-19 16:07:10 UTC (rev 138164)
+++ trunk/Source/WebCore/page/DOMWindow.idl	2012-12-19 16:09:46 UTC (rev 138165)
@@ -401,6 +401,7 @@
     attribute EntityConstructor Entity;
     attribute EntityReferenceConstructor EntityReference;
     attribute ProcessingInstructionConstructor ProcessingInstruction;
+    [Conditional=SHADOW_DOM, V8EnabledAtRuntime=shadowDOM] attribute ShadowRootConstructor WebKitShadowRoot;
     [Conditional=SHADOW_DOM, V8EnabledAtRuntime=shadowDOM] attribute HTMLContentElementConstructor HTMLContentElement;
     [Conditional=SHADOW_DOM, V8EnabledAtRuntime=shadowDOM] attribute HTMLShadowElementConstructor HTMLShadowElement;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to