<!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>[205468] 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/205468">205468</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2016-09-05 20:33:50 -0700 (Mon, 05 Sep 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>More bindings improvements, particularly things not needed for JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=161572

Reviewed by Sam Weinig.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Export a couple of files needed for legacy bindings.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::addCrossOriginWindowPropertyNames): Mark array const.
* bindings/js/JSLocationCustom.cpp:
(WebCore::addCrossOriginLocationPropertyNames): Ditto.

* dom/DOMImplementation.cpp:
(WebCore::addString): Deleted.
(WebCore::isSupportedSVG10Feature): Deleted.
(WebCore::isSupportedSVG11Feature): Deleted.
(WebCore::DOMImplementation::hasFeature): Deleted.

* dom/DOMImplementation.h: Changed hasFeature to take no arguments and to always
return true, as specified in the DOM spec.

* dom/DOMImplementation.idl: Removed the arguments to hasFeature.

* dom/Document.cpp:
(WebCore::Document::defaultCharsetForLegacyBindings): Renamed from
defaultCharsetForBindings, because this function is used only by the
non-JavaScript bindings.
* dom/Document.h: Updated for the above.

* dom/DocumentType.h: Removed entitiesForBindings,
notationsForBindings, and internalSubsetForBindings, all of which were
empty functions. The empty implementations are now in the legacy bindings.

* dom/Element.cpp:
(WebCore::Element::dispatchSimulatedClickForBindings): Deleted.
This code is now at the single call site, in HTMLElement.
* dom/Element.h: Updated for the above change.

* dom/Node.cpp:
(WebCore::Node::isSupportedForBindings): Deleted. This is only used in the
legacy bindings, and since it only returns a value other than &quot;true&quot; for
SVG features, it is now in the SVGTests class.
* dom/Node.h: Updated for the above change.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::click): Call simulateClick with the appropriate
arguments rather than calling dispatchSimulatedClickForBindings.

* svg/SVGTests.cpp:
(WebCore::supportedSVGFeatures): Added. Moved here from DOMImplementation,
but also refactored.
(WebCore::SVGTests::isValid): Changed to use the function above, rather than
calling DOMImplementation::hasFeature. This change fixes a bug where feature names
that do not look like valid SVG feature names, names such as &quot;xxx&quot;, were returning
true claiming that the feature was supported. This behavior was helpful in the
general DOMImplementation function, but harmful here. This bug was causing test
failures in some of our SVG tests.
(WebCore::SVGTests::hasFeatureForLegacyBindings): Added. Uses the set above to
implement the legacy behavior of hasFeature. It's better to have this in parallel
with the SVGTests::isValid function rather than having either depend on the other.

* svg/SVGTests.h: Added exported SVGTests::isValid function.

Source/WebKit/mac:

* DOM/DOMDOMImplementation.mm:
(-[DOMImplementation hasFeature:version:]): Call SVGTests::hasFeatureForLegacyBindings
instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
since this does not do anything that can invoke JavaScript.

* DOM/DOMDocument.mm:
(-[DOMDocument defaultCharset]): Call defaultCharsetForLegacyBindings. Also removed
JSMainThreadNullState.

* DOM/DOMDocumentType.mm:
(-[DOMDocumentType entities]): Changed to simply return nil; same behavior as before,
but with no dependency on WebCore. Also removed JSMainThreadNullState.
(-[DOMDocumentType notations]): Ditto.
(-[DOMDocumentType internalSubset]): Ditto, except empty string rather than nil.

* DOM/DOMNode.mm:
(-[DOMNode isSupported:version:]): Call SVGTests::hasFeatureForLegacyBindings
instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.

Source/WebKit2:

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
(webkit_dom_dom_implementation_has_feature): Call SVGTests::hasFeatureForLegacyBindings
instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
since this does not do anything that can invoke JavaScript.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp:
(webkit_dom_document_get_default_charset): Call defaultCharsetForLegacyBindings.
Also removed JSMainThreadNullState.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
(webkit_dom_document_type_get_entities): Changed to simply return nullptr; same behavior
as before, but with no dependency on WebCore. Also removed JSMainThreadNullState.
(webkit_dom_document_type_get_notations): Ditto.
(webkit_dom_document_type_get_internal_subset): Ditto.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
(webkit_dom_node_is_supported): Call SVGTests::hasFeatureForLegacyBindings
instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.

LayoutTests:

* TestExpectations: Updated to expect success instead of failure for the
imported/mozilla/svg tests named conditions-01.svg, conditions-06.svg,
dynamic-conditions-01.svg, switch-01.svg, and
svg-integration/dynamic-conditions-outer-svg-03.xhtml. These are now all passing,
likely because of a progression due to correctly handling bogus feature strings.
Also, a comment in bug 139115 claims that requiredFeatures it going to be removed
from the SVG specifications and from other implementations. Updated to expect
possible failure for dynamic-conditions-08.svg and dynamic-conditions-12.svg. Before
these were reliably passing because of the incorrect handling of bogus feature strings.
Now, they are sometimes failing because the tests include required code that runs on
a timer, but no code to guarantee the test engine will wait for the timer to fire.

* platform/efl/TestExpectations: Removed now-redundant expectations that these
tests will pass; now expected on all platforms.

* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
* svg/custom/svg-features-expected.txt:
Updated results for all these tests now that DOMImplementation.hasFeature always
returns true. The tests aren't super-valuable any more, but I don't see a good
reason to locally modify the imported tests from the W3C-SVG-1.1 suite, and
while the svg-features test isn't great, keeping it does provide a little test
coverage for the &quot;always return true&quot; behavior.

* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
Updated for progression due to correctly handling bogus feature strings.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsTestExpectations">trunk/LayoutTests/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformeflTestExpectations">trunk/LayoutTests/platform/efl/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorsvgW3CSVG11structdom03bexpectedtxt">trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorsvgW3CSVG11structdom04bexpectedtxt">trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorsvgW3CSVG11structdom05bexpectedtxt">trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorsvgW3CSVG11SEtypesdom06fexpectedtxt">trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11structdom03bexpectedpng">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11structdom03bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11structdom04bexpectedpng">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11structdom04bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11structdom05bexpectedpng">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11structdom05bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11SEtypesdom06fexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinsvgW3CSVG11SEtypesdom06fexpectedtxt">trunk/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgW3CSVG11SEtypesdom06fexpectedtxt">trunk/LayoutTests/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomsvgfeaturesexpectedtxt">trunk/LayoutTests/svg/custom/svg-features-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSLocationCustomcpp">trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDOMImplementationcpp">trunk/Source/WebCore/dom/DOMImplementation.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDOMImplementationh">trunk/Source/WebCore/dom/DOMImplementation.h</a></li>
<li><a href="#trunkSourceWebCoredomDOMImplementationidl">trunk/Source/WebCore/dom/DOMImplementation.idl</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="#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="#trunkSourceWebCorehtmlHTMLElementcpp">trunk/Source/WebCore/html/HTMLElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTestscpp">trunk/Source/WebCore/svg/SVGTests.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTestsh">trunk/Source/WebCore/svg/SVGTests.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacDOMDOMDOMImplementationmm">trunk/Source/WebKit/mac/DOM/DOMDOMImplementation.mm</a></li>
<li><a href="#trunkSourceWebKitmacDOMDOMDocumentmm">trunk/Source/WebKit/mac/DOM/DOMDocument.mm</a></li>
<li><a href="#trunkSourceWebKitmacDOMDOMDocumentTypemm">trunk/Source/WebKit/mac/DOM/DOMDocumentType.mm</a></li>
<li><a href="#trunkSourceWebKitmacDOMDOMNodemm">trunk/Source/WebKit/mac/DOM/DOMNode.mm</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMDOMImplementationcpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMDeprecatedcpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMDocumentTypecpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMNodecpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/ChangeLog        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1,3 +1,47 @@
</span><ins>+2016-09-05  Darin Adler  &lt;darin@apple.com&gt;
+
+        More bindings improvements, particularly things not needed for JavaScript bindings
+        https://bugs.webkit.org/show_bug.cgi?id=161572
+
+        Reviewed by Sam Weinig.
+
+        * TestExpectations: Updated to expect success instead of failure for the
+        imported/mozilla/svg tests named conditions-01.svg, conditions-06.svg,
+        dynamic-conditions-01.svg, switch-01.svg, and
+        svg-integration/dynamic-conditions-outer-svg-03.xhtml. These are now all passing,
+        likely because of a progression due to correctly handling bogus feature strings.
+        Also, a comment in bug 139115 claims that requiredFeatures it going to be removed
+        from the SVG specifications and from other implementations. Updated to expect
+        possible failure for dynamic-conditions-08.svg and dynamic-conditions-12.svg. Before
+        these were reliably passing because of the incorrect handling of bogus feature strings.
+        Now, they are sometimes failing because the tests include required code that runs on
+        a timer, but no code to guarantee the test engine will wait for the timer to fire.
+
+        * platform/efl/TestExpectations: Removed now-redundant expectations that these
+        tests will pass; now expected on all platforms.
+
+        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
+        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
+        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
+        * svg/custom/svg-features-expected.txt:
+        Updated results for all these tests now that DOMImplementation.hasFeature always
+        returns true. The tests aren't super-valuable any more, but I don't see a good
+        reason to locally modify the imported tests from the W3C-SVG-1.1 suite, and
+        while the svg-features test isn't great, keeping it does provide a little test
+        coverage for the &quot;always return true&quot; behavior.
+
+        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
+        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
+        * svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
+        Updated for progression due to correctly handling bogus feature strings.
+
</ins><span class="cx"> 2016-09-05  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r205450.
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/TestExpectations        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -482,16 +482,13 @@
</span><span class="cx"> webkit.org/b/112032 imported/mozilla/svg/text-layout-01.svg [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/139107 imported/mozilla/svg/clip-02a.svg [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/139107 imported/mozilla/svg/clip-02b.svg [ ImageOnlyFailure ]
</span><del>-webkit.org/b/139115 imported/mozilla/svg/conditions-01.svg [ ImageOnlyFailure ]
-webkit.org/b/139115 imported/mozilla/svg/conditions-06.svg [ ImageOnlyFailure ]
-webkit.org/b/139115 imported/mozilla/svg/dynamic-conditions-01.svg [ ImageOnlyFailure ]
</del><span class="cx"> webkit.org/b/139115 imported/mozilla/svg/dynamic-conditions-03.svg [ ImageOnlyFailure ]
</span><del>-webkit.org/b/139115 imported/mozilla/svg/switch-01.svg [ ImageOnlyFailure ]
</del><span class="cx"> webkit.org/b/139115 imported/mozilla/svg/svg-integration/dynamic-conditions-outer-svg-02.xhtml [ ImageOnlyFailure ]
</span><del>-webkit.org/b/139115 imported/mozilla/svg/svg-integration/dynamic-conditions-outer-svg-03.xhtml [ ImageOnlyFailure ]
</del><span class="cx"> webkit.org/b/139116 imported/mozilla/svg/conditions-07.svg [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/139117 imported/mozilla/svg/conditions-08.svg [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/139118 imported/mozilla/svg/cssComment-in-attribute-01.svg [ ImageOnlyFailure ]
</span><ins>+imported/mozilla/svg/dynamic-conditions-08.svg [ Pass ImageOnlyFailure ]
+imported/mozilla/svg/dynamic-conditions-12.svg [ Pass ImageOnlyFailure ]
</ins><span class="cx"> webkit.org/b/139119 imported/mozilla/svg/text/multiple-x-rtl.svg [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/139119 imported/mozilla/svg/text/multiple-x-holes-rtl.svg [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/139119 imported/mozilla/svg/text/multiple-x-multiple-dx-anchor-end-bidi.svg [ ImageOnlyFailure ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformeflTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/TestExpectations (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/TestExpectations        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/efl/TestExpectations        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1150,12 +1150,9 @@
</span><span class="cx"> imported/mozilla/svg/blend-screen.svg [ Pass ]
</span><span class="cx"> imported/mozilla/svg/clip-02a.svg [ Pass ]
</span><span class="cx"> imported/mozilla/svg/clip-02b.svg [ Pass ]
</span><del>-imported/mozilla/svg/conditions-01.svg [ Pass ]
-imported/mozilla/svg/conditions-06.svg [ Pass ]
</del><span class="cx"> imported/mozilla/svg/conditions-07.svg [ Pass ]
</span><span class="cx"> imported/mozilla/svg/conditions-08.svg [ Pass ]
</span><span class="cx"> imported/mozilla/svg/cssComment-in-attribute-01.svg [ Pass ]
</span><del>-imported/mozilla/svg/dynamic-conditions-01.svg [ Pass ]
</del><span class="cx"> imported/mozilla/svg/dynamic-conditions-03.svg [ Pass ]
</span><span class="cx"> imported/mozilla/svg/dynamic-marker-01.svg [ Pass ]
</span><span class="cx"> imported/mozilla/svg/dynamic-pattern-01.svg [ Pass ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorsvgW3CSVG11structdom03bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -34,6 +34,6 @@
</span><span class="cx">     RenderSVGText {text} at (10,223) size 147x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 147x34
</span><span class="cx">         chunk 1 text run 1 at (10.00,250.00) startOffset 0 endOffset 11 width 146.65: &quot;org.w3c.svg&quot;
</span><del>-    RenderSVGText {text} at (370,223) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (370.00,250.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (370,223) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (370.00,250.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorsvgW3CSVG11structdom04bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -10,30 +10,30 @@
</span><span class="cx">     RenderSVGText {text} at (5,18) size 206x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 206x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,45.00) startOffset 0 endOffset 16 width 205.80: &quot;org.w3c.svg.lang&quot;
</span><del>-    RenderSVGText {text} at (385,18) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,18) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,58) size 258x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 258x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,85.00) startOffset 0 endOffset 19 width 257.45: &quot;org.w3c.svg.dynamic&quot;
</span><del>-    RenderSVGText {text} at (385,58) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,58) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,98) size 218x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 218x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,125.00) startOffset 0 endOffset 18 width 217.46: &quot;org.w3c.svg.static&quot;
</span><del>-    RenderSVGText {text} at (385,98) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,98) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,138) size 208x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 208x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,165.00) startOffset 0 endOffset 15 width 207.48: &quot;org.w3c.dom.svg&quot;
</span><del>-    RenderSVGText {text} at (385,138) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,138) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,178) size 147x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 147x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,205.00) startOffset 0 endOffset 11 width 146.65: &quot;org.w3c.svg&quot;
</span><del>-    RenderSVGText {text} at (385,178) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,178) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorsvgW3CSVG11structdom05bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -10,30 +10,30 @@
</span><span class="cx">     RenderSVGText {text} at (5,18) size 279x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 279x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,45.00) startOffset 0 endOffset 22 width 278.29: &quot;org.w3c.dom.svg.static&quot;
</span><del>-    RenderSVGText {text} at (385,18) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,18) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,58) size 335x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 335x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,85.00) startOffset 0 endOffset 25 width 334.95: &quot;org.w3c.dom.svg.animation&quot;
</span><del>-    RenderSVGText {text} at (385,58) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,58) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,98) size 319x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 319x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,125.00) startOffset 0 endOffset 23 width 318.28: &quot;org.w3c.dom.svg.dynamic&quot;
</span><del>-    RenderSVGText {text} at (385,98) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,98) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,138) size 245x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 245x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,165.00) startOffset 0 endOffset 19 width 244.97: &quot;org.w3c.dom.svg.all&quot;
</span><del>-    RenderSVGText {text} at (385,138) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,138) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,178) size 185x34 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 185x34
</span><span class="cx">         chunk 1 text run 1 at (5.00,205.00) startOffset 0 endOffset 15 width 184.13: &quot;org.w3c.svg.all&quot;
</span><del>-    RenderSVGText {text} at (385,178) size 57x34 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x34
-        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,178) size 47x34 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x34
+        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorsvgW3CSVG11SEtypesdom06fexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -12,8 +12,6 @@
</span><span class="cx">         RenderSVGRect {rect} at (80,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><del>-      RenderSVGRect {rect} at (100,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-      RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</del><span class="cx">       RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 480x360 [x=0.00] [y=0.00] [width=480.00] [height=360.00]
</span><span class="cx">     RenderSVGContainer {g} at (10,314) size 230x33
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11structdom03bexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11structdom03bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -34,6 +34,6 @@
</span><span class="cx">     RenderSVGText {text} at (10,222) size 147x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 147x35
</span><span class="cx">         chunk 1 text run 1 at (10.00,250.00) startOffset 0 endOffset 11 width 146.65: &quot;org.w3c.svg&quot;
</span><del>-    RenderSVGText {text} at (370,222) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (370.00,250.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (370,222) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (370.00,250.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11structdom04bexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11structdom04bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -10,30 +10,30 @@
</span><span class="cx">     RenderSVGText {text} at (5,17) size 206x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 206x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,45.00) startOffset 0 endOffset 16 width 205.80: &quot;org.w3c.svg.lang&quot;
</span><del>-    RenderSVGText {text} at (385,17) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,17) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,57) size 258x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 258x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,85.00) startOffset 0 endOffset 19 width 257.45: &quot;org.w3c.svg.dynamic&quot;
</span><del>-    RenderSVGText {text} at (385,57) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,57) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,97) size 218x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 218x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,125.00) startOffset 0 endOffset 18 width 217.46: &quot;org.w3c.svg.static&quot;
</span><del>-    RenderSVGText {text} at (385,97) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,97) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,137) size 208x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 208x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,165.00) startOffset 0 endOffset 15 width 207.48: &quot;org.w3c.dom.svg&quot;
</span><del>-    RenderSVGText {text} at (385,137) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,137) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,177) size 147x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 147x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,205.00) startOffset 0 endOffset 11 width 146.65: &quot;org.w3c.svg&quot;
</span><del>-    RenderSVGText {text} at (385,177) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,177) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11structdom05bexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11structdom05bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -10,30 +10,30 @@
</span><span class="cx">     RenderSVGText {text} at (5,17) size 279x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 279x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,45.00) startOffset 0 endOffset 22 width 278.29: &quot;org.w3c.dom.svg.static&quot;
</span><del>-    RenderSVGText {text} at (385,17) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,17) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,45.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,57) size 335x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 335x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,85.00) startOffset 0 endOffset 25 width 334.95: &quot;org.w3c.dom.svg.animation&quot;
</span><del>-    RenderSVGText {text} at (385,57) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,57) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,85.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,97) size 319x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 319x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,125.00) startOffset 0 endOffset 23 width 318.28: &quot;org.w3c.dom.svg.dynamic&quot;
</span><del>-    RenderSVGText {text} at (385,97) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,97) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,125.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,137) size 245x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 245x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,165.00) startOffset 0 endOffset 19 width 244.97: &quot;org.w3c.dom.svg.all&quot;
</span><del>-    RenderSVGText {text} at (385,137) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,137) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,165.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins><span class="cx">     RenderSVGText {text} at (5,177) size 185x36 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 185x35
</span><span class="cx">         chunk 1 text run 1 at (5.00,205.00) startOffset 0 endOffset 15 width 184.13: &quot;org.w3c.svg.all&quot;
</span><del>-    RenderSVGText {text} at (385,177) size 57x36 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 57x35
-        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 5 width 56.63: &quot;false&quot;
</del><ins>+    RenderSVGText {text} at (385,177) size 47x36 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 47x35
+        chunk 1 text run 1 at (385.00,205.00) startOffset 0 endOffset 4 width 46.64: &quot;true&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11SEtypesdom06fexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -12,8 +12,6 @@
</span><span class="cx">         RenderSVGRect {rect} at (80,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><del>-      RenderSVGRect {rect} at (100,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-      RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</del><span class="cx">       RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 480x360 [x=0.00] [y=0.00] [width=480.00] [height=360.00]
</span><span class="cx">     RenderSVGContainer {g} at (10,314) size 230x33
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinsvgW3CSVG11SEtypesdom06fexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -12,8 +12,6 @@
</span><span class="cx">         RenderSVGRect {rect} at (80,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><del>-      RenderSVGRect {rect} at (100,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-      RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</del><span class="cx">       RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 480x360 [x=0.00] [y=0.00] [width=480.00] [height=360.00]
</span><span class="cx">     RenderSVGContainer {g} at (10,314) size 231x33
</span></span></pre></div>
<a id="trunkLayoutTestssvgW3CSVG11SEtypesdom06fexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -17,8 +17,6 @@
</span><span class="cx">         RenderSVGRect {rect} at (80,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><del>-      RenderSVGRect {rect} at (100,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-      RenderSVGRect {rect} at (190,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(190.00,100.00)}] [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</del><span class="cx">       RenderSVGRect {rect} at (300,100) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,100.00)}] [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 480x360 [x=0.00] [y=0.00] [width=480.00] [height=360.00]
</span><span class="cx">     RenderSVGContainer {g} at (10,314) size 227x33
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomsvgfeaturesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/svg-features-expected.txt (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/svg-features-expected.txt        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/LayoutTests/svg/custom/svg-features-expected.txt        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1,14 +1,14 @@
</span><span class="cx"> &quot;org.w3c.svg&quot;, &quot;1.0&quot;: true
</span><span class="cx"> &quot;org.w3c.svg.static&quot;, &quot;1.0&quot;: true
</span><del>-&quot;org.w3c.svg.animation&quot;, &quot;1.0&quot;: false
-&quot;org.w3c.svg.dynamic&quot;, &quot;1.0&quot;: false
</del><ins>+&quot;org.w3c.svg.animation&quot;, &quot;1.0&quot;: true
+&quot;org.w3c.svg.dynamic&quot;, &quot;1.0&quot;: true
</ins><span class="cx"> &quot;org.w3c.dom&quot;, &quot;1.0&quot;: true
</span><span class="cx"> &quot;org.w3c.dom.svg&quot;, &quot;1.0&quot;: true
</span><span class="cx"> &quot;org.w3c.dom.svg.static&quot;, &quot;1.0&quot;: true
</span><del>-&quot;org.w3c.dom.svg.animation&quot;, &quot;1.0&quot;: false
-&quot;org.w3c.dom.svg.dynamic&quot;, &quot;1.0&quot;: false
-&quot;org.w3c.svg.all&quot;, &quot;1.0&quot;: false
-&quot;org.w3c.dom.svg.all&quot;, &quot;1.0&quot;: false
</del><ins>+&quot;org.w3c.dom.svg.animation&quot;, &quot;1.0&quot;: true
+&quot;org.w3c.dom.svg.dynamic&quot;, &quot;1.0&quot;: true
+&quot;org.w3c.svg.all&quot;, &quot;1.0&quot;: true
+&quot;org.w3c.dom.svg.all&quot;, &quot;1.0&quot;: true
</ins><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#SVG&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#SVGDOM&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#SVG-static&quot;, &quot;1.1&quot;: true
</span><span class="lines">@@ -15,8 +15,8 @@
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#SVGDOM-static&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#SVG-animation&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#SVGDOM-animation&quot;, &quot;1.1&quot;: true
</span><del>-&quot;http://www.w3.org/TR/SVG11/feature#SVG-dynamic&quot;, &quot;1.1&quot;: false
-&quot;http://www.w3.org/TR/SVG11/feature#SVGDOM-dynamic&quot;, &quot;1.1&quot;: false
</del><ins>+&quot;http://www.w3.org/TR/SVG11/feature#SVG-dynamic&quot;, &quot;1.1&quot;: true
+&quot;http://www.w3.org/TR/SVG11/feature#SVGDOM-dynamic&quot;, &quot;1.1&quot;: true
</ins><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#CoreAttribute&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#Structure&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#BasicStructure&quot;, &quot;1.1&quot;: true
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#GraphicsAttribute&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#BaseGraphicsAttribute&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#Marker&quot;, &quot;1.1&quot;: true
</span><del>-&quot;http://www.w3.org/TR/SVG11/feature#ColorProfile&quot;, &quot;1.1&quot;: false
</del><ins>+&quot;http://www.w3.org/TR/SVG11/feature#ColorProfile&quot;, &quot;1.1&quot;: true
</ins><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#Gradient&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#Pattern&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#Clip&quot;, &quot;1.1&quot;: true
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#BasicFilter&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#DocumentEventsAttribute&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#GraphicalEventsAttribute&quot;, &quot;1.1&quot;: true
</span><del>-&quot;http://www.w3.org/TR/SVG11/feature#AnimationEventsAttribute&quot;, &quot;1.1&quot;: false
</del><ins>+&quot;http://www.w3.org/TR/SVG11/feature#AnimationEventsAttribute&quot;, &quot;1.1&quot;: true
</ins><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#Cursor&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#Hyperlinking&quot;, &quot;1.1&quot;: true
</span><span class="cx"> &quot;http://www.w3.org/TR/SVG11/feature#XlinkAttribute&quot;, &quot;1.1&quot;: true
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/ChangeLog        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1,3 +1,68 @@
</span><ins>+2016-09-05  Darin Adler  &lt;darin@apple.com&gt;
+
+        More bindings improvements, particularly things not needed for JavaScript bindings
+        https://bugs.webkit.org/show_bug.cgi?id=161572
+
+        Reviewed by Sam Weinig.
+
+        * WebCore.xcodeproj/project.pbxproj: Export a couple of files needed for legacy bindings.
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::addCrossOriginWindowPropertyNames): Mark array const.
+        * bindings/js/JSLocationCustom.cpp:
+        (WebCore::addCrossOriginLocationPropertyNames): Ditto.
+
+        * dom/DOMImplementation.cpp:
+        (WebCore::addString): Deleted.
+        (WebCore::isSupportedSVG10Feature): Deleted.
+        (WebCore::isSupportedSVG11Feature): Deleted.
+        (WebCore::DOMImplementation::hasFeature): Deleted.
+
+        * dom/DOMImplementation.h: Changed hasFeature to take no arguments and to always
+        return true, as specified in the DOM spec.
+
+        * dom/DOMImplementation.idl: Removed the arguments to hasFeature.
+
+        * dom/Document.cpp:
+        (WebCore::Document::defaultCharsetForLegacyBindings): Renamed from
+        defaultCharsetForBindings, because this function is used only by the
+        non-JavaScript bindings.
+        * dom/Document.h: Updated for the above.
+
+        * dom/DocumentType.h: Removed entitiesForBindings,
+        notationsForBindings, and internalSubsetForBindings, all of which were
+        empty functions. The empty implementations are now in the legacy bindings.
+
+        * dom/Element.cpp:
+        (WebCore::Element::dispatchSimulatedClickForBindings): Deleted.
+        This code is now at the single call site, in HTMLElement.
+        * dom/Element.h: Updated for the above change.
+
+        * dom/Node.cpp:
+        (WebCore::Node::isSupportedForBindings): Deleted. This is only used in the
+        legacy bindings, and since it only returns a value other than &quot;true&quot; for
+        SVG features, it is now in the SVGTests class.
+        * dom/Node.h: Updated for the above change.
+
+        * html/HTMLElement.cpp:
+        (WebCore::HTMLElement::click): Call simulateClick with the appropriate
+        arguments rather than calling dispatchSimulatedClickForBindings.
+
+        * svg/SVGTests.cpp:
+        (WebCore::supportedSVGFeatures): Added. Moved here from DOMImplementation,
+        but also refactored.
+        (WebCore::SVGTests::isValid): Changed to use the function above, rather than
+        calling DOMImplementation::hasFeature. This change fixes a bug where feature names
+        that do not look like valid SVG feature names, names such as &quot;xxx&quot;, were returning
+        true claiming that the feature was supported. This behavior was helpful in the
+        general DOMImplementation function, but harmful here. This bug was causing test
+        failures in some of our SVG tests.
+        (WebCore::SVGTests::hasFeatureForLegacyBindings): Added. Uses the set above to
+        implement the legacy behavior of hasFeature. It's better to have this in parallel
+        with the SVGTests::isValid function rather than having either depend on the other.
+
+        * svg/SVGTests.h: Added exported SVGTests::isValid function.
+
</ins><span class="cx"> 2016-09-05  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r205450.
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -4506,7 +4506,7 @@
</span><span class="cx">                 B2227AA80D00BF220071B782 /* SVGStopElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22279120D00BF210071B782 /* SVGStopElement.cpp */; };
</span><span class="cx">                 B2227AA90D00BF220071B782 /* SVGStopElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22279130D00BF210071B782 /* SVGStopElement.h */; };
</span><span class="cx">                 B2227AAB0D00BF220071B782 /* SVGStringList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22279150D00BF210071B782 /* SVGStringList.cpp */; };
</span><del>-                B2227AAC0D00BF220071B782 /* SVGStringList.h in Headers */ = {isa = PBXBuildFile; fileRef = B22279160D00BF210071B782 /* SVGStringList.h */; };
</del><ins>+                B2227AAC0D00BF220071B782 /* SVGStringList.h in Headers */ = {isa = PBXBuildFile; fileRef = B22279160D00BF210071B782 /* SVGStringList.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 B2227AB50D00BF220071B782 /* SVGGraphicsElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B222791F0D00BF210071B782 /* SVGGraphicsElement.cpp */; };
</span><span class="cx">                 B2227AB60D00BF220071B782 /* SVGGraphicsElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22279200D00BF210071B782 /* SVGGraphicsElement.h */; };
</span><span class="cx">                 B2227AB70D00BF220071B782 /* SVGStyleElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22279210D00BF210071B782 /* SVGStyleElement.cpp */; };
</span><span class="lines">@@ -4518,7 +4518,7 @@
</span><span class="cx">                 B2227AC00D00BF220071B782 /* SVGSymbolElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B222792A0D00BF210071B782 /* SVGSymbolElement.cpp */; };
</span><span class="cx">                 B2227AC10D00BF220071B782 /* SVGSymbolElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B222792B0D00BF210071B782 /* SVGSymbolElement.h */; };
</span><span class="cx">                 B2227AC40D00BF220071B782 /* SVGTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B222792E0D00BF210071B782 /* SVGTests.cpp */; };
</span><del>-                B2227AC50D00BF220071B782 /* SVGTests.h in Headers */ = {isa = PBXBuildFile; fileRef = B222792F0D00BF210071B782 /* SVGTests.h */; };
</del><ins>+                B2227AC50D00BF220071B782 /* SVGTests.h in Headers */ = {isa = PBXBuildFile; fileRef = B222792F0D00BF210071B782 /* SVGTests.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 B2227AC70D00BF220071B782 /* SVGTextContentElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22279310D00BF210071B782 /* SVGTextContentElement.cpp */; };
</span><span class="cx">                 B2227AC80D00BF220071B782 /* SVGTextContentElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22279320D00BF210071B782 /* SVGTextContentElement.h */; };
</span><span class="cx">                 B2227ACA0D00BF220071B782 /* SVGTextElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22279340D00BF210071B782 /* SVGTextElement.cpp */; };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -322,7 +322,7 @@
</span><span class="cx"> static void addCrossOriginWindowPropertyNames(ExecState&amp; state, PropertyNameArray&amp; propertyNames)
</span><span class="cx"> {
</span><span class="cx">     // https://html.spec.whatwg.org/#crossoriginproperties-(-o-)
</span><del>-    static const Identifier* properties[] = {
</del><ins>+    static const Identifier* const properties[] = {
</ins><span class="cx">         &amp;state.propertyNames().blur, &amp;state.propertyNames().close, &amp;state.propertyNames().closed,
</span><span class="cx">         &amp;state.propertyNames().focus, &amp;state.propertyNames().frames, &amp;state.propertyNames().length,
</span><span class="cx">         &amp;state.propertyNames().location, &amp;state.propertyNames().opener, &amp;state.propertyNames().parent,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSLocationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx"> static void addCrossOriginLocationPropertyNames(ExecState&amp; state, PropertyNameArray&amp; propertyNames)
</span><span class="cx"> {
</span><span class="cx">     // https://html.spec.whatwg.org/#crossoriginproperties-(-o-)
</span><del>-    static const Identifier* properties[] = { &amp;state.propertyNames().href, &amp;state.propertyNames().replace };
</del><ins>+    static const Identifier* const properties[] = { &amp;state.propertyNames().href, &amp;state.propertyNames().replace };
</ins><span class="cx">     for (auto* property : properties)
</span><span class="cx">         propertyNames.add(*property);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomDOMImplementationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DOMImplementation.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DOMImplementation.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/DOMImplementation.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -65,13 +65,6 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx"> 
</span><del>-typedef HashSet&lt;String, ASCIICaseInsensitiveHash&gt; FeatureSet;
-
-static void addString(FeatureSet&amp; set, const char* string)
-{
-    set.add(string);
-}
-
</del><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> 
</span><span class="cx"> class DOMImplementationSupportsTypeClient : public MediaPlayerSupportsTypeClient {
</span><span class="lines">@@ -92,123 +85,11 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static bool isSupportedSVG10Feature(const String&amp; feature, const String&amp; version)
-{
-    if (!version.isEmpty() &amp;&amp; version != &quot;1.0&quot;)
-        return false;
-
-    static bool initialized = false;
-    static NeverDestroyed&lt;FeatureSet&gt; svgFeatures;
-    if (!initialized) {
-#if ENABLE(SVG_FONTS)
-        addString(svgFeatures, &quot;svg&quot;);
-        addString(svgFeatures, &quot;svg.static&quot;);
-#endif
-//      addString(svgFeatures, &quot;svg.animation&quot;);
-//      addString(svgFeatures, &quot;svg.dynamic&quot;);
-//      addString(svgFeatures, &quot;svg.dom.animation&quot;);
-//      addString(svgFeatures, &quot;svg.dom.dynamic&quot;);
-#if ENABLE(SVG_FONTS)
-        addString(svgFeatures, &quot;dom&quot;);
-        addString(svgFeatures, &quot;dom.svg&quot;);
-        addString(svgFeatures, &quot;dom.svg.static&quot;);
-#endif
-//      addString(svgFeatures, &quot;svg.all&quot;);
-//      addString(svgFeatures, &quot;dom.svg.all&quot;);
-        initialized = true;
-    }
-    return feature.startsWith(&quot;org.w3c.&quot;, false)
-        &amp;&amp; svgFeatures.get().contains(feature.right(feature.length() - 8));
-}
-
-static bool isSupportedSVG11Feature(const String&amp; feature, const String&amp; version)
-{
-    if (!version.isEmpty() &amp;&amp; version != &quot;1.1&quot;)
-        return false;
-
-    static bool initialized = false;
-    static NeverDestroyed&lt;FeatureSet&gt; svgFeatures;
-    if (!initialized) {
-        // Sadly, we cannot claim to implement any of the SVG 1.1 generic feature sets
-        // lack of Font and Filter support.
-        // http://bugs.webkit.org/show_bug.cgi?id=15480
-#if ENABLE(SVG_FONTS)
-        addString(svgFeatures, &quot;SVG&quot;);
-        addString(svgFeatures, &quot;SVGDOM&quot;);
-        addString(svgFeatures, &quot;SVG-static&quot;);
-        addString(svgFeatures, &quot;SVGDOM-static&quot;);
-#endif
-        addString(svgFeatures, &quot;SVG-animation&quot;);
-        addString(svgFeatures, &quot;SVGDOM-animation&quot;);
-//      addString(svgFeatures, &quot;SVG-dynamic);
-//      addString(svgFeatures, &quot;SVGDOM-dynamic);
-        addString(svgFeatures, &quot;CoreAttribute&quot;);
-        addString(svgFeatures, &quot;Structure&quot;);
-        addString(svgFeatures, &quot;BasicStructure&quot;);
-        addString(svgFeatures, &quot;ContainerAttribute&quot;);
-        addString(svgFeatures, &quot;ConditionalProcessing&quot;);
-        addString(svgFeatures, &quot;Image&quot;);
-        addString(svgFeatures, &quot;Style&quot;);
-        addString(svgFeatures, &quot;ViewportAttribute&quot;);
-        addString(svgFeatures, &quot;Shape&quot;);
-        addString(svgFeatures, &quot;Text&quot;);
-        addString(svgFeatures, &quot;BasicText&quot;);
-        addString(svgFeatures, &quot;PaintAttribute&quot;);
-        addString(svgFeatures, &quot;BasicPaintAttribute&quot;);
-        addString(svgFeatures, &quot;OpacityAttribute&quot;);
-        addString(svgFeatures, &quot;GraphicsAttribute&quot;);
-        addString(svgFeatures, &quot;BaseGraphicsAttribute&quot;);
-        addString(svgFeatures, &quot;Marker&quot;);
-//      addString(svgFeatures, &quot;ColorProfile&quot;); // requires color-profile, bug 6037
-        addString(svgFeatures, &quot;Gradient&quot;);
-        addString(svgFeatures, &quot;Pattern&quot;);
-        addString(svgFeatures, &quot;Clip&quot;);
-        addString(svgFeatures, &quot;BasicClip&quot;);
-        addString(svgFeatures, &quot;Mask&quot;);
-        addString(svgFeatures, &quot;Filter&quot;);
-        addString(svgFeatures, &quot;BasicFilter&quot;);
-        addString(svgFeatures, &quot;DocumentEventsAttribute&quot;);
-        addString(svgFeatures, &quot;GraphicalEventsAttribute&quot;);
-//      addString(svgFeatures, &quot;AnimationEventsAttribute&quot;);
-        addString(svgFeatures, &quot;Cursor&quot;);
-        addString(svgFeatures, &quot;Hyperlinking&quot;);
-        addString(svgFeatures, &quot;XlinkAttribute&quot;);
-        addString(svgFeatures, &quot;ExternalResourcesRequired&quot;);
-        addString(svgFeatures, &quot;View&quot;);
-        addString(svgFeatures, &quot;Script&quot;);
-        addString(svgFeatures, &quot;Animation&quot;); 
-#if ENABLE(SVG_FONTS)
-        addString(svgFeatures, &quot;Font&quot;);
-        addString(svgFeatures, &quot;BasicFont&quot;);
-#endif
-        addString(svgFeatures, &quot;Extensibility&quot;);
-        initialized = true;
-    }
-    return feature.startsWith(&quot;http://www.w3.org/tr/svg11/feature#&quot;, false)
-        &amp;&amp; svgFeatures.get().contains(feature.right(feature.length() - 35));
-}
-
</del><span class="cx"> DOMImplementation::DOMImplementation(Document&amp; document)
</span><span class="cx">     : m_document(document)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool DOMImplementation::hasFeature(const String&amp; feature, const String&amp; version)
-{
-    if (feature.startsWith(&quot;http://www.w3.org/TR/SVG&quot;, false)
-        || feature.startsWith(&quot;org.w3c.dom.svg&quot;, false)
-        || feature.startsWith(&quot;org.w3c.svg&quot;, false)) {
-        // FIXME: SVG 2.0 support?
-        return isSupportedSVG10Feature(feature, version) || isSupportedSVG11Feature(feature, version);
-    }
-
-    // FIXME: SVG specifications &lt;http://www.w3.org/TR/SVG/script.html#InterfaceSVGZoomEvent&gt;
-    // and &lt;http://www.w3.org/TR/SVG2/interact.html#InterfaceSVGZoomEvent&gt;
-    // say that we should return true for the feature &quot;SVGZoomEvents&quot;.
-
-    return true;
-}
-
</del><span class="cx"> ExceptionOr&lt;Ref&lt;DocumentType&gt;&gt; DOMImplementation::createDocumentType(const String&amp; qualifiedName, const String&amp; publicId, const String&amp; systemId)
</span><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span></span></pre></div>
<a id="trunkSourceWebCoredomDOMImplementationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DOMImplementation.h (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DOMImplementation.h        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/DOMImplementation.h        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     WEBCORE_EXPORT ExceptionOr&lt;Ref&lt;DocumentType&gt;&gt; createDocumentType(const String&amp; qualifiedName, const String&amp; publicId, const String&amp; systemId);
</span><span class="cx">     WEBCORE_EXPORT ExceptionOr&lt;Ref&lt;XMLDocument&gt;&gt; createDocument(const String&amp; namespaceURI, const String&amp; qualifiedName, DocumentType*);
</span><span class="cx">     WEBCORE_EXPORT Ref&lt;HTMLDocument&gt; createHTMLDocument(const String&amp; title);
</span><del>-    WEBCORE_EXPORT static bool hasFeature(const String&amp; feature, const String&amp; version);
</del><ins>+    static bool hasFeature() { return true; }
</ins><span class="cx">     WEBCORE_EXPORT static Ref&lt;CSSStyleSheet&gt; createCSSStyleSheet(const String&amp; title, const String&amp; media);
</span><span class="cx"> 
</span><span class="cx">     static Ref&lt;Document&gt; createDocument(const String&amp; MIMEType, Frame*, const URL&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDOMImplementationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DOMImplementation.idl (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DOMImplementation.idl        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/DOMImplementation.idl        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -27,9 +27,7 @@
</span><span class="cx">     [NewObject] XMLDocument createDocument(DOMString? namespaceURI, [TreatNullAs=EmptyString] DOMString qualifiedName, optional DocumentType? doctype = null);
</span><span class="cx">     [NewObject] HTMLDocument createHTMLDocument(optional DOMString title);
</span><span class="cx"> 
</span><del>-    // FIXME: Latest DOM specification says this should ignore all arguments and always return true.
-    // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
-    boolean hasFeature(optional DOMString feature = &quot;undefined&quot;, [TreatNullAs=EmptyString] optional DOMString version = &quot;undefined&quot;);
</del><ins>+    boolean hasFeature();
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><span class="cx">     CSSStyleSheet createCSSStyleSheet(optional DOMString title = &quot;undefined&quot;, optional DOMString media = &quot;undefined&quot;);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1347,7 +1347,7 @@
</span><span class="cx">     return UTF8Encoding().domName();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String Document::defaultCharsetForBindings() const
</del><ins>+String Document::defaultCharsetForLegacyBindings() const
</ins><span class="cx"> {
</span><span class="cx">     if (Settings* settings = this-&gt;settings())
</span><span class="cx">         return settings-&gt;defaultTextEncodingName();
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/Document.h        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -413,7 +413,7 @@
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT String readyState() const;
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT String defaultCharsetForBindings() const;
</del><ins>+    WEBCORE_EXPORT String defaultCharsetForLegacyBindings() const;
</ins><span class="cx"> 
</span><span class="cx">     String charset() const { return Document::encoding(); }
</span><span class="cx">     WEBCORE_EXPORT String characterSetWithUTF8Fallback() const;
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentType.h (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentType.h        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/DocumentType.h        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -37,11 +37,6 @@
</span><span class="cx">         return adoptRef(*new DocumentType(document, name, publicId, systemId));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // These are needed by ObjC / GObject bindings for backward compatibility.
-    NamedNodeMap* entitiesForBindings() const { return nullptr; }
-    NamedNodeMap* notationsForBindings() const { return nullptr; }
-    String internalSubsetForBindings() const { return String(); }
-
</del><span class="cx">     const String&amp; name() const { return m_name; }
</span><span class="cx">     const String&amp; publicId() const { return m_publicId; }
</span><span class="cx">     const String&amp; systemId() const { return m_systemId; }
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/Element.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -336,11 +336,6 @@
</span><span class="cx">     simulateClick(*this, underlyingEvent, eventOptions, visualOptions, SimulatedClickCreationOptions::FromUserAgent);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Element::dispatchSimulatedClickForBindings(Event* underlyingEvent)
-{
-    simulateClick(*this, underlyingEvent, SendNoEvents, DoNotShowPressedLook, SimulatedClickCreationOptions::FromBindings);
-}
-
</del><span class="cx"> Ref&lt;Node&gt; Element::cloneNodeInternal(Document&amp; targetDocument, CloningOperation type)
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.h (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.h        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/Element.h        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -501,7 +501,6 @@
</span><span class="cx">     bool dispatchWheelEvent(const PlatformWheelEvent&amp;);
</span><span class="cx">     bool dispatchKeyEvent(const PlatformKeyboardEvent&amp;);
</span><span class="cx">     void dispatchSimulatedClick(Event* underlyingEvent, SimulatedClickMouseEventOptions = SendNoEvents, SimulatedClickVisualOptions = ShowPressedLook);
</span><del>-    void dispatchSimulatedClickForBindings(Event* underlyingEvent);
</del><span class="cx">     void dispatchFocusInEvent(const AtomicString&amp; eventType, RefPtr&lt;Element&gt;&amp;&amp; oldFocusedElement);
</span><span class="cx">     void dispatchFocusOutEvent(const AtomicString&amp; eventType, RefPtr&lt;Element&gt;&amp;&amp; newFocusedElement);
</span><span class="cx">     virtual void dispatchFocusEvent(RefPtr&lt;Element&gt;&amp;&amp; oldFocusedElement, FocusDirection);
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/Node.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> #include &quot;ComposedTreeAncestorIterator.h&quot;
</span><span class="cx"> #include &quot;ContainerNodeAlgorithms.h&quot;
</span><span class="cx"> #include &quot;ContextMenuController.h&quot;
</span><del>-#include &quot;DOMImplementation.h&quot;
</del><span class="cx"> #include &quot;DocumentType.h&quot;
</span><span class="cx"> #include &quot;ElementIterator.h&quot;
</span><span class="cx"> #include &quot;ElementRareData.h&quot;
</span><span class="lines">@@ -86,11 +85,6 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx"> 
</span><del>-bool Node::isSupportedForBindings(const String&amp; feature, const String&amp; version)
-{
-    return DOMImplementation::hasFeature(feature, version);
-}
-
</del><span class="cx"> #if DUMP_NODE_STATISTICS
</span><span class="cx"> static HashSet&lt;Node*&gt; liveNodeSet;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.h (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.h        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/dom/Node.h        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -121,9 +121,6 @@
</span><span class="cx">         DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    // Only used by ObjC / GObject bindings.
-    WEBCORE_EXPORT static bool isSupportedForBindings(const String&amp; feature, const String&amp; version);
-
</del><span class="cx">     WEBCORE_EXPORT static void startIgnoringLeaks();
</span><span class="cx">     WEBCORE_EXPORT static void stopIgnoringLeaks();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElement.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLElement.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/html/HTMLElement.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><ins>+#include &quot;SimulatedClick.h&quot;
</ins><span class="cx"> #include &quot;StyleProperties.h&quot;
</span><span class="cx"> #include &quot;SubframeLoader.h&quot;
</span><span class="cx"> #include &quot;Text.h&quot;
</span><span class="lines">@@ -698,7 +699,7 @@
</span><span class="cx"> 
</span><span class="cx"> void HTMLElement::click()
</span><span class="cx"> {
</span><del>-    dispatchSimulatedClickForBindings(nullptr);
</del><ins>+    simulateClick(*this, nullptr, SendNoEvents, DoNotShowPressedLook, SimulatedClickCreationOptions::FromBindings);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLElement::accessKeyAction(bool sendMouseEvents)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTestscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTests.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTests.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/svg/SVGTests.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann &lt;zimmermann@kde.org&gt;
</span><span class="cx">  * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis &lt;buis@kde.org&gt;
</span><del>- * Copyright (C) 2015 Apple Inc. All right reserved.
</del><ins>+ * Copyright (C) 2015-2016 Apple Inc. All right reserved.
</ins><span class="cx">  *
</span><span class="cx">  * This library is free software; you can redistribute it and/or
</span><span class="cx">  * modify it under the terms of the GNU Library General Public
</span><span class="lines">@@ -38,6 +38,74 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace SVGNames;
</span><span class="cx"> 
</span><ins>+static const HashSet&lt;String, ASCIICaseInsensitiveHash&gt;&amp; supportedSVGFeatures()
+{
+    static NeverDestroyed&lt;HashSet&lt;String, ASCIICaseInsensitiveHash&gt;&gt; features = [] {
+        static const char* const features10[] = {
+#if ENABLE(SVG_FONTS)
+            &quot;dom&quot;,
+            &quot;dom.svg&quot;,
+            &quot;dom.svg.static&quot;,
+            &quot;svg&quot;,
+            &quot;svg.static&quot;,
+#endif
+        };
+        static const char* const features11[] = {
+            &quot;animation&quot;,
+            &quot;basegraphicsattribute&quot;,
+            &quot;basicclip&quot;,
+            &quot;basicfilter&quot;,
+            &quot;basicpaintattribute&quot;,
+            &quot;basicstructure&quot;,
+            &quot;basictext&quot;,
+            &quot;clip&quot;,
+            &quot;conditionalprocessing&quot;,
+            &quot;containerattribute&quot;,
+            &quot;coreattribute&quot;,
+            &quot;cursor&quot;,
+            &quot;documenteventsattribute&quot;,
+            &quot;extensibility&quot;,
+            &quot;externalresourcesrequired&quot;,
+            &quot;filter&quot;,
+            &quot;gradient&quot;,
+            &quot;graphicaleventsattribute&quot;,
+            &quot;graphicsattribute&quot;,
+            &quot;hyperlinking&quot;,
+            &quot;image&quot;,
+            &quot;marker&quot;,
+            &quot;mask&quot;,
+            &quot;opacityattribute&quot;,
+            &quot;paintattribute&quot;,
+            &quot;pattern&quot;,
+            &quot;script&quot;,
+            &quot;shape&quot;,
+            &quot;structure&quot;,
+            &quot;style&quot;,
+            &quot;svg-animation&quot;,
+            &quot;svgdom-animation&quot;,
+            &quot;text&quot;,
+            &quot;view&quot;,
+            &quot;viewportattribute&quot;,
+            &quot;xlinkattribute&quot;,
+#if ENABLE(SVG_FONTS)
+            &quot;basicfont&quot;,
+            &quot;font&quot;,
+            &quot;svg&quot;,
+            &quot;svg-static&quot;,
+            &quot;svgdom&quot;,
+            &quot;svgdom-static&quot;,
+#endif
+        };
+        HashSet&lt;String, ASCIICaseInsensitiveHash&gt; set;
+        for (auto&amp; feature : features10)
+            set.add(makeString(&quot;org.w3c.&quot;, feature));
+        for (auto&amp; feature : features11)
+            set.add(makeString(&quot;http://www.w3.org/tr/svg11/feature#&quot;, feature));
+        return set;
+    }();
+    return features;
+}
+
</ins><span class="cx"> SVGTests::SVGTests()
</span><span class="cx">     : m_requiredFeatures(requiredFeaturesAttr)
</span><span class="cx">     , m_requiredExtensions(requiredExtensionsAttr)
</span><span class="lines">@@ -87,7 +155,7 @@
</span><span class="cx"> bool SVGTests::isValid() const
</span><span class="cx"> {
</span><span class="cx">     for (auto&amp; feature : m_requiredFeatures.value) {
</span><del>-        if (feature.isEmpty() || !DOMImplementation::hasFeature(feature, String()))
</del><ins>+        if (feature.isEmpty() || !supportedSVGFeatures().contains(feature))
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx">     for (auto&amp; language : m_systemLanguage.value) {
</span><span class="lines">@@ -177,4 +245,25 @@
</span><span class="cx">     return m_systemLanguage.value;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool SVGTests::hasFeatureForLegacyBindings(const String&amp; feature, const String&amp; version)
+{
+    // FIXME: This function is here only to be exposed in the Objective-C and GObject bindings for both Node and DOMImplementation.
+    // It's likely that we can just remove this and instead have the bindings return true unconditionally.
+    // This is what the DOMImplementation function now does in JavaScript as is now suggested in the DOM specification.
+    // The behavior implemented below is quirky, but preserves what WebKit has done for at least the last few years.
+
+    bool hasSVG10FeaturePrefix = feature.startsWith(&quot;org.w3c.dom.svg&quot;, false) || feature.startsWith(&quot;org.w3c.svg&quot;, false);
+    bool hasSVG11FeaturePrefix = feature.startsWith(&quot;http://www.w3.org/tr/svg&quot;, false);
+
+    // We don't even try to handle feature names that don't look like the SVG ones, so just return true for all of those.
+    if (!(hasSVG10FeaturePrefix || hasSVG11FeaturePrefix))
+        return true;
+
+    // If the version number matches the style of the feature name, then use the set to see if the feature is supported.
+    if (version.isEmpty() || (hasSVG10FeaturePrefix &amp;&amp; version == &quot;1.0&quot;) || (hasSVG11FeaturePrefix &amp;&amp; version == &quot;1.1&quot;))
+        return supportedSVGFeatures().contains(feature);
+
+    return false;
</ins><span class="cx"> }
</span><ins>+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTestsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTests.h (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTests.h        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebCore/svg/SVGTests.h        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -18,8 +18,7 @@
</span><span class="cx">  * Boston, MA 02110-1301, USA.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef SVGTests_h
-#define SVGTests_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;SVGAnimatedPropertyMacros.h&quot;
</span><span class="cx"> #include &quot;SVGStringList.h&quot;
</span><span class="lines">@@ -46,6 +45,8 @@
</span><span class="cx"> 
</span><span class="cx">     static const SVGAttributeToPropertyMap&amp; attributeToPropertyMap();
</span><span class="cx"> 
</span><ins>+    WEBCORE_EXPORT static bool hasFeatureForLegacyBindings(const String&amp; feature, const String&amp; version);
+
</ins><span class="cx"> protected:
</span><span class="cx">     SVGTests();
</span><span class="cx"> 
</span><span class="lines">@@ -62,5 +63,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // SVGTests_h
</del></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit/mac/ChangeLog        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2016-09-05  Darin Adler  &lt;darin@apple.com&gt;
+
+        More bindings improvements, particularly things not needed for JavaScript bindings
+        https://bugs.webkit.org/show_bug.cgi?id=161572
+
+        Reviewed by Sam Weinig.
+
+        * DOM/DOMDOMImplementation.mm:
+        (-[DOMImplementation hasFeature:version:]): Call SVGTests::hasFeatureForLegacyBindings
+        instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
+        since this does not do anything that can invoke JavaScript.
+
+        * DOM/DOMDocument.mm:
+        (-[DOMDocument defaultCharset]): Call defaultCharsetForLegacyBindings. Also removed
+        JSMainThreadNullState.
+
+        * DOM/DOMDocumentType.mm:
+        (-[DOMDocumentType entities]): Changed to simply return nil; same behavior as before,
+        but with no dependency on WebCore. Also removed JSMainThreadNullState.
+        (-[DOMDocumentType notations]): Ditto.
+        (-[DOMDocumentType internalSubset]): Ditto, except empty string rather than nil.
+
+        * DOM/DOMNode.mm:
+        (-[DOMNode isSupported:version:]): Call SVGTests::hasFeatureForLegacyBindings
+        instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.
+
</ins><span class="cx"> 2016-09-04  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove unnecessary RetainPtr.
</span></span></pre></div>
<a id="trunkSourceWebKitmacDOMDOMDOMImplementationmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/DOM/DOMDOMImplementation.mm (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/DOM/DOMDOMImplementation.mm        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit/mac/DOM/DOMDOMImplementation.mm        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #import &lt;WebCore/DocumentType.h&gt;
</span><span class="cx"> #import &lt;WebCore/HTMLDocument.h&gt;
</span><span class="cx"> #import &lt;WebCore/JSMainThreadExecState.h&gt;
</span><ins>+#import &lt;WebCore/SVGTests.h&gt;
</ins><span class="cx"> #import &lt;WebCore/ThreadCheck.h&gt;
</span><span class="cx"> #import &lt;WebCore/WebCoreObjCExtras.h&gt;
</span><span class="cx"> #import &lt;WebCore/WebScriptObjectPrivate.h&gt;
</span><span class="lines">@@ -58,8 +59,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)hasFeature:(NSString *)feature version:(NSString *)version
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    return unwrap(*self).hasFeature(feature, version);
</del><ins>+    return WebCore::SVGTests::hasFeatureForLegacyBindings(feature, version);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (DOMDocumentType *)createDocumentType:(NSString *)qualifiedName publicId:(NSString *)publicId systemId:(NSString *)systemId
</span></span></pre></div>
<a id="trunkSourceWebKitmacDOMDOMDocumentmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/DOM/DOMDocument.mm (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/DOM/DOMDocument.mm        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit/mac/DOM/DOMDocument.mm        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -310,8 +310,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)defaultCharset
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    return IMPL-&gt;defaultCharsetForBindings();
</del><ins>+    return IMPL-&gt;defaultCharsetForLegacyBindings();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)readyState
</span></span></pre></div>
<a id="trunkSourceWebKitmacDOMDOMDocumentTypemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/DOM/DOMDocumentType.mm (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/DOM/DOMDocumentType.mm        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit/mac/DOM/DOMDocumentType.mm        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -48,14 +48,12 @@
</span><span class="cx"> 
</span><span class="cx"> - (DOMNamedNodeMap *)entities
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    return kit(WTF::getPtr(IMPL-&gt;entitiesForBindings()));
</del><ins>+    return nil;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (DOMNamedNodeMap *)notations
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    return kit(WTF::getPtr(IMPL-&gt;notationsForBindings()));
</del><ins>+    return nil;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)publicId
</span><span class="lines">@@ -72,8 +70,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)internalSubset
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    return IMPL-&gt;internalSubsetForBindings();
</del><ins>+    return @&quot;&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)remove
</span></span></pre></div>
<a id="trunkSourceWebKitmacDOMDOMNodemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/DOM/DOMNode.mm (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/DOM/DOMNode.mm        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit/mac/DOM/DOMNode.mm        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -33,9 +33,11 @@
</span><span class="cx"> #import &quot;DOMNodeListInternal.h&quot;
</span><span class="cx"> #import &quot;ExceptionHandlers.h&quot;
</span><span class="cx"> #import &quot;ObjCEventListener.h&quot;
</span><ins>+#import &lt;WebCore/DOMImplementation.h&gt;
</ins><span class="cx"> #import &lt;WebCore/Element.h&gt;
</span><span class="cx"> #import &lt;WebCore/JSMainThreadExecState.h&gt;
</span><span class="cx"> #import &lt;WebCore/NodeList.h&gt;
</span><ins>+#import &lt;WebCore/SVGTests.h&gt;
</ins><span class="cx"> #import &lt;WebCore/ThreadCheck.h&gt;
</span><span class="cx"> #import &lt;WebCore/WebCoreObjCExtras.h&gt;
</span><span class="cx"> #import &lt;WebCore/WebScriptObjectPrivate.h&gt;
</span><span class="lines">@@ -291,8 +293,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)isSupported:(NSString *)feature version:(NSString *)version
</span><span class="cx"> {
</span><del>-    JSMainThreadNullState state;
-    return unwrap(*self).isSupportedForBindings(feature, version);
</del><ins>+    return SVGTests::hasFeatureForLegacyBindings(feature, version);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)hasAttributes
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit2/ChangeLog        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2016-09-05  Darin Adler  &lt;darin@apple.com&gt;
+
+        More bindings improvements, particularly things not needed for JavaScript bindings
+        https://bugs.webkit.org/show_bug.cgi?id=161572
+
+        Reviewed by Sam Weinig.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
+        (webkit_dom_dom_implementation_has_feature): Call SVGTests::hasFeatureForLegacyBindings
+        instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
+        since this does not do anything that can invoke JavaScript.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp:
+        (webkit_dom_document_get_default_charset): Call defaultCharsetForLegacyBindings.
+        Also removed JSMainThreadNullState.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
+        (webkit_dom_document_type_get_entities): Changed to simply return nullptr; same behavior
+        as before, but with no dependency on WebCore. Also removed JSMainThreadNullState.
+        (webkit_dom_document_type_get_notations): Ditto.
+        (webkit_dom_document_type_get_internal_subset): Ditto.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
+        (webkit_dom_node_is_supported): Call SVGTests::hasFeatureForLegacyBindings
+        instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.
+
</ins><span class="cx"> 2016-09-05  Michael Catanzaro  &lt;mcatanzaro@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, update stale variable name
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMDOMImplementationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &lt;WebCore/ExceptionCode.h&gt;
</span><span class="cx"> #include &lt;WebCore/ExceptionCodeDescription.h&gt;
</span><span class="cx"> #include &lt;WebCore/JSMainThreadExecState.h&gt;
</span><ins>+#include &lt;WebCore/SVGTests.h&gt;
</ins><span class="cx"> #include &lt;wtf/GetPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -107,15 +108,12 @@
</span><span class="cx"> 
</span><span class="cx"> gboolean webkit_dom_dom_implementation_has_feature(WebKitDOMDOMImplementation* self, const gchar* feature, const gchar* version)
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
</del><span class="cx">     g_return_val_if_fail(WEBKIT_DOM_IS_DOM_IMPLEMENTATION(self), FALSE);
</span><span class="cx">     g_return_val_if_fail(feature, FALSE);
</span><span class="cx">     g_return_val_if_fail(version, FALSE);
</span><del>-    WebCore::DOMImplementation* item = WebKit::core(self);
</del><span class="cx">     WTF::String convertedFeature = WTF::String::fromUTF8(feature);
</span><span class="cx">     WTF::String convertedVersion = WTF::String::fromUTF8(version);
</span><del>-    gboolean result = item-&gt;hasFeature(convertedFeature, convertedVersion);
-    return result;
</del><ins>+    return WebCore::SVGTests::hasFeatureForLegacyBindings(convertedFeature, convertedVersion);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebKitDOMDocumentType* webkit_dom_dom_implementation_create_document_type(WebKitDOMDOMImplementation* self, const gchar* qualifiedName, const gchar* publicId, const gchar* systemId, GError** error)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMDeprecatedcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -145,9 +145,7 @@
</span><span class="cx"> gchar* webkit_dom_document_get_default_charset(WebKitDOMDocument* self)
</span><span class="cx"> {
</span><span class="cx">     g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), nullptr);
</span><del>-
-    WebCore::JSMainThreadNullState state;
-    return convertToUTF8String(WebKit::core(self)-&gt;defaultCharsetForBindings());
</del><ins>+    return convertToUTF8String(WebKit::core(self)-&gt;defaultCharsetForLegacyBindings());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebKitDOMText* webkit_dom_text_replace_whole_text(WebKitDOMText* self, const gchar* content, GError** error)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMDocumentTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -232,29 +232,20 @@
</span><span class="cx"> 
</span><span class="cx"> WebKitDOMNamedNodeMap* webkit_dom_document_type_get_entities(WebKitDOMDocumentType* self)
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT_TYPE(self), 0);
-    WebCore::DocumentType* item = WebKit::core(self);
-    RefPtr&lt;WebCore::NamedNodeMap&gt; gobjectResult = WTF::getPtr(item-&gt;entitiesForBindings());
-    return WebKit::kit(gobjectResult.get());
</del><ins>+    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT_TYPE(self), nullptr);
+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebKitDOMNamedNodeMap* webkit_dom_document_type_get_notations(WebKitDOMDocumentType* self)
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT_TYPE(self), 0);
-    WebCore::DocumentType* item = WebKit::core(self);
-    RefPtr&lt;WebCore::NamedNodeMap&gt; gobjectResult = WTF::getPtr(item-&gt;notationsForBindings());
-    return WebKit::kit(gobjectResult.get());
</del><ins>+    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT_TYPE(self), nullptr);
+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> gchar* webkit_dom_document_type_get_internal_subset(WebKitDOMDocumentType* self)
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
-    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT_TYPE(self), 0);
-    WebCore::DocumentType* item = WebKit::core(self);
-    gchar* result = convertToUTF8String(item-&gt;internalSubsetForBindings());
-    return result;
</del><ins>+    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT_TYPE(self), nullptr);
+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> gchar* webkit_dom_document_type_get_public_id(WebKitDOMDocumentType* self)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIgtkDOMWebKitDOMNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp (205467 => 205468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp        2016-09-06 03:16:22 UTC (rev 205467)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp        2016-09-06 03:33:50 UTC (rev 205468)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> /*
</span><span class="cx">  *  This file is part of the WebKit open source project.
</span><del>- *  This file has been generated by generate-bindings.pl. DO NOT MODIFY!
</del><span class="cx">  *
</span><span class="cx">  *  This library is free software; you can redistribute it and/or
</span><span class="cx">  *  modify it under the terms of the GNU Library General Public
</span><span class="lines">@@ -21,13 +20,9 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WebKitDOMNode.h&quot;
</span><span class="cx"> 
</span><del>-#include &lt;WebCore/CSSImportRule.h&gt;
</del><ins>+#include &quot;ConvertToUTF8String.h&quot;
</ins><span class="cx"> #include &quot;DOMObjectCache.h&quot;
</span><del>-#include &lt;WebCore/Document.h&gt;
-#include &lt;WebCore/ExceptionCode.h&gt;
-#include &lt;WebCore/ExceptionCodeDescription.h&gt;
</del><span class="cx"> #include &quot;GObjectEventListener.h&quot;
</span><del>-#include &lt;WebCore/JSMainThreadExecState.h&gt;
</del><span class="cx"> #include &quot;WebKitDOMDocumentPrivate.h&quot;
</span><span class="cx"> #include &quot;WebKitDOMElementPrivate.h&quot;
</span><span class="cx"> #include &quot;WebKitDOMEventPrivate.h&quot;
</span><span class="lines">@@ -34,9 +29,14 @@
</span><span class="cx"> #include &quot;WebKitDOMEventTarget.h&quot;
</span><span class="cx"> #include &quot;WebKitDOMNodeListPrivate.h&quot;
</span><span class="cx"> #include &quot;WebKitDOMNodePrivate.h&quot;
</span><ins>+#include &quot;WebKitDOMNodeUnstable.h&quot;
</ins><span class="cx"> #include &quot;WebKitDOMPrivate.h&quot;
</span><del>-#include &quot;ConvertToUTF8String.h&quot;
-#include &quot;WebKitDOMNodeUnstable.h&quot;
</del><ins>+#include &lt;WebCore/CSSImportRule.h&gt;
+#include &lt;WebCore/Document.h&gt;
+#include &lt;WebCore/ExceptionCode.h&gt;
+#include &lt;WebCore/ExceptionCodeDescription.h&gt;
+#include &lt;WebCore/JSMainThreadExecState.h&gt;
+#include &lt;WebCore/SVGTests.h&gt;
</ins><span class="cx"> #include &lt;wtf/GetPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -485,15 +485,12 @@
</span><span class="cx"> 
</span><span class="cx"> gboolean webkit_dom_node_is_supported(WebKitDOMNode* self, const gchar* feature, const gchar* version)
</span><span class="cx"> {
</span><del>-    WebCore::JSMainThreadNullState state;
</del><span class="cx">     g_return_val_if_fail(WEBKIT_DOM_IS_NODE(self), FALSE);
</span><span class="cx">     g_return_val_if_fail(feature, FALSE);
</span><span class="cx">     g_return_val_if_fail(version, FALSE);
</span><del>-    WebCore::Node* item = WebKit::core(self);
</del><span class="cx">     WTF::String convertedFeature = WTF::String::fromUTF8(feature);
</span><span class="cx">     WTF::String convertedVersion = WTF::String::fromUTF8(version);
</span><del>-    gboolean result = item-&gt;isSupportedForBindings(convertedFeature, convertedVersion);
-    return result;
</del><ins>+    return WebCore::SVGTests::hasFeatureForLegacyBindings(convertedFeature, convertedVersion);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> gboolean webkit_dom_node_is_same_node(WebKitDOMNode* self, WebKitDOMNode* other)
</span></span></pre>
</div>
</div>

</body>
</html>