<!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>[206261] 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/206261">206261</a></dd>
<dt>Author</dt> <dd>jbedard@apple.com</dd>
<dt>Date</dt> <dd>2016-09-22 10:39:51 -0700 (Thu, 22 Sep 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Automatic Text Replacement Testing in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=161919

Reviewed by Ryosuke Niwa.

Source/WebCore:

Fixing existing tests:
    editing/inserting/smart-link-when-caret-is-moved-before-URL.html
    editing/inserting/typing-space-to-trigger-smart-link.html

Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.

* testing/Internals.cpp:
(WebCore::Internals::Internals): Reset TextChecker.
(WebCore::Internals::setContinuousSpellCheckingEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticLinkDetectionEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticDashSubstitutionEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticTextReplacementEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Converted exception to an assert.
* testing/Internals.h: Removed exception argument for TextChecker setters.
* testing/Internals.idl: Ditto.

Source/WebKit2:

Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.

* UIProcess/API/C/WKTextChecker.cpp: Added #ifdefs to include file for iOS and Mac.
(WKTextCheckerSetTestingMode): Added.
* UIProcess/API/C/WKTextChecker.h: Added #ifdefs to include file for iOS and Mac.
* UIProcess/TextChecker.h: Added hooks to bypass writing to NSUserDefaults.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::toggleSmartInsertDelete):  New message to toggle TextChecker flag.
(WebKit::WebPageProxy::toggleAutomaticQuoteSubstitution): Ditto.
(WebKit::WebPageProxy::toggleAutomaticLinkDetection): Ditto.
(WebKit::WebPageProxy::toggleAutomaticDashSubstitution): Ditto.
(WebKit::WebPageProxy::toggleAutomaticTextReplacement): Ditto.
* UIProcess/WebPageProxy.h: Added messages to toggle TextChecker flags.
* UIProcess/WebPageProxy.messages.in: Ditto.
* UIProcess/efl/TextCheckerEfl.cpp: Implemented new TextChecker hooks for non-Cocoa platforms.
* UIProcess/gtk/TextCheckerGtk.cpp: Ditto.
(WebKit::TextChecker::mutableState): Ditto.
* UIProcess/ios/TextCheckerIOS.mm: Implemented new TextChecker hooks.
(WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
(WebKit::TextChecker::state): Call mutableState.
(WebKit::TextChecker::accessSmartInsertDeleteEnabled): Dummy function.
* UIProcess/mac/TextCheckerMac.mm:
(WebKit::refresh): Reload TextChecker configuration from NSUserDefaults.
(WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
(WebKit::TextChecker::state): Call mutableState().
(WebKit::TextChecker::accessSmartInsertDeleteEnabled): Allow toggling of smartInsertDeleteEnabled without writing to NSUserDefaults.
(WebKit::initializeState): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetAutomaticLinkDetectionEnabled): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Removed WKBundleSetAutomaticLinkDetectionEnabled.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAutomaticLinkDetectionEnabled): Deleted.
* WebKit2.xcodeproj/project.pbxproj: Added WKTextChecker to Mac and iOS.
* WebProcess/InjectedBundle/InjectedBundle.h: Remove setAutomaticLinkDetectionEnabled.
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::toggleSmartInsertDelete): Send message to UI process to toggle TextChecker.
(WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution): Ditto.
(WebKit::WebEditorClient::toggleAutomaticLinkDetection): Ditto.
(WebKit::WebEditorClient::toggleAutomaticDashSubstitution): Ditto.
(WebKit::WebEditorClient::toggleAutomaticTextReplacement): Ditto.

Tools:

Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Removed setAutomaticLinkDetectionEnabled from TestRunner, moved to Internals.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: Ditto.
(WTR::InjectedBundle::beginTesting): Ditto.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp: Ditto.
* WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::runTest): Place TextChecker into testing mode.

LayoutTests:

Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.

