Title: [211970] trunk
Revision
211970
Author
[email protected]
Date
2017-02-09 10:54:26 -0800 (Thu, 09 Feb 2017)

Log Message

Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
https://bugs.webkit.org/show_bug.cgi?id=167964

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline web platform test now that more checks are passing.

* web-platform-tests/dom/interfaces-expected.txt:

Source/WebCore:

Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
after the following WebIDL spec change:
- https://github.com/heycam/webidl/issues/96

This aligns our behavior with other browsers as the spec has been updated to match
the majority.

No new tests, rebaselined existing test.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
* bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
(WebCore::JSTestCallbackInterfaceConstructor::prototypeForStructure):

LayoutTests:

Rebaseline existing tests now that output differs a bit.

* http/tests/security/cross-frame-access-put-expected.txt:
* platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (211969 => 211970)


--- trunk/LayoutTests/ChangeLog	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/LayoutTests/ChangeLog	2017-02-09 18:54:26 UTC (rev 211970)
@@ -1,3 +1,15 @@
+2017-02-09  Chris Dumez  <[email protected]>
+
+        Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
+        https://bugs.webkit.org/show_bug.cgi?id=167964
+
+        Reviewed by Youenn Fablet.
+
+        Rebaseline existing tests now that output differs a bit.
+
+        * http/tests/security/cross-frame-access-put-expected.txt:
+        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
+
 2017-02-09  Yusuke Suzuki  <[email protected]>
 
         Unreviewed, fix module test that has a meaningless onload handler

Modified: trunk/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt (211969 => 211970)


--- trunk/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt	2017-02-09 18:54:26 UTC (rev 211970)
@@ -72,7 +72,7 @@
 ALERT: PASS: window.HTMLUListElement should be 'function HTMLUListElement() {    [native code]}' and is.
 ALERT: PASS: window.MutationEvent should be 'function MutationEvent() {    [native code]}' and is.
 ALERT: PASS: window.Node should be 'function Node() {    [native code]}' and is.
-ALERT: PASS: window.NodeFilter should be '[object Function]' and is.
+ALERT: PASS: window.NodeFilter should be 'function NodeFilter() {    [native code]}' and is.
 ALERT: PASS: window.ProcessingInstruction should be 'function ProcessingInstruction() {    [native code]}' and is.
 ALERT: PASS: window.Range should be 'function Range() {    [native code]}' and is.
 ALERT: PASS: window.RangeError should be 'function RangeError() {    [native code]}' and is.

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (211969 => 211970)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-02-09 18:54:26 UTC (rev 211970)
@@ -1,3 +1,14 @@
+2017-02-09  Chris Dumez  <[email protected]>
+
+        Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
+        https://bugs.webkit.org/show_bug.cgi?id=167964
+
+        Reviewed by Youenn Fablet.
+
+        Rebaseline web platform test now that more checks are passing.
+
+        * web-platform-tests/dom/interfaces-expected.txt:
+
 2017-02-09  Youenn Fablet  <[email protected]>
 
         Improve W3C importer command line options

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt (211969 => 211970)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt	2017-02-09 18:54:26 UTC (rev 211970)
@@ -1547,9 +1547,7 @@
 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextSibling" with the proper type (8) 
 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode" with the proper type (9) 
 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode" with the proper type (10) 
-FAIL NodeFilter interface: existence and properties of interface object assert_equals: prototype of self's property "NodeFilter" is not Object.prototype expected (function) function "function () {
-    [native code]
-}" but got (object) object "[object Object]"
+PASS NodeFilter interface: existence and properties of interface object 
 PASS NodeFilter interface object name 
 PASS NodeFilter interface: existence and properties of interface prototype object 
 PASS NodeFilter interface: existence and properties of interface prototype object's "constructor" property 

Modified: trunk/LayoutTests/platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt (211969 => 211970)


