<!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>[172817] 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/172817">172817</a></dd>
<dt>Author</dt> <dd>benjamin@webkit.org</dd>
<dt>Date</dt> <dd>2014-08-20 15:55:29 -0700 (Wed, 20 Aug 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove HTMLInputElement's suggestedValue
https://bugs.webkit.org/show_bug.cgi?id=136094

Patch by Benjamin Poulain &lt;bpoulain@apple.com&gt; on 2014-08-20
Reviewed by Darin Adler.

Source/WebCore:

That code is Chrome specific. It is unused now.

* WebCore.exp.in:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::setValueFromRenderer):
(WebCore::HTMLInputElement::suggestedValue): Deleted.
(WebCore::HTMLInputElement::setSuggestedValue): Deleted.
* html/HTMLInputElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
* html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::isEmptySuggestedValue): Deleted.
* html/InputType.cpp:
(WebCore::InputType::canSetSuggestedValue): Deleted.
* html/InputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::updateInnerTextValue):
(WebCore::TextFieldInputType::canSetSuggestedValue): Deleted.
* html/TextFieldInputType.h:
* testing/Internals.cpp:
(WebCore::Internals::suggestedValue): Deleted.
(WebCore::Internals::setSuggestedValue): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests:

* fast/forms/suggested-value-after-setvalue-expected.txt: Removed.
* fast/forms/suggested-value-after-setvalue.html: Removed.
* fast/forms/suggested-value-expected.txt: Removed.
* fast/forms/suggested-value.html: Removed.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementcpp">trunk/Source/WebCore/html/HTMLInputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementh">trunk/Source/WebCore/html/HTMLInputElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextFormControlElementcpp">trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextFormControlElementh">trunk/Source/WebCore/html/HTMLTextFormControlElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlInputTypecpp">trunk/Source/WebCore/html/InputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlInputTypeh">trunk/Source/WebCore/html/InputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlTextFieldInputTypecpp">trunk/Source/WebCore/html/TextFieldInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlTextFieldInputTypeh">trunk/Source/WebCore/html/TextFieldInputType.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsh">trunk/Source/WebCore/testing/Internals.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastformssuggestedvalueaftersetvalueexpectedtxt">trunk/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformssuggestedvalueaftersetvaluehtml">trunk/LayoutTests/fast/forms/suggested-value-after-setvalue.html</a></li>
<li><a href="#trunkLayoutTestsfastformssuggestedvalueexpectedtxt">trunk/LayoutTests/fast/forms/suggested-value-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformssuggestedvaluehtml">trunk/LayoutTests/fast/forms/suggested-value.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/LayoutTests/ChangeLog        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2014-08-20  Benjamin Poulain  &lt;bpoulain@apple.com&gt;
+
+        Remove HTMLInputElement's suggestedValue
+        https://bugs.webkit.org/show_bug.cgi?id=136094
+
+        Reviewed by Darin Adler.
+
+        * fast/forms/suggested-value-after-setvalue-expected.txt: Removed.
+        * fast/forms/suggested-value-after-setvalue.html: Removed.
+        * fast/forms/suggested-value-expected.txt: Removed.
+        * fast/forms/suggested-value.html: Removed.
+
</ins><span class="cx"> 2014-08-20  Dean Jackson  &lt;dino@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WebAudio FFT analysis uses incorrect scaling
</span></span></pre></div>
<a id="trunkLayoutTestsfastformssuggestedvalueaftersetvalueexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -1,32 +0,0 @@
</span><del>-This test setting a value clears suggested value.
-
-After setting suggestedValue:
-| &lt;input&gt;
-|   id=&quot;test&quot;
-|   type=&quot;text&quot;
-|   value=&quot;initial value&quot;
-|   this.value=&quot;initial value&quot;
-|   &lt;shadow:root&gt;
-|     &lt;div&gt;
-|       contenteditable=&quot;plaintext-only&quot;
-|       &quot;suggested value&quot;
-| &quot;input.value: initial value&quot;
-| &quot;internals.suggestedValue(input): suggested value&quot;
-| &quot;input.selectionStart: 0&quot;
-| &quot;input.selectionEnd: 0&quot;
-
-After setting value:
-| &lt;input&gt;
-|   id=&quot;test&quot;
-|   type=&quot;text&quot;
-|   value=&quot;initial value&quot;
-|   this.value=&quot;new value&quot;
-|   &lt;shadow:root&gt;
-|     &lt;div&gt;
-|       contenteditable=&quot;plaintext-only&quot;
-|       &quot;new value&quot;
-| &quot;input.value: new value&quot;
-| &quot;internals.suggestedValue(input): &quot;
-| &quot;input.selectionStart: 9&quot;
-| &quot;input.selectionEnd: 9&quot;
-| &quot;PASS&quot;
</del></span></pre></div>
<a id="trunkLayoutTestsfastformssuggestedvalueaftersetvaluehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/forms/suggested-value-after-setvalue.html (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/suggested-value-after-setvalue.html        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/LayoutTests/fast/forms/suggested-value-after-setvalue.html        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -1,48 +0,0 @@
</span><del>-&lt;!DOCTYPE html&gt;
-&lt;html&gt;
-&lt;body&gt;
-&lt;p id=&quot;description&quot;&gt;This test setting a value clears suggested value.&lt;/p&gt;
-&lt;pre&gt;&lt;input id=&quot;test&quot; type=&quot;text&quot; value=&quot;initial value&quot;&gt;&lt;/pre&gt;
-&lt;script src=&quot;../../resources/dump-as-markup.js&quot;&gt;&lt;/script&gt;
-&lt;script&gt;
-
-var input = document.getElementById('test');
-var result = document.getElementById('result');
-if (!window.internals)
-    testFailed('This test requires internals object');
-else {
-    input.focus();
-    input.selectionStart = input.selectionEnd = 0;
-
-    internals.setSuggestedValue(input, 'suggested value');
-
-    Markup.description(document.getElementById('description').textContent)
-
-    function addText(text) {
-        input.parentNode.appendChild(document.createTextNode(text));
-    }
-
-    function log() {
-        while (input.parentNode.firstChild != input.parentNode.lastChild)
-            input.parentNode.removeChild(input.parentNode.lastChild);
-        function addTextResult(value) { addText(value + ': ' + eval(value)); }
-        addTextResult('input.value');
-        addTextResult('internals.suggestedValue(input)');
-        addTextResult('input.selectionStart');
-        addTextResult('input.selectionEnd');
-    }
-
-    log();
-    Markup.dump(input.parentNode, 'After setting suggestedValue');
-
-    input.value = 'new value';
-
-    log();
-    var innerTextValue = internals.shadowRoot(input).firstChild.innerText;
-    addText(innerTextValue == 'new value' ? 'PASS' : 'FAIL');
-    Markup.dump(input.parentNode, 'After setting value');
-}
-
-&lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastformssuggestedvalueexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/forms/suggested-value-expected.txt (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/suggested-value-expected.txt        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/LayoutTests/fast/forms/suggested-value-expected.txt        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -1,15 +0,0 @@
</span><del>-This test setting a suggested value on an input element.
-The dump below should have the &quot;suggested value&quot; instead of &quot;initial value&quot;.
-| &lt;input&gt;
-|   id=&quot;test&quot;
-|   type=&quot;text&quot;
-|   value=&quot;initial value&quot;
-|   this.value=&quot;initial value&quot;
-|   &lt;shadow:root&gt;
-|     &lt;div&gt;
-|       contenteditable=&quot;plaintext-only&quot;
-|       &quot;suggested value&quot;
-| &quot;input.value: initial value&quot;
-| &quot;internals.suggestedValue(input): suggested value&quot;
-| &quot;input.selectionStart: 0&quot;
-| &quot;input.selectionEnd: 0&quot;
</del></span></pre></div>
<a id="trunkLayoutTestsfastformssuggestedvaluehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/forms/suggested-value.html (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/suggested-value.html        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/LayoutTests/fast/forms/suggested-value.html        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -1,33 +0,0 @@
</span><del>-&lt;!DOCTYPE html&gt;
-&lt;html&gt;
-&lt;body&gt;
-&lt;p id=&quot;description&quot;&gt;This test setting a suggested value on an input element.
-The dump below should have the &quot;suggested value&quot; instead of &quot;initial value&quot;.&lt;/p&gt;
-&lt;pre&gt;&lt;input id=&quot;test&quot; type=&quot;text&quot; value=&quot;initial value&quot;&gt;&lt;/pre&gt;
-&lt;script src=&quot;../../resources/dump-as-markup.js&quot;&gt;&lt;/script&gt;
-&lt;script&gt;
-
-var input = document.getElementById('test');
-var result = document.getElementById('result');
-if (!window.internals)
-    testFailed('This test requires internals object');
-else {
-    input.focus();
-    input.selectionStart = input.selectionEnd = 0;
-
-    internals.setSuggestedValue(input, 'suggested value');
-
-    Markup.description(document.getElementById('description').textContent)
-
-    function addTextResult(value) { input.parentNode.appendChild(document.createTextNode(value + ': ' + eval(value))); }
-    addTextResult('input.value');
-    addTextResult('internals.suggestedValue(input)');
-    addTextResult('input.selectionStart');
-    addTextResult('input.selectionEnd');
-
-    Markup.dump(input.parentNode);
-}
-
-&lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/ChangeLog        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -1,3 +1,36 @@
</span><ins>+2014-08-20  Benjamin Poulain  &lt;bpoulain@apple.com&gt;
+
+        Remove HTMLInputElement's suggestedValue
+        https://bugs.webkit.org/show_bug.cgi?id=136094
+
+        Reviewed by Darin Adler.
+
+        That code is Chrome specific. It is unused now.
+
+        * WebCore.exp.in:
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::setValue):
+        (WebCore::HTMLInputElement::setValueFromRenderer):
+        (WebCore::HTMLInputElement::suggestedValue): Deleted.
+        (WebCore::HTMLInputElement::setSuggestedValue): Deleted.
+        * html/HTMLInputElement.h:
+        * html/HTMLTextFormControlElement.cpp:
+        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
+        * html/HTMLTextFormControlElement.h:
+        (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue): Deleted.
+        * html/InputType.cpp:
+        (WebCore::InputType::canSetSuggestedValue): Deleted.
+        * html/InputType.h:
+        * html/TextFieldInputType.cpp:
+        (WebCore::TextFieldInputType::updateInnerTextValue):
+        (WebCore::TextFieldInputType::canSetSuggestedValue): Deleted.
+        * html/TextFieldInputType.h:
+        * testing/Internals.cpp:
+        (WebCore::Internals::suggestedValue): Deleted.
+        (WebCore::Internals::setSuggestedValue): Deleted.
+        * testing/Internals.h:
+        * testing/Internals.idl:
+
</ins><span class="cx"> 2014-08-20  Dean Jackson  &lt;dino@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WebAudio FFT analysis uses incorrect scaling
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -689,7 +689,6 @@
</span><span class="cx"> __ZN7WebCore16HTMLInputElement15setEditingValueERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore16HTMLInputElement15setValueForUserERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore16HTMLInputElement16setValueAsNumberEdRiNS_22TextFieldEventBehaviorE
</span><del>-__ZN7WebCore16HTMLInputElement17setSuggestedValueERKN3WTF6StringE
</del><span class="cx"> __ZN7WebCore16HTMLInputElement8setValueERKN3WTF6StringENS_22TextFieldEventBehaviorE
</span><span class="cx"> __ZN7WebCore16IconDatabaseBase28synchronousIconURLForPageURLERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore16IconDatabaseBase4openERKN3WTF6StringES4_
</span><span class="lines">@@ -1768,7 +1767,6 @@
</span><span class="cx"> __ZNK7WebCore16HTMLInputElement13isNumberFieldEv
</span><span class="cx"> __ZNK7WebCore16HTMLInputElement13isSearchFieldEv
</span><span class="cx"> __ZNK7WebCore16HTMLInputElement13valueAsNumberEv
</span><del>-__ZNK7WebCore16HTMLInputElement14suggestedValueEv
</del><span class="cx"> __ZNK7WebCore16HTMLInputElement15isDateTimeFieldEv
</span><span class="cx"> __ZNK7WebCore16HTMLInputElement15isPasswordFieldEv
</span><span class="cx"> __ZNK7WebCore16HTMLInputElement16isTelephoneFieldEv
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -928,21 +928,6 @@
</span><span class="cx">     setValue(value, DispatchChangeEvent);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const String&amp; HTMLInputElement::suggestedValue() const
-{
-    return m_suggestedValue;
-}
-
-void HTMLInputElement::setSuggestedValue(const String&amp; value)
-{
-    if (!m_inputType-&gt;canSetSuggestedValue())
-        return;
-    setFormControlValueMatchesRenderer(false);
-    m_suggestedValue = sanitizeValue(value);
-    setNeedsStyleRecalc();
-    m_inputType-&gt;updateInnerTextValue();
-}
-
</del><span class="cx"> void HTMLInputElement::setEditingValue(const String&amp; value)
</span><span class="cx"> {
</span><span class="cx">     if (!renderer() || !isTextField())
</span><span class="lines">@@ -980,7 +965,6 @@
</span><span class="cx"> 
</span><span class="cx">     setLastChangeWasNotUserEdit();
</span><span class="cx">     setFormControlValueMatchesRenderer(false);
</span><del>-    m_suggestedValue = String(); // Prevent TextFieldInputType::setValue from using the suggested value.
</del><span class="cx">     m_inputType-&gt;setValue(sanitizedValue, valueChanged, eventBehavior);
</span><span class="cx"> 
</span><span class="cx">     if (!valueChanged)
</span><span class="lines">@@ -1023,8 +1007,6 @@
</span><span class="cx">     // File upload controls will never use this.
</span><span class="cx">     ASSERT(!isFileUpload());
</span><span class="cx"> 
</span><del>-    m_suggestedValue = String();
-
</del><span class="cx">     // Renderer and our event handler are responsible for sanitizing values.
</span><span class="cx">     ASSERT(value == sanitizeValue(value) || sanitizeValue(value).isEmpty());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.h (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.h        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/HTMLInputElement.h        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -185,9 +185,6 @@
</span><span class="cx">     // The value which is drawn by a renderer.
</span><span class="cx">     String visibleValue() const;
</span><span class="cx"> 
</span><del>-    const String&amp; suggestedValue() const;
-    void setSuggestedValue(const String&amp;);
-
</del><span class="cx">     void setEditingValue(const String&amp;);
</span><span class="cx"> 
</span><span class="cx">     double valueAsDate() const;
</span><span class="lines">@@ -396,7 +393,6 @@
</span><span class="cx">     virtual bool supportsPlaceholder() const override;
</span><span class="cx">     virtual void updatePlaceholderText() override;
</span><span class="cx">     virtual bool isEmptyValue() const override { return innerTextValue().isEmpty(); }
</span><del>-    virtual bool isEmptySuggestedValue() const override { return suggestedValue().isEmpty(); }
</del><span class="cx">     virtual void handleFocusEvent(Node* oldFocusedNode, FocusDirection) override;
</span><span class="cx">     virtual void handleBlurEvent() override;
</span><span class="cx"> 
</span><span class="lines">@@ -422,7 +418,6 @@
</span><span class="cx"> 
</span><span class="cx">     AtomicString m_name;
</span><span class="cx">     String m_valueIfDirty;
</span><del>-    String m_suggestedValue;
</del><span class="cx">     int m_size;
</span><span class="cx">     int m_maxLength;
</span><span class="cx">     short m_maxResults;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -149,7 +149,6 @@
</span><span class="cx"> {
</span><span class="cx">     return supportsPlaceholder()
</span><span class="cx">         &amp;&amp; isEmptyValue()
</span><del>-        &amp;&amp; isEmptySuggestedValue()
</del><span class="cx">         &amp;&amp; !isPlaceholderEmpty()
</span><span class="cx">         &amp;&amp; (document().focusedElement() != this || (renderer() &amp;&amp; renderer()-&gt;theme().shouldShowPlaceholderWhenFocused()))
</span><span class="cx">         &amp;&amp; (!renderer() || renderer()-&gt;style().visibility() == VISIBLE);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextFormControlElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextFormControlElement.h (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextFormControlElement.h        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/HTMLTextFormControlElement.h        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -132,8 +132,6 @@
</span><span class="cx"> 
</span><span class="cx">     // Returns true if user-editable value is empty. Used to check placeholder visibility.
</span><span class="cx">     virtual bool isEmptyValue() const = 0;
</span><del>-    // Returns true if suggested value is empty. Used to check placeholder visibility.
-    virtual bool isEmptySuggestedValue() const { return true; }
</del><span class="cx">     // Called in dispatchFocusEvent(), after placeholder process, before calling parent's dispatchFocusEvent().
</span><span class="cx">     virtual void handleFocusEvent(Node* /* oldFocusedNode */, FocusDirection) { }
</span><span class="cx">     // Called in dispatchBlurEvent(), after placeholder process, before calling parent's dispatchBlurEvent().
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/InputType.cpp (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/InputType.cpp        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/InputType.cpp        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -665,11 +665,6 @@
</span><span class="cx">     return String();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InputType::canSetSuggestedValue()
-{
-    return false;
-}
-
</del><span class="cx"> bool InputType::shouldSendChangeEventAfterCheckedChanged()
</span><span class="cx"> {
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/InputType.h (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/InputType.h        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/InputType.h        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -252,8 +252,6 @@
</span><span class="cx">     virtual String displayString() const;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    // Should return true if the corresponding renderer for a type can display a suggested value.
-    virtual bool canSetSuggestedValue();
</del><span class="cx">     virtual bool shouldSendChangeEventAfterCheckedChanged();
</span><span class="cx">     virtual bool canSetValue(const String&amp;);
</span><span class="cx">     virtual bool storesValueSeparateFromAttribute();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTextFieldInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TextFieldInputType.cpp (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TextFieldInputType.cpp        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/TextFieldInputType.cpp        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -92,11 +92,6 @@
</span><span class="cx">     return element().isRequired() &amp;&amp; value.isEmpty();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool TextFieldInputType::canSetSuggestedValue()
-{
-    return true;
-}
-
</del><span class="cx"> void TextFieldInputType::setValue(const String&amp; sanitizedValue, bool valueChanged, TextFieldEventBehavior eventBehavior)
</span><span class="cx"> {
</span><span class="cx">     // Grab this input element to keep reference even if JS event handler
</span><span class="lines">@@ -473,10 +468,7 @@
</span><span class="cx"> 
</span><span class="cx"> void TextFieldInputType::updateInnerTextValue()
</span><span class="cx"> {
</span><del>-    if (!element().suggestedValue().isNull()) {
-        element().setInnerTextValue(element().suggestedValue());
-        element().updatePlaceholderVisibility(false);
-    } else if (!element().formControlValueMatchesRenderer()) {
</del><ins>+    if (!element().formControlValueMatchesRenderer()) {
</ins><span class="cx">         // Update the renderer value if the formControlValueMatchesRenderer() flag is false.
</span><span class="cx">         // It protects an unacceptable renderer value from being overwritten with the DOM value.
</span><span class="cx">         element().setInnerTextValue(visibleValue());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTextFieldInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TextFieldInputType.h (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TextFieldInputType.h        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/html/TextFieldInputType.h        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -45,7 +45,6 @@
</span><span class="cx"> protected:
</span><span class="cx">     explicit TextFieldInputType(HTMLInputElement&amp;);
</span><span class="cx">     virtual ~TextFieldInputType();
</span><del>-    virtual bool canSetSuggestedValue() override;
</del><span class="cx">     virtual void handleKeydownEvent(KeyboardEvent*) override;
</span><span class="cx">     void handleKeydownEventForSpinButton(KeyboardEvent*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/testing/Internals.cpp        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -924,38 +924,6 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String Internals::suggestedValue(Element* element, ExceptionCode&amp; ec)
-{
-    if (!element) {
-        ec = INVALID_ACCESS_ERR;
-        return String();
-    }
-
-    HTMLInputElement* inputElement = element-&gt;toInputElement();
-    if (!inputElement) {
-        ec = INVALID_NODE_TYPE_ERR;
-        return String();
-    }
-
-    return inputElement-&gt;suggestedValue();
-}
-
-void Internals::setSuggestedValue(Element* element, const String&amp; value, ExceptionCode&amp; ec)
-{
-    if (!element) {
-        ec = INVALID_ACCESS_ERR;
-        return;
-    }
-
-    HTMLInputElement* inputElement = element-&gt;toInputElement();
-    if (!inputElement) {
-        ec = INVALID_NODE_TYPE_ERR;
-        return;
-    }
-
-    inputElement-&gt;setSuggestedValue(value);
-}
-
</del><span class="cx"> void Internals::setEditingValue(Element* element, const String&amp; value, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><span class="cx">     if (!element) {
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.h (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.h        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/testing/Internals.h        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -143,8 +143,6 @@
</span><span class="cx"> 
</span><span class="cx">     bool wasLastChangeUserEdit(Element* textField, ExceptionCode&amp;);
</span><span class="cx">     bool elementShouldAutoComplete(Element* inputElement, ExceptionCode&amp;);
</span><del>-    String suggestedValue(Element* inputElement, ExceptionCode&amp;);
-    void setSuggestedValue(Element* inputElement, const String&amp;, ExceptionCode&amp;);
</del><span class="cx">     void setEditingValue(Element* inputElement, const String&amp;, ExceptionCode&amp;);
</span><span class="cx">     void setAutofilled(Element*, bool enabled, ExceptionCode&amp;);
</span><span class="cx">     void scrollElementToRect(Element*, long x, long y, long w, long h, ExceptionCode&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.idl        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebCore/testing/Internals.idl        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -98,8 +98,6 @@
</span><span class="cx"> 
</span><span class="cx">     [RaisesException] boolean wasLastChangeUserEdit(Element textField);
</span><span class="cx">     [RaisesException] boolean elementShouldAutoComplete(Element inputElement);
</span><del>-    [RaisesException] DOMString suggestedValue(Element inputElement);
-    [RaisesException] void setSuggestedValue(Element inputElement, DOMString value);
</del><span class="cx">     [RaisesException] void setEditingValue(Element inputElement, DOMString value);
</span><span class="cx">     [RaisesException] void setAutofilled(Element inputElement, boolean enabled);
</span><span class="cx">     [RaisesException] unsigned long countMatchesForText(DOMString text, unsigned long findOptions, DOMString markMatches);
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebKit/ChangeLog        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2014-08-20  Benjamin Poulain  &lt;bpoulain@apple.com&gt;
+
+        Remove HTMLInputElement's suggestedValue
+        https://bugs.webkit.org/show_bug.cgi?id=136094
+
+        Reviewed by Darin Adler.
+
+        * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
+
</ins><span class="cx"> 2014-08-20  Mark Rowe  &lt;mrowe@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         &lt;https://webkit.org/b/136119&gt; WebKit1 plug-in test failures in production builds after r172595
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (172816 => 172817)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-08-20 22:39:44 UTC (rev 172816)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-08-20 22:55:29 UTC (rev 172817)
</span><span class="lines">@@ -301,14 +301,12 @@
</span><span class="cx">         symbolWithPointer(?setSerifFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setSerifFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
</span><span class="cx">         symbolWithPointer(?setStandardFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setStandardFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
</span><span class="cx">         symbolWithPointer(?setStorageBlockingPolicy@Settings@WebCore@@QAEXW4StorageBlockingPolicy@SecurityOrigin@2@@Z, ?setStorageBlockingPolicy@Settings@WebCore@@QEAAXW4StorageBlockingPolicy@SecurityOrigin@2@@Z)
</span><del>-        symbolWithPointer(?setSuggestedValue@HTMLInputElement@WebCore@@QAEXABVString@WTF@@@Z, ?setSuggestedValue@HTMLInputElement@WebCore@@QEAAXAEBVString@WTF@@@Z)
</del><span class="cx">         symbolWithPointer(?setEditingValue@HTMLInputElement@WebCore@@QAEXABVString@WTF@@@Z, ?setEditingValue@HTMLInputElement@WebCore@@QEAAXAEBVString@WTF@@@Z)
</span><span class="cx">         symbolWithPointer(?setPseudo@Element@WebCore@@QAEXABVAtomicString@WTF@@@Z, ?setPseudo@Element@WebCore@@QEAAXAEBVAtomicString@WTF@@@Z)
</span><span class="cx">         symbolWithPointer(?setMediaTypeOverride@Settings@WebCore@@QAEXABVString@WTF@@@Z, ?setMediaTypeOverride@Settings@WebCore@@QEAAXAEBVString@WTF@@@Z)
</span><span class="cx">         symbolWithPointer(?settings@Document@WebCore@@QBEPAVSettings@2@XZ, ?settings@Document@WebCore@@QEBAPEAVSettings@2@XZ)
</span><span class="cx">         symbolWithPointer(?sharedFeatures@RuntimeEnabledFeatures@WebCore@@SAAAV12@XZ, ?sharedFeatures@RuntimeEnabledFeatures@WebCore@@SAAEAV12@XZ)
</span><span class="cx">         symbolWithPointer(?substring@String@WTF@@QBE?AV12@II@Z, ?substring@String@WTF@@QEBA?AV12@II@Z)
</span><del>-        symbolWithPointer(?suggestedValue@HTMLInputElement@WebCore@@QBEABVString@WTF@@XZ, ?suggestedValue@HTMLInputElement@WebCore@@QEBAAEBVString@WTF@@XZ)
</del><span class="cx">         symbolWithPointer(?target@HistoryItem@WebCore@@QBEABVString@WTF@@XZ, ?target@HistoryItem@WebCore@@QEBAAEBVString@WTF@@XZ)
</span><span class="cx">         symbolWithPointer(?text@Range@WebCore@@QBE?AVString@WTF@@XZ, ?text@Range@WebCore@@QEBA?AVString@WTF@@XZ)
</span><span class="cx">         ?textareaTag@HTMLNames@WebCore@@3VHTMLQualifiedName@2@B
</span></span></pre>
</div>
</div>

</body>
</html>