<!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>[204246] 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/204246">204246</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-08-07 18:33:38 -0700 (Sun, 07 Aug 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Drop SVGDocument as per the SVG2 specification
https://bugs.webkit.org/show_bug.cgi?id=160361

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

* web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:

Source/WebCore:

Drop SVGDocument as per the SVG2 specification:
- https://www.w3.org/TR/SVG2/struct.html#InterfaceDocumentExtensions

SVGDocument has been merged into Document.

Chrome and Edge have dropped SVGDocument already, Firefox has not.

No new tests, rebaselined existing test.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::createNewDocumentWrapper): Deleted.
* bindings/js/JSXMLDocumentCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS): Deleted.
* page/DOMWindow.idl:
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
(WebCore::SVGDocument::zoomAndPanEnabled):
(WebCore::SVGDocument::startPan):
(WebCore::SVGDocument::updatePan):
* svg/SVGDocument.h:
* svg/SVGDocument.idl:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::rootElement):

LayoutTests:

Update / rebaseline existing tests to reflect behavior change.

* platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
* svg/custom/clone-node-expected.txt:
* svg/custom/clone-node.html:
* svg/custom/frame-getSVGDocument.html:
* svg/custom/global-constructors-expected.txt:
* svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt:
* svg/custom/script-tests/global-constructors.js:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDOMImplementationcreateDocumentexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgcustomdynamicsvgdocumentcreationexpectedtxt">trunk/LayoutTests/platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomclonenodeexpectedtxt">trunk/LayoutTests/svg/custom/clone-node-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomclonenodehtml">trunk/LayoutTests/svg/custom/clone-node.html</a></li>
<li><a href="#trunkLayoutTestssvgcustomframegetSVGDocumentexpectedtxt">trunk/LayoutTests/svg/custom/frame-getSVGDocument-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomframegetSVGDocumenthtml">trunk/LayoutTests/svg/custom/frame-getSVGDocument.html</a></li>
<li><a href="#trunkLayoutTestssvgcustomglobalconstructorsexpectedtxt">trunk/LayoutTests/svg/custom/global-constructors-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustommanuallyparsedsvgallowedindashboardexpectedtxt">trunk/LayoutTests/svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomscripttestsglobalconstructorsjs">trunk/LayoutTests/svg/custom/script-tests/global-constructors.js</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSXMLDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSXMLDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowidl">trunk/Source/WebCore/page/DOMWindow.idl</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGDocumentcpp">trunk/Source/WebCore/svg/SVGDocument.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGDocumenth">trunk/Source/WebCore/svg/SVGDocument.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGDocumentidl">trunk/Source/WebCore/svg/SVGDocument.idl</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImagecpp">trunk/Source/WebCore/svg/graphics/SVGImage.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/ChangeLog        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -1,5 +1,22 @@
</span><span class="cx"> 2016-08-07  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Drop SVGDocument as per the SVG2 specification
+        https://bugs.webkit.org/show_bug.cgi?id=160361
+
+        Reviewed by Darin Adler.
+
+        Update / rebaseline existing tests to reflect behavior change.
+
+        * platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
+        * svg/custom/clone-node-expected.txt:
+        * svg/custom/clone-node.html:
+        * svg/custom/frame-getSVGDocument.html:
+        * svg/custom/global-constructors-expected.txt:
+        * svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt:
+        * svg/custom/script-tests/global-constructors.js:
+
+2016-08-07  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         Un-expose DOMSettableTokenList
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=160643
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -1,5 +1,16 @@
</span><span class="cx"> 2016-08-07  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Drop SVGDocument as per the SVG2 specification
+        https://bugs.webkit.org/show_bug.cgi?id=160361
+
+        Reviewed by Darin Adler.
+
+        Rebaseline W3C test now that one more check is passing.
+
+        * web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
+
+2016-08-07  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         Un-expose DOMSettableTokenList
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=160643
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDOMImplementationcreateDocumentexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -340,7 +340,7 @@
</span><span class="cx"> PASS createDocument test 179: &quot;http://www.w3.org/1999/xhtml&quot;,&quot;&quot;,null,null 
</span><span class="cx"> PASS createDocument test 179: metadata for &quot;http://www.w3.org/1999/xhtml&quot;,&quot;&quot;,null 
</span><span class="cx"> PASS createDocument test 179: characterSet aliases for &quot;http://www.w3.org/1999/xhtml&quot;,&quot;&quot;,null 
</span><del>-FAIL createDocument test 180: &quot;http://www.w3.org/2000/svg&quot;,&quot;&quot;,null,null assert_equals: expected object &quot;[object XMLDocumentPrototype]&quot; but got object &quot;[object SVGDocumentPrototype]&quot;
</del><ins>+PASS createDocument test 180: &quot;http://www.w3.org/2000/svg&quot;,&quot;&quot;,null,null 
</ins><span class="cx"> PASS createDocument test 180: metadata for &quot;http://www.w3.org/2000/svg&quot;,&quot;&quot;,null 
</span><span class="cx"> PASS createDocument test 180: characterSet aliases for &quot;http://www.w3.org/2000/svg&quot;,&quot;&quot;,null 
</span><span class="cx"> PASS createDocument test 181: &quot;http://www.w3.org/1998/Math/MathML&quot;,&quot;&quot;,null,null 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgcustomdynamicsvgdocumentcreationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -9,8 +9,8 @@
</span><span class="cx">             RenderText {#text} at (0,0) size 541x18
</span><span class="cx">               text run at (0,0) width 541: &quot;This tests assures dynamic SVGDocument creation via DOMParser interface works.&quot;
</span><span class="cx">           RenderBlock {div} at (0,18) size 800x18
</span><del>-            RenderText {#text} at (0,0) size 633x18
-              text run at (0,0) width 633: &quot;DOMParser.parseFromString returned: [object SVGDocument] should be: [object SVGDocument]&quot;
</del><ins>+            RenderText {#text} at (0,0) size 637x18
+              text run at (0,0) width 637: &quot;DOMParser.parseFromString returned: [object XMLDocument] should be: [object SVGDocument]&quot;
</ins><span class="cx">           RenderBlock {div} at (0,36) size 800x18
</span><span class="cx">             RenderText {#text} at (0,0) size 616x18
</span><span class="cx">               text run at (0,0) width 616: &quot;SVGDocument's rootElement: [object SVGSVGElement] should be: [object SVGSVGElement]&quot;
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomclonenodeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/clone-node-expected.txt (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/clone-node-expected.txt        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/svg/custom/clone-node-expected.txt        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -3,8 +3,8 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-PASS svgDoc.cloneNode(false).__proto__ is SVGDocument.prototype
-PASS className(svgDoc.cloneNode(false)) is &quot;SVGDocument&quot;
</del><ins>+PASS svgDoc.cloneNode(false).__proto__ is XMLDocument.prototype
+PASS className(svgDoc.cloneNode(false)) is &quot;XMLDocument&quot;
</ins><span class="cx"> PASS svgDoc.cloneNode(true).compatMode is &quot;CSS1Compat&quot;
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomclonenodehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/clone-node.html (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/clone-node.html        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/svg/custom/clone-node.html        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -10,8 +10,8 @@
</span><span class="cx"> 
</span><span class="cx"> var svgDoc = document.implementation.createDocument('http://www.w3.org/2000/svg', 'svg', null);
</span><span class="cx"> 
</span><del>-shouldBe('svgDoc.cloneNode(false).__proto__', 'SVGDocument.prototype');
-shouldBeEqualToString('className(svgDoc.cloneNode(false))', 'SVGDocument');
</del><ins>+shouldBe('svgDoc.cloneNode(false).__proto__', 'XMLDocument.prototype');
+shouldBeEqualToString('className(svgDoc.cloneNode(false))', 'XMLDocument');
</ins><span class="cx"> shouldBeEqualToString('svgDoc.cloneNode(true).compatMode', 'CSS1Compat');
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomframegetSVGDocumentexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/frame-getSVGDocument-expected.txt (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/frame-getSVGDocument-expected.txt        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/svg/custom/frame-getSVGDocument-expected.txt        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -4,13 +4,13 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS !!frame.getSVGDocument is true
</span><del>-PASS frame.getSVGDocument().toString() is &quot;[object SVGDocument]&quot;
</del><ins>+PASS frame.getSVGDocument().toString() is &quot;[object XMLDocument]&quot;
</ins><span class="cx"> PASS !!iframe.getSVGDocument is true
</span><del>-PASS iframe.getSVGDocument().toString() is &quot;[object SVGDocument]&quot;
</del><ins>+PASS iframe.getSVGDocument().toString() is &quot;[object XMLDocument]&quot;
</ins><span class="cx"> PASS !!embed.getSVGDocument is true
</span><del>-PASS embed.getSVGDocument().toString() is &quot;[object SVGDocument]&quot;
</del><ins>+PASS embed.getSVGDocument().toString() is &quot;[object XMLDocument]&quot;
</ins><span class="cx"> PASS !!object.getSVGDocument is true
</span><del>-PASS object.getSVGDocument().toString() is &quot;[object SVGDocument]&quot;
</del><ins>+PASS object.getSVGDocument().toString() is &quot;[object XMLDocument]&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomframegetSVGDocumenthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/frame-getSVGDocument.html (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/frame-getSVGDocument.html        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/svg/custom/frame-getSVGDocument.html        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">   }
</span><span class="cx">   
</span><span class="cx">   var continueTest1 = function() {
</span><del>-    shouldBeEqualToString(&quot;frame.getSVGDocument().toString()&quot;, &quot;[object SVGDocument]&quot;);
</del><ins>+    shouldBeEqualToString(&quot;frame.getSVGDocument().toString()&quot;, &quot;[object XMLDocument]&quot;);
</ins><span class="cx">     frame.parentNode.removeChild(frame);
</span><span class="cx"> 
</span><span class="cx">     iframe = document.createElement(&quot;iframe&quot;);
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">   }
</span><span class="cx">   
</span><span class="cx">   var continueTest2 = function() {
</span><del>-    shouldBeEqualToString(&quot;iframe.getSVGDocument().toString()&quot;, &quot;[object SVGDocument]&quot;);
</del><ins>+    shouldBeEqualToString(&quot;iframe.getSVGDocument().toString()&quot;, &quot;[object XMLDocument]&quot;);
</ins><span class="cx">     iframe.parentNode.removeChild(iframe);
</span><span class="cx"> 
</span><span class="cx">     embed = document.createElement(&quot;embed&quot;);
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">   }
</span><span class="cx">   
</span><span class="cx">   var continueTest3 = function(event) {
</span><del>-    shouldBeEqualToString(&quot;embed.getSVGDocument().toString()&quot;, &quot;[object SVGDocument]&quot;);
</del><ins>+    shouldBeEqualToString(&quot;embed.getSVGDocument().toString()&quot;, &quot;[object XMLDocument]&quot;);
</ins><span class="cx">     embed.parentNode.removeChild(embed);
</span><span class="cx"> 
</span><span class="cx">     object = document.createElement(&quot;object&quot;);
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">   }
</span><span class="cx"> 
</span><span class="cx">   function continueTest4() {
</span><del>-    shouldBeEqualToString(&quot;object.getSVGDocument().toString()&quot;, &quot;[object SVGDocument]&quot;);
</del><ins>+    shouldBeEqualToString(&quot;object.getSVGDocument().toString()&quot;, &quot;[object XMLDocument]&quot;);
</ins><span class="cx">     object.parentNode.removeChild(object);
</span><span class="cx">     
</span><span class="cx">     var script = document.createElement('script');
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomglobalconstructorsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/global-constructors-expected.txt (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/global-constructors-expected.txt        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/svg/custom/global-constructors-expected.txt        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -48,7 +48,6 @@
</span><span class="cx"> FAIL SVGCSSRule.toString() should be function SVGCSSRule() {
</span><span class="cx">     [native code]
</span><span class="cx"> }. Threw exception ReferenceError: Can't find variable: SVGCSSRule
</span><del>-PASS SVGDocument.toString() is &quot;function SVGDocument() {\n    [native code]\n}&quot;
</del><span class="cx"> PASS SVGSVGElement.toString() is &quot;function SVGSVGElement() {\n    [native code]\n}&quot;
</span><span class="cx"> PASS SVGGElement.toString() is &quot;function SVGGElement() {\n    [native code]\n}&quot;
</span><span class="cx"> PASS SVGDefsElement.toString() is &quot;function SVGDefsElement() {\n    [native code]\n}&quot;
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustommanuallyparsedsvgallowedindashboardexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> This test makes sure we can add manually parsed SVG to the document when in dashboard compatibility mode. It can not be tested manually.
</span><span class="cx"> 
</span><del>-Parsing of the document isn't prevented and produces a [object SVGDocument]
</del><ins>+Parsing of the document isn't prevented and produces a [object XMLDocument]
</ins><span class="cx"> PASS: Managed to insert SVG element into tree
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomscripttestsglobalconstructorsjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/script-tests/global-constructors.js (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/script-tests/global-constructors.js        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/LayoutTests/svg/custom/script-tests/global-constructors.js        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> shouldBeDefined(&quot;SVGViewSpec&quot;);
</span><span class="cx"> shouldBeDefined(&quot;SVGURIReference&quot;);
</span><span class="cx"> shouldBeDefined(&quot;SVGCSSRule&quot;);
</span><del>-shouldBeDefined(&quot;SVGDocument&quot;);
</del><span class="cx"> shouldBeDefined(&quot;SVGSVGElement&quot;);
</span><span class="cx"> shouldBeDefined(&quot;SVGGElement&quot;);
</span><span class="cx"> shouldBeDefined(&quot;SVGDefsElement&quot;);
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/ChangeLog        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -1,5 +1,41 @@
</span><span class="cx"> 2016-08-07  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Drop SVGDocument as per the SVG2 specification
+        https://bugs.webkit.org/show_bug.cgi?id=160361
+
+        Reviewed by Darin Adler.
+
+        Drop SVGDocument as per the SVG2 specification:
+        - https://www.w3.org/TR/SVG2/struct.html#InterfaceDocumentExtensions
+
+        SVGDocument has been merged into Document.
+
+        Chrome and Edge have dropped SVGDocument already, Firefox has not.
+
+        No new tests, rebaselined existing test.
+
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
+        * bindings/js/JSDocumentCustom.cpp:
+        (WebCore::createNewDocumentWrapper): Deleted.
+        * bindings/js/JSXMLDocumentCustom.cpp:
+        (WebCore::toJSNewlyCreated):
+        (WebCore::toJS): Deleted.
+        * page/DOMWindow.idl:
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scrollToAnchor):
+        * svg/SVGDocument.cpp:
+        (WebCore::SVGDocument::rootElement):
+        (WebCore::SVGDocument::zoomAndPanEnabled):
+        (WebCore::SVGDocument::startPan):
+        (WebCore::SVGDocument::updatePan):
+        * svg/SVGDocument.h:
+        * svg/SVGDocument.idl:
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::rootElement):
+
+2016-08-07  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         Un-expose DOMSettableTokenList
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=160643
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -2983,7 +2983,7 @@
</span><span class="cx">     if (!is&lt;SVGDocument&gt;(document))
</span><span class="cx">         return nullptr;
</span><span class="cx">     
</span><del>-    SVGSVGElement* rootElement = downcast&lt;SVGDocument&gt;(*document).rootElement();
</del><ins>+    SVGSVGElement* rootElement = SVGDocument::rootElement(*document);
</ins><span class="cx">     if (!rootElement)
</span><span class="cx">         return nullptr;
</span><span class="cx">     RenderObject* rendererRoot = rootElement-&gt;renderer();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> #include &quot;JSHTMLDocument.h&quot;
</span><span class="cx"> #include &quot;JSLocation.h&quot;
</span><span class="cx"> #include &quot;JSNodeOrString.h&quot;
</span><del>-#include &quot;JSSVGDocument.h&quot;
</del><ins>+#include &quot;JSXMLDocument.h&quot;
</ins><span class="cx"> #include &quot;Location.h&quot;
</span><span class="cx"> #include &quot;NodeTraversal.h&quot;
</span><span class="cx"> #include &quot;SVGDocument.h&quot;
</span><span class="lines">@@ -58,8 +58,6 @@
</span><span class="cx">     JSObject* wrapper;
</span><span class="cx">     if (document.isHTMLDocument())
</span><span class="cx">         wrapper = CREATE_DOM_WRAPPER(&amp;globalObject, HTMLDocument, WTFMove(passedDocument));
</span><del>-    else if (document.isSVGDocument())
-        wrapper = CREATE_DOM_WRAPPER(&amp;globalObject, SVGDocument, WTFMove(passedDocument));
</del><span class="cx">     else if (document.isXMLDocument())
</span><span class="cx">         wrapper = CREATE_DOM_WRAPPER(&amp;globalObject, XMLDocument, WTFMove(passedDocument));
</span><span class="cx">     else
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSXMLDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSXMLDocumentCustom.cpp (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSXMLDocumentCustom.cpp        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/bindings/js/JSXMLDocumentCustom.cpp        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -37,16 +37,9 @@
</span><span class="cx"> 
</span><span class="cx"> JSValue toJSNewlyCreated(ExecState* state, JSDOMGlobalObject* globalObject, Ref&lt;XMLDocument&gt;&amp;&amp; passedDocument)
</span><span class="cx"> {
</span><del>-    auto&amp; document = passedDocument.get();
-    JSObject* wrapper;
-    if (document.isSVGDocument())
-        wrapper = CREATE_DOM_WRAPPER(globalObject, SVGDocument, WTFMove(passedDocument));
-    else
-        wrapper = CREATE_DOM_WRAPPER(globalObject, XMLDocument, WTFMove(passedDocument));
</del><ins>+    reportMemoryForDocumentIfFrameless(*state, passedDocument.get());
</ins><span class="cx"> 
</span><del>-    reportMemoryForDocumentIfFrameless(*state, document);
-
-    return wrapper;
</del><ins>+    return CREATE_DOM_WRAPPER(globalObject, XMLDocument, WTFMove(passedDocument));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSValue toJS(ExecState* state, JSDOMGlobalObject* globalObject, XMLDocument&amp; document)
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/dom/Document.h        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -159,6 +159,7 @@
</span><span class="cx"> class StyleSheetContents;
</span><span class="cx"> class StyleSheetList;
</span><span class="cx"> class SVGDocumentExtensions;
</span><ins>+class SVGSVGElement;
</ins><span class="cx"> class Text;
</span><span class="cx"> class TextResourceDecoder;
</span><span class="cx"> class TreeWalker;
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.idl (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.idl        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/page/DOMWindow.idl        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -195,6 +195,7 @@
</span><span class="cx"> #if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
</span><span class="cx">     // Additional constructors.
</span><span class="cx">     [CustomGetter, CustomConstructor] attribute HTMLImageElementNamedConstructor Image; // Usable with new operator
</span><ins>+    attribute XMLDocumentConstructor SVGDocument;
</ins><span class="cx"> 
</span><span class="cx">     attribute DOMURLConstructor webkitURL; // FIXME: deprecate this.
</span><span class="cx">     attribute MutationObserverConstructor WebKitMutationObserver; // FIXME: Add metrics to determine when we can remove this.
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/page/FrameView.cpp        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -2115,7 +2115,7 @@
</span><span class="cx">     document.setCSSTarget(anchorElement);
</span><span class="cx"> 
</span><span class="cx">     if (is&lt;SVGDocument&gt;(document)) {
</span><del>-        if (auto* rootElement = downcast&lt;SVGDocument&gt;(document).rootElement()) {
</del><ins>+        if (auto* rootElement = SVGDocument::rootElement(document)) {
</ins><span class="cx">             rootElement-&gt;scrollToAnchor(name, anchorElement);
</span><span class="cx">             if (!anchorElement)
</span><span class="cx">                 return true;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGDocument.cpp (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGDocument.cpp        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/svg/SVGDocument.cpp        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SVGSVGElement* SVGDocument::rootElement() const
</del><ins>+SVGSVGElement* SVGDocument::rootElement(const Document&amp; document)
</ins><span class="cx"> {
</span><del>-    Element* element = documentElement();
</del><ins>+    auto* element = document.documentElement();
</ins><span class="cx">     if (!is&lt;SVGSVGElement&gt;(element))
</span><span class="cx">         return nullptr;
</span><span class="cx">     return downcast&lt;SVGSVGElement&gt;(element);
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool SVGDocument::zoomAndPanEnabled() const
</span><span class="cx"> {
</span><del>-    auto* element = rootElement();
</del><ins>+    auto* element = rootElement(*this);
</ins><span class="cx">     if (!element)
</span><span class="cx">         return false;
</span><span class="cx">     return (element-&gt;useCurrentView() ? element-&gt;currentView().zoomAndPan() : element-&gt;zoomAndPan()) == SVGZoomAndPanMagnify;
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGDocument::startPan(const FloatPoint&amp; start)
</span><span class="cx"> {
</span><del>-    auto* element = rootElement();
</del><ins>+    auto* element = rootElement(*this);
</ins><span class="cx">     if (!element)
</span><span class="cx">         return;
</span><span class="cx">     m_panningOffset = start - element-&gt;currentTranslate();
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGDocument::updatePan(const FloatPoint&amp; position) const
</span><span class="cx"> {
</span><del>-    auto* element = rootElement();
</del><ins>+    auto* element = rootElement(*this);
</ins><span class="cx">     if (!element)
</span><span class="cx">         return;
</span><span class="cx">     element-&gt;setCurrentTranslate(position - m_panningOffset);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGDocument.h (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGDocument.h        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/svg/SVGDocument.h        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;SVGDocument&gt; create(Frame*, const URL&amp;);
</span><span class="cx"> 
</span><del>-    SVGSVGElement* rootElement() const;
</del><ins>+    static SVGSVGElement* rootElement(const Document&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool zoomAndPanEnabled() const;
</span><span class="cx">     void startPan(const FloatPoint&amp; start);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGDocumentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGDocument.idl (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGDocument.idl        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/svg/SVGDocument.idl        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -19,8 +19,9 @@
</span><span class="cx">  * Boston, MA 02110-1301, USA.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-// FIXME: This interface no longer exists in SVG2.
-interface SVGDocument : XMLDocument {
</del><ins>+partial interface Document {
+#if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
</ins><span class="cx">     readonly attribute SVGSVGElement? rootElement;
</span><ins>+#endif
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImage.cpp (204245 => 204246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImage.cpp        2016-08-07 20:50:43 UTC (rev 204245)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.cpp        2016-08-08 01:33:38 UTC (rev 204246)
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return nullptr;
</span><del>-    return downcast&lt;SVGDocument&gt;(*m_page-&gt;mainFrame().document()).rootElement();
</del><ins>+    return SVGDocument::rootElement(*m_page-&gt;mainFrame().document());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool SVGImage::hasSingleSecurityOrigin() const
</span></span></pre>
</div>
</div>

</body>
</html>