| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 DateTimeEditBuilder::DateTimeEditBuilder(DateTimeEditElement& element, const Dat
eTimeEditElement::LayoutParameters& layoutParameters, const DateComponents& date
Value) | 84 DateTimeEditBuilder::DateTimeEditBuilder(DateTimeEditElement& element, const Dat
eTimeEditElement::LayoutParameters& layoutParameters, const DateComponents& date
Value) |
| 85 : m_editElement(&element) | 85 : m_editElement(&element) |
| 86 , m_dateValue(dateValue) | 86 , m_dateValue(dateValue) |
| 87 , m_parameters(layoutParameters) | 87 , m_parameters(layoutParameters) |
| 88 , m_dayRange(1, 31) | 88 , m_dayRange(1, 31) |
| 89 , m_hour23Range(0, 23) | 89 , m_hour23Range(0, 23) |
| 90 , m_minuteRange(0, 59) | 90 , m_minuteRange(0, 59) |
| 91 , m_secondRange(0, 59) | 91 , m_secondRange(0, 59) |
| 92 , m_millisecondRange(0, 999) | 92 , m_millisecondRange(0, 999) |
| 93 { | 93 { |
| 94 if (m_dateValue.type() == DateComponents::Date || m_dateValue.type() == Date
Components::DateTimeLocal) { | 94 if (m_dateValue.getType() == DateComponents::Date || m_dateValue.getType() =
= DateComponents::DateTimeLocal) { |
| 95 if (m_parameters.minimum.type() != DateComponents::Invalid | 95 if (m_parameters.minimum.getType() != DateComponents::Invalid |
| 96 && m_parameters.maximum.type() != DateComponents::Invalid | 96 && m_parameters.maximum.getType() != DateComponents::Invalid |
| 97 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
) | 97 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
) |
| 98 && m_parameters.minimum.month() == m_parameters.maximum.month() | 98 && m_parameters.minimum.month() == m_parameters.maximum.month() |
| 99 && m_parameters.minimum.monthDay() <= m_parameters.maximum.monthDay(
)) { | 99 && m_parameters.minimum.monthDay() <= m_parameters.maximum.monthDay(
)) { |
| 100 m_dayRange.minimum = m_parameters.minimum.monthDay(); | 100 m_dayRange.minimum = m_parameters.minimum.monthDay(); |
| 101 m_dayRange.maximum = m_parameters.maximum.monthDay(); | 101 m_dayRange.maximum = m_parameters.maximum.monthDay(); |
| 102 } | 102 } |
| 103 } | 103 } |
| 104 | 104 |
| 105 if (m_dateValue.type() == DateComponents::Time || m_dayRange.isSingleton())
{ | 105 if (m_dateValue.getType() == DateComponents::Time || m_dayRange.isSingleton(
)) { |
| 106 if (m_parameters.minimum.type() != DateComponents::Invalid | 106 if (m_parameters.minimum.getType() != DateComponents::Invalid |
| 107 && m_parameters.maximum.type() != DateComponents::Invalid | 107 && m_parameters.maximum.getType() != DateComponents::Invalid |
| 108 && m_parameters.minimum.hour() <= m_parameters.maximum.hour()) { | 108 && m_parameters.minimum.hour() <= m_parameters.maximum.hour()) { |
| 109 m_hour23Range.minimum = m_parameters.minimum.hour(); | 109 m_hour23Range.minimum = m_parameters.minimum.hour(); |
| 110 m_hour23Range.maximum = m_parameters.maximum.hour(); | 110 m_hour23Range.maximum = m_parameters.maximum.hour(); |
| 111 } | 111 } |
| 112 } | 112 } |
| 113 | 113 |
| 114 if (m_hour23Range.isSingleton() && m_parameters.minimum.minute() <= m_parame
ters.maximum.minute()) { | 114 if (m_hour23Range.isSingleton() && m_parameters.minimum.minute() <= m_parame
ters.maximum.minute()) { |
| 115 m_minuteRange.minimum = m_parameters.minimum.minute(); | 115 m_minuteRange.minimum = m_parameters.minimum.minute(); |
| 116 m_minuteRange.maximum = m_parameters.maximum.minute(); | 116 m_minuteRange.maximum = m_parameters.maximum.minute(); |
| 117 } | 117 } |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 if (shouldMinuteFieldDisabled()) { | 207 if (shouldMinuteFieldDisabled()) { |
| 208 field->setValueAsDate(m_dateValue); | 208 field->setValueAsDate(m_dateValue); |
| 209 field->setDisabled(); | 209 field->setDisabled(); |
| 210 } | 210 } |
| 211 return; | 211 return; |
| 212 } | 212 } |
| 213 | 213 |
| 214 case DateTimeFormat::FieldTypeMonth: // Fallthrough. | 214 case DateTimeFormat::FieldTypeMonth: // Fallthrough. |
| 215 case DateTimeFormat::FieldTypeMonthStandAlone: { | 215 case DateTimeFormat::FieldTypeMonthStandAlone: { |
| 216 int minMonth = 0, maxMonth = 11; | 216 int minMonth = 0, maxMonth = 11; |
| 217 if (m_parameters.minimum.type() != DateComponents::Invalid | 217 if (m_parameters.minimum.getType() != DateComponents::Invalid |
| 218 && m_parameters.maximum.type() != DateComponents::Invalid | 218 && m_parameters.maximum.getType() != DateComponents::Invalid |
| 219 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
) | 219 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
) |
| 220 && m_parameters.minimum.month() <= m_parameters.maximum.month()) { | 220 && m_parameters.minimum.month() <= m_parameters.maximum.month()) { |
| 221 minMonth = m_parameters.minimum.month(); | 221 minMonth = m_parameters.minimum.month(); |
| 222 maxMonth = m_parameters.maximum.month(); | 222 maxMonth = m_parameters.maximum.month(); |
| 223 } | 223 } |
| 224 RefPtrWillBeRawPtr<DateTimeFieldElement> field; | 224 RefPtrWillBeRawPtr<DateTimeFieldElement> field; |
| 225 switch (count) { | 225 switch (count) { |
| 226 case countForNarrowMonth: // Fallthrough. | 226 case countForNarrowMonth: // Fallthrough. |
| 227 case countForAbbreviatedMonth: | 227 case countForAbbreviatedMonth: |
| 228 field = DateTimeSymbolicMonthFieldElement::create(document, editElem
ent(), fieldType == DateTimeFormat::FieldTypeMonth ? m_parameters.locale.shortMo
nthLabels() : m_parameters.locale.shortStandAloneMonthLabels(), minMonth, maxMon
th); | 228 field = DateTimeSymbolicMonthFieldElement::create(document, editElem
ent(), fieldType == DateTimeFormat::FieldTypeMonth ? m_parameters.locale.shortMo
nthLabels() : m_parameters.locale.shortStandAloneMonthLabels(), minMonth, maxMon
th); |
| 229 break; | 229 break; |
| 230 case countForFullMonth: | 230 case countForFullMonth: |
| 231 field = DateTimeSymbolicMonthFieldElement::create(document, editElem
ent(), fieldType == DateTimeFormat::FieldTypeMonth ? m_parameters.locale.monthLa
bels() : m_parameters.locale.standAloneMonthLabels(), minMonth, maxMonth); | 231 field = DateTimeSymbolicMonthFieldElement::create(document, editElem
ent(), fieldType == DateTimeFormat::FieldTypeMonth ? m_parameters.locale.monthLa
bels() : m_parameters.locale.standAloneMonthLabels(), minMonth, maxMonth); |
| 232 break; | 232 break; |
| 233 default: | 233 default: |
| 234 field = DateTimeMonthFieldElement::create(document, editElement(), m
_parameters.placeholderForMonth, DateTimeNumericFieldElement::Range(minMonth + 1
, maxMonth + 1)); | 234 field = DateTimeMonthFieldElement::create(document, editElement(), m
_parameters.placeholderForMonth, DateTimeNumericFieldElement::Range(minMonth + 1
, maxMonth + 1)); |
| 235 break; | 235 break; |
| 236 } | 236 } |
| 237 editElement().addField(field); | 237 editElement().addField(field); |
| 238 if (minMonth == maxMonth && minMonth == m_dateValue.month() && m_dateVal
ue.type() != DateComponents::Month) { | 238 if (minMonth == maxMonth && minMonth == m_dateValue.month() && m_dateVal
ue.getType() != DateComponents::Month) { |
| 239 field->setValueAsDate(m_dateValue); | 239 field->setValueAsDate(m_dateValue); |
| 240 field->setDisabled(); | 240 field->setDisabled(); |
| 241 } | 241 } |
| 242 return; | 242 return; |
| 243 } | 243 } |
| 244 | 244 |
| 245 case DateTimeFormat::FieldTypePeriod: { | 245 case DateTimeFormat::FieldTypePeriod: { |
| 246 RefPtrWillBeRawPtr<DateTimeFieldElement> field = DateTimeAMPMFieldElemen
t::create(document, editElement(), m_parameters.locale.timeAMPMLabels()); | 246 RefPtrWillBeRawPtr<DateTimeFieldElement> field = DateTimeAMPMFieldElemen
t::create(document, editElement(), m_parameters.locale.timeAMPMLabels()); |
| 247 editElement().addField(field); | 247 editElement().addField(field); |
| 248 if (shouldAMPMFieldDisabled()) { | 248 if (shouldAMPMFieldDisabled()) { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 274 editElement().addField(field); | 274 editElement().addField(field); |
| 275 if (shouldMillisecondFieldDisabled()) { | 275 if (shouldMillisecondFieldDisabled()) { |
| 276 field->setValueAsDate(m_dateValue); | 276 field->setValueAsDate(m_dateValue); |
| 277 field->setDisabled(); | 277 field->setDisabled(); |
| 278 } | 278 } |
| 279 return; | 279 return; |
| 280 } | 280 } |
| 281 | 281 |
| 282 case DateTimeFormat::FieldTypeWeekOfYear: { | 282 case DateTimeFormat::FieldTypeWeekOfYear: { |
| 283 DateTimeNumericFieldElement::Range range(DateComponents::minimumWeekNumb
er, DateComponents::maximumWeekNumber); | 283 DateTimeNumericFieldElement::Range range(DateComponents::minimumWeekNumb
er, DateComponents::maximumWeekNumber); |
| 284 if (m_parameters.minimum.type() != DateComponents::Invalid | 284 if (m_parameters.minimum.getType() != DateComponents::Invalid |
| 285 && m_parameters.maximum.type() != DateComponents::Invalid | 285 && m_parameters.maximum.getType() != DateComponents::Invalid |
| 286 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
) | 286 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
) |
| 287 && m_parameters.minimum.week() <= m_parameters.maximum.week()) { | 287 && m_parameters.minimum.week() <= m_parameters.maximum.week()) { |
| 288 range.minimum = m_parameters.minimum.week(); | 288 range.minimum = m_parameters.minimum.week(); |
| 289 range.maximum = m_parameters.maximum.week(); | 289 range.maximum = m_parameters.maximum.week(); |
| 290 } | 290 } |
| 291 editElement().addField(DateTimeWeekFieldElement::create(document, editEl
ement(), range)); | 291 editElement().addField(DateTimeWeekFieldElement::create(document, editEl
ement(), range)); |
| 292 return; | 292 return; |
| 293 } | 293 } |
| 294 | 294 |
| 295 case DateTimeFormat::FieldTypeYear: { | 295 case DateTimeFormat::FieldTypeYear: { |
| 296 DateTimeYearFieldElement::Parameters yearParams; | 296 DateTimeYearFieldElement::Parameters yearParams; |
| 297 if (m_parameters.minimum.type() == DateComponents::Invalid) { | 297 if (m_parameters.minimum.getType() == DateComponents::Invalid) { |
| 298 yearParams.minimumYear = DateComponents::minimumYear(); | 298 yearParams.minimumYear = DateComponents::minimumYear(); |
| 299 yearParams.minIsSpecified = false; | 299 yearParams.minIsSpecified = false; |
| 300 } else { | 300 } else { |
| 301 yearParams.minimumYear = m_parameters.minimum.fullYear(); | 301 yearParams.minimumYear = m_parameters.minimum.fullYear(); |
| 302 yearParams.minIsSpecified = true; | 302 yearParams.minIsSpecified = true; |
| 303 } | 303 } |
| 304 if (m_parameters.maximum.type() == DateComponents::Invalid) { | 304 if (m_parameters.maximum.getType() == DateComponents::Invalid) { |
| 305 yearParams.maximumYear = DateComponents::maximumYear(); | 305 yearParams.maximumYear = DateComponents::maximumYear(); |
| 306 yearParams.maxIsSpecified = false; | 306 yearParams.maxIsSpecified = false; |
| 307 } else { | 307 } else { |
| 308 yearParams.maximumYear = m_parameters.maximum.fullYear(); | 308 yearParams.maximumYear = m_parameters.maximum.fullYear(); |
| 309 yearParams.maxIsSpecified = true; | 309 yearParams.maxIsSpecified = true; |
| 310 } | 310 } |
| 311 if (yearParams.minimumYear > yearParams.maximumYear) { | 311 if (yearParams.minimumYear > yearParams.maximumYear) { |
| 312 std::swap(yearParams.minimumYear, yearParams.maximumYear); | 312 std::swap(yearParams.minimumYear, yearParams.maximumYear); |
| 313 std::swap(yearParams.minIsSpecified, yearParams.maxIsSpecified); | 313 std::swap(yearParams.minIsSpecified, yearParams.maxIsSpecified); |
| 314 } | 314 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 329 | 329 |
| 330 bool DateTimeEditBuilder::shouldAMPMFieldDisabled() const | 330 bool DateTimeEditBuilder::shouldAMPMFieldDisabled() const |
| 331 { | 331 { |
| 332 return shouldHourFieldDisabled() | 332 return shouldHourFieldDisabled() |
| 333 || (m_hour23Range.minimum < 12 && m_hour23Range.maximum < 12 && m_dateVa
lue.hour() < 12) | 333 || (m_hour23Range.minimum < 12 && m_hour23Range.maximum < 12 && m_dateVa
lue.hour() < 12) |
| 334 || (m_hour23Range.minimum >= 12 && m_hour23Range.maximum >= 12 && m_date
Value.hour() >= 12); | 334 || (m_hour23Range.minimum >= 12 && m_hour23Range.maximum >= 12 && m_date
Value.hour() >= 12); |
| 335 } | 335 } |
| 336 | 336 |
| 337 bool DateTimeEditBuilder::shouldDayOfMonthFieldDisabled() const | 337 bool DateTimeEditBuilder::shouldDayOfMonthFieldDisabled() const |
| 338 { | 338 { |
| 339 return m_dayRange.isSingleton() && m_dayRange.minimum == m_dateValue.monthDa
y() && m_dateValue.type() != DateComponents::Date; | 339 return m_dayRange.isSingleton() && m_dayRange.minimum == m_dateValue.monthDa
y() && m_dateValue.getType() != DateComponents::Date; |
| 340 } | 340 } |
| 341 | 341 |
| 342 bool DateTimeEditBuilder::shouldHourFieldDisabled() const | 342 bool DateTimeEditBuilder::shouldHourFieldDisabled() const |
| 343 { | 343 { |
| 344 if (m_hour23Range.isSingleton() && m_hour23Range.minimum == m_dateValue.hour
() | 344 if (m_hour23Range.isSingleton() && m_hour23Range.minimum == m_dateValue.hour
() |
| 345 && !(shouldMinuteFieldDisabled() && shouldSecondFieldDisabled() && shoul
dMillisecondFieldDisabled())) | 345 && !(shouldMinuteFieldDisabled() && shouldSecondFieldDisabled() && shoul
dMillisecondFieldDisabled())) |
| 346 return true; | 346 return true; |
| 347 | 347 |
| 348 if (m_dateValue.type() == DateComponents::Time) | 348 if (m_dateValue.getType() == DateComponents::Time) |
| 349 return false; | 349 return false; |
| 350 ASSERT(m_dateValue.type() == DateComponents::DateTimeLocal); | 350 ASSERT(m_dateValue.getType() == DateComponents::DateTimeLocal); |
| 351 | 351 |
| 352 if (shouldDayOfMonthFieldDisabled()) { | 352 if (shouldDayOfMonthFieldDisabled()) { |
| 353 ASSERT(m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
)); | 353 ASSERT(m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear(
)); |
| 354 ASSERT(m_parameters.minimum.month() == m_parameters.maximum.month()); | 354 ASSERT(m_parameters.minimum.month() == m_parameters.maximum.month()); |
| 355 return false; | 355 return false; |
| 356 } | 356 } |
| 357 | 357 |
| 358 const Decimal decimalMsPerDay(static_cast<int>(msPerDay)); | 358 const Decimal decimalMsPerDay(static_cast<int>(msPerDay)); |
| 359 Decimal hourPartOfMinimum = (stepRange().stepBase().abs().remainder(decimalM
sPerDay) / static_cast<int>(msPerHour)).floor(); | 359 Decimal hourPartOfMinimum = (stepRange().stepBase().abs().remainder(decimalM
sPerDay) / static_cast<int>(msPerHour)).floor(); |
| 360 return hourPartOfMinimum == m_dateValue.hour() && stepRange().step().remaind
er(decimalMsPerDay).isZero(); | 360 return hourPartOfMinimum == m_dateValue.hour() && stepRange().step().remaind
er(decimalMsPerDay).isZero(); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 384 if (m_secondRange.isSingleton() && m_secondRange.minimum == m_dateValue.seco
nd()) | 384 if (m_secondRange.isSingleton() && m_secondRange.minimum == m_dateValue.seco
nd()) |
| 385 return true; | 385 return true; |
| 386 | 386 |
| 387 const Decimal decimalMsPerMinute(static_cast<int>(msPerMinute)); | 387 const Decimal decimalMsPerMinute(static_cast<int>(msPerMinute)); |
| 388 Decimal secondPartOfMinimum = (stepRange().stepBase().abs().remainder(decima
lMsPerMinute) / static_cast<int>(msPerSecond)).floor(); | 388 Decimal secondPartOfMinimum = (stepRange().stepBase().abs().remainder(decima
lMsPerMinute) / static_cast<int>(msPerSecond)).floor(); |
| 389 return secondPartOfMinimum == m_dateValue.second() && stepRange().step().rem
ainder(decimalMsPerMinute).isZero(); | 389 return secondPartOfMinimum == m_dateValue.second() && stepRange().step().rem
ainder(decimalMsPerMinute).isZero(); |
| 390 } | 390 } |
| 391 | 391 |
| 392 bool DateTimeEditBuilder::shouldYearFieldDisabled() const | 392 bool DateTimeEditBuilder::shouldYearFieldDisabled() const |
| 393 { | 393 { |
| 394 return m_parameters.minimum.type() != DateComponents::Invalid | 394 return m_parameters.minimum.getType() != DateComponents::Invalid |
| 395 && m_parameters.maximum.type() != DateComponents::Invalid | 395 && m_parameters.maximum.getType() != DateComponents::Invalid |
| 396 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear() | 396 && m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear() |
| 397 && m_parameters.minimum.fullYear() == m_dateValue.fullYear(); | 397 && m_parameters.minimum.fullYear() == m_dateValue.fullYear(); |
| 398 } | 398 } |
| 399 | 399 |
| 400 void DateTimeEditBuilder::visitLiteral(const String& text) | 400 void DateTimeEditBuilder::visitLiteral(const String& text) |
| 401 { | 401 { |
| 402 DEFINE_STATIC_LOCAL(AtomicString, textPseudoId, ("-webkit-datetime-edit-text
", AtomicString::ConstructFromLiteral)); | 402 DEFINE_STATIC_LOCAL(AtomicString, textPseudoId, ("-webkit-datetime-edit-text
", AtomicString::ConstructFromLiteral)); |
| 403 ASSERT(text.length()); | 403 ASSERT(text.length()); |
| 404 RefPtrWillBeRawPtr<HTMLDivElement> element = HTMLDivElement::create(editElem
ent().document()); | 404 RefPtrWillBeRawPtr<HTMLDivElement> element = HTMLDivElement::create(editElem
ent().document()); |
| 405 element->setShadowPseudoId(textPseudoId); | 405 element->setShadowPseudoId(textPseudoId); |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 763 m_fields[fieldIndex]->setEmptyValue(DateTimeFieldElement::DispatchNoEven
t); | 763 m_fields[fieldIndex]->setEmptyValue(DateTimeFieldElement::DispatchNoEven
t); |
| 764 } | 764 } |
| 765 | 765 |
| 766 bool DateTimeEditElement::hasFocusedField() | 766 bool DateTimeEditElement::hasFocusedField() |
| 767 { | 767 { |
| 768 return focusedFieldIndex() != invalidFieldIndex; | 768 return focusedFieldIndex() != invalidFieldIndex; |
| 769 } | 769 } |
| 770 | 770 |
| 771 void DateTimeEditElement::setOnlyYearMonthDay(const DateComponents& date) | 771 void DateTimeEditElement::setOnlyYearMonthDay(const DateComponents& date) |
| 772 { | 772 { |
| 773 ASSERT(date.type() == DateComponents::Date); | 773 ASSERT(date.getType() == DateComponents::Date); |
| 774 | 774 |
| 775 if (!m_editControlOwner) | 775 if (!m_editControlOwner) |
| 776 return; | 776 return; |
| 777 | 777 |
| 778 DateTimeFieldsState dateTimeFieldsState = valueAsDateTimeFieldsState(); | 778 DateTimeFieldsState dateTimeFieldsState = valueAsDateTimeFieldsState(); |
| 779 dateTimeFieldsState.setYear(date.fullYear()); | 779 dateTimeFieldsState.setYear(date.fullYear()); |
| 780 dateTimeFieldsState.setMonth(date.month() + 1); | 780 dateTimeFieldsState.setMonth(date.month() + 1); |
| 781 dateTimeFieldsState.setDayOfMonth(date.monthDay()); | 781 dateTimeFieldsState.setDayOfMonth(date.monthDay()); |
| 782 setValueAsDateTimeFieldsState(dateTimeFieldsState); | 782 setValueAsDateTimeFieldsState(dateTimeFieldsState); |
| 783 m_editControlOwner->editControlValueChanged(); | 783 m_editControlOwner->editControlValueChanged(); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 814 { | 814 { |
| 815 DateTimeFieldsState dateTimeFieldsState; | 815 DateTimeFieldsState dateTimeFieldsState; |
| 816 for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex) | 816 for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex) |
| 817 m_fields[fieldIndex]->populateDateTimeFieldsState(dateTimeFieldsState); | 817 m_fields[fieldIndex]->populateDateTimeFieldsState(dateTimeFieldsState); |
| 818 return dateTimeFieldsState; | 818 return dateTimeFieldsState; |
| 819 } | 819 } |
| 820 | 820 |
| 821 } // namespace blink | 821 } // namespace blink |
| 822 | 822 |
| 823 #endif | 823 #endif |
| OLD | NEW |