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();
}