Title: [188745] trunk
- Revision
- 188745
- Author
- [email protected]
- Date
- 2015-08-20 20:05:02 -0700 (Thu, 20 Aug 2015)
Log Message
Fix passing null / undefined as NodeFilter parameter for createNodeIterator() / createTreeWalker()
https://bugs.webkit.org/show_bug.cgi?id=148257
Reviewed by Darin Adler.
Source/WebCore:
Fix passing null / undefined as NodeFilter parameter for createNodeIterator() / createTreeWalker().
It is supposed to be translated into a *null* NodeFilter. However, WebKit was constructing a
NodeFilter in this case.
Chrome and Firefox do not create a NodeFilter in this case.
No new tests, already covered by:
fast/dom/createNodeIterator-parameters.html
fast/dom/createTreeWalker-parameters.html
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::toWrapped):
LayoutTests:
Rebaseline tests. We are now passing more of the checks.
* fast/dom/createNodeIterator-parameters-expected.txt:
* fast/dom/createTreeWalker-parameters-expected.txt:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (188744 => 188745)
--- trunk/LayoutTests/ChangeLog 2015-08-21 02:57:32 UTC (rev 188744)
+++ trunk/LayoutTests/ChangeLog 2015-08-21 03:05:02 UTC (rev 188745)
@@ -1,3 +1,15 @@
+2015-08-20 Chris Dumez <[email protected]>
+
+ Fix passing null / undefined as NodeFilter parameter for createNodeIterator() / createTreeWalker()
+ https://bugs.webkit.org/show_bug.cgi?id=148257
+
+ Reviewed by Darin Adler.
+
+ Rebaseline tests. We are now passing more of the checks.
+
+ * fast/dom/createNodeIterator-parameters-expected.txt:
+ * fast/dom/createTreeWalker-parameters-expected.txt:
+
2015-08-20 Myles C. Maxfield <[email protected]>
[iOS] Adopt OS X's emoji behavior
Modified: trunk/LayoutTests/fast/dom/createNodeIterator-parameters-expected.txt (188744 => 188745)
--- trunk/LayoutTests/fast/dom/createNodeIterator-parameters-expected.txt 2015-08-21 02:57:32 UTC (rev 188744)
+++ trunk/LayoutTests/fast/dom/createNodeIterator-parameters-expected.txt 2015-08-21 03:05:02 UTC (rev 188745)
@@ -19,7 +19,7 @@
PASS iterator.root is document
PASS iterator.referenceNode is document
PASS iterator.whatToShow is 0
-FAIL iterator.filter should be null. Was [object NodeFilter].
+PASS iterator.filter is null
PASS iterator.pointerBeforeReferenceNode is true
Passing undefined for optional parameters
@@ -27,7 +27,7 @@
PASS iterator.root is document
PASS iterator.referenceNode is document
FAIL iterator.whatToShow should be 4294967295. Was 0.
-FAIL iterator.filter should be null. Was [object NodeFilter].
+PASS iterator.filter is null
PASS iterator.pointerBeforeReferenceNode is true
PASS successfullyParsed is true
Modified: trunk/LayoutTests/fast/dom/createTreeWalker-parameters-expected.txt (188744 => 188745)
--- trunk/LayoutTests/fast/dom/createTreeWalker-parameters-expected.txt 2015-08-21 02:57:32 UTC (rev 188744)
+++ trunk/LayoutTests/fast/dom/createTreeWalker-parameters-expected.txt 2015-08-21 03:05:02 UTC (rev 188745)
@@ -18,14 +18,14 @@
PASS walker.root is document
PASS walker.currentNode is document
PASS walker.whatToShow is 0
-FAIL walker.filter should be null. Was [object NodeFilter].
+PASS walker.filter is null
Passing undefined for optional parameters
walker = document.createTreeWalker(document, undefined, undefined)
PASS walker.root is document
PASS walker.currentNode is document
FAIL walker.whatToShow should be 4294967295. Was 0.
-FAIL walker.filter should be null. Was [object NodeFilter].
+PASS walker.filter is null
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/Source/WebCore/ChangeLog (188744 => 188745)
--- trunk/Source/WebCore/ChangeLog 2015-08-21 02:57:32 UTC (rev 188744)
+++ trunk/Source/WebCore/ChangeLog 2015-08-21 03:05:02 UTC (rev 188745)
@@ -1,3 +1,23 @@
+2015-08-20 Chris Dumez <[email protected]>
+
+ Fix passing null / undefined as NodeFilter parameter for createNodeIterator() / createTreeWalker()
+ https://bugs.webkit.org/show_bug.cgi?id=148257
+
+ Reviewed by Darin Adler.
+
+ Fix passing null / undefined as NodeFilter parameter for createNodeIterator() / createTreeWalker().
+ It is supposed to be translated into a *null* NodeFilter. However, WebKit was constructing a
+ NodeFilter in this case.
+
+ Chrome and Firefox do not create a NodeFilter in this case.
+
+ No new tests, already covered by:
+ fast/dom/createNodeIterator-parameters.html
+ fast/dom/createTreeWalker-parameters.html
+
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::JSNodeFilter::toWrapped):
+
2015-08-20 Zalan Bujtas <[email protected]>
Make outline: auto repaint rect inflate more explicit.
Modified: trunk/Source/WebCore/bindings/js/JSNodeFilterCustom.cpp (188744 => 188745)
--- trunk/Source/WebCore/bindings/js/JSNodeFilterCustom.cpp 2015-08-21 02:57:32 UTC (rev 188744)
+++ trunk/Source/WebCore/bindings/js/JSNodeFilterCustom.cpp 2015-08-21 03:05:02 UTC (rev 188745)
@@ -40,6 +40,9 @@
if (value.inherits(JSNodeFilter::info()))
return &JSC::jsCast<JSNodeFilter*>(asObject(value))->impl();
+ if (!value.isObject())
+ return nullptr;
+
RefPtr<NodeFilter> result = NodeFilter::create();
result->setCondition(JSNodeFilterCondition::create(vm, result.get(), value));
return result;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes