<!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>[189677] 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/189677">189677</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-09-13 20:04:47 -0700 (Sun, 13 Sep 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Node.baseURI should not return null for detached nodes
https://bugs.webkit.org/show_bug.cgi?id=149104
&lt;rdar://problem/22559535&gt;

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

* web-platform-tests/dom/nodes/Node-baseURI-expected.txt:

Source/WebCore:

Node.baseURI should not return null for detached nodes. It should return
the node document's base URL. The node document is set when the node is
created so it is valid even if the node is detached [1]:
https://dom.spec.whatwg.org/#dom-node-baseuri

WebKit was traversing the ancestors to find the base URL, which only
works if the node is attached. Also, WebKit was taking into account
the xml:base attribute when computing the baseURI.

Both Chrome and Firefox already dropped support for xml:base:
https://code.google.com/p/chromium/issues/detail?id=341854
https://bugzilla.mozilla.org/show_bug.cgi?id=903372

Firefox complies with the specification. Chrome's baseURI still only
works for attached Nodes as their implementation still traverses the
DOM tree, despite dropping support for xml:base.

This patch drops support xml:base when computing Node.baseURI, as
Firefox, Chrome and the latest DOM specification do. It also makes
Node.baseURI work for detached Nodes by returning the base URL of the
node Document. This means we no longer have to traverse the Node's
ancestors in the DOM tree. This is consistent with the behavior of
Firefox and the latest DOM specification.

This patch does not drop the SVGElement.xmlbase attribute yet. However,
we should probably consider making this change as well given that:
- The SVG2 specification dropped it
- Chrome dropped it.
- It no longers impacts Node.baseURI

