<!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 <cdumez@apple.com>
+
+ 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 <ryanhaddad@apple.com>
</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("", "", "") is ""
</span><span class="cx"> Value missing
</span><del>-PASS testIt("", "", "") is "value missing"
</del><ins>+FAIL testIt("", "", "") should be value missing. Was Please fill out this field..
</ins><span class="cx"> Type mismatch
</span><span class="cx"> PASS testIt("foo", "", "") is ""
</span><span class="cx"> Range overflow
</span><del>-PASS testIt("1982-11-02", "", "1970-12-31") is "range overflow"
</del><ins>+FAIL testIt("1982-11-02", "", "1970-12-31") 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("1982-11-02", "1990-05-25", "1990-12-24") is "range underflow"
</del><ins>+FAIL testIt("1982-11-02", "1990-05-25", "1990-12-24") 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("1982-11-02", "", "", "123") is "step mismatch"
</del><ins>+FAIL testIt("1982-11-02", "", "", "123") 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("", "", "") is ""
</span><span class="cx"> Value missing
</span><del>-PASS testIt("", "", "") is "value missing"
</del><ins>+PASS testIt("", "", "") is "Please fill out this field."
</ins><span class="cx"> Type mismatch
</span><span class="cx"> PASS testIt("foo", "", "") is ""
</span><span class="cx"> Range overflow
</span><del>-PASS testIt("200", "", "100") is "range overflow"
</del><ins>+PASS testIt("200", "", "100") is "Value must be less than or equal to 100."
</ins><span class="cx"> Range underflow
</span><del>-PASS testIt("10", "50", "100") is "range underflow"
</del><ins>+PASS testIt("10", "50", "100") is "Value must be greater than or equal to 50."
</ins><span class="cx"> Step mismatch
</span><del>-PASS testIt("55", "0", "100", "10") is "step mismatch"
</del><ins>+PASS testIt("55", "0", "100", "10") is "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="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("required", "");
</span><del>-shouldBeEqualToString('testIt("", "", "")', 'value missing');
</del><ins>+shouldBeEqualToString('testIt("", "", "")', 'Please fill out this field.');
</ins><span class="cx"> input.removeAttribute("required");
</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("foo", "", "")', '');
</span><span class="cx">
</span><span class="cx"> debug('Range overflow')
</span><del>-shouldBeEqualToString('testIt("200", "", "100")', 'range overflow');
</del><ins>+shouldBeEqualToString('testIt("200", "", "100")', 'Value must be less than or equal to 100.');
</ins><span class="cx">
</span><span class="cx"> debug('Range underflow')
</span><del>-shouldBeEqualToString('testIt("10", "50", "100")', 'range underflow');
</del><ins>+shouldBeEqualToString('testIt("10", "50", "100")', 'Value must be greater than or equal to 50.');
</ins><span class="cx">
</span><span class="cx"> debug('Step mismatch')
</span><del>-shouldBeEqualToString('testIt("55", "0", "100", "10")', 'step mismatch');
</del><ins>+shouldBeEqualToString('testIt("55", "0", "100", "10")', 'Please enter a valid value.');
</ins><span class="cx">
</span><span class="cx"> </script>
</span><span class="cx"> <script src="../../../resources/js-test-post.js"></script>
</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 "PASS" messages, followed by "TEST COMPLETE".
</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: "value missing"
</del><ins>+ RenderText {#text} at (0,0) size 152x16
+ text run at (0,0) width 152: "Please fill out this field."
</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: "Needs at least 8 letters."
</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: "value missing"
</del><ins>+ RenderText {#text} at (0,0) size 153x16
+ text run at (0,0) width 153: "Please fill out this field."
</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: "Needs at least 8 letters."
</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 <cdumez@apple.com>
+
+ 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 <hyatt@apple.com>
</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"> "Cut (Undo action name)" = "Cut";
</span><span class="cx">
</span><del>-/* accessibility role description for a date field */
-"date field" = "date field";
-
</del><span class="cx"> /* Default writing direction context menu item */
</span><span class="cx"> "Default" = "Default";
</span><span class="cx">
</span><span class="lines">@@ -247,9 +244,6 @@
</span><span class="cx"> /* Undo action name */
</span><span class="cx"> "Drag (Undo action name)" = "Drag";
</span><span class="cx">
</span><del>-/* accessibility role description for an email field */
-"email field" = "email field";
-
</del><span class="cx"> /* Video Enter Fullscreen context menu item */
</span><span class="cx"> "Enter Full Screen" = "Enter Full Screen";
</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"> "Inspect Element" = "Inspect Element";
</span><span class="cx">
</span><ins>+/* Validation message for input form controls with a value not matching type */
+"Invalid value." = "Invalid value.";
+
</ins><span class="cx"> /* Italic context menu item */
</span><span class="cx"> "Italic" = "Italic";
</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"> "Play movie in fullscreen mode" = "Play movie in fullscreen mode";
</span><span class="cx">
</span><ins>+/* Validation message for required checkboxes that have not be checked */
+"Please check this box if you want to proceed." = "Please check this box if you want to proceed.";
+
+/* Validation message for input form controls of type 'url' that have an invalid value */
+"Please enter a URL." = "Please enter a URL.";
+
+/* Validation message for number fields where the user entered a non-number string */
+"Please enter a number." = "Please enter a number.";
+
+/* Validation message for input form controls with value not respecting the step attribute */
+"Please enter a valid value." = "Please enter a valid value.";
+
+/* Validation message for input form controls of type 'email' that have an invalid value */
+"Please enter an email address." = "Please enter an email address.";
+
+/* Validation message for required form control elements that have no value */
+"Please fill out this field." = "Please fill out this field.";
+
+/* Validation message for input form controls requiring a constrained value according to pattern */
+"Please match the requested format." = "Please match the requested format.";
+
+/* Validation message for required file inputs that have no value */
+"Please select a file." = "Please select a file.";
+
+/* Validation message for required menu list controls that have no selection */
+"Please select an item in the list." = "Please select an item in the list.";
+
+/* Validation message for required radio boxes that have no selection */
+"Please select one of these options." = "Please select one of these options.";
+
+/* Validation message for form control elements with a value shorter than minimum allowed length */
+"Please use at least %d characters." = "Please use at least %d characters.";
+
+/* Validation message for form control elements with a value shorter than maximum allowed length */
+"Please use no more than %d characters." = "Please use no more than %d characters.";
+
</ins><span class="cx"> /* Label text to be used if plugin host process has crashed */
</span><span class="cx"> "Plug-in Failure" = "Plug-in Failure";
</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"> "Take Video (file upload action sheet)" = "Take Video";
</span><span class="cx">
</span><del>-/* accessibility role description for a telephone number field */
-"telephone number field" = "telephone number field";
-
</del><span class="cx"> /* Text Replacement context menu item */
</span><span class="cx"> "Text Replacement" = "Text Replacement";
</span><span class="cx">
</span><span class="lines">@@ -688,6 +718,9 @@
</span><span class="cx"> /* Undo action name */
</span><span class="cx"> "Typing (Undo action name)" = "Typing";
</span><span class="cx">
</span><ins>+/* accessibility role description for a URL field. */
+"URL field" = "URL field";
+
</ins><span class="cx"> /* Underline context menu item */
</span><span class="cx"> "Underline" = "Underline";
</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"> "Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB" = "Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB";
</span><span class="cx">
</span><ins>+/* Validation message for input form controls with value lower than allowed minimum */
+"Value must be greater than or equal to %@." = "Value must be greater than or equal to %@.";
+
+/* Validation message for input form controls with value higher than allowed maximum */
+"Value must be less than or equal to %@." = "Value must be less than or equal to %@.";
+
</ins><span class="cx"> /* Web Inspector window title when inspecting Web Inspector */
</span><span class="cx"> "Web Inspector [%d] — %@" = "Web Inspector [%d] — %@";
</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"> "current movie time in seconds" = "current movie time in seconds";
</span><span class="cx">
</span><ins>+/* accessibility role description for a date field. */
+"date field" = "date field";
+
</ins><span class="cx"> /* role description of ARIA definition role */
</span><span class="cx"> "definition" = "definition";
</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"> "elapsed time" = "elapsed time";
</span><span class="cx">
</span><ins>+/* accessibility role description for an email field. */
+"email field" = "email field";
+
</ins><span class="cx"> /* accessibility label for enter fullscreen button */
</span><span class="cx"> "enter fullscreen" = "enter fullscreen";
</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"> "password auto fill" = "password auto fill";
</span><span class="cx">
</span><del>-/* Validation message for input form controls requiring a constrained value according to pattern */
-"pattern mismatch" = "pattern mismatch";
-
</del><span class="cx"> /* accessibility label for pause button */
</span><span class="cx"> "pause" = "pause";
</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"> "status" = "status";
</span><span class="cx">
</span><del>-/* Validation message for input form controls with value not respecting the step attribute */
-"step mismatch" = "step mismatch";
-
</del><span class="cx"> /* accessibility help text for hide closed captions button */
</span><span class="cx"> "stop displaying closed captions" = "stop displaying closed captions";
</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"> "tab panel" = "tab panel";
</span><span class="cx">
</span><ins>+/* accessibility role description for a telephone number field. */
+"telephone number field" = "telephone number field";
+
</ins><span class="cx"> /* HTTP result code string */
</span><span class="cx"> "temporarily redirected" = "temporarily redirected";
</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"> "term" = "term";
</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"> "time field" = "time field";
</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"> "timer" = "timer";
</span><span class="cx">
</span><del>-/* Validation message for form control elements with a value longer than maximum allowed length */
-"too long" = "too long";
-
-/* Validation message for form control elements with a value shorter than minimum allowed length */
-"too short" = "too short";
-
</del><span class="cx"> /* An ARIA accessibility group that acts as a tooltip. */
</span><span class="cx"> "tooltip" = "tooltip";
</span><span class="cx">
</span><del>-/* Validation message for input form controls with a value not matching type */
-"type mismatch" = "type mismatch";
-
</del><span class="cx"> /* HTTP result code string */
</span><span class="cx"> "unacceptable" = "unacceptable";
</span><span class="cx">
</span><span class="lines">@@ -1147,12 +1180,6 @@
</span><span class="cx"> /* HTTP result code string */
</span><span class="cx"> "unsupported version" = "unsupported version";
</span><span class="cx">
</span><del>-/* accessibility role description for a URL field */
-"URL field" = "URL field";
-
-/* Validation message for required form control elements that have no value */
-"value missing" = "value missing";
-
</del><span class="cx"> /* accessibility help text for video element controller */
</span><span class="cx"> "video element playback controls and status display" = "video element playback controls and status display";
</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("value missing", "Validation message for required form control elements that have no value");
</del><ins>+ return WEB_UI_STRING("Please fill out this field.", "Validation message for required form control elements that have no value");
</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("Please check this box if you want to proceed.", "Validation message for required checkboxes that have not be checked");
</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("Please select a file.", "Validation message for required file inputs that have no value");
</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("Please select one of these options.", "Validation message for required radio boxes that have no selection");
</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("Please select an item in the list.", "Validation message for required menu list controls that have no selection");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String validationMessageTypeMismatchText()
</span><span class="cx"> {
</span><del>- return WEB_UI_STRING("type mismatch", "Validation message for input form controls with a value not matching type");
</del><ins>+ return WEB_UI_STRING("Invalid value.", "Validation message for input form controls with a value not matching type");
</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("Please enter an email address.", "Validation message for input form controls of type 'email' that have an invalid value");
</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("Please enter a URL.", "Validation message for input form controls of type 'url' that have an invalid value");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String validationMessagePatternMismatchText()
</span><span class="cx"> {
</span><del>- return WEB_UI_STRING("pattern mismatch", "Validation message for input form controls requiring a constrained value according to pattern");
</del><ins>+ return WEB_UI_STRING("Please match the requested format.", "Validation message for input form controls requiring a constrained value according to pattern");
</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("too short", "Validation message for form control elements with a value shorter than minimum allowed length");
</del><ins>+ return formatLocalizedString(WEB_UI_STRING("Please use at least %d characters.", "Validation message for form control elements with a value shorter than minimum allowed length"), 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("too long", "Validation message for form control elements with a value longer than maximum allowed length");
</del><ins>+ return formatLocalizedString(WEB_UI_STRING("Please use no more than %d characters.", "Validation message for form control elements with a value shorter than maximum allowed length"), maxLength);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String validationMessageRangeUnderflowText(const String&)
</del><ins>+String validationMessageRangeUnderflowText(const String& minimum)
</ins><span class="cx"> {
</span><ins>+#if PLATFORM(COCOA)
+ return formatLocalizedString(WEB_UI_STRING("Value must be greater than or equal to %@.", "Validation message for input form controls with value lower than allowed minimum"), minimum.createCFString().get());
+#else
+ UNUSED_PARAM(minimum);
</ins><span class="cx"> return WEB_UI_STRING("range underflow", "Validation message for input form controls with value lower than allowed minimum");
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String validationMessageRangeOverflowText(const String&)
</del><ins>+String validationMessageRangeOverflowText(const String& maximum)
</ins><span class="cx"> {
</span><ins>+#if PLATFORM(COCOA)
+ return formatLocalizedString(WEB_UI_STRING("Value must be less than or equal to %@.", "Validation message for input form controls with value higher than allowed maximum"), maximum.createCFString().get());
+#else
+ UNUSED_PARAM(maximum);
</ins><span class="cx"> return WEB_UI_STRING("range overflow", "Validation message for input form controls with value higher than allowed maximum");
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String validationMessageStepMismatchText(const String&, const String&)
</span><span class="cx"> {
</span><del>- return WEB_UI_STRING("step mismatch", "Validation message for input form controls with value not respecting the step attribute");
</del><ins>+ return WEB_UI_STRING("Please enter a valid value.", "Validation message for input form controls with value not respecting the step attribute");
</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("Please enter a number.", "Validation message for number fields where the user entered a non-number string");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String clickToExitFullScreenText()
</span></span></pre>
</div>
</div>
</body>
</html>