<!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>[173596] 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/173596">173596</a></dd>
<dt>Author</dt> <dd>jhoneycutt@apple.com</dd>
<dt>Date</dt> <dd>2014-09-12 18:01:02 -0700 (Fri, 12 Sep 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Re-add the request autocomplete feature

&lt;https://bugs.webkit.org/show_bug.cgi?id=136730&gt;

This feature was rolled out in <a href="http://trac.webkit.org/projects/webkit/changeset/148731">r148731</a> because it was only used by
Chromium. As we consider supporting this feature, roll it back in, but
leave it disabled.

This rolls out <a href="http://trac.webkit.org/projects/webkit/changeset/148731">r148731</a> (which removed the feature) with small changes
Source/JavaScriptCore:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

Tests: fast/events/constructors/autocomplete-error-event-constructor.html
       fast/forms/form-request-autocomplete.html

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* dom/AutocompleteErrorEvent.h: Added.
(WebCore::AutocompleteErrorEvent::create):
(WebCore::AutocompleteErrorEvent::reason):
(WebCore::AutocompleteErrorEvent::AutocompleteErrorEvent):
* dom/AutocompleteErrorEvent.idl: Added.
* dom/EventNames.h:
* dom/EventNames.in:
* html/HTMLAttributeNames.in:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::requestAutocomplete):
(WebCore::HTMLFormElement::finishRequestAutocomplete):
(WebCore::HTMLFormElement::requestAutocompleteTimerFired):
(WebCore::HTMLFormElement::parseAttribute):
* html/HTMLFormElement.h:
* html/HTMLFormElement.idl:
* loader/EmptyClients.h:
* loader/FrameLoaderClient.h:
* page/DOMWindow.idl:

Source/WebKit/mac:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* Configurations/FeatureDefines.xcconfig:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didRequestAutocomplete):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WTF:

needed to make the code build in ToT, to make the tests run, and to
remove unused code.

Reviewed by Andy Estes.

* wtf/FeatureDefines.h:

LayoutTests:

needed to make the code build in ToT, to match modern style, to make
the tests run, and to remove unused code.

Reviewed by Andy Estes.

