<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[188711] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/188711">188711</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-08-20 15:32:10 -0700 (Thu, 20 Aug 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Default value for createNodeIterator() / createTreeWalker()'s whatToShow parameter should be 0xFFFFFFFF
https://bugs.webkit.org/show_bug.cgi?id=148238

Reviewed by Ryosuke Niwa.

Source/WebCore:

Default value for createNodeIterator() / createTreeWalker()'s whatToShow
parameter should be 0xFFFFFFFF as per the specification:
- http://w3c-test.org/dom/traversal/NodeIterator.html
- http://w3c-test.org/dom/traversal/TreeWalker.html

Firefox and Chrome conform to the specification. However, WebKit was
using 0 as default value.

We still don't behave as expected in some cases, as visible from
the checks that are still failing in the new layout tests. Those
will be addressed separately.

Tests: fast/dom/createNodeIterator-parameters.html
       fast/dom/createTreeWalker-parameters.html

* dom/Document.cpp:
(WebCore::Document::createNodeIterator):
(WebCore::Document::createTreeWalker):
(WebCore::Document::scheduleForcedStyleRecalc): Deleted.
(WebCore::Document::scheduleStyleRecalc): Deleted.
* dom/Document.h:
* dom/Document.idl:
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::NodeIterator):
* dom/NodeIterator.h:
(WebCore::NodeIterator::create):
* dom/Traversal.cpp:
(WebCore::NodeIteratorBase::NodeIteratorBase):
* dom/Traversal.h:
(WebCore::NodeIteratorBase::whatToShow):
* dom/TreeWalker.cpp:
(WebCore::TreeWalker::TreeWalker):
* dom/TreeWalker.h:
(WebCore::TreeWalker::create):

LayoutTests:

Add tests for createNodeIterator() / createTreeWalker() parameters.
Some of the checks are still failing.