--- trunk/LayoutTests/platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/LayoutTests/platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt	2017-02-09 18:54:26 UTC (rev 211970)
@@ -238,8 +238,8 @@
 PASS 'function NamedNodeMap() {    [native code]}' is 'function NamedNodeMap() {    [native code]}'
 PASS 'function Node() {    [native code]}' is 'function Node() {    [native code]}'
 PASS 'function Node() {    [native code]}' is 'function Node() {    [native code]}'
-PASS '[object Function]' is '[object Function]'
-PASS '[object Function]' is '[object Function]'
+PASS 'function NodeFilter() {    [native code]}' is 'function NodeFilter() {    [native code]}'
+PASS 'function NodeFilter() {    [native code]}' is 'function NodeFilter() {    [native code]}'
 PASS 'function NodeList() {    [native code]}' is 'function NodeList() {    [native code]}'
 PASS 'function NodeList() {    [native code]}' is 'function NodeList() {    [native code]}'
 PASS 'function OverconstrainedError() {    [native code]}' is 'function OverconstrainedError() {    [native code]}'

Modified: trunk/Source/WebCore/ChangeLog (211969 => 211970)


--- trunk/Source/WebCore/ChangeLog	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/Source/WebCore/ChangeLog	2017-02-09 18:54:26 UTC (rev 211970)
@@ -1,3 +1,24 @@
+2017-02-09  Chris Dumez  <[email protected]>
+
+        Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
+        https://bugs.webkit.org/show_bug.cgi?id=167964
+
+        Reviewed by Youenn Fablet.
+
+        Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
+        after the following WebIDL spec change:
+        - https://github.com/heycam/webidl/issues/96
+
+        This aligns our behavior with other browsers as the spec has been updated to match
+        the majority.
+
+        No new tests, rebaselined existing test.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateConstructorHelperMethods):
+        * bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
+        (WebCore::JSTestCallbackInterfaceConstructor::prototypeForStructure):
+
 2017-02-09  Miguel Gomez  <[email protected]>
 
         [GTK] scroll with transparent background not repainted after scrollY >= 32768

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (211969 => 211970)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2017-02-09 18:54:26 UTC (rev 211970)
@@ -6196,11 +6196,6 @@
     if ($interface->parentType && !$codeGenerator->GetInterfaceExtendedAttributesFromName($interface->parentType->name)->{NoInterfaceObject}) {
         my $parentClassName = "JS" . $interface->parentType->name;
         push(@$outputArray, "    return ${parentClassName}::getConstructor(vm, &globalObject);\n");
-    } elsif ($interface->isCallback) {
-        # The internal [[Prototype]] property of an interface object for a callback interface must be the Object.prototype object.
-        AddToImplIncludes("<runtime/ObjectPrototype.h>");
-        push(@$outputArray, "    UNUSED_PARAM(vm);\n");
-        push(@$outputArray, "    return globalObject.objectPrototype();\n");
     } else {
         AddToImplIncludes("<runtime/FunctionPrototype.h>");
         push(@$outputArray, "    UNUSED_PARAM(vm);\n");

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp (211969 => 211970)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp	2017-02-09 18:50:31 UTC (rev 211969)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp	2017-02-09 18:54:26 UTC (rev 211970)
@@ -31,8 +31,8 @@
 #include "JSTestNode.h"
 #include "ScriptExecutionContext.h"
 #include "SerializedScriptValue.h"
+#include <runtime/FunctionPrototype.h>
 #include <runtime/JSLock.h>
-#include <runtime/ObjectPrototype.h>
 
 using namespace JSC;
 
@@ -75,7 +75,7 @@
 template<> JSValue JSTestCallbackInterfaceConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject)
 {
     UNUSED_PARAM(vm);
-    return globalObject.objectPrototype();
+    return globalObject.functionPrototype();
 }
 
 template<> void JSTestCallbackInterfaceConstructor::initializeProperties(VM& vm, JSDOMGlobalObject& globalObject)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to