* editing/inserting/smart-link-when-caret-is-moved-before-URL.html: Use internals instead of TestRunner.
* editing/inserting/typing-space-to-trigger-smart-link.html: Ditto.
* platform/efl/TestExpectations: Added port specific tests.
* platform/gtk/TestExpectations: Added port specific tests.
* platform/ios-simulator/TestExpectations: Added port specific tests.
* platform/ios-simulator-wk1/TestExpectations: Moved skipped tests to ios-simulator.
* platform/ios-simulator-wk2/TestExpectations: Moved skipped tests to ios-simulator.
* platform/mac-wk2/TestExpectations: Removed passing test.
* platform/win/TestExpectations: Added port specific tests.
* platform/wk2/TestExpectations: Added better explanation for failing test.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestseditinginsertingsmartlinkwhencaretismovedbeforeURLhtml">trunk/LayoutTests/editing/inserting/smart-link-when-caret-is-moved-before-URL.html</a></li>
<li><a href="#trunkLayoutTestseditinginsertingtypingspacetotriggersmartlinkhtml">trunk/LayoutTests/editing/inserting/typing-space-to-trigger-smart-link.html</a></li>
<li><a href="#trunkLayoutTestsplatformeflTestExpectations">trunk/LayoutTests/platform/efl/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformgtkTestExpectations">trunk/LayoutTests/platform/gtk/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorTestExpectations">trunk/LayoutTests/platform/ios-simulator/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorwk1TestExpectations">trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorwk2TestExpectations">trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2TestExpectations">trunk/LayoutTests/platform/mac-wk2/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwk2TestExpectations">trunk/LayoutTests/platform/wk2/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsh">trunk/Source/WebCore/testing/Internals.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKTextCheckercpp">trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKTextCheckerh">trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessTextCheckerh">trunk/Source/WebKit2/UIProcess/TextChecker.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxymessagesin">trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2UIProcesseflTextCheckerEflcpp">trunk/Source/WebKit2/UIProcess/efl/TextCheckerEfl.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessgtkTextCheckerGtkcpp">trunk/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosTextCheckerIOSmm">trunk/Source/WebKit2/UIProcess/ios/TextCheckerIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacTextCheckerMacmm">trunk/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlecpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePrivateh">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleInjectedBundlecpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleInjectedBundleh">trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportmacWebEditorClientMacmm">trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundleBindingsTestRunneridl">trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl</a></li>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundleInjectedBundlecpp">trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundleTestRunnercpp">trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundleTestRunnerh">trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h</a></li>
<li><a href="#trunkToolsWebKitTestRunnerTestControllercpp">trunk/Tools/WebKitTestRunner/TestController.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/ChangeLog        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2016-09-22  Jonathan Bedard  &lt;jbedard@apple.com&gt;
+
+        Automatic Text Replacement Testing in WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=161919
+
+        Reviewed by Ryosuke Niwa.
+
+        Implemented test hooks for text replacement for WebKit2.
+        Note that spell checking has not been implemented, so most tests which use text replacement still fail.
+
+        * editing/inserting/smart-link-when-caret-is-moved-before-URL.html: Use internals instead of TestRunner.
+        * editing/inserting/typing-space-to-trigger-smart-link.html: Ditto.
+        * platform/efl/TestExpectations: Added port specific tests.
+        * platform/gtk/TestExpectations: Added port specific tests.
+        * platform/ios-simulator/TestExpectations: Added port specific tests.
+        * platform/ios-simulator-wk1/TestExpectations: Moved skipped tests to ios-simulator.
+        * platform/ios-simulator-wk2/TestExpectations: Moved skipped tests to ios-simulator.
+        * platform/mac-wk2/TestExpectations: Removed passing test.
+        * platform/win/TestExpectations: Added port specific tests.
+        * platform/wk2/TestExpectations: Added better explanation for failing test.
+
</ins><span class="cx"> 2016-09-22  Youenn Fablet  &lt;youenn@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Sync web-platform-tests up to revision 3801ab5
</span></span></pre></div>
<a id="trunkLayoutTestseditinginsertingsmartlinkwhencaretismovedbeforeURLhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/editing/inserting/smart-link-when-caret-is-moved-before-URL.html (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/editing/inserting/smart-link-when-caret-is-moved-before-URL.html        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/editing/inserting/smart-link-when-caret-is-moved-before-URL.html        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -6,10 +6,10 @@
</span><span class="cx"> &lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;script&gt;
</span><span class="cx"> 
</span><del>-if (window.testRunner) {
</del><ins>+if (window.testRunner)
</ins><span class="cx">     testRunner.dumpAsText();
</span><del>-    testRunner.setAutomaticLinkDetectionEnabled(true);
-}
</del><ins>+if (window.internals)
+    internals.setAutomaticLinkDetectionEnabled(true);
</ins><span class="cx"> 
</span><span class="cx"> description('This test demonstrates that smart link doesn\'t erroneously trigger when the user moves the caret immediately before an URL.');
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestseditinginsertingtypingspacetotriggersmartlinkhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/editing/inserting/typing-space-to-trigger-smart-link.html (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/editing/inserting/typing-space-to-trigger-smart-link.html        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/editing/inserting/typing-space-to-trigger-smart-link.html        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -4,10 +4,10 @@
</span><span class="cx"> &lt;script&gt;
</span><span class="cx"> function runTest()
</span><span class="cx"> {
</span><del>-    if (window.testRunner) {
</del><ins>+    if (window.testRunner)
</ins><span class="cx">         testRunner.dumpAsText();
</span><del>-        testRunner.setAutomaticLinkDetectionEnabled(true);
-    }
</del><ins>+    if (window.internals)
+        internals.setAutomaticLinkDetectionEnabled(true);
</ins><span class="cx"> 
</span><span class="cx">     var testTypeSpaceDiv = document.getElementById('testTypeSpace');
</span><span class="cx">     var targetText = testTypeSpaceDiv.firstChild;
</span><span class="lines">@@ -40,8 +40,8 @@
</span><span class="cx">     else
</span><span class="cx">         document.getElementById('log').textContent += &quot;Failed: the expected content was '&quot; + expectedContents + &quot;', but the actual result was '&quot; + testTypeLinkDiv.innerHTML + &quot;'.&quot;
</span><span class="cx"> 
</span><del>-    if (window.testRunner)
-        testRunner.setAutomaticLinkDetectionEnabled(false);
</del><ins>+    if (window.internals)
+        internals.setAutomaticLinkDetectionEnabled(false);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> function pressKey(key)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformeflTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/efl/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -1666,9 +1666,9 @@
</span><span class="cx"> webkit.org/b/83704 media/event-attributes.html [ Failure Crash Pass ]
</span><span class="cx"> 
</span><span class="cx"> # EFL's LayoutTestController does not implement setAutomaticLinkDetectionEnabled
</span><del>-webkit.org/b/85463 editing/inserting/typing-space-to-trigger-smart-link.html
-webkit.org/b/85463 editing/inserting/smart-link-when-caret-is-moved-before-URL.html
-editing/inserting/smart-quote-with-all-configurations.html
</del><ins>+editing/inserting/typing-space-to-trigger-smart-link.html [ Skip ]
+editing/inserting/smart-link-when-caret-is-moved-before-URL.html [ Skip ]
+editing/inserting/smart-quote-with-all-configurations.html [ Skip ]
</ins><span class="cx"> 
</span><span class="cx"> # Failing after r119268 on GTK and EFL
</span><span class="cx"> webkit.org/b/88138 http/tests/media/video-buffered.html [ Failure ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/gtk/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -389,6 +389,11 @@
</span><span class="cx"> webkit.org/b/133320 crypto/subtle/hmac-sign-verify-empty-key.html [ Pass ]
</span><span class="cx"> webkit.org/b/133320 crypto/subtle/hmac-sign-verify.html [ Pass ]
</span><span class="cx"> 
</span><ins>+# GTK does not implement setAutomaticLinkDetectionEnabled
+editing/inserting/typing-space-to-trigger-smart-link.html [ Skip ]
+editing/inserting/smart-link-when-caret-is-moved-before-URL.html [ Skip ]
+editing/inserting/smart-quote-with-all-configurations.html [ Skip ]
+
</ins><span class="cx"> # QuickTime plug-in not relevant to this port
</span><span class="cx"> Bug(GTK) plugins/quicktime-plugin-replacement.html [ Skip ]
</span><span class="cx"> 
</span><span class="lines">@@ -2596,8 +2601,6 @@
</span><span class="cx"> webkit.org/b/161588 css3/font-variant-synthesis-jdaggett.html [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/161589 css3/masking/mask-repeat-space-padding.html [ ImageOnlyFailure ]
</span><span class="cx"> 
</span><del>-webkit.org/b/161590 editing/inserting/typing-space-to-trigger-smart-link.html [ Failure ]
-
</del><span class="cx"> #////////////////////////////////////////////////////////////////////////////////////////
</span><span class="cx"> # End of non-crashing, non-flaky tests failing
</span><span class="cx"> #////////////////////////////////////////////////////////////////////////////////////////
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -308,6 +308,11 @@
</span><span class="cx"> http/tests/security/history-username-password.html [ Skip ]
</span><span class="cx"> fast/selectors/hover-invalidation-descendant-dynamic.html [ Skip ]
</span><span class="cx"> 
</span><ins>+# IOS does not implement setAutomaticLinkDetectionEnabled
+editing/inserting/typing-space-to-trigger-smart-link.html [ Skip ]
+editing/inserting/smart-link-when-caret-is-moved-before-URL.html [ Skip ]
+editing/inserting/smart-quote-with-all-configurations.html [ Skip ]
+
</ins><span class="cx"> webkit.org/b/148695 fast/shadow-dom [ Pass ]
</span><span class="cx"> 
</span><span class="cx"> # No tab navigation support on iOS
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorwk1TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -247,8 +247,6 @@
</span><span class="cx"> editing/inserting/insert-br-007.html [ Failure ]
</span><span class="cx"> editing/inserting/insert-character-in-first-letter-crash.html [ Failure ]
</span><span class="cx"> editing/inserting/insert-tab-001.html [ Failure ]
</span><del>-editing/inserting/smart-quote-with-all-configurations.html [ Failure ]
-editing/inserting/typing-space-to-trigger-smart-link.html [ Failure ]
</del><span class="cx"> editing/secure-input/password-input-changed-type.html [ Failure ]
</span><span class="cx"> editing/secure-input/password-input-focusing-to-different-frame.html [ Failure ]
</span><span class="cx"> editing/secure-input/password-input-focusing.html [ Failure ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -982,13 +982,10 @@
</span><span class="cx"> editing/inserting/insert-tab-002.html [ Failure ]
</span><span class="cx"> editing/inserting/insert-tab-004.html [ Failure ]
</span><span class="cx"> editing/inserting/paragraph-outside-nested-divs.html [ Failure ]
</span><del>-editing/inserting/smart-link-when-caret-is-moved-before-URL.html [ Failure ]
-editing/inserting/smart-quote-with-all-configurations.html [ Failure ]
</del><span class="cx"> editing/inserting/typing-001.html [ Failure ]
</span><span class="cx"> editing/inserting/typing-003.html [ Failure ]
</span><span class="cx"> editing/inserting/typing-around-br-001.html [ Failure ]
</span><span class="cx"> editing/inserting/typing-around-image-001.html [ Failure ]
</span><del>-editing/inserting/typing-space-to-trigger-smart-link.html [ Failure ]
</del><span class="cx"> editing/inserting/typing-tab-designmode-forms.html [ Failure ]
</span><span class="cx"> editing/inserting/typing-tab-designmode.html [ Failure ]
</span><span class="cx"> editing/secure-input/password-input-changed-type.html [ Failure ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -131,7 +131,6 @@
</span><span class="cx"> webkit.org/b/105616 editing/spelling/editing-multiple-words-with-markers.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/editing-word-with-marker-2.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/move-cursor-around-misspelled-word.html
</span><del>-webkit.org/b/105616 editing/inserting/inserting-slash-inside-url-with-smart-link.html
</del><span class="cx"> webkit.org/b/105616 editing/spelling/spelling-changed-text.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/spelling-backspace-between-lines.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/design-mode-spellcheck-off.html
</span><span class="lines">@@ -538,10 +537,6 @@
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/161148 gamepad/gamepad-timestamp.html [ Pass Failure ]
</span><span class="cx"> 
</span><del>-webkit.org/b/161366 editing/pasteboard/5478250.html [ Pass Failure ]
-webkit.org/b/161366 [ Debug ] editing/mac/spelling/accept-misspelled-candidate.html [ Pass Failure ]
-webkit.org/b/161366 [ Debug ] editing/mac/spelling/autocorrection-contraction.html [ Pass Failure ]
-
</del><span class="cx"> webkit.org/b/161633 [ Debug ] storage/indexeddb/objectstore-cursor.html [ Pass Timeout ]
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/161539 [ Release ] http/tests/security/cross-origin-plugin-allowed.html [ Pass Failure ]
</span><span class="lines">@@ -552,4 +547,7 @@
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/161549 fast/scrolling/arrow-key-scroll-in-rtl-document.html [ Pass Failure ]
</span><span class="cx"> 
</span><ins>+webkit.org/b/162081 editing/inserting/typing-space-to-trigger-smart-link.html [ Failure ]
+webkit.org/b/162081 editing/inserting/smart-quote-with-all-configurations.html [ Failure ]
+
</ins><span class="cx"> webkit.org/b/160017 [ Debug ] js/regress-139548.html [ Pass Timeout ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/win/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -1241,7 +1241,7 @@
</span><span class="cx"> webkit.org/b/101539 editing/execCommand/switch-list-type-with-orphaned-li.html [ Failure ]
</span><span class="cx"> 
</span><span class="cx"> ###### Inserting
</span><del>-# TODO testRunner::setAutomaticLinkDetectionEnabled isn't implemented
</del><ins>+# Windows does not implement setAutomaticLinkDetectionEnabled
</ins><span class="cx"> editing/inserting/typing-space-to-trigger-smart-link.html [ Skip ]
</span><span class="cx"> editing/inserting/smart-link-when-caret-is-moved-before-URL.html [ Skip ]
</span><span class="cx"> editing/inserting/smart-quote-with-all-configurations.html [ Skip ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/wk2/TestExpectations (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/wk2/TestExpectations        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/LayoutTests/platform/wk2/TestExpectations        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -237,9 +237,6 @@
</span><span class="cx"> fast/block/lineboxcontain/block-glyphs.html
</span><span class="cx"> fast/block/lineboxcontain/font.html
</span><span class="cx"> 
</span><del>-# Strange error in “Internals”
-editing/inserting/smart-quote-with-all-configurations.html
-
</del><span class="cx"> # https://bugs.webkit.org/show_bug.cgi?id=115203
</span><span class="cx"> # Downloaded file name tests fail because of incorrect custom policy delegate implementation
</span><span class="cx"> http/tests/download/default-encoding.html
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebCore/ChangeLog        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2016-09-22  Jonathan Bedard  &lt;jbedard@apple.com&gt;
+
+        Automatic Text Replacement Testing in WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=161919
+
+        Reviewed by Ryosuke Niwa.
+
+        Fixing existing tests:
+            editing/inserting/smart-link-when-caret-is-moved-before-URL.html
+            editing/inserting/typing-space-to-trigger-smart-link.html
+
+        Implemented test hooks for text replacement for WebKit2.
+        Note that spell checking has not been implemented, so most tests which use text replacement still fail.
+
+        * testing/Internals.cpp:
+        (WebCore::Internals::Internals): Reset TextChecker.
+        (WebCore::Internals::setContinuousSpellCheckingEnabled): Converted exception to an assert.
+        (WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Converted exception to an assert.
+        (WebCore::Internals::setAutomaticLinkDetectionEnabled): Converted exception to an assert.
+        (WebCore::Internals::setAutomaticDashSubstitutionEnabled): Converted exception to an assert.
+        (WebCore::Internals::setAutomaticTextReplacementEnabled): Converted exception to an assert.
+        (WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Converted exception to an assert.
+        * testing/Internals.h: Removed exception argument for TextChecker setters.
+        * testing/Internals.idl: Ditto.
+
</ins><span class="cx"> 2016-09-22  Nan Wang  &lt;n_wang@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         AX: aria-pressed state not correctly conveyed to VoiceOver iOS on &lt;button&gt; unless role=button added
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebCore/testing/Internals.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -433,6 +433,14 @@
</span><span class="cx">         document.page()-&gt;setMockMediaPlaybackTargetPickerEnabled(true);
</span><span class="cx"> #endif
</span><span class="cx">     RuntimeEnabledFeatures::sharedFeatures().reset();
</span><ins>+
+    if (contextDocument() &amp;&amp; contextDocument()-&gt;frame()) {
+        setAutomaticSpellingCorrectionEnabled(true);
+        setAutomaticQuoteSubstitutionEnabled(false);
+        setAutomaticDashSubstitutionEnabled(false);
+        setAutomaticLinkDetectionEnabled(false);
+        setAutomaticTextReplacementEnabled(true);
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Document* Internals::contextDocument() const
</span><span class="lines">@@ -1610,7 +1618,7 @@
</span><span class="cx">     return document-&gt;frame()-&gt;editor().selectionStartHasMarkerFor(DocumentMarker::Autocorrected, from, length);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Internals::setContinuousSpellCheckingEnabled(bool enabled, ExceptionCode&amp;)
</del><ins>+void Internals::setContinuousSpellCheckingEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!contextDocument() || !contextDocument()-&gt;frame())
</span><span class="cx">         return;
</span><span class="lines">@@ -1619,7 +1627,7 @@
</span><span class="cx">         contextDocument()-&gt;frame()-&gt;editor().toggleContinuousSpellChecking();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Internals::setAutomaticQuoteSubstitutionEnabled(bool enabled, ExceptionCode&amp;)
</del><ins>+void Internals::setAutomaticQuoteSubstitutionEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!contextDocument() || !contextDocument()-&gt;frame())
</span><span class="cx">         return;
</span><span class="lines">@@ -1632,7 +1640,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Internals::setAutomaticLinkDetectionEnabled(bool enabled, ExceptionCode&amp;)
</del><ins>+void Internals::setAutomaticLinkDetectionEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!contextDocument() || !contextDocument()-&gt;frame())
</span><span class="cx">         return;
</span><span class="lines">@@ -1645,7 +1653,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Internals::setAutomaticDashSubstitutionEnabled(bool enabled, ExceptionCode&amp;)
</del><ins>+void Internals::setAutomaticDashSubstitutionEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!contextDocument() || !contextDocument()-&gt;frame())
</span><span class="cx">         return;
</span><span class="lines">@@ -1658,7 +1666,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Internals::setAutomaticTextReplacementEnabled(bool enabled, ExceptionCode&amp;)
</del><ins>+void Internals::setAutomaticTextReplacementEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!contextDocument() || !contextDocument()-&gt;frame())
</span><span class="cx">         return;
</span><span class="lines">@@ -1671,7 +1679,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Internals::setAutomaticSpellingCorrectionEnabled(bool enabled, ExceptionCode&amp;)
</del><ins>+void Internals::setAutomaticSpellingCorrectionEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!contextDocument() || !contextDocument()-&gt;frame())
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.h (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.h        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebCore/testing/Internals.h        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -211,12 +211,12 @@
</span><span class="cx">     bool hasSpellingMarker(int from, int length, ExceptionCode&amp;);
</span><span class="cx">     bool hasGrammarMarker(int from, int length, ExceptionCode&amp;);
</span><span class="cx">     bool hasAutocorrectedMarker(int from, int length, ExceptionCode&amp;);
</span><del>-    void setContinuousSpellCheckingEnabled(bool enabled, ExceptionCode&amp;);
-    void setAutomaticQuoteSubstitutionEnabled(bool enabled, ExceptionCode&amp;);
-    void setAutomaticLinkDetectionEnabled(bool enabled, ExceptionCode&amp;);
-    void setAutomaticDashSubstitutionEnabled(bool enabled, ExceptionCode&amp;);
-    void setAutomaticTextReplacementEnabled(bool enabled, ExceptionCode&amp;);
-    void setAutomaticSpellingCorrectionEnabled(bool enabled, ExceptionCode&amp;);
</del><ins>+    void setContinuousSpellCheckingEnabled(bool);
+    void setAutomaticQuoteSubstitutionEnabled(bool);
+    void setAutomaticLinkDetectionEnabled(bool);
+    void setAutomaticDashSubstitutionEnabled(bool);
+    void setAutomaticTextReplacementEnabled(bool);
+    void setAutomaticSpellingCorrectionEnabled(bool);
</ins><span class="cx"> 
</span><span class="cx">     void handleAcceptedCandidate(const String&amp; candidate, unsigned location, unsigned length, ExceptionCode&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.idl        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebCore/testing/Internals.idl        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -207,12 +207,12 @@
</span><span class="cx">     [RaisesException] boolean hasSpellingMarker(long from, long length);
</span><span class="cx">     [RaisesException] boolean hasGrammarMarker(long from, long length);
</span><span class="cx">     [RaisesException] boolean hasAutocorrectedMarker(long from, long length);
</span><del>-    [RaisesException] void setContinuousSpellCheckingEnabled(boolean enabled);
-    [RaisesException] void setAutomaticQuoteSubstitutionEnabled(boolean enabled);
-    [RaisesException] void setAutomaticLinkDetectionEnabled(boolean enabled);
-    [RaisesException] void setAutomaticDashSubstitutionEnabled(boolean enabled);
-    [RaisesException] void setAutomaticTextReplacementEnabled(boolean enabled);
-    [RaisesException] void setAutomaticSpellingCorrectionEnabled(boolean enabled);
</del><ins>+    void setContinuousSpellCheckingEnabled(boolean enabled);
+    void setAutomaticQuoteSubstitutionEnabled(boolean enabled);
+    void setAutomaticLinkDetectionEnabled(boolean enabled);
+    void setAutomaticDashSubstitutionEnabled(boolean enabled);
+    void setAutomaticTextReplacementEnabled(boolean enabled);
+    void setAutomaticSpellingCorrectionEnabled(boolean enabled);
</ins><span class="cx"> 
</span><span class="cx">     [RaisesException] void handleAcceptedCandidate(DOMString candidate, unsigned long location, unsigned long length);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/ChangeLog        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -1,3 +1,52 @@
</span><ins>+2016-09-22  Jonathan Bedard  &lt;jbedard@apple.com&gt;
+
+        Automatic Text Replacement Testing in WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=161919
+
+        Reviewed by Ryosuke Niwa.
+
+        Implemented test hooks for text replacement for WebKit2.
+        Note that spell checking has not been implemented, so most tests which use text replacement still fail.
+
+        * UIProcess/API/C/WKTextChecker.cpp: Added #ifdefs to include file for iOS and Mac.
+        (WKTextCheckerSetTestingMode): Added.
+        * UIProcess/API/C/WKTextChecker.h: Added #ifdefs to include file for iOS and Mac.
+        * UIProcess/TextChecker.h: Added hooks to bypass writing to NSUserDefaults.
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::toggleSmartInsertDelete):  New message to toggle TextChecker flag.
+        (WebKit::WebPageProxy::toggleAutomaticQuoteSubstitution): Ditto.
+        (WebKit::WebPageProxy::toggleAutomaticLinkDetection): Ditto.
+        (WebKit::WebPageProxy::toggleAutomaticDashSubstitution): Ditto.
+        (WebKit::WebPageProxy::toggleAutomaticTextReplacement): Ditto.
+        * UIProcess/WebPageProxy.h: Added messages to toggle TextChecker flags.
+        * UIProcess/WebPageProxy.messages.in: Ditto.
+        * UIProcess/efl/TextCheckerEfl.cpp: Implemented new TextChecker hooks for non-Cocoa platforms.
+        * UIProcess/gtk/TextCheckerGtk.cpp: Ditto.
+        (WebKit::TextChecker::mutableState): Ditto.
+        * UIProcess/ios/TextCheckerIOS.mm: Implemented new TextChecker hooks.
+        (WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
+        (WebKit::TextChecker::state): Call mutableState.
+        (WebKit::TextChecker::accessSmartInsertDeleteEnabled): Dummy function.
+        * UIProcess/mac/TextCheckerMac.mm:
+        (WebKit::refresh): Reload TextChecker configuration from NSUserDefaults.
+        (WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
+        (WebKit::TextChecker::state): Call mutableState().
+        (WebKit::TextChecker::accessSmartInsertDeleteEnabled): Allow toggling of smartInsertDeleteEnabled without writing to NSUserDefaults.
+        (WebKit::initializeState): Deleted.
+        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+        (WKBundleSetAutomaticLinkDetectionEnabled): Deleted.
+        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Removed WKBundleSetAutomaticLinkDetectionEnabled.
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::setAutomaticLinkDetectionEnabled): Deleted.
+        * WebKit2.xcodeproj/project.pbxproj: Added WKTextChecker to Mac and iOS.
+        * WebProcess/InjectedBundle/InjectedBundle.h: Remove setAutomaticLinkDetectionEnabled.
+        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+        (WebKit::WebEditorClient::toggleSmartInsertDelete): Send message to UI process to toggle TextChecker.
+        (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution): Ditto.
+        (WebKit::WebEditorClient::toggleAutomaticLinkDetection): Ditto.
+        (WebKit::WebEditorClient::toggleAutomaticDashSubstitution): Ditto.
+        (WebKit::WebEditorClient::toggleAutomaticTextReplacement): Ditto.
+
</ins><span class="cx"> 2016-09-22  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] Rename DataObjectGtk as SelectionData
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKTextCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -25,13 +25,23 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WKTextChecker.h&quot;
</span><ins>+#include &quot;TextChecker.h&quot;
</ins><span class="cx"> 
</span><ins>+#if !defined(__APPLE__)
</ins><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> #include &quot;WebPageProxy.h&quot;
</span><span class="cx"> #include &quot;WebTextChecker.h&quot;
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> using namespace WebKit;
</span><span class="cx"> 
</span><ins>+void WKTextCheckerSetTestingMode(bool enabled)
+{
+    TextChecker::setTestingMode(enabled);
+}
+
+#if !defined(__APPLE__)
+
</ins><span class="cx"> void WKTextCheckerSetClient(const WKTextCheckerClientBase* wkClient)
</span><span class="cx"> {
</span><span class="cx">     if (wkClient &amp;&amp; wkClient-&gt;version)
</span><span class="lines">@@ -58,3 +68,5 @@
</span><span class="cx"> {
</span><span class="cx">     WebTextChecker::singleton()-&gt;changeSpellingToWord(toImpl(page), toWTFString(word));
</span><span class="cx"> }
</span><ins>+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKTextCheckerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.h (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.h        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKTextChecker.h        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -32,6 +32,10 @@
</span><span class="cx"> extern &quot;C&quot; {
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+WK_EXPORT void WKTextCheckerSetTestingMode(bool enabled);
+
+#if !defined(__APPLE__)
+
</ins><span class="cx"> // TextChecker Client
</span><span class="cx"> typedef bool (*WKTextCheckerContinousSpellCheckingAllowed)(const void *clientInfo);
</span><span class="cx"> typedef bool (*WKTextCheckerContinousSpellCheckingEnabled)(const void *clientInfo);
</span><span class="lines">@@ -84,6 +88,8 @@
</span><span class="cx"> WK_EXPORT void WKTextCheckerCheckSpelling(WKPageRef page, bool startBeforeSelection);
</span><span class="cx"> WK_EXPORT void WKTextCheckerChangeSpellingToWord(WKPageRef page, WKStringRef word);
</span><span class="cx"> 
</span><ins>+#endif
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessTextCheckerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/TextChecker.h (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/TextChecker.h        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/TextChecker.h        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -42,6 +42,9 @@
</span><span class="cx"> 
</span><span class="cx">     static void setContinuousSpellCheckingEnabled(bool);
</span><span class="cx">     static void setGrammarCheckingEnabled(bool);
</span><ins>+    
+    static void setTestingMode(bool);
+    static bool isTestingMode();
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     static void setAutomaticSpellingCorrectionEnabled(bool);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -5976,6 +5976,40 @@
</span><span class="cx">     m_process-&gt;send(Messages::WebPage::SetAutoSizingShouldExpandToViewHeight(shouldExpand), m_pageID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if USE(AUTOMATIC_TEXT_REPLACEMENT)
+
+void WebPageProxy::toggleSmartInsertDelete()
+{
+    if (TextChecker::isTestingMode())
+        TextChecker::setSmartInsertDeleteEnabled(!TextChecker::isSmartInsertDeleteEnabled());
+}
+
+void WebPageProxy::toggleAutomaticQuoteSubstitution()
+{
+    if (TextChecker::isTestingMode())
+        TextChecker::setAutomaticQuoteSubstitutionEnabled(!TextChecker::state().isAutomaticQuoteSubstitutionEnabled);
+}
+
+void WebPageProxy::toggleAutomaticLinkDetection()
+{
+    if (TextChecker::isTestingMode())
+        TextChecker::setAutomaticLinkDetectionEnabled(!TextChecker::state().isAutomaticLinkDetectionEnabled);
+}
+
+void WebPageProxy::toggleAutomaticDashSubstitution()
+{
+    if (TextChecker::isTestingMode())
+        TextChecker::setAutomaticDashSubstitutionEnabled(!TextChecker::state().isAutomaticDashSubstitutionEnabled);
+}
+
+void WebPageProxy::toggleAutomaticTextReplacement()
+{
+    if (TextChecker::isTestingMode())
+        TextChecker::setAutomaticTextReplacementEnabled(!TextChecker::state().isAutomaticTextReplacementEnabled);
+}
+
+#endif
+
</ins><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> 
</span><span class="cx"> void WebPageProxy::substitutionsPanelIsShowing(bool&amp; isShowing)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -1423,6 +1423,14 @@
</span><span class="cx"> 
</span><span class="cx">     bool maybeInitializeSandboxExtensionHandle(const WebCore::URL&amp;, SandboxExtension::Handle&amp;);
</span><span class="cx"> 
</span><ins>+#if USE(AUTOMATIC_TEXT_REPLACEMENT)
+    void toggleSmartInsertDelete();
+    void toggleAutomaticQuoteSubstitution();
+    void toggleAutomaticLinkDetection();
+    void toggleAutomaticDashSubstitution();
+    void toggleAutomaticTextReplacement();
+#endif
+
</ins><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">     void substitutionsPanelIsShowing(bool&amp;);
</span><span class="cx">     void showCorrectionPanel(int32_t panelType, const WebCore::FloatRect&amp; boundingBoxOfReplacedString, const String&amp; replacedString, const String&amp; replacementString, const Vector&lt;String&gt;&amp; alternativeReplacementStrings);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -341,6 +341,13 @@
</span><span class="cx"> #if USE(APPKIT)
</span><span class="cx">     SubstitutionsPanelIsShowing() -&gt; (bool isShowing)
</span><span class="cx"> #endif
</span><ins>+#if USE(AUTOMATIC_TEXT_REPLACEMENT)
+    toggleSmartInsertDelete()
+    toggleAutomaticQuoteSubstitution()
+    toggleAutomaticLinkDetection()
+    toggleAutomaticDashSubstitution()
+    toggleAutomaticTextReplacement()
+#endif
</ins><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">     # Autocorrection messages
</span><span class="cx">     ShowCorrectionPanel(int32_t panelType, WebCore::FloatRect boundingBoxOfReplacedString, String replacedString, String replacementString, Vector&lt;String&gt; alternativeReplacementStrings)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcesseflTextCheckerEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/efl/TextCheckerEfl.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/efl/TextCheckerEfl.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/efl/TextCheckerEfl.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -56,6 +56,18 @@
</span><span class="cx"> 
</span><span class="cx">     return textCheckerState;
</span><span class="cx"> }
</span><ins>+    
+static bool testingModeEnabled = false;
+    
+void TextChecker::setTestingMode(bool enabled)
+{
+    testingModeEnabled = enabled;
+}
+    
+bool TextChecker::isTestingMode()
+{
+    return testingModeEnabled;
+}
</ins><span class="cx"> 
</span><span class="cx"> bool TextChecker::isContinuousSpellCheckingAllowed()
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessgtkTextCheckerGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -63,7 +63,19 @@
</span><span class="cx"> {
</span><span class="cx">     return checkerState();
</span><span class="cx"> }
</span><ins>+    
+static bool testingModeEnabled = false;
+    
+void TextChecker::setTestingMode(bool enabled)
+{
+    testingModeEnabled = enabled;
+}
</ins><span class="cx"> 
</span><ins>+bool TextChecker::isTestingMode()
+{
+    return testingModeEnabled;
+}
+
</ins><span class="cx"> #if ENABLE(SPELLCHECK)
</span><span class="cx"> static void updateStateForAllProcessPools()
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosTextCheckerIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/TextCheckerIOS.mm (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/TextCheckerIOS.mm        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/ios/TextCheckerIOS.mm        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -84,7 +84,20 @@
</span><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx"> }
</span><ins>+    
+static bool testingModeEnabled = false;
+    
+void TextChecker::setTestingMode(bool enabled)
+{
+    testingModeEnabled = enabled;
+}
+    
+bool TextChecker::isTestingMode()
+{
+    return testingModeEnabled;
+}
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx"> static bool smartInsertDeleteEnabled;
</span><span class="cx"> 
</span><span class="cx"> bool TextChecker::isSmartInsertDeleteEnabled()
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacTextCheckerMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -115,7 +115,29 @@
</span><span class="cx">     initializeState();
</span><span class="cx">     return textCheckerState;
</span><span class="cx"> }
</span><ins>+    
+static bool testingModeEnabled = false;
</ins><span class="cx"> 
</span><ins>+void TextChecker::setTestingMode(bool enabled)
+{
+    if (enabled &amp;&amp; !testingModeEnabled) {
+        [[NSUserDefaults standardUserDefaults] setBool:textCheckerState.isContinuousSpellCheckingEnabled forKey:WebContinuousSpellCheckingEnabled];
+        [[NSUserDefaults standardUserDefaults] setBool:textCheckerState.isGrammarCheckingEnabled forKey:WebGrammarCheckingEnabled];
+        [[NSUserDefaults standardUserDefaults] setBool:textCheckerState.isAutomaticSpellingCorrectionEnabled forKey:WebAutomaticSpellingCorrectionEnabled];
+        [[NSUserDefaults standardUserDefaults] setBool:textCheckerState.isAutomaticQuoteSubstitutionEnabled forKey:WebAutomaticQuoteSubstitutionEnabled];
+        [[NSUserDefaults standardUserDefaults] setBool:textCheckerState.isAutomaticDashSubstitutionEnabled forKey:WebAutomaticDashSubstitutionEnabled];
+        [[NSUserDefaults standardUserDefaults] setBool:textCheckerState.isAutomaticLinkDetectionEnabled forKey:WebAutomaticLinkDetectionEnabled];
+        [[NSUserDefaults standardUserDefaults] setBool:textCheckerState.isAutomaticTextReplacementEnabled forKey:WebAutomaticTextReplacementEnabled];
+        [[NSUserDefaults standardUserDefaults] setBool:isSmartInsertDeleteEnabled() forKey:WebSmartInsertDeleteEnabled];
+    }
+    testingModeEnabled = enabled;
+}
+
+bool TextChecker::isTestingMode()
+{
+    return testingModeEnabled;
+}
+
</ins><span class="cx"> bool TextChecker::isContinuousSpellCheckingAllowed()
</span><span class="cx"> {
</span><span class="cx">     static bool allowContinuousSpellChecking = true;
</span><span class="lines">@@ -137,7 +159,8 @@
</span><span class="cx">         return;
</span><span class="cx">                                                                                       
</span><span class="cx">     textCheckerState.isContinuousSpellCheckingEnabled = isContinuousSpellCheckingEnabled;
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:isContinuousSpellCheckingEnabled forKey:WebContinuousSpellCheckingEnabled];
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:isContinuousSpellCheckingEnabled forKey:WebContinuousSpellCheckingEnabled];
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: preflight the spell checker.
</span><span class="cx"> }
</span><span class="lines">@@ -148,7 +171,8 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     textCheckerState.isGrammarCheckingEnabled = isGrammarCheckingEnabled;
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:isGrammarCheckingEnabled forKey:WebGrammarCheckingEnabled];    
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:isGrammarCheckingEnabled forKey:WebGrammarCheckingEnabled];
</ins><span class="cx">     [[NSSpellChecker sharedSpellChecker] updatePanels];
</span><span class="cx">     
</span><span class="cx">     // We call preflightSpellChecker() when turning continuous spell checking on, but we don't need to do that here
</span><span class="lines">@@ -161,7 +185,8 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     textCheckerState.isAutomaticSpellingCorrectionEnabled = isAutomaticSpellingCorrectionEnabled;
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:isAutomaticSpellingCorrectionEnabled forKey:WebAutomaticSpellingCorrectionEnabled];    
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:isAutomaticSpellingCorrectionEnabled forKey:WebAutomaticSpellingCorrectionEnabled];
</ins><span class="cx"> 
</span><span class="cx">     [[NSSpellChecker sharedSpellChecker] updatePanels];
</span><span class="cx"> }
</span><span class="lines">@@ -172,7 +197,8 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     textCheckerState.isAutomaticQuoteSubstitutionEnabled = isAutomaticQuoteSubstitutionEnabled;
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:isAutomaticQuoteSubstitutionEnabled forKey:WebAutomaticQuoteSubstitutionEnabled];    
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:isAutomaticQuoteSubstitutionEnabled forKey:WebAutomaticQuoteSubstitutionEnabled];
</ins><span class="cx">     
</span><span class="cx">     [[NSSpellChecker sharedSpellChecker] updatePanels];
</span><span class="cx"> }
</span><span class="lines">@@ -183,7 +209,8 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     textCheckerState.isAutomaticDashSubstitutionEnabled = isAutomaticDashSubstitutionEnabled;
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:isAutomaticDashSubstitutionEnabled forKey:WebAutomaticDashSubstitutionEnabled];
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:isAutomaticDashSubstitutionEnabled forKey:WebAutomaticDashSubstitutionEnabled];
</ins><span class="cx"> 
</span><span class="cx">     [[NSSpellChecker sharedSpellChecker] updatePanels];
</span><span class="cx"> }
</span><span class="lines">@@ -194,7 +221,8 @@
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     textCheckerState.isAutomaticLinkDetectionEnabled = isAutomaticLinkDetectionEnabled;
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:isAutomaticLinkDetectionEnabled forKey:WebAutomaticLinkDetectionEnabled];
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:isAutomaticLinkDetectionEnabled forKey:WebAutomaticLinkDetectionEnabled];
</ins><span class="cx">     
</span><span class="cx">     [[NSSpellChecker sharedSpellChecker] updatePanels];
</span><span class="cx"> }
</span><span class="lines">@@ -205,7 +233,8 @@
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     textCheckerState.isAutomaticTextReplacementEnabled = isAutomaticTextReplacementEnabled;
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:isAutomaticTextReplacementEnabled forKey:WebAutomaticTextReplacementEnabled];
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:isAutomaticTextReplacementEnabled forKey:WebAutomaticTextReplacementEnabled];
</ins><span class="cx"> 
</span><span class="cx">     [[NSSpellChecker sharedSpellChecker] updatePanels];
</span><span class="cx"> }
</span><span class="lines">@@ -232,7 +261,8 @@
</span><span class="cx"> 
</span><span class="cx">     smartInsertDeleteEnabled = flag;
</span><span class="cx"> 
</span><del>-    [[NSUserDefaults standardUserDefaults] setBool:flag forKey:WebSmartInsertDeleteEnabled];
</del><ins>+    if (!testingModeEnabled)
+        [[NSUserDefaults standardUserDefaults] setBool:flag forKey:WebSmartInsertDeleteEnabled];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TextChecker::didChangeAutomaticTextReplacementEnabled()
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -749,6 +749,8 @@
</span><span class="cx">                 31BA924E148831260062EDB5 /* WebNotificationManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 31BA9249148830810062EDB5 /* WebNotificationManagerMessages.h */; };
</span><span class="cx">                 31D5929E166E060000E6BF02 /* WebPlugInClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31D5929C166E05FF00E6BF02 /* WebPlugInClient.cpp */; };
</span><span class="cx">                 31D5929F166E060000E6BF02 /* WebPlugInClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 31D5929D166E060000E6BF02 /* WebPlugInClient.h */; };
</span><ins>+                31D755C11D91B81500843BD1 /* WKTextChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 314888FF1D91B11D00377042 /* WKTextChecker.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                31D755C21D91B81B00843BD1 /* WKTextChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 314888FE1D91B11D00377042 /* WKTextChecker.cpp */; };
</ins><span class="cx">                 31EA25D2134F78C0005B1452 /* NativeWebMouseEventMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 31EA25D0134F78B2005B1452 /* NativeWebMouseEventMac.mm */; };
</span><span class="cx">                 330934471315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 330934431315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp */; };
</span><span class="cx">                 330934481315B9220097A7BC /* WebCookieManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 330934441315B9220097A7BC /* WebCookieManagerMessages.h */; };
</span><span class="lines">@@ -2769,6 +2771,8 @@
</span><span class="cx">                 3131261B148FF82B00BA2A39 /* WebNotificationManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebNotificationManager.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 3131261C148FF82B00BA2A39 /* WebNotificationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNotificationManager.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 3131261D148FF82C00BA2A39 /* WebNotificationManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebNotificationManager.messages.in; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                314888FE1D91B11D00377042 /* WKTextChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKTextChecker.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                314888FF1D91B11D00377042 /* WKTextChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKTextChecker.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 31607F3819627002009B87DA /* LegacySessionStateCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacySessionStateCoding.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 317FE7C11C487A6600A0CA89 /* APIExperimentalFeature.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIExperimentalFeature.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 317FE7C21C487A6600A0CA89 /* APIExperimentalFeature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIExperimentalFeature.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -6276,6 +6280,8 @@
</span><span class="cx">                 BC0C376610F807660076D7CB /* C */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                314888FE1D91B11D00377042 /* WKTextChecker.cpp */,
+                                314888FF1D91B11D00377042 /* WKTextChecker.h */,
</ins><span class="cx">                                 5123CF18133D25E60056F800 /* cg */,
</span><span class="cx">                                 6EE849C41368D9040038D481 /* mac */,
</span><span class="cx">                                 BCB63477116BF10600603215 /* WebKit2_C.h */,
</span><span class="lines">@@ -7565,6 +7571,7 @@
</span><span class="cx">                                 1AEFD2F711D1807B008219D3 /* ArgumentCoders.h in Headers */,
</span><span class="cx">                                 1AAF0C4A12B16334008E49E2 /* ArgumentCodersCF.h in Headers */,
</span><span class="cx">                                 E179FD9C134D38060015B883 /* ArgumentCodersMac.h in Headers */,
</span><ins>+                                31D755C11D91B81500843BD1 /* WKTextChecker.h in Headers */,
</ins><span class="cx">                                 CE1A0BD21A48E6C60054EF74 /* AssertionServicesSPI.h in Headers */,
</span><span class="cx">                                 C59C4A5918B81174007BDCB6 /* AssistedNodeInformation.h in Headers */,
</span><span class="cx">                                 515E7728183DD6F60007203F /* AsyncRequest.h in Headers */,
</span><span class="lines">@@ -9338,6 +9345,7 @@
</span><span class="cx">                                 1ZZ417EF12C00D87002BE67B /* TextCheckerCompletion.cpp in Sources */,
</span><span class="cx">                                 2DA944AD1884E9BA00ED86DB /* TextCheckerIOS.mm in Sources */,
</span><span class="cx">                                 1AA417EF12C00D87002BE67B /* TextCheckerMac.mm in Sources */,
</span><ins>+                                31D755C21D91B81B00843BD1 /* WKTextChecker.cpp in Sources */,
</ins><span class="cx">                                 1AAF263814687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm in Sources */,
</span><span class="cx">                                 1AF05D8614688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.mm in Sources */,
</span><span class="cx">                                 1AFE436518B6C081009C7A48 /* UIDelegate.mm in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -155,11 +155,6 @@
</span><span class="cx">     toImpl(bundleRef)-&gt;setJavaScriptCanAccessClipboard(toImpl(pageGroupRef), enabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKBundleSetAutomaticLinkDetectionEnabled(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, bool enabled)
-{
-    toImpl(bundleRef)-&gt;setAutomaticLinkDetectionEnabled(toImpl(pageGroupRef), enabled);
-}
-
</del><span class="cx"> void WKBundleSetPrivateBrowsingEnabled(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, bool enabled)
</span><span class="cx"> {
</span><span class="cx">     toImpl(bundleRef)-&gt;setPrivateBrowsingEnabled(toImpl(pageGroupRef), enabled);
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -49,7 +49,6 @@
</span><span class="cx"> WK_EXPORT void WKBundleSetFrameFlatteningEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
</span><span class="cx"> WK_EXPORT void WKBundleSetPluginsEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
</span><span class="cx"> WK_EXPORT void WKBundleSetJavaScriptCanAccessClipboard(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
</span><del>-WK_EXPORT void WKBundleSetAutomaticLinkDetectionEnabled(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, bool enabled);
</del><span class="cx"> WK_EXPORT void WKBundleSetPrivateBrowsingEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
</span><span class="cx"> WK_EXPORT void WKBundleSetUseDashboardCompatibilityMode(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
</span><span class="cx"> WK_EXPORT void WKBundleSetPopupBlockingEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleInjectedBundlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;InjectedBundleScriptWorld.h&quot;
</span><span class="cx"> #include &quot;NotificationPermissionRequestManager.h&quot;
</span><span class="cx"> #include &quot;SessionTracker.h&quot;
</span><del>-#include &quot;TextChecker.h&quot;
</del><span class="cx"> #include &quot;UserData.h&quot;
</span><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> #include &quot;WKBundleAPICast.h&quot;
</span><span class="lines">@@ -304,16 +303,6 @@
</span><span class="cx">         (*iter)-&gt;settings().setJavaScriptCanAccessClipboard(enabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundle::setAutomaticLinkDetectionEnabled(WebPageGroupProxy* pageGroup, bool enabled)
-{
-#if USE(APPKIT)
-    if (enabled == TextChecker::state().isAutomaticLinkDetectionEnabled)
-        return;
-    TextChecker::setAutomaticLinkDetectionEnabled(enabled);
-    WebProcess::singleton().setTextCheckerState(TextChecker::state());
-#endif
-}
-
</del><span class="cx"> void InjectedBundle::setPrivateBrowsingEnabled(WebPageGroupProxy* pageGroup, bool enabled)
</span><span class="cx"> {
</span><span class="cx">     if (enabled) {
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleInjectedBundleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -106,7 +106,6 @@
</span><span class="cx">     void setFrameFlatteningEnabled(WebPageGroupProxy*, bool);
</span><span class="cx">     void setPluginsEnabled(WebPageGroupProxy*, bool);
</span><span class="cx">     void setJavaScriptCanAccessClipboard(WebPageGroupProxy*, bool);
</span><del>-    void setAutomaticLinkDetectionEnabled(WebPageGroupProxy*, bool enabled);
</del><span class="cx">     void setPrivateBrowsingEnabled(WebPageGroupProxy*, bool);
</span><span class="cx">     void setUseDashboardCompatibilityMode(WebPageGroupProxy*, bool);
</span><span class="cx">     void setPopupBlockingEnabled(WebPageGroupProxy*, bool);
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportmacWebEditorClientMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -124,8 +124,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebEditorClient::toggleSmartInsertDelete()
</span><span class="cx"> {
</span><del>-    // This is handled in the UI process.
-    ASSERT_NOT_REACHED();
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::toggleSmartInsertDelete());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebEditorClient::isAutomaticQuoteSubstitutionEnabled()
</span><span class="lines">@@ -138,8 +137,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebEditorClient::toggleAutomaticQuoteSubstitution()
</span><span class="cx"> {
</span><del>-    // This is handled in the UI process.
-    ASSERT_NOT_REACHED();
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::toggleAutomaticQuoteSubstitution());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebEditorClient::isAutomaticLinkDetectionEnabled()
</span><span class="lines">@@ -149,8 +147,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebEditorClient::toggleAutomaticLinkDetection()
</span><span class="cx"> {
</span><del>-    // This is handled in the UI process.
-    ASSERT_NOT_REACHED();
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::toggleAutomaticLinkDetection());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebEditorClient::isAutomaticDashSubstitutionEnabled()
</span><span class="lines">@@ -163,8 +160,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebEditorClient::toggleAutomaticDashSubstitution()
</span><span class="cx"> {
</span><del>-    // This is handled in the UI process.
-    ASSERT_NOT_REACHED();
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::toggleAutomaticDashSubstitution());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebEditorClient::isAutomaticTextReplacementEnabled()
</span><span class="lines">@@ -177,8 +173,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebEditorClient::toggleAutomaticTextReplacement()
</span><span class="cx"> {
</span><del>-    // This is handled in the UI process.
-    ASSERT_NOT_REACHED();
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::toggleAutomaticTextReplacement());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebEditorClient::isAutomaticSpellingCorrectionEnabled()
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Tools/ChangeLog        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2016-09-22  Jonathan Bedard  &lt;jbedard@apple.com&gt;
+
+        Automatic Text Replacement Testing in WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=161919
+
+        Reviewed by Ryosuke Niwa.
+
+        Implemented test hooks for text replacement for WebKit2.
+        Note that spell checking has not been implemented, so most tests which use text replacement still fail.
+
+        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Removed setAutomaticLinkDetectionEnabled from TestRunner, moved to Internals.
+        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: Ditto.
+        (WTR::InjectedBundle::beginTesting): Ditto.
+        * WebKitTestRunner/InjectedBundle/TestRunner.cpp: Ditto.
+        * WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::runTest): Place TextChecker into testing mode.
+
</ins><span class="cx"> 2016-09-21  Dan Bernstein  &lt;mitz@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [macOS] Upon layout, _webView:renderingProgressDidChange: fires before the intrinsic content size is updated
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundleBindingsTestRunneridl"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -62,7 +62,6 @@
</span><span class="cx">     void setAllowFileAccessFromFileURLs(boolean value);
</span><span class="cx">     void setPluginsEnabled(boolean value);
</span><span class="cx">     void setJavaScriptCanAccessClipboard(boolean value);
</span><del>-    void setAutomaticLinkDetectionEnabled(boolean value);
</del><span class="cx">     void setPrivateBrowsingEnabled(boolean value);
</span><span class="cx">     void setUseDashboardCompatibilityMode(boolean value);
</span><span class="cx">     void setPopupBlockingEnabled(boolean value);
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundleInjectedBundlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -294,7 +294,6 @@
</span><span class="cx"> 
</span><span class="cx">     WKBundleSetAllowUniversalAccessFromFileURLs(m_bundle, m_pageGroup, true);
</span><span class="cx">     WKBundleSetJavaScriptCanAccessClipboard(m_bundle, m_pageGroup, true);
</span><del>-    WKBundleSetAutomaticLinkDetectionEnabled(m_bundle, m_pageGroup, false);
</del><span class="cx">     WKBundleSetPrivateBrowsingEnabled(m_bundle, m_pageGroup, false);
</span><span class="cx">     WKBundleSetUseDashboardCompatibilityMode(m_bundle, m_pageGroup, false);
</span><span class="cx">     WKBundleSetAuthorAndUserStylesEnabled(m_bundle, m_pageGroup, true);
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundleTestRunnercpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -411,12 +411,6 @@
</span><span class="cx">     WKBundleSetJavaScriptCanAccessClipboard(injectedBundle.bundle(), injectedBundle.pageGroup(), enabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestRunner::setAutomaticLinkDetectionEnabled(bool enabled)
-{
-    auto&amp; injectedBundle = InjectedBundle::singleton();
-    WKBundleSetAutomaticLinkDetectionEnabled(injectedBundle.bundle(), injectedBundle.pageGroup(), enabled);
-}
-
</del><span class="cx"> void TestRunner::setPrivateBrowsingEnabled(bool enabled)
</span><span class="cx"> {
</span><span class="cx">     auto&amp; injectedBundle = InjectedBundle::singleton();
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundleTestRunnerh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -109,7 +109,6 @@
</span><span class="cx">     void setAllowFileAccessFromFileURLs(bool);
</span><span class="cx">     void setPluginsEnabled(bool);
</span><span class="cx">     void setJavaScriptCanAccessClipboard(bool);
</span><del>-    void setAutomaticLinkDetectionEnabled(bool);
</del><span class="cx">     void setPrivateBrowsingEnabled(bool);
</span><span class="cx">     void setUseDashboardCompatibilityMode(bool);
</span><span class="cx">     void setPopupBlockingEnabled(bool);
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (206260 => 206261)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestController.cpp        2016-09-22 16:20:59 UTC (rev 206260)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp        2016-09-22 17:39:51 UTC (rev 206261)
</span><span class="lines">@@ -57,6 +57,7 @@
</span><span class="cx"> #include &lt;WebKit/WKProtectionSpace.h&gt;
</span><span class="cx"> #include &lt;WebKit/WKRetainPtr.h&gt;
</span><span class="cx"> #include &lt;WebKit/WKSecurityOriginRef.h&gt;
</span><ins>+#include &lt;WebKit/WKTextChecker.h&gt;
</ins><span class="cx"> #include &lt;WebKit/WKUserMediaPermissionCheck.h&gt;
</span><span class="cx"> #include &lt;algorithm&gt;
</span><span class="cx"> #include &lt;cstdio&gt;
</span><span class="lines">@@ -80,10 +81,6 @@
</span><span class="cx"> #include &lt;WebKit/WKPagePrivateMac.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if !PLATFORM(COCOA)
-#include &lt;WebKit/WKTextChecker.h&gt;
-#endif
-
</del><span class="cx"> namespace WTR {
</span><span class="cx"> 
</span><span class="cx"> const unsigned TestController::viewWidth = 800;
</span><span class="lines">@@ -1083,6 +1080,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool TestController::runTest(const char* inputLine)
</span><span class="cx"> {
</span><ins>+    WKTextCheckerSetTestingMode(true);
</ins><span class="cx">     TestCommand command = parseInputLine(std::string(inputLine));
</span><span class="cx"> 
</span><span class="cx">     m_state = RunningTest;
</span></span></pre>
</div>
</div>

</body>
</html>