* fast/dom/createNodeIterator-parameters-expected.txt: Added.
* fast/dom/createNodeIterator-parameters.html: Added.
* fast/dom/createTreeWalker-parameters-expected.txt: Added.
* fast/dom/createTreeWalker-parameters.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCoredomDocumentidl">trunk/Source/WebCore/dom/Document.idl</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorcpp">trunk/Source/WebCore/dom/NodeIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorh">trunk/Source/WebCore/dom/NodeIterator.h</a></li>
<li><a href="#trunkSourceWebCoredomTraversalcpp">trunk/Source/WebCore/dom/Traversal.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTraversalh">trunk/Source/WebCore/dom/Traversal.h</a></li>
<li><a href="#trunkSourceWebCoredomTreeWalkercpp">trunk/Source/WebCore/dom/TreeWalker.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTreeWalkerh">trunk/Source/WebCore/dom/TreeWalker.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastdomcreateNodeIteratorparametersexpectedtxt">trunk/LayoutTests/fast/dom/createNodeIterator-parameters-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomcreateNodeIteratorparametershtml">trunk/LayoutTests/fast/dom/createNodeIterator-parameters.html</a></li>
<li><a href="#trunkLayoutTestsfastdomcreateTreeWalkerparametersexpectedtxt">trunk/LayoutTests/fast/dom/createTreeWalker-parameters-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomcreateTreeWalkerparametershtml">trunk/LayoutTests/fast/dom/createTreeWalker-parameters.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/LayoutTests/ChangeLog        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-08-20  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Default value for createNodeIterator() / createTreeWalker()'s whatToShow parameter should be 0xFFFFFFFF
+        https://bugs.webkit.org/show_bug.cgi?id=148238
+
+        Reviewed by Ryosuke Niwa.
+
+        Add tests for createNodeIterator() / createTreeWalker() parameters.
+        Some of the checks are still failing.
+
+        * fast/dom/createNodeIterator-parameters-expected.txt: Added.
+        * fast/dom/createNodeIterator-parameters.html: Added.
+        * fast/dom/createTreeWalker-parameters-expected.txt: Added.
+        * fast/dom/createTreeWalker-parameters.html: Added.
+
</ins><span class="cx"> 2015-08-20  Nan Wang  &lt;n_wang@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         AX: Re-enable aria-checked-mixed-value.html test for mac
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomcreateNodeIteratorparametersexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/createNodeIterator-parameters-expected.txt (0 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/createNodeIterator-parameters-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/dom/createNodeIterator-parameters-expected.txt        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+Tests parameters of document.createNodeIterator() API.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+* No parameters
+PASS document.createNodeIterator() threw exception TypeError: Not enough arguments.
+
+Default parameters
+iterator = document.createNodeIterator(document)
+PASS iterator.root is document
+PASS iterator.referenceNode is document
+PASS iterator.whatToShow is 0xFFFFFFFF
+PASS iterator.filter is null
+PASS iterator.pointerBeforeReferenceNode is true
+
+Passing null for optional parameters
+iterator = document.createNodeIterator(document, null, null)
+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.pointerBeforeReferenceNode is true
+
+Passing undefined for optional parameters
+iterator = document.createNodeIterator(document, undefined, undefined)
+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.pointerBeforeReferenceNode is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomcreateNodeIteratorparametershtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/createNodeIterator-parameters.html (0 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/createNodeIterator-parameters.html                                (rev 0)
+++ trunk/LayoutTests/fast/dom/createNodeIterator-parameters.html        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;body&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+description(&quot;Tests parameters of document.createNodeIterator() API.&quot;);
+
+debug(&quot;* No parameters&quot;);
+shouldThrow(&quot;document.createNodeIterator()&quot;, &quot;'TypeError: Not enough arguments'&quot;);
+
+debug(&quot;&quot;);
+debug(&quot;Default parameters&quot;);
+evalAndLog(&quot;iterator = document.createNodeIterator(document)&quot;);
+shouldBe(&quot;iterator.root&quot;, &quot;document&quot;);
+shouldBe(&quot;iterator.referenceNode&quot;, &quot;document&quot;);
+shouldBe(&quot;iterator.whatToShow&quot;, &quot;0xFFFFFFFF&quot;);
+shouldBeNull(&quot;iterator.filter&quot;);
+shouldBeTrue(&quot;iterator.pointerBeforeReferenceNode&quot;);
+
+debug(&quot;&quot;);
+debug(&quot;Passing null for optional parameters&quot;);
+evalAndLog(&quot;iterator = document.createNodeIterator(document, null, null)&quot;);
+shouldBe(&quot;iterator.root&quot;, &quot;document&quot;);
+shouldBe(&quot;iterator.referenceNode&quot;, &quot;document&quot;);
+shouldBe(&quot;iterator.whatToShow&quot;, &quot;0&quot;);
+shouldBeNull(&quot;iterator.filter&quot;);
+shouldBeTrue(&quot;iterator.pointerBeforeReferenceNode&quot;);
+
+debug(&quot;&quot;);
+debug(&quot;Passing undefined for optional parameters&quot;);
+evalAndLog(&quot;iterator = document.createNodeIterator(document, undefined, undefined)&quot;);
+shouldBe(&quot;iterator.root&quot;, &quot;document&quot;);
+shouldBe(&quot;iterator.referenceNode&quot;, &quot;document&quot;);
+shouldBe(&quot;iterator.whatToShow&quot;, &quot;0xFFFFFFFF&quot;);
+shouldBeNull(&quot;iterator.filter&quot;);
+shouldBeTrue(&quot;iterator.pointerBeforeReferenceNode&quot;);
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomcreateTreeWalkerparametersexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/createTreeWalker-parameters-expected.txt (0 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/createTreeWalker-parameters-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/dom/createTreeWalker-parameters-expected.txt        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+Tests parameters of document.createTreeWalker() API.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+* No parameters
+PASS document.createTreeWalker() threw exception TypeError: Not enough arguments.
+
+Default parameters
+walker = document.createTreeWalker(document)
+PASS walker.root is document
+PASS walker.currentNode is document
+PASS walker.whatToShow is 0xFFFFFFFF
+PASS walker.filter is null
+
+Passing null for optional parameters
+walker = document.createTreeWalker(document, null, null)
+PASS walker.root is document
+PASS walker.currentNode is document
+PASS walker.whatToShow is 0
+FAIL walker.filter should be null. Was [object NodeFilter].
+
+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 successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomcreateTreeWalkerparametershtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/createTreeWalker-parameters.html (0 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/createTreeWalker-parameters.html                                (rev 0)
+++ trunk/LayoutTests/fast/dom/createTreeWalker-parameters.html        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;body&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+description(&quot;Tests parameters of document.createTreeWalker() API.&quot;);
+
+debug(&quot;* No parameters&quot;);
+shouldThrow(&quot;document.createTreeWalker()&quot;, &quot;'TypeError: Not enough arguments'&quot;);
+
+debug(&quot;&quot;);
+debug(&quot;Default parameters&quot;);
+evalAndLog(&quot;walker = document.createTreeWalker(document)&quot;);
+shouldBe(&quot;walker.root&quot;, &quot;document&quot;);
+shouldBe(&quot;walker.currentNode&quot;, &quot;document&quot;);
+shouldBe(&quot;walker.whatToShow&quot;, &quot;0xFFFFFFFF&quot;);
+shouldBeNull(&quot;walker.filter&quot;);
+
+debug(&quot;&quot;);
+debug(&quot;Passing null for optional parameters&quot;);
+evalAndLog(&quot;walker = document.createTreeWalker(document, null, null)&quot;);
+shouldBe(&quot;walker.root&quot;, &quot;document&quot;);
+shouldBe(&quot;walker.currentNode&quot;, &quot;document&quot;);
+shouldBe(&quot;walker.whatToShow&quot;, &quot;0&quot;);
+shouldBeNull(&quot;walker.filter&quot;);
+
+debug(&quot;&quot;);
+debug(&quot;Passing undefined for optional parameters&quot;);
+evalAndLog(&quot;walker = document.createTreeWalker(document, undefined, undefined)&quot;);
+shouldBe(&quot;walker.root&quot;, &quot;document&quot;);
+shouldBe(&quot;walker.currentNode&quot;, &quot;document&quot;);
+shouldBe(&quot;walker.whatToShow&quot;, &quot;0xFFFFFFFF&quot;);
+shouldBeNull(&quot;walker.filter&quot;);
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/ChangeLog        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -1,3 +1,45 @@
</span><ins>+2015-08-20  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Default value for createNodeIterator() / createTreeWalker()'s whatToShow parameter should be 0xFFFFFFFF
+        https://bugs.webkit.org/show_bug.cgi?id=148238
+
+        Reviewed by Ryosuke Niwa.
+
+        Default value for createNodeIterator() / createTreeWalker()'s whatToShow
+        parameter should be 0xFFFFFFFF as per the specification:
+        - http://w3c-test.org/dom/traversal/NodeIterator.html
+        - http://w3c-test.org/dom/traversal/TreeWalker.html
+
+        Firefox and Chrome conform to the specification. However, WebKit was
+        using 0 as default value.
+
+        We still don't behave as expected in some cases, as visible from
+        the checks that are still failing in the new layout tests. Those
+        will be addressed separately.
+
+        Tests: fast/dom/createNodeIterator-parameters.html
+               fast/dom/createTreeWalker-parameters.html
+
+        * dom/Document.cpp:
+        (WebCore::Document::createNodeIterator):
+        (WebCore::Document::createTreeWalker):
+        (WebCore::Document::scheduleForcedStyleRecalc): Deleted.
+        (WebCore::Document::scheduleStyleRecalc): Deleted.
+        * dom/Document.h:
+        * dom/Document.idl:
+        * dom/NodeIterator.cpp:
+        (WebCore::NodeIterator::NodeIterator):
+        * dom/NodeIterator.h:
+        (WebCore::NodeIterator::create):
+        * dom/Traversal.cpp:
+        (WebCore::NodeIteratorBase::NodeIteratorBase):
+        * dom/Traversal.h:
+        (WebCore::NodeIteratorBase::whatToShow):
+        * dom/TreeWalker.cpp:
+        (WebCore::TreeWalker::TreeWalker):
+        * dom/TreeWalker.h:
+        (WebCore::TreeWalker::create):
+
</ins><span class="cx"> 2015-08-20  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Stop using cancelCallOnMainThread in MediaPlayerPrivateAVFoundation
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/Document.cpp        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -1694,23 +1694,13 @@
</span><span class="cx">     return Range::create(*this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;NodeIterator&gt; Document::createNodeIterator(Node* root, unsigned whatToShow, 
-    PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;NodeIterator&gt; Document::createNodeIterator(Node* root, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</ins><span class="cx"> {
</span><del>-    if (!root) {
-        ec = NOT_SUPPORTED_ERR;
-        return nullptr;
-    }
</del><span class="cx">     return NodeIterator::create(root, whatToShow, filter, expandEntityReferences);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;TreeWalker&gt; Document::createTreeWalker(Node* root, unsigned whatToShow, 
-    PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;TreeWalker&gt; Document::createTreeWalker(Node* root, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</ins><span class="cx"> {
</span><del>-    if (!root) {
-        ec = NOT_SUPPORTED_ERR;
-        return nullptr;
-    }
</del><span class="cx">     return TreeWalker::create(root, whatToShow, filter, expandEntityReferences);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/Document.h        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -536,11 +536,9 @@
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT Ref&lt;Range&gt; createRange();
</span><span class="cx"> 
</span><del>-    RefPtr&lt;NodeIterator&gt; createNodeIterator(Node* root, unsigned whatToShow,
-        PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences, ExceptionCode&amp;);
</del><ins>+    RefPtr&lt;NodeIterator&gt; createNodeIterator(Node* root, unsigned long whatToShow = 0xFFFFFFFF, PassRefPtr&lt;NodeFilter&gt; = nullptr, bool expandEntityReferences = false);
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;TreeWalker&gt; createTreeWalker(Node* root, unsigned whatToShow,
-        PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences, ExceptionCode&amp;);
</del><ins>+    RefPtr&lt;TreeWalker&gt; createTreeWalker(Node* root, unsigned long whatToShow = 0xFFFFFFFF, PassRefPtr&lt;NodeFilter&gt; = nullptr, bool expandEntityReferences = false);
</ins><span class="cx"> 
</span><span class="cx">     // Special support for editing
</span><span class="cx">     Ref&lt;CSSStyleDeclaration&gt; createCSSStyleDeclaration();
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.idl (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.idl        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/Document.idl        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -83,14 +83,14 @@
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 2 Tranversal and Range (DocumentTraversal interface)
</span><span class="cx"> 
</span><del>-    [ObjCLegacyUnnamedParameters, RaisesException] NodeIterator createNodeIterator([Default=Undefined] optional Node root,
-                                                   [Default=Undefined] optional unsigned long whatToShow,
-                                                   [Default=Undefined] optional NodeFilter filter,
-                                                   [Default=Undefined] optional boolean expandEntityReferences);
-    [ObjCLegacyUnnamedParameters, RaisesException] TreeWalker createTreeWalker([Default=Undefined] optional Node root,
-                                               [Default=Undefined] optional unsigned long whatToShow,
-                                               [Default=Undefined] optional NodeFilter filter,
-                                               [Default=Undefined] optional boolean expandEntityReferences);
</del><ins>+    [ObjCLegacyUnnamedParameters] NodeIterator createNodeIterator(Node root,
+        optional unsigned long whatToShow,
+        optional NodeFilter? filter,
+        optional boolean expandEntityReferences);
+    [ObjCLegacyUnnamedParameters] TreeWalker createTreeWalker(Node root,
+        optional unsigned long whatToShow,
+        optional NodeFilter? filter,
+        optional boolean expandEntityReferences);
</ins><span class="cx"> 
</span><span class="cx">     // DOM Level 2 Abstract Views (DocumentView interface)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.cpp (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.cpp        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/NodeIterator.cpp        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     return node;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NodeIterator::NodeIterator(PassRefPtr&lt;Node&gt; rootNode, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</del><ins>+NodeIterator::NodeIterator(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</ins><span class="cx">     : NodeIteratorBase(rootNode, whatToShow, filter, expandEntityReferences)
</span><span class="cx">     , m_referenceNode(root(), true)
</span><span class="cx">     , m_detached(false)
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.h (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.h        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/NodeIterator.h        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     class NodeIterator : public ScriptWrappable, public RefCounted&lt;NodeIterator&gt;, public NodeIteratorBase {
</span><span class="cx">     public:
</span><del>-        static Ref&lt;NodeIterator&gt; create(PassRefPtr&lt;Node&gt; rootNode, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</del><ins>+        static Ref&lt;NodeIterator&gt; create(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</ins><span class="cx">         {
</span><span class="cx">             return adoptRef(*new NodeIterator(rootNode, whatToShow, filter, expandEntityReferences));
</span><span class="cx">         }
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">         PassRefPtr&lt;Node&gt; previousNode(ExceptionCode&amp; ec) { return previousNode(execStateFromNode(mainThreadNormalWorld(), referenceNode()), ec); }
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        NodeIterator(PassRefPtr&lt;Node&gt;, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences);
</del><ins>+        NodeIterator(PassRefPtr&lt;Node&gt;, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences);
</ins><span class="cx"> 
</span><span class="cx">         struct NodePointer {
</span><span class="cx">             RefPtr&lt;Node&gt; node;
</span></span></pre></div>
<a id="trunkSourceWebCoredomTraversalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Traversal.cpp (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Traversal.cpp        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/Traversal.cpp        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-NodeIteratorBase::NodeIteratorBase(PassRefPtr&lt;Node&gt; rootNode, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt; nodeFilter, bool expandEntityReferences)
</del><ins>+NodeIteratorBase::NodeIteratorBase(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; nodeFilter, bool expandEntityReferences)
</ins><span class="cx">     : m_root(rootNode)
</span><span class="cx">     , m_whatToShow(whatToShow)
</span><span class="cx">     , m_filter(nodeFilter)
</span></span></pre></div>
<a id="trunkSourceWebCoredomTraversalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Traversal.h (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Traversal.h        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/Traversal.h        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -36,17 +36,17 @@
</span><span class="cx">     class NodeIteratorBase {
</span><span class="cx">     public:
</span><span class="cx">         Node* root() const { return m_root.get(); }
</span><del>-        unsigned whatToShow() const { return m_whatToShow; }
</del><ins>+        unsigned long whatToShow() const { return m_whatToShow; }
</ins><span class="cx">         NodeFilter* filter() const { return m_filter.get(); }
</span><span class="cx">         bool expandEntityReferences() const { return m_expandEntityReferences; }
</span><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        NodeIteratorBase(PassRefPtr&lt;Node&gt;, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences);
</del><ins>+        NodeIteratorBase(PassRefPtr&lt;Node&gt;, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences);
</ins><span class="cx">         short acceptNode(JSC::ExecState*, Node*) const;
</span><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         RefPtr&lt;Node&gt; m_root;
</span><del>-        unsigned m_whatToShow;
</del><ins>+        unsigned long m_whatToShow;
</ins><span class="cx">         RefPtr&lt;NodeFilter&gt; m_filter;
</span><span class="cx">         bool m_expandEntityReferences;
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkSourceWebCoredomTreeWalkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TreeWalker.cpp (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TreeWalker.cpp        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/TreeWalker.cpp        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-TreeWalker::TreeWalker(PassRefPtr&lt;Node&gt; rootNode, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</del><ins>+TreeWalker::TreeWalker(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</ins><span class="cx">     : NodeIteratorBase(rootNode, whatToShow, filter, expandEntityReferences)
</span><span class="cx">     , m_current(root())
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoredomTreeWalkerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TreeWalker.h (188710 => 188711)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TreeWalker.h        2015-08-20 22:15:00 UTC (rev 188710)
+++ trunk/Source/WebCore/dom/TreeWalker.h        2015-08-20 22:32:10 UTC (rev 188711)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     class TreeWalker : public ScriptWrappable, public RefCounted&lt;TreeWalker&gt;, public NodeIteratorBase {
</span><span class="cx">     public:
</span><del>-        static Ref&lt;TreeWalker&gt; create(PassRefPtr&lt;Node&gt; rootNode, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</del><ins>+        static Ref&lt;TreeWalker&gt; create(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</ins><span class="cx">         {
</span><span class="cx">             return adoptRef(*new TreeWalker(rootNode, whatToShow, filter, expandEntityReferences));
</span><span class="cx">         }                            
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">         Node* nextNode() { return nextNode(execStateFromNode(mainThreadNormalWorld(), m_current.get())); }
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        TreeWalker(PassRefPtr&lt;Node&gt;, unsigned whatToShow, PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences);
</del><ins>+        TreeWalker(PassRefPtr&lt;Node&gt;, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences);
</ins><span class="cx">         
</span><span class="cx">         Node* setCurrent(PassRefPtr&lt;Node&gt;);
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>