| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 } | 43 } |
| 44 | 44 |
| 45 DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document& document, FieldOwne
r& fieldOwner, const Vector<String>& ampmLabels) | 45 DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document& document, FieldOwne
r& fieldOwner, const Vector<String>& ampmLabels) |
| 46 : DateTimeSymbolicFieldElement(document, fieldOwner, ampmLabels, 0, 1) | 46 : DateTimeSymbolicFieldElement(document, fieldOwner, ampmLabels, 0, 1) |
| 47 { | 47 { |
| 48 } | 48 } |
| 49 | 49 |
| 50 PassRefPtrWillBeRawPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const Vector<String>& ampmLabels) | 50 PassRefPtrWillBeRawPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const Vector<String>& ampmLabels) |
| 51 { | 51 { |
| 52 DEFINE_STATIC_LOCAL(AtomicString, ampmPsuedoId, ("-webkit-datetime-edit-ampm
-field", AtomicString::ConstructFromLiteral)); | 52 DEFINE_STATIC_LOCAL(AtomicString, ampmPsuedoId, ("-webkit-datetime-edit-ampm
-field", AtomicString::ConstructFromLiteral)); |
| 53 RefPtrWillBeRawPtr<DateTimeAMPMFieldElement> field = adoptRefWillBeRefCounte
dGarbageCollected(new DateTimeAMPMFieldElement(document, fieldOwner, ampmLabels)
); | 53 RefPtrWillBeRawPtr<DateTimeAMPMFieldElement> field = adoptRefWillBeNoop(new
DateTimeAMPMFieldElement(document, fieldOwner, ampmLabels)); |
| 54 field->initialize(ampmPsuedoId, queryString(WebLocalizedString::AXAMPMFieldT
ext)); | 54 field->initialize(ampmPsuedoId, queryString(WebLocalizedString::AXAMPMFieldT
ext)); |
| 55 return field.release(); | 55 return field.release(); |
| 56 } | 56 } |
| 57 | 57 |
| 58 void DateTimeAMPMFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) | 58 void DateTimeAMPMFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) |
| 59 { | 59 { |
| 60 if (hasValue()) | 60 if (hasValue()) |
| 61 dateTimeFieldsState.setAMPM(valueAsInteger() ? DateTimeFieldsState::AMPM
ValuePM : DateTimeFieldsState::AMPMValueAM); | 61 dateTimeFieldsState.setAMPM(valueAsInteger() ? DateTimeFieldsState::AMPM
ValuePM : DateTimeFieldsState::AMPMValueAM); |
| 62 else | 62 else |
| 63 dateTimeFieldsState.setAMPM(DateTimeFieldsState::AMPMValueEmpty); | 63 dateTimeFieldsState.setAMPM(DateTimeFieldsState::AMPMValueEmpty); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 79 // ---------------------------- | 79 // ---------------------------- |
| 80 | 80 |
| 81 DateTimeDayFieldElement::DateTimeDayFieldElement(Document& document, FieldOwner&
fieldOwner, const String& placeholder, const Range& range) | 81 DateTimeDayFieldElement::DateTimeDayFieldElement(Document& document, FieldOwner&
fieldOwner, const String& placeholder, const Range& range) |
| 82 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 31), pla
ceholder) | 82 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 31), pla
ceholder) |
| 83 { | 83 { |
| 84 } | 84 } |
| 85 | 85 |
| 86 PassRefPtrWillBeRawPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(
Document& document, FieldOwner& fieldOwner, const String& placeholder, const Ran
ge& range) | 86 PassRefPtrWillBeRawPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(
Document& document, FieldOwner& fieldOwner, const String& placeholder, const Ran
ge& range) |
| 87 { | 87 { |
| 88 DEFINE_STATIC_LOCAL(AtomicString, dayPsuedoId, ("-webkit-datetime-edit-day-f
ield", AtomicString::ConstructFromLiteral)); | 88 DEFINE_STATIC_LOCAL(AtomicString, dayPsuedoId, ("-webkit-datetime-edit-day-f
ield", AtomicString::ConstructFromLiteral)); |
| 89 RefPtrWillBeRawPtr<DateTimeDayFieldElement> field = adoptRefWillBeRefCounted
GarbageCollected(new DateTimeDayFieldElement(document, fieldOwner, placeholder.i
sEmpty() ? "--" : placeholder, range)); | 89 RefPtrWillBeRawPtr<DateTimeDayFieldElement> field = adoptRefWillBeNoop(new D
ateTimeDayFieldElement(document, fieldOwner, placeholder.isEmpty() ? "--" : plac
eholder, range)); |
| 90 field->initialize(dayPsuedoId, queryString(WebLocalizedString::AXDayOfMonthF
ieldText)); | 90 field->initialize(dayPsuedoId, queryString(WebLocalizedString::AXDayOfMonthF
ieldText)); |
| 91 return field.release(); | 91 return field.release(); |
| 92 } | 92 } |
| 93 | 93 |
| 94 void DateTimeDayFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& d
ateTimeFieldsState) | 94 void DateTimeDayFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& d
ateTimeFieldsState) |
| 95 { | 95 { |
| 96 dateTimeFieldsState.setDayOfMonth(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); | 96 dateTimeFieldsState.setDayOfMonth(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); |
| 97 } | 97 } |
| 98 | 98 |
| 99 void DateTimeDayFieldElement::setValueAsDate(const DateComponents& date) | 99 void DateTimeDayFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 ASSERT(hour23Range.maximum <= 23); | 165 ASSERT(hour23Range.maximum <= 23); |
| 166 ASSERT(hour23Range.minimum <= hour23Range.maximum); | 166 ASSERT(hour23Range.minimum <= hour23Range.maximum); |
| 167 Range range(0, 11); | 167 Range range(0, 11); |
| 168 if (hour23Range.maximum < 12) | 168 if (hour23Range.maximum < 12) |
| 169 range = hour23Range; | 169 range = hour23Range; |
| 170 else if (hour23Range.minimum >= 12) { | 170 else if (hour23Range.minimum >= 12) { |
| 171 range.minimum = hour23Range.minimum - 12; | 171 range.minimum = hour23Range.minimum - 12; |
| 172 range.maximum = hour23Range.maximum - 12; | 172 range.maximum = hour23Range.maximum - 12; |
| 173 } | 173 } |
| 174 | 174 |
| 175 RefPtrWillBeRawPtr<DateTimeHour11FieldElement> field = adoptRefWillBeRefCoun
tedGarbageCollected(new DateTimeHour11FieldElement(document, fieldOwner, range,
step)); | 175 RefPtrWillBeRawPtr<DateTimeHour11FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour11FieldElement(document, fieldOwner, range, step)); |
| 176 field->initialize(); | 176 field->initialize(); |
| 177 return field.release(); | 177 return field.release(); |
| 178 } | 178 } |
| 179 | 179 |
| 180 void DateTimeHour11FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 180 void DateTimeHour11FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 181 { | 181 { |
| 182 if (!hasValue()) { | 182 if (!hasValue()) { |
| 183 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); | 183 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); |
| 184 return; | 184 return; |
| 185 } | 185 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 213 range.maximum = hour23Range.maximum - 12; | 213 range.maximum = hour23Range.maximum - 12; |
| 214 } | 214 } |
| 215 if (!range.minimum) | 215 if (!range.minimum) |
| 216 range.minimum = 12; | 216 range.minimum = 12; |
| 217 if (!range.maximum) | 217 if (!range.maximum) |
| 218 range.maximum = 12; | 218 range.maximum = 12; |
| 219 if (range.minimum > range.maximum) { | 219 if (range.minimum > range.maximum) { |
| 220 range.minimum = 1; | 220 range.minimum = 1; |
| 221 range.maximum = 12; | 221 range.maximum = 12; |
| 222 } | 222 } |
| 223 RefPtrWillBeRawPtr<DateTimeHour12FieldElement> field = adoptRefWillBeRefCoun
tedGarbageCollected(new DateTimeHour12FieldElement(document, fieldOwner, range,
step)); | 223 RefPtrWillBeRawPtr<DateTimeHour12FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour12FieldElement(document, fieldOwner, range, step)); |
| 224 field->initialize(); | 224 field->initialize(); |
| 225 return field.release(); | 225 return field.release(); |
| 226 } | 226 } |
| 227 | 227 |
| 228 void DateTimeHour12FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 228 void DateTimeHour12FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 229 { | 229 { |
| 230 dateTimeFieldsState.setHour(hasValue() ? valueAsInteger() : DateTimeFieldsSt
ate::emptyValue); | 230 dateTimeFieldsState.setHour(hasValue() ? valueAsInteger() : DateTimeFieldsSt
ate::emptyValue); |
| 231 } | 231 } |
| 232 | 232 |
| 233 void DateTimeHour12FieldElement::setValueAsInteger(int value, EventBehavior even
tBehavior) | 233 void DateTimeHour12FieldElement::setValueAsInteger(int value, EventBehavior even
tBehavior) |
| 234 { | 234 { |
| 235 value = Range(0, 24).clampValue(value) % 12; | 235 value = Range(0, 24).clampValue(value) % 12; |
| 236 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 12, eventBeha
vior); | 236 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 12, eventBeha
vior); |
| 237 } | 237 } |
| 238 | 238 |
| 239 // ---------------------------- | 239 // ---------------------------- |
| 240 | 240 |
| 241 DateTimeHour23FieldElement::DateTimeHour23FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 241 DateTimeHour23FieldElement::DateTimeHour23FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 242 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 23), st
ep) | 242 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 23), st
ep) |
| 243 { | 243 { |
| 244 } | 244 } |
| 245 | 245 |
| 246 PassRefPtrWillBeRawPtr<DateTimeHour23FieldElement> DateTimeHour23FieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& hour23Range, cons
t Step& step) | 246 PassRefPtrWillBeRawPtr<DateTimeHour23FieldElement> DateTimeHour23FieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& hour23Range, cons
t Step& step) |
| 247 { | 247 { |
| 248 ASSERT(hour23Range.minimum >= 0); | 248 ASSERT(hour23Range.minimum >= 0); |
| 249 ASSERT(hour23Range.maximum <= 23); | 249 ASSERT(hour23Range.maximum <= 23); |
| 250 ASSERT(hour23Range.minimum <= hour23Range.maximum); | 250 ASSERT(hour23Range.minimum <= hour23Range.maximum); |
| 251 RefPtrWillBeRawPtr<DateTimeHour23FieldElement> field = adoptRefWillBeRefCoun
tedGarbageCollected(new DateTimeHour23FieldElement(document, fieldOwner, hour23R
ange, step)); | 251 RefPtrWillBeRawPtr<DateTimeHour23FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour23FieldElement(document, fieldOwner, hour23Range, step)); |
| 252 field->initialize(); | 252 field->initialize(); |
| 253 return field.release(); | 253 return field.release(); |
| 254 } | 254 } |
| 255 | 255 |
| 256 void DateTimeHour23FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 256 void DateTimeHour23FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 257 { | 257 { |
| 258 if (!hasValue()) { | 258 if (!hasValue()) { |
| 259 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); | 259 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); |
| 260 return; | 260 return; |
| 261 } | 261 } |
| (...skipping 21 matching lines...) Expand all Loading... |
| 283 { | 283 { |
| 284 ASSERT(hour23Range.minimum >= 0); | 284 ASSERT(hour23Range.minimum >= 0); |
| 285 ASSERT(hour23Range.maximum <= 23); | 285 ASSERT(hour23Range.maximum <= 23); |
| 286 ASSERT(hour23Range.minimum <= hour23Range.maximum); | 286 ASSERT(hour23Range.minimum <= hour23Range.maximum); |
| 287 Range range(hour23Range.minimum ? hour23Range.minimum : 24, hour23Range.maxi
mum ? hour23Range.maximum : 24); | 287 Range range(hour23Range.minimum ? hour23Range.minimum : 24, hour23Range.maxi
mum ? hour23Range.maximum : 24); |
| 288 if (range.minimum > range.maximum) { | 288 if (range.minimum > range.maximum) { |
| 289 range.minimum = 1; | 289 range.minimum = 1; |
| 290 range.maximum = 24; | 290 range.maximum = 24; |
| 291 } | 291 } |
| 292 | 292 |
| 293 RefPtrWillBeRawPtr<DateTimeHour24FieldElement> field = adoptRefWillBeRefCoun
tedGarbageCollected(new DateTimeHour24FieldElement(document, fieldOwner, range,
step)); | 293 RefPtrWillBeRawPtr<DateTimeHour24FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour24FieldElement(document, fieldOwner, range, step)); |
| 294 field->initialize(); | 294 field->initialize(); |
| 295 return field.release(); | 295 return field.release(); |
| 296 } | 296 } |
| 297 | 297 |
| 298 void DateTimeHour24FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 298 void DateTimeHour24FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 299 { | 299 { |
| 300 if (!hasValue()) { | 300 if (!hasValue()) { |
| 301 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); | 301 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); |
| 302 return; | 302 return; |
| 303 } | 303 } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 322 // ---------------------------- | 322 // ---------------------------- |
| 323 | 323 |
| 324 DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document& docum
ent, FieldOwner& fieldOwner, const Range& range, const Step& step) | 324 DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document& docum
ent, FieldOwner& fieldOwner, const Range& range, const Step& step) |
| 325 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 999), "-
--", step) | 325 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 999), "-
--", step) |
| 326 { | 326 { |
| 327 } | 327 } |
| 328 | 328 |
| 329 PassRefPtrWillBeRawPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondField
Element::create(Document& document, FieldOwner& fieldOwner, const Range& range,
const Step& step) | 329 PassRefPtrWillBeRawPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondField
Element::create(Document& document, FieldOwner& fieldOwner, const Range& range,
const Step& step) |
| 330 { | 330 { |
| 331 DEFINE_STATIC_LOCAL(AtomicString, millisecondPsuedoId, ("-webkit-datetime-ed
it-millisecond-field", AtomicString::ConstructFromLiteral)); | 331 DEFINE_STATIC_LOCAL(AtomicString, millisecondPsuedoId, ("-webkit-datetime-ed
it-millisecond-field", AtomicString::ConstructFromLiteral)); |
| 332 RefPtrWillBeRawPtr<DateTimeMillisecondFieldElement> field = adoptRefWillBeRe
fCountedGarbageCollected(new DateTimeMillisecondFieldElement(document, fieldOwne
r, range, step)); | 332 RefPtrWillBeRawPtr<DateTimeMillisecondFieldElement> field = adoptRefWillBeNo
op(new DateTimeMillisecondFieldElement(document, fieldOwner, range, step)); |
| 333 field->initialize(millisecondPsuedoId, queryString(WebLocalizedString::AXMil
lisecondFieldText)); | 333 field->initialize(millisecondPsuedoId, queryString(WebLocalizedString::AXMil
lisecondFieldText)); |
| 334 return field.release(); | 334 return field.release(); |
| 335 } | 335 } |
| 336 | 336 |
| 337 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields
State& dateTimeFieldsState) | 337 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields
State& dateTimeFieldsState) |
| 338 { | 338 { |
| 339 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF
ieldsState::emptyValue); | 339 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF
ieldsState::emptyValue); |
| 340 } | 340 } |
| 341 | 341 |
| 342 void DateTimeMillisecondFieldElement::setValueAsDate(const DateComponents& date) | 342 void DateTimeMillisecondFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 20 matching lines...) Expand all Loading... |
| 363 // ---------------------------- | 363 // ---------------------------- |
| 364 | 364 |
| 365 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 365 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 366 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) | 366 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) |
| 367 { | 367 { |
| 368 } | 368 } |
| 369 | 369 |
| 370 PassRefPtrWillBeRawPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& range, const Step
& step) | 370 PassRefPtrWillBeRawPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& range, const Step
& step) |
| 371 { | 371 { |
| 372 DEFINE_STATIC_LOCAL(AtomicString, minutePsuedoId, ("-webkit-datetime-edit-mi
nute-field", AtomicString::ConstructFromLiteral)); | 372 DEFINE_STATIC_LOCAL(AtomicString, minutePsuedoId, ("-webkit-datetime-edit-mi
nute-field", AtomicString::ConstructFromLiteral)); |
| 373 RefPtrWillBeRawPtr<DateTimeMinuteFieldElement> field = adoptRefWillBeRefCoun
tedGarbageCollected(new DateTimeMinuteFieldElement(document, fieldOwner, range,
step)); | 373 RefPtrWillBeRawPtr<DateTimeMinuteFieldElement> field = adoptRefWillBeNoop(ne
w DateTimeMinuteFieldElement(document, fieldOwner, range, step)); |
| 374 field->initialize(minutePsuedoId, queryString(WebLocalizedString::AXMinuteFi
eldText)); | 374 field->initialize(minutePsuedoId, queryString(WebLocalizedString::AXMinuteFi
eldText)); |
| 375 return field.release(); | 375 return field.release(); |
| 376 } | 376 } |
| 377 | 377 |
| 378 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 378 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 379 { | 379 { |
| 380 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); | 380 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); |
| 381 } | 381 } |
| 382 | 382 |
| 383 void DateTimeMinuteFieldElement::setValueAsDate(const DateComponents& date) | 383 void DateTimeMinuteFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 20 matching lines...) Expand all Loading... |
| 404 // ---------------------------- | 404 // ---------------------------- |
| 405 | 405 |
| 406 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document& document, FieldOw
ner& fieldOwner, const String& placeholder, const Range& range) | 406 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document& document, FieldOw
ner& fieldOwner, const String& placeholder, const Range& range) |
| 407 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 12), pla
ceholder) | 407 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 12), pla
ceholder) |
| 408 { | 408 { |
| 409 } | 409 } |
| 410 | 410 |
| 411 PassRefPtrWillBeRawPtr<DateTimeMonthFieldElement> DateTimeMonthFieldElement::cre
ate(Document& document, FieldOwner& fieldOwner, const String& placeholder, const
Range& range) | 411 PassRefPtrWillBeRawPtr<DateTimeMonthFieldElement> DateTimeMonthFieldElement::cre
ate(Document& document, FieldOwner& fieldOwner, const String& placeholder, const
Range& range) |
| 412 { | 412 { |
| 413 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); | 413 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); |
| 414 RefPtrWillBeRawPtr<DateTimeMonthFieldElement> field = adoptRefWillBeRefCount
edGarbageCollected(new DateTimeMonthFieldElement(document, fieldOwner, placehold
er.isEmpty() ? "--" : placeholder, range)); | 414 RefPtrWillBeRawPtr<DateTimeMonthFieldElement> field = adoptRefWillBeNoop(new
DateTimeMonthFieldElement(document, fieldOwner, placeholder.isEmpty() ? "--" :
placeholder, range)); |
| 415 field->initialize(monthPsuedoId, queryString(WebLocalizedString::AXMonthFiel
dText)); | 415 field->initialize(monthPsuedoId, queryString(WebLocalizedString::AXMonthFiel
dText)); |
| 416 return field.release(); | 416 return field.release(); |
| 417 } | 417 } |
| 418 | 418 |
| 419 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) | 419 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) |
| 420 { | 420 { |
| 421 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS
tate::emptyValue); | 421 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS
tate::emptyValue); |
| 422 } | 422 } |
| 423 | 423 |
| 424 void DateTimeMonthFieldElement::setValueAsDate(const DateComponents& date) | 424 void DateTimeMonthFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 20 matching lines...) Expand all Loading... |
| 445 // ---------------------------- | 445 // ---------------------------- |
| 446 | 446 |
| 447 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 447 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 448 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) | 448 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) |
| 449 { | 449 { |
| 450 } | 450 } |
| 451 | 451 |
| 452 PassRefPtrWillBeRawPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& range, const Step
& step) | 452 PassRefPtrWillBeRawPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& range, const Step
& step) |
| 453 { | 453 { |
| 454 DEFINE_STATIC_LOCAL(AtomicString, secondPsuedoId, ("-webkit-datetime-edit-se
cond-field", AtomicString::ConstructFromLiteral)); | 454 DEFINE_STATIC_LOCAL(AtomicString, secondPsuedoId, ("-webkit-datetime-edit-se
cond-field", AtomicString::ConstructFromLiteral)); |
| 455 RefPtrWillBeRawPtr<DateTimeSecondFieldElement> field = adoptRefWillBeRefCoun
tedGarbageCollected(new DateTimeSecondFieldElement(document, fieldOwner, range,
step)); | 455 RefPtrWillBeRawPtr<DateTimeSecondFieldElement> field = adoptRefWillBeNoop(ne
w DateTimeSecondFieldElement(document, fieldOwner, range, step)); |
| 456 field->initialize(secondPsuedoId, queryString(WebLocalizedString::AXSecondFi
eldText)); | 456 field->initialize(secondPsuedoId, queryString(WebLocalizedString::AXSecondFi
eldText)); |
| 457 return field.release(); | 457 return field.release(); |
| 458 } | 458 } |
| 459 | 459 |
| 460 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 460 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 461 { | 461 { |
| 462 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); | 462 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); |
| 463 } | 463 } |
| 464 | 464 |
| 465 void DateTimeSecondFieldElement::setValueAsDate(const DateComponents& date) | 465 void DateTimeSecondFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 20 matching lines...) Expand all Loading... |
| 486 // ---------------------------- | 486 // ---------------------------- |
| 487 | 487 |
| 488 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document& d
ocument, FieldOwner& fieldOwner, const Vector<String>& labels, int minimum, int
maximum) | 488 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document& d
ocument, FieldOwner& fieldOwner, const Vector<String>& labels, int minimum, int
maximum) |
| 489 : DateTimeSymbolicFieldElement(document, fieldOwner, labels, minimum, maximu
m) | 489 : DateTimeSymbolicFieldElement(document, fieldOwner, labels, minimum, maximu
m) |
| 490 { | 490 { |
| 491 } | 491 } |
| 492 | 492 |
| 493 PassRefPtrWillBeRawPtr<DateTimeSymbolicMonthFieldElement> DateTimeSymbolicMonthF
ieldElement::create(Document& document, FieldOwner& fieldOwner, const Vector<Str
ing>& labels, int minimum, int maximum) | 493 PassRefPtrWillBeRawPtr<DateTimeSymbolicMonthFieldElement> DateTimeSymbolicMonthF
ieldElement::create(Document& document, FieldOwner& fieldOwner, const Vector<Str
ing>& labels, int minimum, int maximum) |
| 494 { | 494 { |
| 495 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); | 495 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); |
| 496 RefPtrWillBeRawPtr<DateTimeSymbolicMonthFieldElement> field = adoptRefWillBe
RefCountedGarbageCollected(new DateTimeSymbolicMonthFieldElement(document, field
Owner, labels, minimum, maximum)); | 496 RefPtrWillBeRawPtr<DateTimeSymbolicMonthFieldElement> field = adoptRefWillBe
Noop(new DateTimeSymbolicMonthFieldElement(document, fieldOwner, labels, minimum
, maximum)); |
| 497 field->initialize(monthPsuedoId, queryString(WebLocalizedString::AXMonthFiel
dText)); | 497 field->initialize(monthPsuedoId, queryString(WebLocalizedString::AXMonthFiel
dText)); |
| 498 return field.release(); | 498 return field.release(); |
| 499 } | 499 } |
| 500 | 500 |
| 501 void DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState(DateTimeFiel
dsState& dateTimeFieldsState) | 501 void DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState(DateTimeFiel
dsState& dateTimeFieldsState) |
| 502 { | 502 { |
| 503 if (!hasValue()) | 503 if (!hasValue()) |
| 504 dateTimeFieldsState.setMonth(DateTimeFieldsState::emptyValue); | 504 dateTimeFieldsState.setMonth(DateTimeFieldsState::emptyValue); |
| 505 ASSERT(valueAsInteger() < static_cast<int>(symbolsSize())); | 505 ASSERT(valueAsInteger() < static_cast<int>(symbolsSize())); |
| 506 dateTimeFieldsState.setMonth(valueAsInteger() + 1); | 506 dateTimeFieldsState.setMonth(valueAsInteger() + 1); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 530 // ---------------------------- | 530 // ---------------------------- |
| 531 | 531 |
| 532 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document& document, FieldOwne
r& fieldOwner, const Range& range) | 532 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document& document, FieldOwne
r& fieldOwner, const Range& range) |
| 533 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(DateCompone
nts::minimumWeekNumber, DateComponents::maximumWeekNumber), "--") | 533 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(DateCompone
nts::minimumWeekNumber, DateComponents::maximumWeekNumber), "--") |
| 534 { | 534 { |
| 535 } | 535 } |
| 536 | 536 |
| 537 PassRefPtrWillBeRawPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const Range& range) | 537 PassRefPtrWillBeRawPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const Range& range) |
| 538 { | 538 { |
| 539 DEFINE_STATIC_LOCAL(AtomicString, weekPsuedoId, ("-webkit-datetime-edit-week
-field", AtomicString::ConstructFromLiteral)); | 539 DEFINE_STATIC_LOCAL(AtomicString, weekPsuedoId, ("-webkit-datetime-edit-week
-field", AtomicString::ConstructFromLiteral)); |
| 540 RefPtrWillBeRawPtr<DateTimeWeekFieldElement> field = adoptRefWillBeRefCounte
dGarbageCollected(new DateTimeWeekFieldElement(document, fieldOwner, range)); | 540 RefPtrWillBeRawPtr<DateTimeWeekFieldElement> field = adoptRefWillBeNoop(new
DateTimeWeekFieldElement(document, fieldOwner, range)); |
| 541 field->initialize(weekPsuedoId, queryString(WebLocalizedString::AXWeekOfYear
FieldText)); | 541 field->initialize(weekPsuedoId, queryString(WebLocalizedString::AXWeekOfYear
FieldText)); |
| 542 return field.release(); | 542 return field.release(); |
| 543 } | 543 } |
| 544 | 544 |
| 545 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) | 545 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) |
| 546 { | 546 { |
| 547 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); | 547 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); |
| 548 } | 548 } |
| 549 | 549 |
| 550 void DateTimeWeekFieldElement::setValueAsDate(const DateComponents& date) | 550 void DateTimeWeekFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 24 matching lines...) Expand all Loading... |
| 575 , m_minIsSpecified(parameters.minIsSpecified) | 575 , m_minIsSpecified(parameters.minIsSpecified) |
| 576 , m_maxIsSpecified(parameters.maxIsSpecified) | 576 , m_maxIsSpecified(parameters.maxIsSpecified) |
| 577 { | 577 { |
| 578 ASSERT(parameters.minimumYear >= DateComponents::minimumYear()); | 578 ASSERT(parameters.minimumYear >= DateComponents::minimumYear()); |
| 579 ASSERT(parameters.maximumYear <= DateComponents::maximumYear()); | 579 ASSERT(parameters.maximumYear <= DateComponents::maximumYear()); |
| 580 } | 580 } |
| 581 | 581 |
| 582 PassRefPtrWillBeRawPtr<DateTimeYearFieldElement> DateTimeYearFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const DateTimeYearFieldElement::Pa
rameters& parameters) | 582 PassRefPtrWillBeRawPtr<DateTimeYearFieldElement> DateTimeYearFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const DateTimeYearFieldElement::Pa
rameters& parameters) |
| 583 { | 583 { |
| 584 DEFINE_STATIC_LOCAL(AtomicString, yearPsuedoId, ("-webkit-datetime-edit-year
-field", AtomicString::ConstructFromLiteral)); | 584 DEFINE_STATIC_LOCAL(AtomicString, yearPsuedoId, ("-webkit-datetime-edit-year
-field", AtomicString::ConstructFromLiteral)); |
| 585 RefPtrWillBeRawPtr<DateTimeYearFieldElement> field = adoptRefWillBeRefCounte
dGarbageCollected(new DateTimeYearFieldElement(document, fieldOwner, parameters)
); | 585 RefPtrWillBeRawPtr<DateTimeYearFieldElement> field = adoptRefWillBeNoop(new
DateTimeYearFieldElement(document, fieldOwner, parameters)); |
| 586 field->initialize(yearPsuedoId, queryString(WebLocalizedString::AXYearFieldT
ext)); | 586 field->initialize(yearPsuedoId, queryString(WebLocalizedString::AXYearFieldT
ext)); |
| 587 return field.release(); | 587 return field.release(); |
| 588 } | 588 } |
| 589 | 589 |
| 590 static int currentFullYear() | 590 static int currentFullYear() |
| 591 { | 591 { |
| 592 double current = currentTimeMS(); | 592 double current = currentTimeMS(); |
| 593 double utcOffset = calculateUTCOffset(); | 593 double utcOffset = calculateUTCOffset(); |
| 594 double dstOffset = calculateDSTOffset(current, utcOffset); | 594 double dstOffset = calculateDSTOffset(current, utcOffset); |
| 595 int offset = static_cast<int>((utcOffset + dstOffset) / msPerMinute); | 595 int offset = static_cast<int>((utcOffset + dstOffset) / msPerMinute); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 632 setValueAsInteger(value); | 632 setValueAsInteger(value); |
| 633 return; | 633 return; |
| 634 } | 634 } |
| 635 | 635 |
| 636 setEmptyValue(); | 636 setEmptyValue(); |
| 637 } | 637 } |
| 638 | 638 |
| 639 } // namespace WebCore | 639 } // namespace WebCore |
| 640 | 640 |
| 641 #endif | 641 #endif |
| OLD | NEW |