[1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976

No new tests, already covered by existing test.

* dom/Document.cpp:
(WebCore::Document::setContent): Deleted.
* dom/Document.h:
(WebCore::Document::inputCursor): Deleted.
* dom/DocumentType.cpp:
(WebCore::DocumentType::nodeName): Deleted.
* dom/DocumentType.h:
* dom/Element.cpp:
(WebCore::Element::imageSourceURL): Deleted.
(WebCore::Element::rendererIsNeeded): Deleted.
(WebCore::Element::createElementRenderer): Deleted.
(WebCore::Element::insertedInto): Deleted.
* dom/Element.h:
* dom/Node.cpp:
(WebCore::Node::baseURI):
* dom/Node.h:
* svg/SVGElement.idl:

LayoutTests:

* dom/xhtml/level3/core/nodegetbaseuri03-expected.txt:
Rebaseline outdated DOM3 test.

* svg/custom/image-base-uri-expected.txt: Removed.
* svg/custom/image-base-uri.svg: Removed.
Drop outdated SVG test. SVG2 no longer support xml:base.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsdomxhtmllevel3corenodegetbaseuri03expectedtxt">trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03-expected.txt</a></li>
<li><a href="#trunkLayoutTestsdomxhtmllevel3corenodegetbaseuri03js">trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomnodesNodebaseURIexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-baseURI-expected.txt</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="#trunkSourceWebCoredomDocumentTypecpp">trunk/Source/WebCore/dom/DocumentType.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentTypeh">trunk/Source/WebCore/dom/DocumentType.h</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementh">trunk/Source/WebCore/dom/Element.h</a></li>
<li><a href="#trunkSourceWebCoredomNodecpp">trunk/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeh">trunk/Source/WebCore/dom/Node.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementidl">trunk/Source/WebCore/svg/SVGElement.idl</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestssvgcustomimagebaseuriexpectedtxt">trunk/LayoutTests/svg/custom/image-base-uri-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomimagebaseurisvg">trunk/LayoutTests/svg/custom/image-base-uri.svg</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/LayoutTests/ChangeLog        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1,5 +1,20 @@
</span><span class="cx"> 2015-09-13  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Node.baseURI should not return null for detached nodes
+        https://bugs.webkit.org/show_bug.cgi?id=149104
+        &lt;rdar://problem/22559535&gt;
+
+        Reviewed by Sam Weinig.
+
+        * dom/xhtml/level3/core/nodegetbaseuri03-expected.txt:
+        Rebaseline outdated DOM3 test.
+
+        * svg/custom/image-base-uri-expected.txt: Removed.
+        * svg/custom/image-base-uri.svg: Removed.
+        Drop outdated SVG test. SVG2 no longer support xml:base.
+
+2015-09-13  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         CharacterData API parameters should not be optional
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=149101
</span><span class="cx">         &lt;rdar://problem/22546954&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsdomxhtmllevel3corenodegetbaseuri03expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03-expected.txt (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03-expected.txt        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03-expected.txt        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1,2 +1,3 @@
</span><span class="cx"> Test        http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetbaseuri03
</span><del>-Status        Success
</del><ins>+Status        failure
+Message        nodegetbaseuri03: assertTrue failed
</ins></span></pre></div>
<a id="trunkLayoutTestsdomxhtmllevel3corenodegetbaseuri03js"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03.js (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03.js        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/LayoutTests/dom/xhtml/level3/core/nodegetbaseuri03.js        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx"> 
</span><span class="cx">       baseURI = docType.baseURI;
</span><span class="cx"> 
</span><del>-      assertNull(&quot;nodegetbaseuri03&quot;,baseURI);
</del><ins>+      assertTrue(&quot;nodegetbaseuri03&quot;, baseURI == null);
</ins><span class="cx">     
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1,5 +1,17 @@
</span><span class="cx"> 2015-09-13  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Node.baseURI should not return null for detached nodes
+        https://bugs.webkit.org/show_bug.cgi?id=149104
+        &lt;rdar://problem/22559535&gt;
+
+        Reviewed by Sam Weinig.
+
+        Rebaseline W3C test now that more checks are passing.
+
+        * web-platform-tests/dom/nodes/Node-baseURI-expected.txt:
+
+2015-09-13  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         CharacterData API parameters should not be optional
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=149101
</span><span class="cx">         &lt;rdar://problem/22546954&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomnodesNodebaseURIexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-baseURI-expected.txt (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-baseURI-expected.txt        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-baseURI-expected.txt        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> 
</span><span class="cx"> PASS For elements belonging to document, baseURI should be document url 
</span><del>-FAIL For elements unassigned to document, baseURI should be document url assert_equals: expected (string) &quot;http://localhost:8800/dom/nodes/Node-baseURI.html&quot; but got (object) null
-FAIL For elements belonging to document fragments, baseURI should be document url assert_equals: expected (string) &quot;http://localhost:8800/dom/nodes/Node-baseURI.html&quot; but got (object) null
</del><ins>+PASS For elements unassigned to document, baseURI should be document url 
+PASS For elements belonging to document fragments, baseURI should be document url 
</ins><span class="cx"> PASS After inserting fragment into document, element baseURI should be document url 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomimagebaseuriexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/svg/custom/image-base-uri-expected.txt (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/image-base-uri-expected.txt        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/LayoutTests/svg/custom/image-base-uri-expected.txt        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1,2 +0,0 @@
</span><del>-PASS
-
</del></span></pre></div>
<a id="trunkLayoutTestssvgcustomimagebaseurisvg"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/svg/custom/image-base-uri.svg (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/image-base-uri.svg        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/LayoutTests/svg/custom/image-base-uri.svg        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;
-  &lt;script type=&quot;text/javascript&quot;&gt;
-  &lt;![CDATA[
-    if (window.testRunner)
-        testRunner.dumpAsText();
-    var txt = document.createElementNS('http://www.w3.org/2000/svg', &quot;text&quot;);
-    txt.setAttribute(&quot;id&quot;, &quot;console&quot;);
-    txt.textContent = &quot;PASS&quot;;
-    document.rootElement.appendChild(txt);
-    var ie = document.createElementNS('http://www.w3.org/2000/svg', &quot;image&quot;);
-    ie.onerror = function() { document.getElementById(&quot;console&quot;).textContent = &quot;FAIL&quot;; }
-    ie.setAttribute(&quot;x&quot;, &quot;0&quot;);
-    ie.setAttribute(&quot;y&quot;, &quot;0&quot;);
-    ie.setAttribute(&quot;width&quot;, &quot;100&quot;);
-    ie.setAttribute(&quot;height&quot;, &quot;100&quot;);
-    ie.setAttributeNS(&quot;http://www.w3.org/XML/1998/namespace&quot;, &quot;xml:base&quot;, &quot;resources/&quot;);
-    ie.setAttributeNS(&quot;http://www.w3.org/1999/xlink&quot;, &quot;xlink:href&quot;, &quot;green-checker.png&quot;);
-    document.rootElement.appendChild(ie);
-  ]]&gt;
-  &lt;/script&gt;
-&lt;/svg&gt;
</del></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/ChangeLog        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1,5 +1,65 @@
</span><span class="cx"> 2015-09-13  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Node.baseURI should not return null for detached nodes
+        https://bugs.webkit.org/show_bug.cgi?id=149104
+        &lt;rdar://problem/22559535&gt;
+
+        Reviewed by Sam Weinig.
+
+        Node.baseURI should not return null for detached nodes. It should return
+        the node document's base URL. The node document is set when the node is
+        created so it is valid even if the node is detached [1]:
+        https://dom.spec.whatwg.org/#dom-node-baseuri
+
+        WebKit was traversing the ancestors to find the base URL, which only
+        works if the node is attached. Also, WebKit was taking into account
+        the xml:base attribute when computing the baseURI.
+
+        Both Chrome and Firefox already dropped support for xml:base:
+        https://code.google.com/p/chromium/issues/detail?id=341854
+        https://bugzilla.mozilla.org/show_bug.cgi?id=903372
+
+        Firefox complies with the specification. Chrome's baseURI still only
+        works for attached Nodes as their implementation still traverses the
+        DOM tree, despite dropping support for xml:base.
+
+        This patch drops support xml:base when computing Node.baseURI, as
+        Firefox, Chrome and the latest DOM specification do. It also makes
+        Node.baseURI work for detached Nodes by returning the base URL of the
+        node Document. This means we no longer have to traverse the Node's
+        ancestors in the DOM tree. This is consistent with the behavior of
+        Firefox and the latest DOM specification.
+
+        This patch does not drop the SVGElement.xmlbase attribute yet. However,
+        we should probably consider making this change as well given that:
+        - The SVG2 specification dropped it
+        - Chrome dropped it.
+        - It no longers impacts Node.baseURI
+
+        [1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976
+
+        No new tests, already covered by existing test.
+
+        * dom/Document.cpp:
+        (WebCore::Document::setContent): Deleted.
+        * dom/Document.h:
+        (WebCore::Document::inputCursor): Deleted.
+        * dom/DocumentType.cpp:
+        (WebCore::DocumentType::nodeName): Deleted.
+        * dom/DocumentType.h:
+        * dom/Element.cpp:
+        (WebCore::Element::imageSourceURL): Deleted.
+        (WebCore::Element::rendererIsNeeded): Deleted.
+        (WebCore::Element::createElementRenderer): Deleted.
+        (WebCore::Element::insertedInto): Deleted.
+        * dom/Element.h:
+        * dom/Node.cpp:
+        (WebCore::Node::baseURI):
+        * dom/Node.h:
+        * svg/SVGElement.idl:
+
+2015-09-13  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         CharacterData API parameters should not be optional
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=149101
</span><span class="cx">         &lt;rdar://problem/22546954&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/Document.cpp        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1319,11 +1319,6 @@
</span><span class="cx">     updateBaseURL();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-URL Document::baseURI() const
-{
-    return m_baseURL;
-}
-
</del><span class="cx"> void Document::setContent(const String&amp; content)
</span><span class="cx"> {
</span><span class="cx">     open();
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/Document.h        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -432,8 +432,6 @@
</span><span class="cx">     String documentURI() const { return m_documentURI; }
</span><span class="cx">     void setDocumentURI(const String&amp;);
</span><span class="cx"> 
</span><del>-    virtual URL baseURI() const override final;
-
</del><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><span class="cx">     JSC::InputCursor&amp; inputCursor() const { return *m_inputCursor; }
</span><span class="cx">     void setInputCursor(PassRefPtr&lt;JSC::InputCursor&gt;);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentType.cpp (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentType.cpp        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/DocumentType.cpp        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -36,11 +36,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-URL DocumentType::baseURI() const
-{
-    return URL();
-}
-
</del><span class="cx"> String DocumentType::nodeName() const
</span><span class="cx"> {
</span><span class="cx">     return name();
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentType.h (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentType.h        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/DocumentType.h        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -49,7 +49,6 @@
</span><span class="cx"> private:
</span><span class="cx">     DocumentType(Document&amp;, const String&amp; name, const String&amp; publicId, const String&amp; systemId);
</span><span class="cx"> 
</span><del>-    virtual URL baseURI() const override;
</del><span class="cx">     virtual String nodeName() const override;
</span><span class="cx">     virtual NodeType nodeType() const override;
</span><span class="cx">     virtual Ref&lt;Node&gt; cloneNodeInternal(Document&amp;, CloningOperation) override;
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/Element.cpp        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1468,24 +1468,6 @@
</span><span class="cx">     m_tagName.setPrefix(prefix.isEmpty() ? AtomicString() : prefix);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-URL Element::baseURI() const
-{
-    const AtomicString&amp; baseAttribute = getAttribute(baseAttr);
-    URL base(URL(), baseAttribute);
-    if (!base.protocol().isEmpty())
-        return base;
-
-    ContainerNode* parent = parentNode();
-    if (!parent)
-        return base;
-
-    const URL&amp; parentBase = parent-&gt;baseURI();
-    if (parentBase.isNull())
-        return base;
-
-    return URL(parentBase, baseAttribute);
-}
-
</del><span class="cx"> const AtomicString&amp; Element::imageSourceURL() const
</span><span class="cx"> {
</span><span class="cx">     return fastGetAttribute(srcAttr);
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.h (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.h        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/Element.h        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -197,8 +197,6 @@
</span><span class="cx">     virtual const AtomicString&amp; prefix() const override final { return m_tagName.prefix(); }
</span><span class="cx">     virtual const AtomicString&amp; namespaceURI() const override final { return m_tagName.namespaceURI(); }
</span><span class="cx"> 
</span><del>-    virtual URL baseURI() const override final;
-
</del><span class="cx">     virtual String nodeName() const override;
</span><span class="cx"> 
</span><span class="cx">     Ref&lt;Element&gt; cloneElementWithChildren(Document&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/Node.cpp        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -1165,7 +1165,7 @@
</span><span class="cx"> 
</span><span class="cx"> URL Node::baseURI() const
</span><span class="cx"> {
</span><del>-    return parentNode() ? parentNode()-&gt;baseURI() : URL();
</del><ins>+    return document().baseURL();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Node::isEqualNode(Node* other) const
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.h (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.h        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/dom/Node.h        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx">     Node* pseudoAwareFirstChild() const;
</span><span class="cx">     Node* pseudoAwareLastChild() const;
</span><span class="cx"> 
</span><del>-    virtual URL baseURI() const;
</del><ins>+    URL baseURI() const;
</ins><span class="cx">     
</span><span class="cx">     void getSubresourceURLs(ListHashSet&lt;URL&gt;&amp;) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElement.idl (189676 => 189677)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElement.idl        2015-09-14 02:42:06 UTC (rev 189676)
+++ trunk/Source/WebCore/svg/SVGElement.idl        2015-09-14 03:04:47 UTC (rev 189677)
</span><span class="lines">@@ -23,7 +23,9 @@
</span><span class="cx"> [
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx"> ] interface SVGElement : Element {
</span><ins>+    // FIXME: the xmlbase attribute is no longer part of SVG2 and Chrome already dropped it.
</ins><span class="cx">     [TreatNullAs=NullString, SetterRaisesException] attribute DOMString xmlbase;
</span><ins>+
</ins><span class="cx">     readonly attribute SVGSVGElement ownerSVGElement;
</span><span class="cx">     readonly attribute SVGElement viewportElement;
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>