<!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>[207509] 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/207509">207509</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-10-18 17:27:59 -0700 (Tue, 18 Oct 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Provide better form validation messages
https://bugs.webkit.org/show_bug.cgi?id=163584

Reviewed by Darin Adler.

Source/WebCore:

Provide better form validation messages that match more closely the ones
from Chrome and Firefox.

No new tests, updated existing tests.

* English.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:
(WebCore::validationMessageValueMissingText):
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
(WebCore::validationMessageTypeMismatchText):
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessagePatternMismatchText):
(WebCore::validationMessageTooShortText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
(WebCore::validationMessageBadInputForNumberText):

LayoutTests:

Update existing tests now that form validation messages differ.

* fast/forms/number/number-validation-message-expected.txt:
* fast/forms/number/number-validation-message.html:
* fast/forms/validationMessage-expected.txt:
* platform/mac/fast/forms/validation-message-appearance-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastformsdateinputdatevalidationmessageexpectedtxt">trunk/LayoutTests/fast/forms/date/input-date-validation-message-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsnumbernumbervalidationmessageexpectedtxt">trunk/LayoutTests/fast/forms/number/number-validation-message-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsnumbernumbervalidationmessagehtml">trunk/LayoutTests/fast/forms/number/number-validation-message.html</a></li>
<li><a href="#trunkLayoutTestsfastformsvalidationMessageexpectedtxt">trunk/LayoutTests/fast/forms/validationMessage-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastformsvalidationmessageappearanceexpectedtxt">trunk/LayoutTests/platform/mac/fast/forms/validation-message-appearance-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacelcapitanfastformsvalidationmessageappearanceexpectedtxt">trunk/LayoutTests/platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreEnglishlprojLocalizablestrings">trunk/Source/WebCore/English.lproj/Localizable.strings</a></li>
<li><a href="#trunkSourceWebCoreplatformLocalizedStringscpp">trunk/Source/WebCore/platform/LocalizedStrings.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/LayoutTests/ChangeLog        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-10-18  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Provide better form validation messages
+        https://bugs.webkit.org/show_bug.cgi?id=163584
+
+        Reviewed by Darin Adler.
+
+        Update existing tests now that form validation messages differ.
+
+        * fast/forms/number/number-validation-message-expected.txt:
+        * fast/forms/number/number-validation-message.html:
+        * fast/forms/validationMessage-expected.txt:
+        * platform/mac/fast/forms/validation-message-appearance-expected.txt:
+
</ins><span class="cx"> 2016-10-18  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Marking http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https.html as flaky on Sierra.
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsdateinputdatevalidationmessageexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/date/input-date-validation-message-expected.txt (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/date/input-date-validation-message-expected.txt        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/LayoutTests/fast/forms/date/input-date-validation-message-expected.txt        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -6,15 +6,15 @@
</span><span class="cx"> No message
</span><span class="cx"> PASS testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;) is &quot;&quot;
</span><span class="cx"> Value missing
</span><del>-PASS testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;) is &quot;value missing&quot;
</del><ins>+FAIL testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;) should be value missing. Was Please fill out this field..
</ins><span class="cx"> Type mismatch
</span><span class="cx"> PASS testIt(&quot;foo&quot;, &quot;&quot;, &quot;&quot;) is &quot;&quot;
</span><span class="cx"> Range overflow
</span><del>-PASS testIt(&quot;1982-11-02&quot;, &quot;&quot;, &quot;1970-12-31&quot;) is &quot;range overflow&quot;
</del><ins>+FAIL testIt(&quot;1982-11-02&quot;, &quot;&quot;, &quot;1970-12-31&quot;) should be range overflow. Was Value must be less than or equal to 1970-12-31..
</ins><span class="cx"> Range underflow
</span><del>-PASS testIt(&quot;1982-11-02&quot;, &quot;1990-05-25&quot;, &quot;1990-12-24&quot;) is &quot;range underflow&quot;
</del><ins>+FAIL testIt(&quot;1982-11-02&quot;, &quot;1990-05-25&quot;, &quot;1990-12-24&quot;) should be range underflow. Was Value must be greater than or equal to 1990-05-25..
</ins><span class="cx"> Step mismatch
</span><del>-PASS testIt(&quot;1982-11-02&quot;, &quot;&quot;, &quot;&quot;, &quot;123&quot;) is &quot;step mismatch&quot;
</del><ins>+FAIL testIt(&quot;1982-11-02&quot;, &quot;&quot;, &quot;&quot;, &quot;123&quot;) should be step mismatch. Was Please enter a valid value..
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsnumbernumbervalidationmessageexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/number/number-validation-message-expected.txt (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/number/number-validation-message-expected.txt        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/LayoutTests/fast/forms/number/number-validation-message-expected.txt        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -6,15 +6,15 @@
</span><span class="cx"> No message
</span><span class="cx"> PASS testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;) is &quot;&quot;
</span><span class="cx"> Value missing
</span><del>-PASS testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;) is &quot;value missing&quot;
</del><ins>+PASS testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;) is &quot;Please fill out this field.&quot;
</ins><span class="cx"> Type mismatch
</span><span class="cx"> PASS testIt(&quot;foo&quot;, &quot;&quot;, &quot;&quot;) is &quot;&quot;
</span><span class="cx"> Range overflow
</span><del>-PASS testIt(&quot;200&quot;, &quot;&quot;, &quot;100&quot;) is &quot;range overflow&quot;
</del><ins>+PASS testIt(&quot;200&quot;, &quot;&quot;, &quot;100&quot;) is &quot;Value must be less than or equal to 100.&quot;
</ins><span class="cx"> Range underflow
</span><del>-PASS testIt(&quot;10&quot;, &quot;50&quot;, &quot;100&quot;) is &quot;range underflow&quot;
</del><ins>+PASS testIt(&quot;10&quot;, &quot;50&quot;, &quot;100&quot;) is &quot;Value must be greater than or equal to 50.&quot;
</ins><span class="cx"> Step mismatch
</span><del>-PASS testIt(&quot;55&quot;, &quot;0&quot;, &quot;100&quot;, &quot;10&quot;) is &quot;step mismatch&quot;
</del><ins>+PASS testIt(&quot;55&quot;, &quot;0&quot;, &quot;100&quot;, &quot;10&quot;) is &quot;Please enter a valid value.&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsnumbernumbervalidationmessagehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/number/number-validation-message.html (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/number/number-validation-message.html        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/LayoutTests/fast/forms/number/number-validation-message.html        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> debug('Value missing')
</span><span class="cx"> input.setAttribute(&quot;required&quot;, &quot;&quot;);
</span><del>-shouldBeEqualToString('testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;)', 'value missing');
</del><ins>+shouldBeEqualToString('testIt(&quot;&quot;, &quot;&quot;, &quot;&quot;)', 'Please fill out this field.');
</ins><span class="cx"> input.removeAttribute(&quot;required&quot;);
</span><span class="cx"> 
</span><span class="cx"> debug('Type mismatch');
</span><span class="lines">@@ -32,13 +32,13 @@
</span><span class="cx"> shouldBeEqualToString('testIt(&quot;foo&quot;, &quot;&quot;, &quot;&quot;)', '');
</span><span class="cx"> 
</span><span class="cx"> debug('Range overflow')
</span><del>-shouldBeEqualToString('testIt(&quot;200&quot;, &quot;&quot;, &quot;100&quot;)', 'range overflow');
</del><ins>+shouldBeEqualToString('testIt(&quot;200&quot;, &quot;&quot;, &quot;100&quot;)', 'Value must be less than or equal to 100.');
</ins><span class="cx"> 
</span><span class="cx"> debug('Range underflow')
</span><del>-shouldBeEqualToString('testIt(&quot;10&quot;, &quot;50&quot;, &quot;100&quot;)', 'range underflow');
</del><ins>+shouldBeEqualToString('testIt(&quot;10&quot;, &quot;50&quot;, &quot;100&quot;)', 'Value must be greater than or equal to 50.');
</ins><span class="cx"> 
</span><span class="cx"> debug('Step mismatch')
</span><del>-shouldBeEqualToString('testIt(&quot;55&quot;, &quot;0&quot;, &quot;100&quot;, &quot;10&quot;)', 'step mismatch');
</del><ins>+shouldBeEqualToString('testIt(&quot;55&quot;, &quot;0&quot;, &quot;100&quot;, &quot;10&quot;)', 'Please enter a valid value.');
</ins><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsvalidationMessageexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/validationMessage-expected.txt (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/validationMessage-expected.txt        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/LayoutTests/fast/forms/validationMessage-expected.txt        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -3,12 +3,12 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-input patternMismatch: pattern mismatch
-input valueMissing: value missing
-textarea valueMissing: value missing
-select valueMissing: value missing
-input typeMismatch: type mismatch
-input badInput: type mismatch
</del><ins>+input patternMismatch: Please match the requested format.
+input valueMissing: Please fill out this field.
+textarea valueMissing: Please fill out this field.
+select valueMissing: Please select an item in the list.
+input typeMismatch: Please enter an email address.
+input badInput: Please enter a number.
</ins><span class="cx"> badInput and valueMissing:
</span><span class="cx"> PASS numberInput.validationMessage is nonRequiredBadInputMessage
</span><span class="cx"> PASS but.validationMessage is ''
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastformsvalidationmessageappearanceexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/forms/validation-message-appearance-expected.txt (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/forms/validation-message-appearance-expected.txt        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/LayoutTests/platform/mac/fast/forms/validation-message-appearance-expected.txt        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -25,8 +25,8 @@
</span><span class="cx">     RenderBlock {DIV} at (10,10) size 0x64
</span><span class="cx">     RenderBlock {DIV} at (10,10) size 200x64
</span><span class="cx">       RenderBlock {DIV} at (0,0) size 200x16
</span><del>-        RenderText {#text} at (0,0) size 88x16
-          text run at (0,0) width 88: &quot;value missing&quot;
</del><ins>+        RenderText {#text} at (0,0) size 152x16
+          text run at (0,0) width 152: &quot;Please fill out this field.&quot;
</ins><span class="cx">       RenderBlock {DIV} at (0,16) size 200x48
</span><span class="cx">         RenderText {#text} at (0,0) size 145x16
</span><span class="cx">           text run at (0,0) width 145: &quot;Needs at least 8 letters.&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacelcapitanfastformsvalidationmessageappearanceexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/LayoutTests/platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -25,8 +25,8 @@
</span><span class="cx">     RenderBlock {DIV} at (10,10) size 0x64
</span><span class="cx">     RenderBlock {DIV} at (10,10) size 200x64
</span><span class="cx">       RenderBlock {DIV} at (0,0) size 200x16
</span><del>-        RenderText {#text} at (0,0) size 90x16
-          text run at (0,0) width 90: &quot;value missing&quot;
</del><ins>+        RenderText {#text} at (0,0) size 153x16
+          text run at (0,0) width 153: &quot;Please fill out this field.&quot;
</ins><span class="cx">       RenderBlock {DIV} at (0,16) size 200x48
</span><span class="cx">         RenderText {#text} at (0,0) size 147x16
</span><span class="cx">           text run at (0,0) width 147: &quot;Needs at least 8 letters.&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/Source/WebCore/ChangeLog        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2016-10-18  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Provide better form validation messages
+        https://bugs.webkit.org/show_bug.cgi?id=163584
+
+        Reviewed by Darin Adler.
+
+        Provide better form validation messages that match more closely the ones
+        from Chrome and Firefox.
+
+        No new tests, updated existing tests.
+
+        * English.lproj/Localizable.strings:
+        * platform/LocalizedStrings.cpp:
+        (WebCore::validationMessageValueMissingText):
+        (WebCore::validationMessageValueMissingForCheckboxText):
+        (WebCore::validationMessageValueMissingForFileText):
+        (WebCore::validationMessageValueMissingForMultipleFileText):
+        (WebCore::validationMessageValueMissingForRadioText):
+        (WebCore::validationMessageValueMissingForSelectText):
+        (WebCore::validationMessageTypeMismatchText):
+        (WebCore::validationMessageTypeMismatchForEmailText):
+        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
+        (WebCore::validationMessageTypeMismatchForURLText):
+        (WebCore::validationMessagePatternMismatchText):
+        (WebCore::validationMessageTooShortText):
+        (WebCore::validationMessageTooLongText):
+        (WebCore::validationMessageRangeUnderflowText):
+        (WebCore::validationMessageRangeOverflowText):
+        (WebCore::validationMessageStepMismatchText):
+        (WebCore::validationMessageBadInputForNumberText):
+
</ins><span class="cx"> 2016-10-18  Dave Hyatt  &lt;hyatt@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix GTK build.
</span></span></pre></div>
<a id="trunkSourceWebCoreEnglishlprojLocalizablestrings"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/English.lproj/Localizable.strings (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/English.lproj/Localizable.strings        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/Source/WebCore/English.lproj/Localizable.strings        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -217,9 +217,6 @@
</span><span class="cx"> /* Undo action name */
</span><span class="cx"> &quot;Cut (Undo action name)&quot; = &quot;Cut&quot;;
</span><span class="cx"> 
</span><del>-/* accessibility role description for a date field */
-&quot;date field&quot; = &quot;date field&quot;;
-
</del><span class="cx"> /* Default writing direction context menu item */
</span><span class="cx"> &quot;Default&quot; = &quot;Default&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -247,9 +244,6 @@
</span><span class="cx"> /* Undo action name */
</span><span class="cx"> &quot;Drag (Undo action name)&quot; = &quot;Drag&quot;;
</span><span class="cx"> 
</span><del>-/* accessibility role description for an email field */
-&quot;email field&quot; = &quot;email field&quot;;
-
</del><span class="cx"> /* Video Enter Fullscreen context menu item */
</span><span class="cx"> &quot;Enter Full Screen&quot; = &quot;Enter Full Screen&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -310,6 +304,9 @@
</span><span class="cx"> /* Inspect Element context menu item */
</span><span class="cx"> &quot;Inspect Element&quot; = &quot;Inspect Element&quot;;
</span><span class="cx"> 
</span><ins>+/* Validation message for input form controls with a value not matching type */
+&quot;Invalid value.&quot; = &quot;Invalid value.&quot;;
+
</ins><span class="cx"> /* Italic context menu item */
</span><span class="cx"> &quot;Italic&quot; = &quot;Italic&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -466,6 +463,42 @@
</span><span class="cx"> /* accessibility help text for enter fullscreen button */
</span><span class="cx"> &quot;Play movie in fullscreen mode&quot; = &quot;Play movie in fullscreen mode&quot;;
</span><span class="cx"> 
</span><ins>+/* Validation message for required checkboxes that have not be checked */
+&quot;Please check this box if you want to proceed.&quot; = &quot;Please check this box if you want to proceed.&quot;;
+
+/* Validation message for input form controls of type 'url' that have an invalid value */
+&quot;Please enter a URL.&quot; = &quot;Please enter a URL.&quot;;
+
+/* Validation message for number fields where the user entered a non-number string */
+&quot;Please enter a number.&quot; = &quot;Please enter a number.&quot;;
+
+/* Validation message for input form controls with value not respecting the step attribute */
+&quot;Please enter a valid value.&quot; = &quot;Please enter a valid value.&quot;;
+
+/* Validation message for input form controls of type 'email' that have an invalid value */
+&quot;Please enter an email address.&quot; = &quot;Please enter an email address.&quot;;
+
+/* Validation message for required form control elements that have no value */
+&quot;Please fill out this field.&quot; = &quot;Please fill out this field.&quot;;
+
+/* Validation message for input form controls requiring a constrained value according to pattern */
+&quot;Please match the requested format.&quot; = &quot;Please match the requested format.&quot;;
+
+/* Validation message for required file inputs that have no value */
+&quot;Please select a file.&quot; = &quot;Please select a file.&quot;;
+
+/* Validation message for required menu list controls that have no selection */
+&quot;Please select an item in the list.&quot; = &quot;Please select an item in the list.&quot;;
+
+/* Validation message for required radio boxes that have no selection */
+&quot;Please select one of these options.&quot; = &quot;Please select one of these options.&quot;;
+
+/* Validation message for form control elements with a value shorter than minimum allowed length */
+&quot;Please use at least %d characters.&quot; = &quot;Please use at least %d characters.&quot;;
+
+/* Validation message for form control elements with a value shorter than maximum allowed length */
+&quot;Please use no more than %d characters.&quot; = &quot;Please use no more than %d characters.&quot;;
+
</ins><span class="cx"> /* Label text to be used if plugin host process has crashed */
</span><span class="cx"> &quot;Plug-in Failure&quot; = &quot;Plug-in Failure&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -619,9 +652,6 @@
</span><span class="cx"> /* File Upload alert sheet camera button string for taking only videos */
</span><span class="cx"> &quot;Take Video (file upload action sheet)&quot; = &quot;Take Video&quot;;
</span><span class="cx"> 
</span><del>-/* accessibility role description for a telephone number field */
-&quot;telephone number field&quot; = &quot;telephone number field&quot;;
-
</del><span class="cx"> /* Text Replacement context menu item */
</span><span class="cx"> &quot;Text Replacement&quot; = &quot;Text Replacement&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -688,6 +718,9 @@
</span><span class="cx"> /* Undo action name */
</span><span class="cx"> &quot;Typing (Undo action name)&quot; = &quot;Typing&quot;;
</span><span class="cx"> 
</span><ins>+/* accessibility role description for a URL field. */
+&quot;URL field&quot; = &quot;URL field&quot;;
+
</ins><span class="cx"> /* Underline context menu item */
</span><span class="cx"> &quot;Underline&quot; = &quot;Underline&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -721,6 +754,12 @@
</span><span class="cx"> /* Description of WebCrypto master keys in Keychain */
</span><span class="cx"> &quot;Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB&quot; = &quot;Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB&quot;;
</span><span class="cx"> 
</span><ins>+/* Validation message for input form controls with value lower than allowed minimum */
+&quot;Value must be greater than or equal to %@.&quot; = &quot;Value must be greater than or equal to %@.&quot;;
+
+/* Validation message for input form controls with value higher than allowed maximum */
+&quot;Value must be less than or equal to %@.&quot; = &quot;Value must be less than or equal to %@.&quot;;
+
</ins><span class="cx"> /* Web Inspector window title when inspecting Web Inspector */
</span><span class="cx"> &quot;Web Inspector [%d] — %@&quot; = &quot;Web Inspector [%d] — %@&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -811,6 +850,9 @@
</span><span class="cx"> /* accessibility help text for elapsed time display */
</span><span class="cx"> &quot;current movie time in seconds&quot; = &quot;current movie time in seconds&quot;;
</span><span class="cx"> 
</span><ins>+/* accessibility role description for a date field. */
+&quot;date field&quot; = &quot;date field&quot;;
+
</ins><span class="cx"> /* role description of ARIA definition role */
</span><span class="cx"> &quot;definition&quot; = &quot;definition&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -829,6 +871,9 @@
</span><span class="cx"> /* accessibility label for elapsed time display */
</span><span class="cx"> &quot;elapsed time&quot; = &quot;elapsed time&quot;;
</span><span class="cx"> 
</span><ins>+/* accessibility role description for an email field. */
+&quot;email field&quot; = &quot;email field&quot;;
+
</ins><span class="cx"> /* accessibility label for enter fullscreen button */
</span><span class="cx"> &quot;enter fullscreen&quot; = &quot;enter fullscreen&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -979,9 +1024,6 @@
</span><span class="cx"> /* Label for the auto fill credentials button inside a text field. */
</span><span class="cx"> &quot;password auto fill&quot; = &quot;password auto fill&quot;;
</span><span class="cx"> 
</span><del>-/* Validation message for input form controls requiring a constrained value according to pattern */
-&quot;pattern mismatch&quot; = &quot;pattern mismatch&quot;;
-
</del><span class="cx"> /* accessibility label for pause button */
</span><span class="cx"> &quot;pause&quot; = &quot;pause&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -1075,9 +1117,6 @@
</span><span class="cx"> /* accessibility label for movie status */
</span><span class="cx"> &quot;status&quot; = &quot;status&quot;;
</span><span class="cx"> 
</span><del>-/* Validation message for input form controls with value not respecting the step attribute */
-&quot;step mismatch&quot; = &quot;step mismatch&quot;;
-
</del><span class="cx"> /* accessibility help text for hide closed captions button */
</span><span class="cx"> &quot;stop displaying closed captions&quot; = &quot;stop displaying closed captions&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -1093,6 +1132,9 @@
</span><span class="cx"> /* An ARIA accessibility group that contains the content of a tab. */
</span><span class="cx"> &quot;tab panel&quot; = &quot;tab panel&quot;;
</span><span class="cx"> 
</span><ins>+/* accessibility role description for a telephone number field. */
+&quot;telephone number field&quot; = &quot;telephone number field&quot;;
+
</ins><span class="cx"> /* HTTP result code string */
</span><span class="cx"> &quot;temporarily redirected&quot; = &quot;temporarily redirected&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -1099,7 +1141,7 @@
</span><span class="cx"> /* term word of a description list */
</span><span class="cx"> &quot;term&quot; = &quot;term&quot;;
</span><span class="cx"> 
</span><del>-/* accessibility role description for a time field */
</del><ins>+/* accessibility role description for a time field. */
</ins><span class="cx"> &quot;time field&quot; = &quot;time field&quot;;
</span><span class="cx"> 
</span><span class="cx"> /* accessibility label for timeline thumb */
</span><span class="lines">@@ -1108,18 +1150,9 @@
</span><span class="cx"> /* An ARIA accessibility group that acts as an updating timer. */
</span><span class="cx"> &quot;timer&quot; = &quot;timer&quot;;
</span><span class="cx"> 
</span><del>-/* Validation message for form control elements with a value longer than maximum allowed length */
-&quot;too long&quot; = &quot;too long&quot;;
-
-/* Validation message for form control elements with a value shorter than minimum allowed length */
-&quot;too short&quot; = &quot;too short&quot;;
-
</del><span class="cx"> /* An ARIA accessibility group that acts as a tooltip. */
</span><span class="cx"> &quot;tooltip&quot; = &quot;tooltip&quot;;
</span><span class="cx"> 
</span><del>-/* Validation message for input form controls with a value not matching type */
-&quot;type mismatch&quot; = &quot;type mismatch&quot;;
-
</del><span class="cx"> /* HTTP result code string */
</span><span class="cx"> &quot;unacceptable&quot; = &quot;unacceptable&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -1147,12 +1180,6 @@
</span><span class="cx"> /* HTTP result code string */
</span><span class="cx"> &quot;unsupported version&quot; = &quot;unsupported version&quot;;
</span><span class="cx"> 
</span><del>-/* accessibility role description for a URL field */
-&quot;URL field&quot; = &quot;URL field&quot;;
-
-/* Validation message for required form control elements that have no value */
-&quot;value missing&quot; = &quot;value missing&quot;;
-
</del><span class="cx"> /* accessibility help text for video element controller */
</span><span class="cx"> &quot;video element playback controls and status display&quot; = &quot;video element playback controls and status display&quot;;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformLocalizedStringscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/LocalizedStrings.cpp (207508 => 207509)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/LocalizedStrings.cpp        2016-10-19 00:21:50 UTC (rev 207508)
+++ trunk/Source/WebCore/platform/LocalizedStrings.cpp        2016-10-19 00:27:59 UTC (rev 207509)
</span><span class="lines">@@ -1050,88 +1050,97 @@
</span><span class="cx"> 
</span><span class="cx"> String validationMessageValueMissingText()
</span><span class="cx"> {
</span><del>-    return WEB_UI_STRING(&quot;value missing&quot;, &quot;Validation message for required form control elements that have no value&quot;);
</del><ins>+    return WEB_UI_STRING(&quot;Please fill out this field.&quot;, &quot;Validation message for required form control elements that have no value&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageValueMissingForCheckboxText()
</span><span class="cx"> {
</span><del>-    return validationMessageValueMissingText();
</del><ins>+    return WEB_UI_STRING(&quot;Please check this box if you want to proceed.&quot;, &quot;Validation message for required checkboxes that have not be checked&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageValueMissingForFileText()
</span><span class="cx"> {
</span><del>-    return validationMessageValueMissingText();
</del><ins>+    return WEB_UI_STRING(&quot;Please select a file.&quot;, &quot;Validation message for required file inputs that have no value&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageValueMissingForMultipleFileText()
</span><span class="cx"> {
</span><del>-    return validationMessageValueMissingText();
</del><ins>+    return validationMessageValueMissingForFileText();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageValueMissingForRadioText()
</span><span class="cx"> {
</span><del>-    return validationMessageValueMissingText();
</del><ins>+    return WEB_UI_STRING(&quot;Please select one of these options.&quot;, &quot;Validation message for required radio boxes that have no selection&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageValueMissingForSelectText()
</span><span class="cx"> {
</span><del>-    return validationMessageValueMissingText();
</del><ins>+    return WEB_UI_STRING(&quot;Please select an item in the list.&quot;, &quot;Validation message for required menu list controls that have no selection&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageTypeMismatchText()
</span><span class="cx"> {
</span><del>-    return WEB_UI_STRING(&quot;type mismatch&quot;, &quot;Validation message for input form controls with a value not matching type&quot;);
</del><ins>+    return WEB_UI_STRING(&quot;Invalid value.&quot;, &quot;Validation message for input form controls with a value not matching type&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageTypeMismatchForEmailText()
</span><span class="cx"> {
</span><del>-    return validationMessageTypeMismatchText();
</del><ins>+    return WEB_UI_STRING(&quot;Please enter an email address.&quot;, &quot;Validation message for input form controls of type 'email' that have an invalid value&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageTypeMismatchForMultipleEmailText()
</span><span class="cx"> {
</span><del>-    return validationMessageTypeMismatchText();
</del><ins>+    return validationMessageTypeMismatchForEmailText();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageTypeMismatchForURLText()
</span><span class="cx"> {
</span><del>-    return validationMessageTypeMismatchText();
</del><ins>+    return WEB_UI_STRING(&quot;Please enter a URL.&quot;, &quot;Validation message for input form controls of type 'url' that have an invalid value&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessagePatternMismatchText()
</span><span class="cx"> {
</span><del>-    return WEB_UI_STRING(&quot;pattern mismatch&quot;, &quot;Validation message for input form controls requiring a constrained value according to pattern&quot;);
</del><ins>+    return WEB_UI_STRING(&quot;Please match the requested format.&quot;, &quot;Validation message for input form controls requiring a constrained value according to pattern&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-String validationMessageTooShortText(int, int)
</del><ins>+String validationMessageTooShortText(int, int minLength)
</ins><span class="cx"> {
</span><del>-    return WEB_UI_STRING(&quot;too short&quot;, &quot;Validation message for form control elements with a value shorter than minimum allowed length&quot;);
</del><ins>+    return formatLocalizedString(WEB_UI_STRING(&quot;Please use at least %d characters.&quot;, &quot;Validation message for form control elements with a value shorter than minimum allowed length&quot;), minLength);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-String validationMessageTooLongText(int, int)
</del><ins>+String validationMessageTooLongText(int, int maxLength)
</ins><span class="cx"> {
</span><del>-    return WEB_UI_STRING(&quot;too long&quot;, &quot;Validation message for form control elements with a value longer than maximum allowed length&quot;);
</del><ins>+    return formatLocalizedString(WEB_UI_STRING(&quot;Please use no more than %d characters.&quot;, &quot;Validation message for form control elements with a value shorter than maximum allowed length&quot;), maxLength);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-String validationMessageRangeUnderflowText(const String&amp;)
</del><ins>+String validationMessageRangeUnderflowText(const String&amp; minimum)
</ins><span class="cx"> {
</span><ins>+#if PLATFORM(COCOA)
+    return formatLocalizedString(WEB_UI_STRING(&quot;Value must be greater than or equal to %@.&quot;, &quot;Validation message for input form controls with value lower than allowed minimum&quot;), minimum.createCFString().get());
+#else
+    UNUSED_PARAM(minimum);
</ins><span class="cx">     return WEB_UI_STRING(&quot;range underflow&quot;, &quot;Validation message for input form controls with value lower than allowed minimum&quot;);
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-String validationMessageRangeOverflowText(const String&amp;)
</del><ins>+String validationMessageRangeOverflowText(const String&amp; maximum)
</ins><span class="cx"> {
</span><ins>+#if PLATFORM(COCOA)
+    return formatLocalizedString(WEB_UI_STRING(&quot;Value must be less than or equal to %@.&quot;, &quot;Validation message for input form controls with value higher than allowed maximum&quot;), maximum.createCFString().get());
+#else
+    UNUSED_PARAM(maximum);
</ins><span class="cx">     return WEB_UI_STRING(&quot;range overflow&quot;, &quot;Validation message for input form controls with value higher than allowed maximum&quot;);
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageStepMismatchText(const String&amp;, const String&amp;)
</span><span class="cx"> {
</span><del>-    return WEB_UI_STRING(&quot;step mismatch&quot;, &quot;Validation message for input form controls with value not respecting the step attribute&quot;);
</del><ins>+    return WEB_UI_STRING(&quot;Please enter a valid value.&quot;, &quot;Validation message for input form controls with value not respecting the step attribute&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String validationMessageBadInputForNumberText()
</span><span class="cx"> {
</span><del>-    notImplemented();
-    return validationMessageTypeMismatchText();
</del><ins>+    return WEB_UI_STRING(&quot;Please enter a number.&quot;, &quot;Validation message for number fields where the user entered a non-number string&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String clickToExitFullScreenText()
</span></span></pre>
</div>
</div>

</body>
</html>