<!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
<https://bugs.webkit.org/show_bug.cgi?id=136730>
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 <jhoneycutt@apple.com>
+
+ Re-add the request autocomplete feature
+
+ <https://bugs.webkit.org/show_bug.cgi?id=136730>
+
+ 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 <utatane.tea@gmail.com>
</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 "PASS" messages, followed by "TEST COMPLETE".
+
+
+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>+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../resources/js-test-pre.js"></script>
+</head>
+<body>
+<script>
+
+description("This tests the constructor for the AutocompleteErrorEvent DOM class.");
+
+if (!window.AutocompleteErrorEvent) {
+ testFailed('no AutocompleteErrorEvent');
+ finishJSTest();
+} else {
+ // No initializer is passed.
+ shouldBe("new AutocompleteErrorEvent('eventType').bubbles", "false");
+ shouldBe("new AutocompleteErrorEvent('eventType').cancelable", "false");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType').reason", "");
+
+ // bubbles is passed.
+ shouldBe("new AutocompleteErrorEvent('eventType', { bubbles: false }).bubbles", "false");
+ shouldBe("new AutocompleteErrorEvent('eventType', { bubbles: true }).bubbles", "true");
+
+ // cancelable is passed.
+ shouldBe("new AutocompleteErrorEvent('eventType', { cancelable: false }).cancelable", "false");
+ shouldBe("new AutocompleteErrorEvent('eventType', { cancelable: true }).cancelable", "true");
+
+ // reason is passed.
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: 'doremi' }).reason", "doremi");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: '' }).reason", "");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: undefined }).reason", "undefined");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: null }).reason", "null");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: false }).reason", "false");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: true }).reason", "true");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: 12345 }).reason", "12345");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: 18446744073709551615 }).reason", "18446744073709552000");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: NaN }).reason", "NaN");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: [] }).reason", "");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: [1, 2, 3] }).reason", "1,2,3");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: {doremi: 12345} }).reason", "[object Object]");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { reason: {valueOf: function () { return 'doremi'; } } }).reason", "[object Object]");
+
+ // All initializers are passed.
+ shouldBe("new AutocompleteErrorEvent('eventType', { bubbles: true, cancelable: true, reason: 'doremi' }).bubbles", "true");
+ shouldBe("new AutocompleteErrorEvent('eventType', { bubbles: true, cancelable: true, reason: 'doremi' }).cancelable", "true");
+ shouldBeEqualToString("new AutocompleteErrorEvent('eventType', { bubbles: true, cancelable: true, reason: 'doremi' }).reason", "doremi");
+}
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
+</html>
</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("document.createEvent('OrientationEvent') instanceof window.Event");
</span><span class="cx"> // shouldBeTrue("document.createEvent('OrientationEvent').constructor === window.Event");
</span><span class="cx">
</span><ins>+ // #if ENABLE(REQUEST_AUTOCOMPLETE)
+ // AutocompleteErrorEvent
+ // shouldBeTrue("document.createEvent('AutocompleteErrorEvent') instanceof window.AutocompleteErrorEvent");
+ // shouldBeTrue("document.createEvent('AutocompleteErrorEvent') instanceof window.Event");
+ // shouldBeTrue("document.createEvent('AutocompleteErrorEvent').constructor === window.AutocompleteErrorEvent");
+
</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>+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+<script>
+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 > numErrorsExpected)
+ testFailed('too many error events');
+ else if (numErrors == numErrorsExpected) {
+ testPassed('got expected number of error events (' + numErrorsExpected + ')');
+ finishJSTest();
+ }
+}
+
+window.addEventListener('load', runTests, true);
+</script>
+</head>
+<body>
+<p> <a href="http://bugs.webkit.org/show_bug.cgi?id=100557">HTMLFormElement#requestAutocomplete and associated events</a> </p>
+<p> For this test to pass, you should see all PASSED below. </p>
+<form autocomplete="off" onautocompleteerror="onError();"></form>
+<p id="console"></p>
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</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 <jhoneycutt@apple.com>
+
+ Re-add the request autocomplete feature
+
+ <https://bugs.webkit.org/show_bug.cgi?id=136730>
+
+ 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 <jbriance@cisco.com>
</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 <jhoneycutt@apple.com>
+
+ Re-add the request autocomplete feature
+
+ <https://bugs.webkit.org/show_bug.cgi?id=136730>
+
+ 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 <timothy_horton@apple.com>
</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 <jhoneycutt@apple.com>
+
+ Re-add the request autocomplete feature
+
+ <https://bugs.webkit.org/show_bug.cgi?id=136730>
+
+ 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 <vivek.vg@samsung.com>
</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 = "<group>"; };
</span><span class="cx">                 75793ED20D0CE85B007FC0AC /* DOMMessageEventInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMMessageEventInternal.h; sourceTree = "<group>"; };
</span><span class="cx">                 75DCC7B718B81C8800A57128 /* SessionIDHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionIDHash.h; sourceTree = "<group>"; };
</span><ins>+                760847CD19A6A27700428CCC /* AutocompleteErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutocompleteErrorEvent.h; sourceTree = "<group>"; };
+                760847CF19A6A28600428CCC /* AutocompleteErrorEvent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = AutocompleteErrorEvent.idl; sourceTree = "<group>"; };
</ins><span class="cx">                 7633A72413D8B33A008501B6 /* LocaleToScriptMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocaleToScriptMapping.h; sourceTree = "<group>"; };
</span><span class="cx">                 7633A72513D8B33A008501B6 /* LocaleToScriptMappingDefault.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocaleToScriptMappingDefault.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 76808B4E159DADFA002B5233 /* JSHTMLDialogElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLDialogElement.h; sourceTree = "<group>"; };
</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 = "<group>"; };
</span><span class="cx">                 76CDD2F01103DA6600680521 /* AccessibilityMenuListOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityMenuListOption.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 76CDD2F11103DA6600680521 /* AccessibilityMenuListOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityMenuListOption.h; sourceTree = "<group>"; };
</span><ins>+                76FB9FE819A7284B00420562 /* DOMAutocompleteErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMAutocompleteErrorEvent.h; sourceTree = "<group>"; };
+                76FB9FE919A7284B00420562 /* DOMAutocompleteErrorEvent.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMAutocompleteErrorEvent.mm; sourceTree = "<group>"; };
+                76FB9FEA19A7284B00420562 /* DOMAutocompleteErrorEventInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMAutocompleteErrorEventInternal.h; sourceTree = "<group>"; };
+                76FB9FF619A73E3A00420562 /* JSAutocompleteErrorEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAutocompleteErrorEvent.cpp; sourceTree = "<group>"; };
+                76FB9FF719A73E3A00420562 /* JSAutocompleteErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAutocompleteErrorEvent.h; sourceTree = "<group>"; };
</ins><span class="cx">                 76FC2B0812370DA0006A991A /* DOMTokenList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMTokenList.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 76FC2B0912370DA0006A991A /* DOMTokenList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMTokenList.h; sourceTree = "<group>"; };
</span><span class="cx">                 76FC2B0A12370DA0006A991A /* DOMTokenList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMTokenList.idl; sourceTree = "<group>"; };
</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 "Event.h"
+#include "EventNames.h"
+
+namespace WebCore {
+
+struct AutocompleteErrorEventInit : public EventInit {
+ String reason;
+};
+
+class AutocompleteErrorEvent : public Event {
+public:
+ static PassRefPtr<AutocompleteErrorEvent> create()
+ {
+ return adoptRef(new AutocompleteErrorEvent);
+ }
+
+ static PassRefPtr<AutocompleteErrorEvent> create(const String& reason)
+ {
+ return adoptRef(new AutocompleteErrorEvent(reason));
+ }
+
+ static PassRefPtr<AutocompleteErrorEvent> create(const AtomicString& eventType, const AutocompleteErrorEventInit& initializer)
+ {
+ return adoptRef(new AutocompleteErrorEvent(eventType, initializer));
+ }
+
+ const String& reason() const { return m_reason; }
+
+private:
+ AutocompleteErrorEvent()
+ {
+ }
+
+ AutocompleteErrorEvent(const String& reason)
+ : Event(eventNames().autocompleteerrorEvent, false, false)
+ , m_reason(reason)
+ {
+ }
+
+ AutocompleteErrorEvent(const AtomicString& eventType, const AutocompleteErrorEventInit& 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 "HTMLFormElement.h"
</span><span class="cx">
</span><span class="cx"> #include "Attribute.h"
</span><ins>+
+#include "AutocompleteErrorEvent.h"
+#include "DOMFormData.h"
+#include "DOMWindow.h"
</ins><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "ElementIterator.h"
</span><span class="cx"> #include "Event.h"
</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, &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<FormState> formState = FormState::create(this, controlNamesAndValues, &document(), SubmittedByJavaScript);
+ frame->loader().client().didRequestAutocomplete(formState.release());
+}
+
+void HTMLFormElement::finishRequestAutocomplete(AutocompleteResult result)
+{
+ RefPtr<Event> event;
+ switch (result) {
+ case AutocompleteResultSuccess:
+ event = Event::create(eventNames().autocompleteEvent, false, false);
+ break;
+ case AutocompleteResultErrorDisabled:
+ event = AutocompleteErrorEvent::create("disabled");
+ break;
+ case AutocompleteResultErrorCancel:
+ event = AutocompleteErrorEvent::create("cancel");
+ break;
+ case AutocompleteResultErrorInvalid:
+ event = AutocompleteErrorEvent::create("invalid");
+ break;
+ }
+
+ event->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<HTMLFormElement>*)
+{
+ Vector<RefPtr<Event>> pendingEvents;
+ m_pendingAutocompleteEvents.swap(pendingEvents);
+ for (auto& pendingEvent : pendingEvents)
+ dispatchEvent(pendingEvent.release());
+}
+
+#endif
+
</ins><span class="cx"> void HTMLFormElement::parseAttribute(const QualifiedName& name, const AtomicString& 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& checkedRadioButtons() { return m_checkedRadioButtons; }
</span><span class="cx">
</span><span class="cx"> const Vector<FormAssociatedElement*>& 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<HTMLFormElement>*);
+
+ Vector<RefPtr<Event>> m_pendingAutocompleteEvents;
+ Timer<HTMLFormElement> 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) && (!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<FrameNetworkingContext> createNetworkingContext() override;
</span><span class="cx">
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+ virtual void didRequestAutocomplete(PassRefPtr<FormState>) 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<FrameNetworkingContext> createNetworkingContext() = 0;
</span><span class="cx">
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+ virtual void didRequestAutocomplete(PassRefPtr<FormState>) = 0;
+#endif
+
</ins><span class="cx"> virtual bool shouldPaintBrokenImage(const URL&) const { return true; }
</span><span class="cx">
</span><span class="cx"> virtual void dispatchGlobalObjectAvailable(DOMWrapperWorld&) { }
</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) && 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 <jhoneycutt@apple.com>
+
+ Re-add the request autocomplete feature
+
+ <https://bugs.webkit.org/show_bug.cgi?id=136730>
+
+ 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 <commit-queue@webkit.org>
</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<WebCore::FrameNetworkingContext> createNetworkingContext();
</span><span class="cx">
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+ virtual void didRequestAutocomplete(PassRefPtr<WebCore::FormState>) override { }
+#endif
+
</ins><span class="cx"> virtual bool shouldPaintBrokenImage(const WebCore::URL&) 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 <jhoneycutt@apple.com>
+
+ Re-add the request autocomplete feature
+
+ <https://bugs.webkit.org/show_bug.cgi?id=136730>
+
+ 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 <timothy_horton@apple.com>
</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<WebCore::FormState>)
+{
+}
+#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<WebCore::FrameNetworkingContext> createNetworkingContext() override;
</span><span class="cx">
</span><ins>+#if ENABLE(REQUEST_AUTOCOMPLETE)
+ virtual void didRequestAutocomplete(PassRefPtr<WebCore::FormState>) 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>