* fast/events/constructors/autocomplete-error-event-constructor-expected.txt: Added.
* fast/events/constructors/autocomplete-error-event-constructor.html: Added.
* fast/events/event-creation.html:
* fast/forms/form-request-autocomplete-expected.txt: Added.
* fast/forms/form-request-autocomplete.html: Added.
* js/dom/constructor-length.html:
* platform/efl/js/dom/constructor-length-expected.txt:
* platform/gtk/js/dom/constructor-length-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfasteventseventcreationhtml">trunk/LayoutTests/fast/events/event-creation.html</a></li>
<li><a href="#trunkLayoutTestsjsdomconstructorlengthhtml">trunk/LayoutTests/js/dom/constructor-length.html</a></li>
<li><a href="#trunkLayoutTestsplatformefljsdomconstructorlengthexpectedtxt">trunk/LayoutTests/platform/efl/js/dom/constructor-length-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkjsdomconstructorlengthexpectedtxt">trunk/LayoutTests/platform/gtk/js/dom/constructor-length-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacjsdomconstructorlengthexpectedtxt">trunk/LayoutTests/platform/mac/js/dom/constructor-length-expected.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfFeatureDefinesh">trunk/Source/WTF/wtf/FeatureDefines.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoredomEventNamesh">trunk/Source/WebCore/dom/EventNames.h</a></li>
<li><a href="#trunkSourceWebCoredomEventNamesin">trunk/Source/WebCore/dom/EventNames.in</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAttributeNamesin">trunk/Source/WebCore/html/HTMLAttributeNames.in</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormElementcpp">trunk/Source/WebCore/html/HTMLFormElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormElementh">trunk/Source/WebCore/html/HTMLFormElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormElementidl">trunk/Source/WebCore/html/HTMLFormElement.idl</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientsh">trunk/Source/WebCore/loader/EmptyClients.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderClienth">trunk/Source/WebCore/loader/FrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowidl">trunk/Source/WebCore/page/DOMWindow.idl</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfasteventsconstructorsautocompleteerroreventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorsautocompleteerroreventconstructorhtml">trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfastformsformrequestautocompleteexpectedtxt">trunk/LayoutTests/fast/forms/form-request-autocomplete-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsformrequestautocompletehtml">trunk/LayoutTests/fast/forms/form-request-autocomplete.html</a></li>
<li><a href="#trunkSourceWebCoredomAutocompleteErrorEventh">trunk/Source/WebCore/dom/AutocompleteErrorEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomAutocompleteErrorEventidl">trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/LayoutTests/ChangeLog        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2014-09-10  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;
+
+        Re-add the request autocomplete feature
+
+        &lt;https://bugs.webkit.org/show_bug.cgi?id=136730&gt;
+
+        This feature was rolled out in r148731 because it was only used by
+        Chromium. As we consider supporting this feature, roll it back in, but
+        leave it disabled.
+
+        This rolls out r148731 (which removed the feature) with small changes
+        needed to make the code build in ToT, to match modern style, to make
+        the tests run, and to remove unused code.
+
+        Reviewed by Andy Estes.
+
+        * fast/events/constructors/autocomplete-error-event-constructor-expected.txt: Added.
+        * fast/events/constructors/autocomplete-error-event-constructor.html: Added.
+        * fast/events/event-creation.html:
+        * fast/forms/form-request-autocomplete-expected.txt: Added.
+        * fast/forms/form-request-autocomplete.html: Added.
+        * js/dom/constructor-length.html:
+        * platform/efl/js/dom/constructor-length-expected.txt:
+        * platform/gtk/js/dom/constructor-length-expected.txt:
+
</ins><span class="cx"> 2014-09-12  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add -webkit-appearance and pseudo element tests for quirks mode
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorsautocompleteerroreventconstructorexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor-expected.txt (0 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor-expected.txt        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+This tests the constructor for the AutocompleteErrorEvent DOM class.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+FAIL no AutocompleteErrorEvent
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorsautocompleteerroreventconstructorhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor.html (0 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor.html                                (rev 0)
+++ trunk/LayoutTests/fast/events/constructors/autocomplete-error-event-constructor.html        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;script&gt;
+
+description(&quot;This tests the constructor for the AutocompleteErrorEvent DOM class.&quot;);
+
+if (!window.AutocompleteErrorEvent) {
+    testFailed('no AutocompleteErrorEvent');
+    finishJSTest();
+} else {
+    // No initializer is passed.
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType').bubbles&quot;, &quot;false&quot;);
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType').cancelable&quot;, &quot;false&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType').reason&quot;, &quot;&quot;);
+
+    // bubbles is passed.
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType', { bubbles: false }).bubbles&quot;, &quot;false&quot;);
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType', { bubbles: true }).bubbles&quot;, &quot;true&quot;);
+
+    // cancelable is passed.
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType', { cancelable: false }).cancelable&quot;, &quot;false&quot;);
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType', { cancelable: true }).cancelable&quot;, &quot;true&quot;);
+
+    // reason is passed.
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: 'doremi' }).reason&quot;, &quot;doremi&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: '' }).reason&quot;, &quot;&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: undefined }).reason&quot;, &quot;undefined&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: null }).reason&quot;, &quot;null&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: false }).reason&quot;, &quot;false&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: true }).reason&quot;, &quot;true&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: 12345 }).reason&quot;, &quot;12345&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: 18446744073709551615 }).reason&quot;, &quot;18446744073709552000&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: NaN }).reason&quot;, &quot;NaN&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: [] }).reason&quot;, &quot;&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: [1, 2, 3] }).reason&quot;, &quot;1,2,3&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: {doremi: 12345} }).reason&quot;, &quot;[object Object]&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { reason: {valueOf: function () { return 'doremi'; } } }).reason&quot;, &quot;[object Object]&quot;);
+
+    // All initializers are passed.
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType', { bubbles: true, cancelable: true, reason: 'doremi' }).bubbles&quot;, &quot;true&quot;);
+    shouldBe(&quot;new AutocompleteErrorEvent('eventType', { bubbles: true, cancelable: true, reason: 'doremi' }).cancelable&quot;, &quot;true&quot;);
+    shouldBeEqualToString(&quot;new AutocompleteErrorEvent('eventType', { bubbles: true, cancelable: true, reason: 'doremi' }).reason&quot;, &quot;doremi&quot;);
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfasteventseventcreationhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/event-creation.html (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/event-creation.html        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/LayoutTests/fast/events/event-creation.html        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -228,6 +228,12 @@
</span><span class="cx">     // shouldBeTrue(&quot;document.createEvent('OrientationEvent') instanceof window.Event&quot;);
</span><span class="cx">     // shouldBeTrue(&quot;document.createEvent('OrientationEvent').constructor === window.Event&quot;);
</span><span class="cx"> 
</span><ins>+    // #if ENABLE(REQUEST_AUTOCOMPLETE)
+    // AutocompleteErrorEvent
+    // shouldBeTrue(&quot;document.createEvent('AutocompleteErrorEvent') instanceof window.AutocompleteErrorEvent&quot;);
+    // shouldBeTrue(&quot;document.createEvent('AutocompleteErrorEvent') instanceof window.Event&quot;);
+    // shouldBeTrue(&quot;document.createEvent('AutocompleteErrorEvent').constructor === window.AutocompleteErrorEvent&quot;);
+
</ins><span class="cx">     // We test both a hard coded set and the automated set below (using enumeration) to ensure that a constructor being removed
</span><span class="cx">     // from the window is caught a regression.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsformrequestautocompleteexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/forms/form-request-autocomplete-expected.txt (0 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/form-request-autocomplete-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/forms/form-request-autocomplete-expected.txt        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+HTMLFormElement#requestAutocomplete and associated events
+
+For this test to pass, you should see all PASSED below.
+
+FAIL no requestAutocomplete function
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastformsformrequestautocompletehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/forms/form-request-autocomplete.html (0 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/form-request-autocomplete.html                                (rev 0)
+++ trunk/LayoutTests/fast/forms/form-request-autocomplete.html        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -0,0 +1,114 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+jsTestIsAsync = true;
+
+var numErrors = 0;
+var numErrorsExpected = 0;
+
+function runTests()
+{
+    if (typeof HTMLFormElement.prototype.requestAutocomplete != 'function') {
+        testFailed('no requestAutocomplete function');
+        finishJSTest();
+        return;
+    }
+
+    checkDynamicAttributes();
+    checkParsedAttributes();
+    checkNonUserGesture();
+}
+
+function checkForEnumerableProperties(form)
+{
+    var enumerated = false;
+    for (var field in form) {
+        if (/onautocomplete/.test(field))
+            testFailed('enumerable form attribute found on HTMLFormElement: ' + field);
+        enumerated = true;
+    }
+    if (enumerated)
+        testPassed('no enumerable properties on HTMLFormElement');
+    else
+        testFailed('failed to enumerate HTMLFormElement properties');
+}
+
+function checkParsedAttributes()
+{
+    numErrorsExpected += 1;
+
+    var form = document.forms[0];
+    checkForEnumerableProperties(form);
+
+    // Currently Chrome just immediately dispatches an error.
+    form.onautocompleteerror = errorWithReason('disabled');
+    form.requestAutocomplete();
+}
+
+function checkDynamicAttributes()
+{
+    numErrorsExpected += 1;
+
+    var form = document.createElement('form');
+    checkForEnumerableProperties(form);
+
+    form.autocomplete = 'off';
+    form.onautocompleteerror = errorWithReason('disabled');
+    form.requestAutocomplete();
+}
+
+function checkNonUserGesture()
+{
+    numErrorsExpected += 1;
+
+    var form = document.createElement('form');
+    checkForEnumerableProperties(form);
+    form.onautocompleteerror = errorWithReason('disabled');
+
+    setTimeout(function()
+    {
+        form.requestAutocomplete();
+    }, 0);
+}
+
+function errorWithReason(reason)
+{
+    return function(event) {
+        if (event instanceof AutocompleteErrorEvent)
+            testPassed('event is an AutocompleteErrorEvent');
+        else
+            testFailed('expected an AutocompleteErrorEvent');
+
+        if (event.reason == reason)
+            testPassed('got expected reason: ' + reason);
+        else
+            testFailed('wrong reason, expected: ' + reason + ', got: ' + event.reason);
+
+        onError();
+    };
+}
+
+function onError()
+{
+    numErrors += 1;
+    if (numErrors &gt; numErrorsExpected)
+        testFailed('too many error events');
+    else if (numErrors == numErrorsExpected) {
+        testPassed('got expected number of error events (' + numErrorsExpected + ')');
+        finishJSTest();
+    }
+}
+
+window.addEventListener('load', runTests, true);
+&lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;p&gt; &lt;a href=&quot;http://bugs.webkit.org/show_bug.cgi?id=100557&quot;&gt;HTMLFormElement#requestAutocomplete and associated events&lt;/a&gt; &lt;/p&gt;
+&lt;p&gt; For this test to pass, you should see all PASSED below. &lt;/p&gt;
+&lt;form autocomplete=&quot;off&quot; onautocompleteerror=&quot;onError();&quot;&gt;&lt;/form&gt;
+&lt;p id=&quot;console&quot;&gt;&lt;/p&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsjsdomconstructorlengthhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/constructor-length.html (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/constructor-length.html        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/LayoutTests/js/dom/constructor-length.html        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -9,6 +9,7 @@
</span><span class="cx"> 
</span><span class="cx"> shouldBe('ArrayBuffer.length', '1');
</span><span class="cx"> shouldBe('AudioContext.length', '0');
</span><ins>+shouldBe('AutocompleteErrorEvent.length', '1');
</ins><span class="cx"> shouldBe('BeforeLoadEvent.length', '1');
</span><span class="cx"> shouldBe('Blob.length', '0');
</span><span class="cx"> shouldBe('CloseEvent.length', '1');
</span></span></pre></div>
<a id="trunkLayoutTestsplatformefljsdomconstructorlengthexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/js/dom/constructor-length-expected.txt (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/js/dom/constructor-length-expected.txt        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/LayoutTests/platform/efl/js/dom/constructor-length-expected.txt        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -5,6 +5,7 @@
</span><span class="cx"> 
</span><span class="cx"> PASS ArrayBuffer.length is 1
</span><span class="cx"> FAIL AudioContext.length should be 0. Threw exception ReferenceError: Can't find variable: AudioContext
</span><ins>+FAIL AutocompleteErrorEvent.length should be 1. Threw exception ReferenceError: Can't find variable: AutocompleteErrorEvent
</ins><span class="cx"> PASS BeforeLoadEvent.length is 1
</span><span class="cx"> PASS Blob.length is 0
</span><span class="cx"> PASS CloseEvent.length is 1
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkjsdomconstructorlengthexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/js/dom/constructor-length-expected.txt (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/js/dom/constructor-length-expected.txt        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/LayoutTests/platform/gtk/js/dom/constructor-length-expected.txt        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -5,6 +5,7 @@
</span><span class="cx"> 
</span><span class="cx"> PASS ArrayBuffer.length is 1
</span><span class="cx"> FAIL AudioContext.length should be 0. Threw exception ReferenceError: Can't find variable: AudioContext
</span><ins>+FAIL AutocompleteErrorEvent.length should be 1. Threw exception ReferenceError: Can't find variable: AutocompleteErrorEvent
</ins><span class="cx"> PASS BeforeLoadEvent.length is 1
</span><span class="cx"> PASS Blob.length is 0
</span><span class="cx"> PASS CloseEvent.length is 1
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacjsdomconstructorlengthexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/js/dom/constructor-length-expected.txt (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/js/dom/constructor-length-expected.txt        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/LayoutTests/platform/mac/js/dom/constructor-length-expected.txt        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -5,6 +5,7 @@
</span><span class="cx"> 
</span><span class="cx"> PASS ArrayBuffer.length is 1
</span><span class="cx"> FAIL AudioContext.length should be 0. Threw exception ReferenceError: Can't find variable: AudioContext
</span><ins>+FAIL AutocompleteErrorEvent.length should be 1. Threw exception ReferenceError: Can't find variable: AutocompleteErrorEvent
</ins><span class="cx"> PASS BeforeLoadEvent.length is 1
</span><span class="cx"> PASS Blob.length is 0
</span><span class="cx"> PASS CloseEvent.length is 1
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2014-09-10  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;
+
+        Re-add the request autocomplete feature
+
+        &lt;https://bugs.webkit.org/show_bug.cgi?id=136730&gt;
+
+        This feature was rolled out in r148731 because it was only used by
+        Chromium. As we consider supporting this feature, roll it back in, but
+        leave it disabled.
+
+        This rolls out r148731 (which removed the feature) with small changes
+        needed to make the code build in ToT, to match modern style, to make
+        the tests run, and to remove unused code.
+
+        Reviewed by Andy Estes.
+
+        * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2014-09-12  Julien Brianceau  &lt;jbriance@cisco.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [x86] moveDoubleToInts() does not clobber its source register anymore
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -178,6 +178,7 @@
</span><span class="cx"> ENABLE_PUBLIC_SUFFIX_LIST = ENABLE_PUBLIC_SUFFIX_LIST;
</span><span class="cx"> ENABLE_QUOTA = ;
</span><span class="cx"> ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
</span><ins>+ENABLE_REQUEST_AUTOCOMPLETE = ;
</ins><span class="cx"> ENABLE_REMOTE_INSPECTOR = $(ENABLE_REMOTE_INSPECTOR_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphoneos = ENABLE_REMOTE_INSPECTOR;
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphonesimulator = $(ENABLE_REMOTE_INSPECTOR_iphoneos);
</span><span class="lines">@@ -270,4 +271,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WTF/ChangeLog        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2014-09-10  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;
+
+        Re-add the request autocomplete feature
+
+        &lt;https://bugs.webkit.org/show_bug.cgi?id=136730&gt;
+
+        This feature was rolled out in r148731 because it was only used by
+        Chromium. As we consider supporting this feature, roll it back in, but
+        leave it disabled.
+
+        This rolls out r148731 (which removed the feature) with small changes
+        needed to make the code build in ToT, to make the tests run, and to
+        remove unused code.
+
+        Reviewed by Andy Estes.
+
+        * wtf/FeatureDefines.h:
+
</ins><span class="cx"> 2014-09-12  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Swiping back from a Twitter image to Twitter flashes to the wrong position
</span></span></pre></div>
<a id="trunkSourceWTFwtfFeatureDefinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/FeatureDefines.h (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/FeatureDefines.h        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WTF/wtf/FeatureDefines.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -644,6 +644,10 @@
</span><span class="cx"> #define ENABLE_REQUEST_ANIMATION_FRAME 0
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if !defined(ENABLE_REQUEST_AUTOCOMPLETE)
+#define ENABLE_REQUEST_AUTOCOMPLETE 0
+#endif
+
</ins><span class="cx"> #if !defined(ENABLE_RUBBER_BANDING)
</span><span class="cx"> #define ENABLE_RUBBER_BANDING 0
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/ChangeLog        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -1,3 +1,45 @@
</span><ins>+2014-09-10  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;
+
+        Re-add the request autocomplete feature
+
+        &lt;https://bugs.webkit.org/show_bug.cgi?id=136730&gt;
+
+        This feature was rolled out in r148731 because it was only used by
+        Chromium. As we consider supporting this feature, roll it back in, but
+        leave it disabled.
+
+        This rolls out r148731 (which removed the feature) with small changes
+        needed to make the code build in ToT, to match modern style, to make
+        the tests run, and to remove unused code.
+
+        Reviewed by Andy Estes.
+
+        Tests: fast/events/constructors/autocomplete-error-event-constructor.html
+               fast/forms/form-request-autocomplete.html
+
+        * Configurations/FeatureDefines.xcconfig:
+        * DerivedSources.make:
+        * WebCore.xcodeproj/project.pbxproj:
+        * dom/AutocompleteErrorEvent.h: Added.
+        (WebCore::AutocompleteErrorEvent::create):
+        (WebCore::AutocompleteErrorEvent::reason):
+        (WebCore::AutocompleteErrorEvent::AutocompleteErrorEvent):
+        * dom/AutocompleteErrorEvent.idl: Added.
+        * dom/EventNames.h:
+        * dom/EventNames.in:
+        * html/HTMLAttributeNames.in:
+        * html/HTMLFormElement.cpp:
+        (WebCore::HTMLFormElement::HTMLFormElement):
+        (WebCore::HTMLFormElement::requestAutocomplete):
+        (WebCore::HTMLFormElement::finishRequestAutocomplete):
+        (WebCore::HTMLFormElement::requestAutocompleteTimerFired):
+        (WebCore::HTMLFormElement::parseAttribute):
+        * html/HTMLFormElement.h:
+        * html/HTMLFormElement.idl:
+        * loader/EmptyClients.h:
+        * loader/FrameLoaderClient.h:
+        * page/DOMWindow.idl:
+
</ins><span class="cx"> 2014-09-12  Vivek Galatage  &lt;vivek.vg@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         CanvasRenderingContext2D should update the computed style while setting the font
</span></span></pre></div>
<a id="trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -178,6 +178,7 @@
</span><span class="cx"> ENABLE_PUBLIC_SUFFIX_LIST = ENABLE_PUBLIC_SUFFIX_LIST;
</span><span class="cx"> ENABLE_QUOTA = ;
</span><span class="cx"> ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
</span><ins>+ENABLE_REQUEST_AUTOCOMPLETE = ;
</ins><span class="cx"> ENABLE_REMOTE_INSPECTOR = $(ENABLE_REMOTE_INSPECTOR_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphoneos = ENABLE_REMOTE_INSPECTOR;
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphonesimulator = $(ENABLE_REMOTE_INSPECTOR_iphoneos);
</span><span class="lines">@@ -270,4 +271,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/DerivedSources.make        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -250,6 +250,7 @@
</span><span class="cx">     $(WebCore)/css/WebKitCSSTransformValue.idl \
</span><span class="cx">     $(WebCore)/css/WebKitCSSViewportRule.idl \
</span><span class="cx">     $(WebCore)/dom/Attr.idl \
</span><ins>+    $(WebCore)/dom/AutocompleteErrorEvent.idl \
</ins><span class="cx">     $(WebCore)/dom/BeforeLoadEvent.idl \
</span><span class="cx">     $(WebCore)/dom/BeforeUnloadEvent.idl \
</span><span class="cx">     $(WebCore)/dom/CDATASection.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -2288,6 +2288,7 @@
</span><span class="cx">                 75793ED50D0CE85B007FC0AC /* DOMMessageEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 75793ED20D0CE85B007FC0AC /* DOMMessageEventInternal.h */; };
</span><span class="cx">                 759CB837192DA9190012BC64 /* ControlStates.h in Headers */ = {isa = PBXBuildFile; fileRef = 311C08BC18E35D6800B65615 /* ControlStates.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 75DCC7B818B81C8800A57128 /* SessionIDHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 75DCC7B718B81C8800A57128 /* SessionIDHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                760847CE19A6A27800428CCC /* AutocompleteErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 760847CD19A6A27700428CCC /* AutocompleteErrorEvent.h */; };
</ins><span class="cx">                 7633A72613D8B33A008501B6 /* LocaleToScriptMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 7633A72413D8B33A008501B6 /* LocaleToScriptMapping.h */; };
</span><span class="cx">                 7633A72713D8B33A008501B6 /* LocaleToScriptMappingDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7633A72513D8B33A008501B6 /* LocaleToScriptMappingDefault.cpp */; };
</span><span class="cx">                 76808B50159DADFA002B5233 /* JSHTMLDialogElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 76808B4E159DADFA002B5233 /* JSHTMLDialogElement.h */; };
</span><span class="lines">@@ -2301,6 +2302,11 @@
</span><span class="cx">                 76CDD2F51103DA6600680521 /* AccessibilityMenuListPopup.h in Headers */ = {isa = PBXBuildFile; fileRef = 76CDD2EF1103DA6600680521 /* AccessibilityMenuListPopup.h */; };
</span><span class="cx">                 76CDD2F61103DA6600680521 /* AccessibilityMenuListOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76CDD2F01103DA6600680521 /* AccessibilityMenuListOption.cpp */; };
</span><span class="cx">                 76CDD2F71103DA6600680521 /* AccessibilityMenuListOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 76CDD2F11103DA6600680521 /* AccessibilityMenuListOption.h */; };
</span><ins>+                76FB9FEB19A7284B00420562 /* DOMAutocompleteErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FB9FE819A7284B00420562 /* DOMAutocompleteErrorEvent.h */; };
+                76FB9FEC19A7284B00420562 /* DOMAutocompleteErrorEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 76FB9FE919A7284B00420562 /* DOMAutocompleteErrorEvent.mm */; };
+                76FB9FED19A7284B00420562 /* DOMAutocompleteErrorEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FB9FEA19A7284B00420562 /* DOMAutocompleteErrorEventInternal.h */; };
+                76FB9FF819A73E3A00420562 /* JSAutocompleteErrorEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76FB9FF619A73E3A00420562 /* JSAutocompleteErrorEvent.cpp */; };
+                76FB9FF919A73E3A00420562 /* JSAutocompleteErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FB9FF719A73E3A00420562 /* JSAutocompleteErrorEvent.h */; };
</ins><span class="cx">                 76FC2B0B12370DA0006A991A /* DOMTokenList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76FC2B0812370DA0006A991A /* DOMTokenList.cpp */; };
</span><span class="cx">                 76FC2B0C12370DA0006A991A /* DOMTokenList.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FC2B0912370DA0006A991A /* DOMTokenList.h */; };
</span><span class="cx">                 76FF17E311235673001D61B5 /* PluginViewNone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76FF17E211235673001D61B5 /* PluginViewNone.cpp */; };
</span><span class="lines">@@ -9403,6 +9409,8 @@
</span><span class="cx">                 75793ED10D0CE85B007FC0AC /* DOMMessageEvent.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMMessageEvent.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 75793ED20D0CE85B007FC0AC /* DOMMessageEventInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMMessageEventInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 75DCC7B718B81C8800A57128 /* SessionIDHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionIDHash.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                760847CD19A6A27700428CCC /* AutocompleteErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutocompleteErrorEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                760847CF19A6A28600428CCC /* AutocompleteErrorEvent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = AutocompleteErrorEvent.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 7633A72413D8B33A008501B6 /* LocaleToScriptMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocaleToScriptMapping.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7633A72513D8B33A008501B6 /* LocaleToScriptMappingDefault.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocaleToScriptMappingDefault.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 76808B4E159DADFA002B5233 /* JSHTMLDialogElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLDialogElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9416,6 +9424,11 @@
</span><span class="cx">                 76CDD2EF1103DA6600680521 /* AccessibilityMenuListPopup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityMenuListPopup.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 76CDD2F01103DA6600680521 /* AccessibilityMenuListOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityMenuListOption.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 76CDD2F11103DA6600680521 /* AccessibilityMenuListOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityMenuListOption.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                76FB9FE819A7284B00420562 /* DOMAutocompleteErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMAutocompleteErrorEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                76FB9FE919A7284B00420562 /* DOMAutocompleteErrorEvent.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMAutocompleteErrorEvent.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                76FB9FEA19A7284B00420562 /* DOMAutocompleteErrorEventInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMAutocompleteErrorEventInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                76FB9FF619A73E3A00420562 /* JSAutocompleteErrorEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAutocompleteErrorEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                76FB9FF719A73E3A00420562 /* JSAutocompleteErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAutocompleteErrorEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 76FC2B0812370DA0006A991A /* DOMTokenList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMTokenList.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 76FC2B0912370DA0006A991A /* DOMTokenList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMTokenList.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 76FC2B0A12370DA0006A991A /* DOMTokenList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMTokenList.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16890,6 +16903,9 @@
</span><span class="cx">                 85AFA7AB0AAF3BB000E84305 /* Events */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                76FB9FE819A7284B00420562 /* DOMAutocompleteErrorEvent.h */,
+                                76FB9FE919A7284B00420562 /* DOMAutocompleteErrorEvent.mm */,
+                                76FB9FEA19A7284B00420562 /* DOMAutocompleteErrorEventInternal.h */,
</ins><span class="cx">                                 BC946EED107FDBAC00857193 /* DOMBeforeLoadEvent.h */,
</span><span class="cx">                                 BC946EEE107FDBAC00857193 /* DOMBeforeLoadEvent.mm */,
</span><span class="cx">                                 85AFA8200AAF528A00E84305 /* DOMEvent.h */,
</span><span class="lines">@@ -19288,6 +19304,8 @@
</span><span class="cx">                 A83B79120CCB003F000B0825 /* Events */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                76FB9FF619A73E3A00420562 /* JSAutocompleteErrorEvent.cpp */,
+                                76FB9FF719A73E3A00420562 /* JSAutocompleteErrorEvent.h */,
</ins><span class="cx">                                 BC946345107A934B00857193 /* JSBeforeLoadEvent.cpp */,
</span><span class="cx">                                 BC946347107A936600857193 /* JSBeforeLoadEvent.h */,
</span><span class="cx">                                 8225432CA9D4B4CF4628EC7F /* JSBeforeUnloadEvent.cpp */,
</span><span class="lines">@@ -22413,6 +22431,8 @@
</span><span class="cx">                                 A8C4A7FB09D563270003AC8D /* Attr.h */,
</span><span class="cx">                                 93EEC1E509C2877700C515D1 /* Attr.idl */,
</span><span class="cx">                                 A8C4A7F909D563270003AC8D /* Attribute.h */,
</span><ins>+                                760847CF19A6A28600428CCC /* AutocompleteErrorEvent.idl */,
+                                760847CD19A6A27700428CCC /* AutocompleteErrorEvent.h */,
</ins><span class="cx">                                 BC9462D7107A7B4C00857193 /* BeforeLoadEvent.h */,
</span><span class="cx">                                 BC9462CB107A7A3900857193 /* BeforeLoadEvent.idl */,
</span><span class="cx">                                 AB23A32509BBA7D00067CC53 /* BeforeTextInsertedEvent.cpp */,
</span><span class="lines">@@ -24243,6 +24263,7 @@
</span><span class="cx">                                 9746AF2914F4DDE6003E7A70 /* GeolocationPosition.h in Headers */,
</span><span class="cx">                                 9746AF2A14F4DDE6003E7A70 /* Geoposition.h in Headers */,
</span><span class="cx">                                 086BBD0F136039C2008B15D8 /* Glyph.h in Headers */,
</span><ins>+                                76FB9FEB19A7284B00420562 /* DOMAutocompleteErrorEvent.h in Headers */,
</ins><span class="cx">                                 B2C3DA6C0D006CD600EF6F26 /* GlyphBuffer.h in Headers */,
</span><span class="cx">                                 C5D4AA7A116BAFB60069CA93 /* GlyphMetricsMap.h in Headers */,
</span><span class="cx">                                 0873B86B136064EA00A522C2 /* GlyphPage.h in Headers */,
</span><span class="lines">@@ -24424,6 +24445,7 @@
</span><span class="cx">                                 516730A4182D8FBB003FAF5C /* IDBCursorBackend.h in Headers */,
</span><span class="cx">                                 510194451836F7E500925523 /* IDBCursorBackendOperations.h in Headers */,
</span><span class="cx">                                 51D719C4181106E00016DC51 /* IDBCursorWithValue.h in Headers */,
</span><ins>+                                76FB9FED19A7284B00420562 /* DOMAutocompleteErrorEventInternal.h in Headers */,
</ins><span class="cx">                                 51D719C7181106E00016DC51 /* IDBDatabase.h in Headers */,
</span><span class="cx">                                 536D5A23193E8E0C00CE4CAB /* ParsingUtilities.h in Headers */,
</span><span class="cx">                                 51771C8F182DB4B7008E781E /* IDBDatabaseBackend.h in Headers */,
</span><span class="lines">@@ -25640,6 +25662,7 @@
</span><span class="cx">                                 A8DF4AE90980C42C0052981B /* RenderTableCell.h in Headers */,
</span><span class="cx">                                 A8DF4AF10980C42C0052981B /* RenderTableCol.h in Headers */,
</span><span class="cx">                                 A8DF4AEE0980C42C0052981B /* RenderTableRow.h in Headers */,
</span><ins>+                                76FB9FF919A73E3A00420562 /* JSAutocompleteErrorEvent.h in Headers */,
</ins><span class="cx">                                 A8DF4AEF0980C42C0052981B /* RenderTableSection.h in Headers */,
</span><span class="cx">                                 BCEA488C097D93020094C9E4 /* RenderText.h in Headers */,
</span><span class="cx">                                 AB67D1A9097F3AE300F9392E /* RenderTextControl.h in Headers */,
</span><span class="lines">@@ -26116,6 +26139,7 @@
</span><span class="cx">                                 84C6784D1214814700A92902 /* SVGPathBlender.h in Headers */,
</span><span class="cx">                                 CDCFABBD18C0AF78006F8450 /* SelectionSubtreeRoot.h in Headers */,
</span><span class="cx">                                 8476C9EB11DF6A2900555B02 /* SVGPathBuilder.h in Headers */,
</span><ins>+                                760847CE19A6A27800428CCC /* AutocompleteErrorEvent.h in Headers */,
</ins><span class="cx">                                 8419D2A7120D92D000141F8F /* SVGPathByteStream.h in Headers */,
</span><span class="cx">                                 8419D2A9120D92D000141F8F /* SVGPathByteStreamBuilder.h in Headers */,
</span><span class="cx">                                 8419D2AD120D92FC00141F8F /* SVGPathByteStreamSource.h in Headers */,
</span><span class="lines">@@ -27687,6 +27711,7 @@
</span><span class="cx">                                 7EE6846612D26E3800E79415 /* FormDataStreamCFNet.cpp in Sources */,
</span><span class="cx">                                 514C764F0CE9234E007EF3CD /* FormDataStreamMac.mm in Sources */,
</span><span class="cx">                                 656D373B0ADBA5DE00A4554D /* FormState.cpp in Sources */,
</span><ins>+                                76FB9FEC19A7284B00420562 /* DOMAutocompleteErrorEvent.mm in Sources */,
</ins><span class="cx">                                 41885B9411B6FDA6003383BB /* FormSubmission.cpp in Sources */,
</span><span class="cx">                                 65BF022E0974816300C43196 /* Frame.cpp in Sources */,
</span><span class="cx">                                 974A862214B7ADBB003FDC76 /* FrameDestructionObserver.cpp in Sources */,
</span><span class="lines">@@ -28024,6 +28049,7 @@
</span><span class="cx">                                 BCC065870F3CE2A700CD2D87 /* JSClientRect.cpp in Sources */,
</span><span class="cx">                                 BCC065890F3CE2A700CD2D87 /* JSClientRectList.cpp in Sources */,
</span><span class="cx">                                 5C4304B5191AEF46000E2BC0 /* JSEXTShaderTextureLOD.cpp in Sources */,
</span><ins>+                                76FB9FF819A73E3A00420562 /* JSAutocompleteErrorEvent.cpp in Sources */,
</ins><span class="cx">                                 BCA83E4F0D7CE1E9003421A8 /* JSDataTransfer.cpp in Sources */,
</span><span class="cx">                                 BCA83E520D7CE205003421A8 /* JSDataTransferCustom.cpp in Sources */,
</span><span class="cx">                                 51FB5505113E3E9100821176 /* JSCloseEvent.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoredomAutocompleteErrorEventh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/dom/AutocompleteErrorEvent.h (0 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/AutocompleteErrorEvent.h                                (rev 0)
+++ trunk/Source/WebCore/dom/AutocompleteErrorEvent.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -0,0 +1,82 @@
</span><ins>+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef AutocompleteErrorEvent_h
+#define AutocompleteErrorEvent_h
+
+#if ENABLE(REQUEST_AUTOCOMPLETE)
+
+#include &quot;Event.h&quot;
+#include &quot;EventNames.h&quot;
+
+namespace WebCore {
+
+struct AutocompleteErrorEventInit : public EventInit {
+    String reason;
+};
+
+class AutocompleteErrorEvent : public Event {
+public:
+    static PassRefPtr&lt;AutocompleteErrorEvent&gt; create()
+    {
+        return adoptRef(new AutocompleteErrorEvent);
+    }
+
+    static PassRefPtr&lt;AutocompleteErrorEvent&gt; create(const String&amp; reason)
+    {
+        return adoptRef(new AutocompleteErrorEvent(reason));
+    }
+
+    static PassRefPtr&lt;AutocompleteErrorEvent&gt; create(const AtomicString&amp; eventType, const AutocompleteErrorEventInit&amp; initializer)
+    {
+        return adoptRef(new AutocompleteErrorEvent(eventType, initializer));
+    }
+
+    const String&amp; reason() const { return m_reason; }
+
+private:
+    AutocompleteErrorEvent()
+    {
+    }
+
+    AutocompleteErrorEvent(const String&amp; reason)
+        : Event(eventNames().autocompleteerrorEvent, false, false)
+        , m_reason(reason)
+    {
+    }
+
+    AutocompleteErrorEvent(const AtomicString&amp; eventType, const AutocompleteErrorEventInit&amp; initializer)
+        : Event(eventType, initializer)
+        , m_reason(initializer.reason)
+    {
+    }
+
+    String m_reason;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(REQUEST_AUTOCOMPLETE)
+
+#endif // AutocompleteErrorEvent_h
</ins></span></pre></div>
<a id="trunkSourceWebCoredomAutocompleteErrorEventidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl (0 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl                                (rev 0)
+++ trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    Conditional=REQUEST_AUTOCOMPLETE,
+    ConstructorTemplate=Event,
+    JSGenerateToJSObject
+] interface AutocompleteErrorEvent : Event {
+    [InitializedByEventConstructor] readonly attribute DOMString reason;
+};
+
</ins></span></pre></div>
<a id="trunkSourceWebCoredomEventNamesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventNames.h (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventNames.h        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/dom/EventNames.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -286,6 +286,11 @@
</span><span class="cx">     macro(gamepadconnected) \
</span><span class="cx">     macro(gamepaddisconnected) \
</span><span class="cx">     /* End of ENABLE(GAMEPAD) */ \
</span><ins>+    \
+    /* ENABLE(REQUEST_AUTOCOMPLETE) */ \
+    macro(autocomplete) \
+    macro(autocompleteerror) \
+    /* End of ENABLE(REQUEST_AUTOCOMPLETE) */ \
</ins><span class="cx"> 
</span><span class="cx"> // end of DOM_EVENT_NAMES_FOR_EACH
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventNames.in (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventNames.in        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/dom/EventNames.in        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx"> MediaKeyMessageEvent conditional=ENCRYPTED_MEDIA_V2
</span><span class="cx"> MediaKeyNeededEvent conditional=ENCRYPTED_MEDIA_V2
</span><span class="cx"> TrackEvent conditional=VIDEO_TRACK
</span><ins>+AutocompleteErrorEvent conditional=REQUEST_AUTOCOMPLETE
</ins><span class="cx"> CSSFontFaceLoadEvent conditional=FONT_LOAD_EVENTS
</span><span class="cx"> SecurityPolicyViolationEvent conditional=CSP_NEXT
</span><span class="cx"> UIRequestEvent conditional=INDIE_UI
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAttributeNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAttributeNames.in (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAttributeNames.in        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/html/HTMLAttributeNames.in        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -169,6 +169,8 @@
</span><span class="cx"> nowrap
</span><span class="cx"> object
</span><span class="cx"> onabort
</span><ins>+onautocomplete
+onautocompleteerror
</ins><span class="cx"> onbeforecopy
</span><span class="cx"> onbeforecut
</span><span class="cx"> onbeforeload
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.cpp        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/html/HTMLFormElement.cpp        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -26,6 +26,10 @@
</span><span class="cx"> #include &quot;HTMLFormElement.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Attribute.h&quot;
</span><ins>+
+#include &quot;AutocompleteErrorEvent.h&quot;
+#include &quot;DOMFormData.h&quot;
+#include &quot;DOMWindow.h&quot;
</ins><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;ElementIterator.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="lines">@@ -60,6 +64,9 @@
</span><span class="cx">     , m_shouldSubmit(false)
</span><span class="cx">     , m_isInResetFunction(false)
</span><span class="cx">     , m_wasDemoted(false)
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+    , m_requestAutocompleteTimer(this, &amp;HTMLFormElement::requestAutocompleteTimerFired)
+#endif
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(hasTagName(formTag));
</span><span class="cx"> }
</span><span class="lines">@@ -416,8 +423,65 @@
</span><span class="cx"> {
</span><span class="cx">     setAttribute(autocapitalizeAttr, value);
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+
+void HTMLFormElement::requestAutocomplete()
+{
+    Frame* frame = document().frame();
+    if (!frame)
+        return;
+
+    if (!shouldAutocomplete() || !ScriptController::processingUserGesture()) {
+        finishRequestAutocomplete(AutocompleteResultErrorDisabled);
+        return;
+    }
+
+    StringPairVector controlNamesAndValues;
+    getTextFieldValues(controlNamesAndValues);
+
+    RefPtr&lt;FormState&gt; formState = FormState::create(this, controlNamesAndValues, &amp;document(), SubmittedByJavaScript);
+    frame-&gt;loader().client().didRequestAutocomplete(formState.release());
+}
+
+void HTMLFormElement::finishRequestAutocomplete(AutocompleteResult result)
+{
+    RefPtr&lt;Event&gt; event;
+    switch (result) {
+    case AutocompleteResultSuccess:
+        event = Event::create(eventNames().autocompleteEvent, false, false);
+        break;
+    case AutocompleteResultErrorDisabled:
+        event = AutocompleteErrorEvent::create(&quot;disabled&quot;);
+        break;
+    case AutocompleteResultErrorCancel:
+        event = AutocompleteErrorEvent::create(&quot;cancel&quot;);
+        break;
+    case AutocompleteResultErrorInvalid:
+        event = AutocompleteErrorEvent::create(&quot;invalid&quot;);
+        break;
+    }
+
+    event-&gt;setTarget(this);
+    m_pendingAutocompleteEvents.append(event.release());
+
+    // Dispatch events later as this API is meant to work asynchronously in all situations and implementations.
+    if (!m_requestAutocompleteTimer.isActive())
+        m_requestAutocompleteTimer.startOneShot(0);
+}
+
+void HTMLFormElement::requestAutocompleteTimerFired(Timer&lt;HTMLFormElement&gt;*)
+{
+    Vector&lt;RefPtr&lt;Event&gt;&gt; pendingEvents;
+    m_pendingAutocompleteEvents.swap(pendingEvents);
+    for (auto&amp; pendingEvent : pendingEvents)
+        dispatchEvent(pendingEvent.release());
+}
+
+#endif
+
</ins><span class="cx"> void HTMLFormElement::parseAttribute(const QualifiedName&amp; name, const AtomicString&amp; value)
</span><span class="cx"> {
</span><span class="cx">     if (name == actionAttr)
</span><span class="lines">@@ -436,6 +500,12 @@
</span><span class="cx">         else
</span><span class="cx">             document().unregisterForPageCacheSuspensionCallbacks(this);
</span><span class="cx">     }
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+    else if (name == onautocompleteAttr)
+        setAttributeEventListener(eventNames().autocompleteEvent, name, value);
+    else if (name == onautocompleteerrorAttr)
+        setAttributeEventListener(eventNames().autocompleteerrorEvent, name, value);
+#endif
</ins><span class="cx">     else
</span><span class="cx">         HTMLElement::parseAttribute(name, value);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.h (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.h        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/html/HTMLFormElement.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -112,6 +112,21 @@
</span><span class="cx"> 
</span><span class="cx">     bool checkValidity();
</span><span class="cx"> 
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+    enum class AutocompleteResult {
+        AutocompleteResultSuccess,
+        AutocompleteResultErrorDisabled,
+        AutocompleteResultErrorCancel,
+        AutocompleteResultErrorInvalid,
+    };
+
+    void requestAutocomplete();
+    void finishRequestAutocomplete(AutocompleteResult);
+
+    DEFINE_ATTRIBUTE_EVENT_LISTENER(autocomplete);
+    DEFINE_ATTRIBUTE_EVENT_LISTENER(autocompleteerror);
+#endif
+
</ins><span class="cx">     CheckedRadioButtons&amp; checkedRadioButtons() { return m_checkedRadioButtons; }
</span><span class="cx"> 
</span><span class="cx">     const Vector&lt;FormAssociatedElement*&gt;&amp; associatedElements() const { return m_associatedElements; }
</span><span class="lines">@@ -177,6 +192,13 @@
</span><span class="cx">     bool m_isInResetFunction;
</span><span class="cx"> 
</span><span class="cx">     bool m_wasDemoted;
</span><ins>+
+#if ENABLE(REQUEST_AUTOCOMPLETE)
+    void requestAutocompleteTimerFired(Timer&lt;HTMLFormElement&gt;*);
+
+    Vector&lt;RefPtr&lt;Event&gt;&gt; m_pendingAutocompleteEvents;
+    Timer&lt;HTMLFormElement&gt; m_requestAutocompleteTimer;
+#endif
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> NODE_TYPE_CASTS(HTMLFormElement)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.idl (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.idl        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/html/HTMLFormElement.idl        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -46,4 +46,10 @@
</span><span class="cx"> #endif
</span><span class="cx">     void reset();
</span><span class="cx">     boolean checkValidity();
</span><ins>+
+#if (!defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C) &amp;&amp; (!defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT)
+    [Conditional=REQUEST_AUTOCOMPLETE, NotEnumerable] attribute EventListener onautocomplete;
+    [Conditional=REQUEST_AUTOCOMPLETE, NotEnumerable] attribute EventListener onautocompleteerror;
+#endif
+    [Conditional=REQUEST_AUTOCOMPLETE] void requestAutocomplete();
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.h (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyClients.h        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/loader/EmptyClients.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -396,6 +396,10 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;FrameNetworkingContext&gt; createNetworkingContext() override;
</span><span class="cx"> 
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+    virtual void didRequestAutocomplete(PassRefPtr&lt;FormState&gt;) override { }
+#endif
+
</ins><span class="cx">     virtual bool isEmptyFrameLoaderClient() override { return true; }
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoaderClient.h        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/loader/FrameLoaderClient.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -307,6 +307,10 @@
</span><span class="cx"> 
</span><span class="cx">         virtual PassRefPtr&lt;FrameNetworkingContext&gt; createNetworkingContext() = 0;
</span><span class="cx"> 
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+        virtual void didRequestAutocomplete(PassRefPtr&lt;FormState&gt;) = 0;
+#endif
+
</ins><span class="cx">         virtual bool shouldPaintBrokenImage(const URL&amp;) const { return true; }
</span><span class="cx"> 
</span><span class="cx">         virtual void dispatchGlobalObjectAvailable(DOMWrapperWorld&amp;) { }
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.idl (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.idl        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebCore/page/DOMWindow.idl        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -311,6 +311,7 @@
</span><span class="cx"> #if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
</span><span class="cx">     // Additional constructors.
</span><span class="cx">     [CustomGetter, CustomConstructor] attribute HTMLImageElementNamedConstructor Image; // Usable with new operator
</span><ins>+
</ins><span class="cx">     // Mozilla has a separate XMLDocument object for XML documents.
</span><span class="cx">     // We just use Document for this.
</span><span class="cx">     attribute DocumentConstructor XMLDocument;
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebKit/mac/ChangeLog        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2014-09-10  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;
+
+        Re-add the request autocomplete feature
+
+        &lt;https://bugs.webkit.org/show_bug.cgi?id=136730&gt;
+
+        This feature was rolled out in r148731 because it was only used by
+        Chromium. As we consider supporting this feature, roll it back in, but
+        leave it disabled.
+
+        This rolls out r148731 (which removed the feature) with small changes
+        needed to make the code build in ToT, to match modern style, to make
+        the tests run, and to remove unused code.
+
+        Reviewed by Andy Estes.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * WebCoreSupport/WebFrameLoaderClient.h:
+
</ins><span class="cx"> 2014-09-12  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r173575.
</span></span></pre></div>
<a id="trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -178,6 +178,7 @@
</span><span class="cx"> ENABLE_PUBLIC_SUFFIX_LIST = ENABLE_PUBLIC_SUFFIX_LIST;
</span><span class="cx"> ENABLE_QUOTA = ;
</span><span class="cx"> ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
</span><ins>+ENABLE_REQUEST_AUTOCOMPLETE = ;
</ins><span class="cx"> ENABLE_REMOTE_INSPECTOR = $(ENABLE_REMOTE_INSPECTOR_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphoneos = ENABLE_REMOTE_INSPECTOR;
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphonesimulator = $(ENABLE_REMOTE_INSPECTOR_iphoneos);
</span><span class="lines">@@ -270,4 +271,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -229,6 +229,10 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;WebCore::FrameNetworkingContext&gt; createNetworkingContext();
</span><span class="cx"> 
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+    virtual void didRequestAutocomplete(PassRefPtr&lt;WebCore::FormState&gt;) override { }
+#endif
+
</ins><span class="cx">     virtual bool shouldPaintBrokenImage(const WebCore::URL&amp;) const;
</span><span class="cx"> 
</span><span class="cx"> #if USE(QUICK_LOOK)
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebKit2/ChangeLog        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2014-09-10  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;
+
+        Re-add the request autocomplete feature
+
+        &lt;https://bugs.webkit.org/show_bug.cgi?id=136730&gt;
+
+        This feature was rolled out in r148731 because it was only used by
+        Chromium. As we consider supporting this feature, roll it back in, but
+        leave it disabled.
+
+        This rolls out r148731 (which removed the feature) with small changes
+        needed to make the code build in ToT, to match modern style, to make
+        the tests run, and to remove unused code.
+
+        Reviewed by Andy Estes.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::didRequestAutocomplete):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
</ins><span class="cx"> 2014-09-12  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Swiping back from a Twitter image to Twitter flashes to the wrong position
</span></span></pre></div>
<a id="trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -178,6 +178,7 @@
</span><span class="cx"> ENABLE_PUBLIC_SUFFIX_LIST = ENABLE_PUBLIC_SUFFIX_LIST;
</span><span class="cx"> ENABLE_QUOTA = ;
</span><span class="cx"> ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
</span><ins>+ENABLE_REQUEST_AUTOCOMPLETE = ;
</ins><span class="cx"> ENABLE_REMOTE_INSPECTOR = $(ENABLE_REMOTE_INSPECTOR_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphoneos = ENABLE_REMOTE_INSPECTOR;
</span><span class="cx"> ENABLE_REMOTE_INSPECTOR_iphonesimulator = $(ENABLE_REMOTE_INSPECTOR_iphoneos);
</span><span class="lines">@@ -270,4 +271,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -1636,4 +1636,10 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+void WebFrameLoaderClient::didRequestAutocomplete(PassRefPtr&lt;WebCore::FormState&gt;)
+{
+}
+#endif
+
</ins><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (173595 => 173596)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h        2014-09-13 00:59:33 UTC (rev 173595)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h        2014-09-13 01:01:02 UTC (rev 173596)
</span><span class="lines">@@ -222,6 +222,10 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;WebCore::FrameNetworkingContext&gt; createNetworkingContext() override;
</span><span class="cx"> 
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+    virtual void didRequestAutocomplete(PassRefPtr&lt;WebCore::FormState&gt;) override;
+#endif
+
</ins><span class="cx">     virtual void forcePageTransitionIfNeeded() override;
</span><span class="cx"> 
</span><span class="cx"> #if USE(QUICK_LOOK)
</span></span></pre>
</div>
</div>

</body>
</html>