Title: [139174] trunk
Revision
139174
Author
[email protected]
Date
2013-01-09 01:22:04 -0800 (Wed, 09 Jan 2013)

Log Message

INPUT_MULTIPLE_FIELDS_UI: min/max attributes should not make all fields read-only
https://bugs.webkit.org/show_bug.cgi?id=106422

Patch by Kunihiko Sakamoto <[email protected]> on 2013-01-09
Reviewed by Kent Tamura.

Source/WebCore:

Do not make day-field of date input and month-field of month input readonly
even if min and max are the same.

Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html
       fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html

* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitField): Added check for date type.

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt:
* fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html: Update expectations.
* fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt:
* fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html: Ditto.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (139173 => 139174)


--- trunk/LayoutTests/ChangeLog	2013-01-09 09:20:14 UTC (rev 139173)
+++ trunk/LayoutTests/ChangeLog	2013-01-09 09:22:04 UTC (rev 139174)
@@ -1,3 +1,15 @@
+2013-01-09  Kunihiko Sakamoto  <[email protected]>
+
+        INPUT_MULTIPLE_FIELDS_UI: min/max attributes should not make all fields read-only
+        https://bugs.webkit.org/show_bug.cgi?id=106422
+
+        Reviewed by Kent Tamura.
+
+        * fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt:
+        * fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html: Update expectations.
+        * fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt:
+        * fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html: Ditto.
+
 2013-01-09  Sheriff Bot  <[email protected]>
 
         Unreviewed, rolling out r139134.

Modified: trunk/LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt (139173 => 139174)


--- trunk/LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt	2013-01-09 09:20:14 UTC (rev 139173)
+++ trunk/LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt	2013-01-09 09:22:04 UTC (rev 139174)
@@ -25,15 +25,16 @@
 PASS isReadOnlyField(createDateInput("2012-12-01", "2012-12-31", "2012-12-15"), pseudoMonth) is true
 PASS isReadOnlyField(createDateInput("2012-12-01", "2012-12-31", "2012-11-30"), pseudoMonth) is false
 Day field:
+We should not make all the fields readonly by min/max, so day field is always editable.
 PASS isReadOnlyField(createDateInput("", "", ""), pseudoDay) is false
 PASS isReadOnlyField(createDateInput("2012-12-17", "", ""), pseudoDay) is false
 PASS isReadOnlyField(createDateInput("", "2012-12-17", ""), pseudoDay) is false
 PASS isReadOnlyField(createDateInput("", "", "2012-12-17"), pseudoDay) is false
-PASS isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", ""), pseudoDay) is true
+PASS isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", ""), pseudoDay) is false
 PASS isReadOnlyField(createDateInput("2012-12-17", "2013-12-18", ""), pseudoDay) is false
 PASS isReadOnlyField(createDateInput("2012-11-17", "2012-12-17", ""), pseudoDay) is false
 PASS isReadOnlyField(createDateInput("2012-12-17", "2013-12-17", ""), pseudoDay) is false
-PASS isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", "2012-12-17"), pseudoDay) is true
+PASS isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", "2012-12-17"), pseudoDay) is false
 PASS isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", "2012-12-18"), pseudoDay) is false
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html (139173 => 139174)


--- trunk/LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html	2013-01-09 09:20:14 UTC (rev 139173)
+++ trunk/LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html	2013-01-09 09:22:04 UTC (rev 139174)
@@ -51,15 +51,16 @@
 shouldBeFalse('isReadOnlyField(createDateInput("2012-12-01", "2012-12-31", "2012-11-30"), pseudoMonth)');
 
 debug('Day field:');
+debug('We should not make all the fields readonly by min/max, so day field is always editable.');
 shouldBeFalse('isReadOnlyField(createDateInput("", "", ""), pseudoDay)');
 shouldBeFalse('isReadOnlyField(createDateInput("2012-12-17", "", ""), pseudoDay)');
 shouldBeFalse('isReadOnlyField(createDateInput("", "2012-12-17", ""), pseudoDay)');
 shouldBeFalse('isReadOnlyField(createDateInput("", "", "2012-12-17"), pseudoDay)');
-shouldBeTrue('isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", ""), pseudoDay)');
+shouldBeFalse('isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", ""), pseudoDay)');
 shouldBeFalse('isReadOnlyField(createDateInput("2012-12-17", "2013-12-18", ""), pseudoDay)');
 shouldBeFalse('isReadOnlyField(createDateInput("2012-11-17", "2012-12-17", ""), pseudoDay)');
 shouldBeFalse('isReadOnlyField(createDateInput("2012-12-17", "2013-12-17", ""), pseudoDay)');
-shouldBeTrue('isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", "2012-12-17"), pseudoDay)');
+shouldBeFalse('isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", "2012-12-17"), pseudoDay)');
 shouldBeFalse('isReadOnlyField(createDateInput("2012-12-17", "2012-12-17", "2012-12-18"), pseudoDay)');
 
 </script>

Modified: trunk/LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt (139173 => 139174)


--- trunk/LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt	2013-01-09 09:20:14 UTC (rev 139173)
+++ trunk/LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt	2013-01-09 09:22:04 UTC (rev 139174)
@@ -15,14 +15,15 @@
 PASS isReadOnlyField(createMonthInput("2012-01", "2012-12", "2012-05"), pseudoYear) is true
 PASS isReadOnlyField(createMonthInput("2012-01", "2012-12", "2013-01"), pseudoYear) is false
 Month field:
+We should not make all the fields readonly by min/max, so day field is always editable.
 PASS isReadOnlyField(createMonthInput("", "", ""), pseudoMonth) is false
 PASS isReadOnlyField(createMonthInput("2012-12", "", ""), pseudoMonth) is false
 PASS isReadOnlyField(createMonthInput("", "2012-12", ""), pseudoMonth) is false
 PASS isReadOnlyField(createMonthInput("", "", "2012-12"), pseudoMonth) is false
-PASS isReadOnlyField(createMonthInput("2012-12", "2012-12", ""), pseudoMonth) is true
+PASS isReadOnlyField(createMonthInput("2012-12", "2012-12", ""), pseudoMonth) is false
 PASS isReadOnlyField(createMonthInput("2012-11", "2013-12", ""), pseudoMonth) is false
 PASS isReadOnlyField(createMonthInput("2012-12", "2013-12", ""), pseudoMonth) is false
-PASS isReadOnlyField(createMonthInput("2012-12", "2012-12", "2012-12"), pseudoMonth) is true
+PASS isReadOnlyField(createMonthInput("2012-12", "2012-12", "2012-12"), pseudoMonth) is false
 PASS isReadOnlyField(createMonthInput("2012-12", "2012-12", "2012-11"), pseudoMonth) is false
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html (139173 => 139174)


--- trunk/LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html	2013-01-09 09:20:14 UTC (rev 139173)
+++ trunk/LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html	2013-01-09 09:22:04 UTC (rev 139174)
@@ -39,14 +39,15 @@
 shouldBeFalse('isReadOnlyField(createMonthInput("2012-01", "2012-12", "2013-01"), pseudoYear)');
 
 debug('Month field:');
+debug('We should not make all the fields readonly by min/max, so day field is always editable.');
 shouldBeFalse('isReadOnlyField(createMonthInput("", "", ""), pseudoMonth)');
 shouldBeFalse('isReadOnlyField(createMonthInput("2012-12", "", ""), pseudoMonth)');
 shouldBeFalse('isReadOnlyField(createMonthInput("", "2012-12", ""), pseudoMonth)');
 shouldBeFalse('isReadOnlyField(createMonthInput("", "", "2012-12"), pseudoMonth)');
-shouldBeTrue('isReadOnlyField(createMonthInput("2012-12", "2012-12", ""), pseudoMonth)');
+shouldBeFalse('isReadOnlyField(createMonthInput("2012-12", "2012-12", ""), pseudoMonth)');
 shouldBeFalse('isReadOnlyField(createMonthInput("2012-11", "2013-12", ""), pseudoMonth)');
 shouldBeFalse('isReadOnlyField(createMonthInput("2012-12", "2013-12", ""), pseudoMonth)');
-shouldBeTrue('isReadOnlyField(createMonthInput("2012-12", "2012-12", "2012-12"), pseudoMonth)');
+shouldBeFalse('isReadOnlyField(createMonthInput("2012-12", "2012-12", "2012-12"), pseudoMonth)');
 shouldBeFalse('isReadOnlyField(createMonthInput("2012-12", "2012-12", "2012-11"), pseudoMonth)');
 
 </script>

Modified: trunk/Source/WebCore/ChangeLog (139173 => 139174)


--- trunk/Source/WebCore/ChangeLog	2013-01-09 09:20:14 UTC (rev 139173)
+++ trunk/Source/WebCore/ChangeLog	2013-01-09 09:22:04 UTC (rev 139174)
@@ -1,5 +1,21 @@
 2013-01-09  Kunihiko Sakamoto  <[email protected]>
 
+        INPUT_MULTIPLE_FIELDS_UI: min/max attributes should not make all fields read-only
+        https://bugs.webkit.org/show_bug.cgi?id=106422
+
+        Reviewed by Kent Tamura.
+
+        Do not make day-field of date input and month-field of month input readonly
+        even if min and max are the same.
+
+        Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html
+               fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html
+
+        * html/shadow/DateTimeEditElement.cpp:
+        (WebCore::DateTimeEditBuilder::visitField): Added check for date type.
+
+2013-01-09  Kunihiko Sakamoto  <[email protected]>
+
         INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of week field should respect min/max attributes
         https://bugs.webkit.org/show_bug.cgi?id=106416
 

Modified: trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp (139173 => 139174)


--- trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp	2013-01-09 09:20:14 UTC (rev 139173)
+++ trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp	2013-01-09 09:22:04 UTC (rev 139174)
@@ -117,7 +117,7 @@
         }
         RefPtr<DateTimeFieldElement> field = DateTimeDayFieldElement::create(document, m_editElement, m_parameters.placeholderForDay, minDay, maxDay);
         m_editElement.addField(field);
-        if (minDay == maxDay && minDay == m_dateValue.monthDay()) {
+        if (minDay == maxDay && minDay == m_dateValue.monthDay() && m_dateValue.type() != DateComponents::Date) {
             field->setValueAsDate(m_dateValue);
             field->setReadOnly();
         }
@@ -203,7 +203,7 @@
             break;
         }
         m_editElement.addField(field);
-        if (minMonth == maxMonth && minMonth == m_dateValue.month()) {
+        if (minMonth == maxMonth && minMonth == m_dateValue.month() && m_dateValue.type() != DateComponents::Month) {
             field->setValueAsDate(m_dateValue);
             field->setReadOnly();
         }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to