- 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)