Changeset 139172 in webkit
- Timestamp:
- Jan 9, 2013 12:53:01 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r139171 r139172 1 2013-01-09 Kunihiko Sakamoto <ksakamoto@chromium.org> 2 3 INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of week field should respect min/max attributes 4 https://bugs.webkit.org/show_bug.cgi?id=106416 5 6 Reviewed by Kent Tamura. 7 8 * fast/forms/week-multiple-fields/week-multiple-fields-readonly-subfield-expected.txt: Added. 9 * fast/forms/week-multiple-fields/week-multiple-fields-readonly-subfield.html: Added. 10 * fast/forms/week-multiple-fields/week-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added. 11 * fast/forms/week-multiple-fields/week-multiple-fields-stepup-stepdown-from-renderer.html: Added. 12 1 13 2013-01-09 Noel Gordon <noel.gordon@gmail.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r139166 r139172 1 2013-01-09 Kunihiko Sakamoto <ksakamoto@chromium.org> 2 3 INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of week field should respect min/max attributes 4 https://bugs.webkit.org/show_bug.cgi?id=106416 5 6 Reviewed by Kent Tamura. 7 8 Make step-up/-down of the week field respect the min/max attributes of the element. 9 Note that it still accepts any keyboard inputs (the element 10 becomes 'invalid' state when out-of-range values entered). 11 12 Tests: fast/forms/week-multiple-fields/week-multiple-fields-readonly-subfield.html 13 fast/forms/week-multiple-fields/week-multiple-fields-stepup-stepdown-from-renderer.html 14 15 * css/html.css: Add a CSS rule for week field. 16 * html/shadow/DateTimeEditElement.cpp: 17 (WebCore::DateTimeEditBuilder::visitField): 18 Compute minimum/maximum values of week field from the min/max parameters of the element. 19 * html/shadow/DateTimeFieldElements.cpp: 20 (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement): Add mininum/maximum arguments. 21 (WebCore::DateTimeWeekFieldElement::create): Ditto. 22 (WebCore::DateTimeWeekFieldElement::clampValueForHardLimits): Added. 23 * html/shadow/DateTimeFieldElements.h: 24 (DateTimeWeekFieldElement): Add mininum/maximum arguments and declare clampValueForHardLimits. 25 1 26 2013-01-08 Arpita Bahuguna <arpitabahuguna@gmail.com> 2 27 -
trunk/Source/WebCore/css/html.css
r139036 r139172 582 582 input::-webkit-datetime-edit-year-field[readonly], 583 583 input::-webkit-datetime-edit-month-field[readonly], 584 input::-webkit-datetime-edit-week-field[readonly], 584 585 input::-webkit-datetime-edit-day-field[readonly], 585 586 input::-webkit-datetime-edit-ampm-field[readonly], -
trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp
r139036 r139172 248 248 } 249 249 250 case DateTimeFormat::FieldTypeWeekOfYear: 251 m_editElement.addField(DateTimeWeekFieldElement::create(document, m_editElement)); 252 return; 250 case DateTimeFormat::FieldTypeWeekOfYear: { 251 int minWeek = DateComponents::minimumWeekNumber; 252 int maxWeek = DateComponents::maximumWeekNumber; 253 if (m_parameters.minimum.type() != DateComponents::Invalid 254 && m_parameters.maximum.type() != DateComponents::Invalid 255 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear() 256 && m_parameters.minimum.week() <= m_parameters.maximum.week()) { 257 minWeek = m_parameters.minimum.week(); 258 maxWeek = m_parameters.maximum.week(); 259 } 260 m_editElement.addField(DateTimeWeekFieldElement::create(document, m_editElement, minWeek, maxWeek)); 261 return; 262 } 253 263 254 264 case DateTimeFormat::FieldTypeYear: { -
trunk/Source/WebCore/html/shadow/DateTimeFieldElements.cpp
r139036 r139172 436 436 // ---------------------------- 437 437 438 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document* document, FieldOwner& fieldOwner )439 : DateTimeNumericFieldElement(document, fieldOwner, DateComponents::minimumWeekNumber, DateComponents::maximumWeekNumber, "--")440 { 441 } 442 443 PassRefPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::create(Document* document, FieldOwner& fieldOwner )438 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document* document, FieldOwner& fieldOwner, int minimum, int maximum) 439 : DateTimeNumericFieldElement(document, fieldOwner, minimum, maximum, "--") 440 { 441 } 442 443 PassRefPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::create(Document* document, FieldOwner& fieldOwner, int minimum, int maximum) 444 444 { 445 445 DEFINE_STATIC_LOCAL(AtomicString, weekPsuedoId, ("-webkit-datetime-edit-week-field", AtomicString::ConstructFromLiteral)); 446 RefPtr<DateTimeWeekFieldElement> field = adoptRef(new DateTimeWeekFieldElement(document, fieldOwner ));446 RefPtr<DateTimeWeekFieldElement> field = adoptRef(new DateTimeWeekFieldElement(document, fieldOwner, minimum, maximum)); 447 447 field->initialize(weekPsuedoId, AXWeekOfYearFieldText()); 448 448 return field.release(); … … 473 473 474 474 setEmptyValue(); 475 } 476 477 int DateTimeWeekFieldElement::clampValueForHardLimits(int value) const 478 { 479 return Range(DateComponents::minimumWeekNumber, DateComponents::maximumWeekNumber).clampValue(value); 475 480 } 476 481 -
trunk/Source/WebCore/html/shadow/DateTimeFieldElements.h
r139036 r139172 173 173 174 174 public: 175 static PassRefPtr<DateTimeWeekFieldElement> create(Document*, FieldOwner&); 176 177 private: 178 DateTimeWeekFieldElement(Document*, FieldOwner&); 179 180 // DateTimeFieldElement functions. 181 virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL; 182 virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL; 183 virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL; 175 static PassRefPtr<DateTimeWeekFieldElement> create(Document*, FieldOwner&, int minimum, int maximum); 176 177 private: 178 DateTimeWeekFieldElement(Document*, FieldOwner&, int minimum, int maximum); 179 180 // DateTimeFieldElement functions. 181 virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL; 182 virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL; 183 virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL; 184 185 // DateTimeNumericFieldElement function. 186 virtual int clampValueForHardLimits(int) const OVERRIDE FINAL; 184 187 }; 185 188
Note: See TracChangeset
for help on using the changeset viewer.