| 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 28 matching lines...) Expand all Loading... |
| 39 static String queryString(WebLocalizedString::Name name) | 39 static String queryString(WebLocalizedString::Name name) |
| 40 { | 40 { |
| 41 return Locale::defaultLocale().queryString(name); | 41 return Locale::defaultLocale().queryString(name); |
| 42 } | 42 } |
| 43 | 43 |
| 44 DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document& document, FieldOwne
r& fieldOwner, const Vector<String>& ampmLabels) | 44 DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document& document, FieldOwne
r& fieldOwner, const Vector<String>& ampmLabels) |
| 45 : DateTimeSymbolicFieldElement(document, fieldOwner, ampmLabels, 0, 1) | 45 : DateTimeSymbolicFieldElement(document, fieldOwner, ampmLabels, 0, 1) |
| 46 { | 46 { |
| 47 } | 47 } |
| 48 | 48 |
| 49 PassRefPtrWillBeRawPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const Vector<String>& ampmLabels) | 49 RawPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::create(Document& docu
ment, FieldOwner& fieldOwner, const Vector<String>& ampmLabels) |
| 50 { | 50 { |
| 51 DEFINE_STATIC_LOCAL(AtomicString, ampmPseudoId, ("-webkit-datetime-edit-ampm
-field", AtomicString::ConstructFromLiteral)); | 51 DEFINE_STATIC_LOCAL(AtomicString, ampmPseudoId, ("-webkit-datetime-edit-ampm
-field", AtomicString::ConstructFromLiteral)); |
| 52 RefPtrWillBeRawPtr<DateTimeAMPMFieldElement> field = adoptRefWillBeNoop(new
DateTimeAMPMFieldElement(document, fieldOwner, ampmLabels)); | 52 RawPtr<DateTimeAMPMFieldElement> field = new DateTimeAMPMFieldElement(docume
nt, fieldOwner, ampmLabels); |
| 53 field->initialize(ampmPseudoId, queryString(WebLocalizedString::AXAMPMFieldT
ext)); | 53 field->initialize(ampmPseudoId, queryString(WebLocalizedString::AXAMPMFieldT
ext)); |
| 54 return field.release(); | 54 return field.release(); |
| 55 } | 55 } |
| 56 | 56 |
| 57 void DateTimeAMPMFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) | 57 void DateTimeAMPMFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) |
| 58 { | 58 { |
| 59 if (hasValue()) | 59 if (hasValue()) |
| 60 dateTimeFieldsState.setAMPM(valueAsInteger() ? DateTimeFieldsState::AMPM
ValuePM : DateTimeFieldsState::AMPMValueAM); | 60 dateTimeFieldsState.setAMPM(valueAsInteger() ? DateTimeFieldsState::AMPM
ValuePM : DateTimeFieldsState::AMPMValueAM); |
| 61 else | 61 else |
| 62 dateTimeFieldsState.setAMPM(DateTimeFieldsState::AMPMValueEmpty); | 62 dateTimeFieldsState.setAMPM(DateTimeFieldsState::AMPMValueEmpty); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 75 setEmptyValue(); | 75 setEmptyValue(); |
| 76 } | 76 } |
| 77 | 77 |
| 78 // ---------------------------- | 78 // ---------------------------- |
| 79 | 79 |
| 80 DateTimeDayFieldElement::DateTimeDayFieldElement(Document& document, FieldOwner&
fieldOwner, const String& placeholder, const Range& range) | 80 DateTimeDayFieldElement::DateTimeDayFieldElement(Document& document, FieldOwner&
fieldOwner, const String& placeholder, const Range& range) |
| 81 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 31), pla
ceholder) | 81 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 31), pla
ceholder) |
| 82 { | 82 { |
| 83 } | 83 } |
| 84 | 84 |
| 85 PassRefPtrWillBeRawPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(
Document& document, FieldOwner& fieldOwner, const String& placeholder, const Ran
ge& range) | 85 RawPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(Document& docume
nt, FieldOwner& fieldOwner, const String& placeholder, const Range& range) |
| 86 { | 86 { |
| 87 DEFINE_STATIC_LOCAL(AtomicString, dayPseudoId, ("-webkit-datetime-edit-day-f
ield", AtomicString::ConstructFromLiteral)); | 87 DEFINE_STATIC_LOCAL(AtomicString, dayPseudoId, ("-webkit-datetime-edit-day-f
ield", AtomicString::ConstructFromLiteral)); |
| 88 RefPtrWillBeRawPtr<DateTimeDayFieldElement> field = adoptRefWillBeNoop(new D
ateTimeDayFieldElement(document, fieldOwner, placeholder.isEmpty() ? "--" : plac
eholder, range)); | 88 RawPtr<DateTimeDayFieldElement> field = new DateTimeDayFieldElement(document
, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range); |
| 89 field->initialize(dayPseudoId, queryString(WebLocalizedString::AXDayOfMonthF
ieldText)); | 89 field->initialize(dayPseudoId, queryString(WebLocalizedString::AXDayOfMonthF
ieldText)); |
| 90 return field.release(); | 90 return field.release(); |
| 91 } | 91 } |
| 92 | 92 |
| 93 void DateTimeDayFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& d
ateTimeFieldsState) | 93 void DateTimeDayFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& d
ateTimeFieldsState) |
| 94 { | 94 { |
| 95 dateTimeFieldsState.setDayOfMonth(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); | 95 dateTimeFieldsState.setDayOfMonth(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); |
| 96 } | 96 } |
| 97 | 97 |
| 98 void DateTimeDayFieldElement::setValueAsDate(const DateComponents& date) | 98 void DateTimeDayFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 const int hour23 = dateTimeFieldsState.ampm() == DateTimeFieldsState::AMPMVa
luePM ? hour11 + 12 : hour11; | 151 const int hour23 = dateTimeFieldsState.ampm() == DateTimeFieldsState::AMPMVa
luePM ? hour11 + 12 : hour11; |
| 152 setValueAsInteger(hour23); | 152 setValueAsInteger(hour23); |
| 153 } | 153 } |
| 154 // ---------------------------- | 154 // ---------------------------- |
| 155 | 155 |
| 156 DateTimeHour11FieldElement::DateTimeHour11FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 156 DateTimeHour11FieldElement::DateTimeHour11FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 157 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 11), st
ep) | 157 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 11), st
ep) |
| 158 { | 158 { |
| 159 } | 159 } |
| 160 | 160 |
| 161 PassRefPtrWillBeRawPtr<DateTimeHour11FieldElement> DateTimeHour11FieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& hour23Range, cons
t Step& step) | 161 RawPtr<DateTimeHour11FieldElement> DateTimeHour11FieldElement::create(Document&
document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step) |
| 162 { | 162 { |
| 163 ASSERT(hour23Range.minimum >= 0); | 163 ASSERT(hour23Range.minimum >= 0); |
| 164 ASSERT(hour23Range.maximum <= 23); | 164 ASSERT(hour23Range.maximum <= 23); |
| 165 ASSERT(hour23Range.minimum <= hour23Range.maximum); | 165 ASSERT(hour23Range.minimum <= hour23Range.maximum); |
| 166 Range range(0, 11); | 166 Range range(0, 11); |
| 167 if (hour23Range.maximum < 12) | 167 if (hour23Range.maximum < 12) |
| 168 range = hour23Range; | 168 range = hour23Range; |
| 169 else if (hour23Range.minimum >= 12) { | 169 else if (hour23Range.minimum >= 12) { |
| 170 range.minimum = hour23Range.minimum - 12; | 170 range.minimum = hour23Range.minimum - 12; |
| 171 range.maximum = hour23Range.maximum - 12; | 171 range.maximum = hour23Range.maximum - 12; |
| 172 } | 172 } |
| 173 | 173 |
| 174 RefPtrWillBeRawPtr<DateTimeHour11FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour11FieldElement(document, fieldOwner, range, step)); | 174 RawPtr<DateTimeHour11FieldElement> field = new DateTimeHour11FieldElement(do
cument, fieldOwner, range, step); |
| 175 field->initialize(); | 175 field->initialize(); |
| 176 return field.release(); | 176 return field.release(); |
| 177 } | 177 } |
| 178 | 178 |
| 179 void DateTimeHour11FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 179 void DateTimeHour11FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 180 { | 180 { |
| 181 if (!hasValue()) { | 181 if (!hasValue()) { |
| 182 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); | 182 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); |
| 183 return; | 183 return; |
| 184 } | 184 } |
| 185 const int value = valueAsInteger(); | 185 const int value = valueAsInteger(); |
| 186 dateTimeFieldsState.setHour(value ? value : 12); | 186 dateTimeFieldsState.setHour(value ? value : 12); |
| 187 } | 187 } |
| 188 | 188 |
| 189 void DateTimeHour11FieldElement::setValueAsInteger(int value, EventBehavior even
tBehavior) | 189 void DateTimeHour11FieldElement::setValueAsInteger(int value, EventBehavior even
tBehavior) |
| 190 { | 190 { |
| 191 value = Range(0, 23).clampValue(value) % 12; | 191 value = Range(0, 23).clampValue(value) % 12; |
| 192 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior); | 192 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior); |
| 193 } | 193 } |
| 194 | 194 |
| 195 // ---------------------------- | 195 // ---------------------------- |
| 196 | 196 |
| 197 DateTimeHour12FieldElement::DateTimeHour12FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 197 DateTimeHour12FieldElement::DateTimeHour12FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 198 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 12), st
ep) | 198 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 12), st
ep) |
| 199 { | 199 { |
| 200 } | 200 } |
| 201 | 201 |
| 202 PassRefPtrWillBeRawPtr<DateTimeHour12FieldElement> DateTimeHour12FieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& hour23Range, cons
t Step& step) | 202 RawPtr<DateTimeHour12FieldElement> DateTimeHour12FieldElement::create(Document&
document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step) |
| 203 { | 203 { |
| 204 ASSERT(hour23Range.minimum >= 0); | 204 ASSERT(hour23Range.minimum >= 0); |
| 205 ASSERT(hour23Range.maximum <= 23); | 205 ASSERT(hour23Range.maximum <= 23); |
| 206 ASSERT(hour23Range.minimum <= hour23Range.maximum); | 206 ASSERT(hour23Range.minimum <= hour23Range.maximum); |
| 207 Range range(1, 12); | 207 Range range(1, 12); |
| 208 if (hour23Range.maximum < 12) | 208 if (hour23Range.maximum < 12) |
| 209 range = hour23Range; | 209 range = hour23Range; |
| 210 else if (hour23Range.minimum >= 12) { | 210 else if (hour23Range.minimum >= 12) { |
| 211 range.minimum = hour23Range.minimum - 12; | 211 range.minimum = hour23Range.minimum - 12; |
| 212 range.maximum = hour23Range.maximum - 12; | 212 range.maximum = hour23Range.maximum - 12; |
| 213 } | 213 } |
| 214 if (!range.minimum) | 214 if (!range.minimum) |
| 215 range.minimum = 12; | 215 range.minimum = 12; |
| 216 if (!range.maximum) | 216 if (!range.maximum) |
| 217 range.maximum = 12; | 217 range.maximum = 12; |
| 218 if (range.minimum > range.maximum) { | 218 if (range.minimum > range.maximum) { |
| 219 range.minimum = 1; | 219 range.minimum = 1; |
| 220 range.maximum = 12; | 220 range.maximum = 12; |
| 221 } | 221 } |
| 222 RefPtrWillBeRawPtr<DateTimeHour12FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour12FieldElement(document, fieldOwner, range, step)); | 222 RawPtr<DateTimeHour12FieldElement> field = new DateTimeHour12FieldElement(do
cument, fieldOwner, range, step); |
| 223 field->initialize(); | 223 field->initialize(); |
| 224 return field.release(); | 224 return field.release(); |
| 225 } | 225 } |
| 226 | 226 |
| 227 void DateTimeHour12FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 227 void DateTimeHour12FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 228 { | 228 { |
| 229 dateTimeFieldsState.setHour(hasValue() ? valueAsInteger() : DateTimeFieldsSt
ate::emptyValue); | 229 dateTimeFieldsState.setHour(hasValue() ? valueAsInteger() : DateTimeFieldsSt
ate::emptyValue); |
| 230 } | 230 } |
| 231 | 231 |
| 232 void DateTimeHour12FieldElement::setValueAsInteger(int value, EventBehavior even
tBehavior) | 232 void DateTimeHour12FieldElement::setValueAsInteger(int value, EventBehavior even
tBehavior) |
| 233 { | 233 { |
| 234 value = Range(0, 24).clampValue(value) % 12; | 234 value = Range(0, 24).clampValue(value) % 12; |
| 235 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 12, eventBeha
vior); | 235 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 12, eventBeha
vior); |
| 236 } | 236 } |
| 237 | 237 |
| 238 // ---------------------------- | 238 // ---------------------------- |
| 239 | 239 |
| 240 DateTimeHour23FieldElement::DateTimeHour23FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 240 DateTimeHour23FieldElement::DateTimeHour23FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 241 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 23), st
ep) | 241 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 23), st
ep) |
| 242 { | 242 { |
| 243 } | 243 } |
| 244 | 244 |
| 245 PassRefPtrWillBeRawPtr<DateTimeHour23FieldElement> DateTimeHour23FieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& hour23Range, cons
t Step& step) | 245 RawPtr<DateTimeHour23FieldElement> DateTimeHour23FieldElement::create(Document&
document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step) |
| 246 { | 246 { |
| 247 ASSERT(hour23Range.minimum >= 0); | 247 ASSERT(hour23Range.minimum >= 0); |
| 248 ASSERT(hour23Range.maximum <= 23); | 248 ASSERT(hour23Range.maximum <= 23); |
| 249 ASSERT(hour23Range.minimum <= hour23Range.maximum); | 249 ASSERT(hour23Range.minimum <= hour23Range.maximum); |
| 250 RefPtrWillBeRawPtr<DateTimeHour23FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour23FieldElement(document, fieldOwner, hour23Range, step)); | 250 RawPtr<DateTimeHour23FieldElement> field = new DateTimeHour23FieldElement(do
cument, fieldOwner, hour23Range, step); |
| 251 field->initialize(); | 251 field->initialize(); |
| 252 return field.release(); | 252 return field.release(); |
| 253 } | 253 } |
| 254 | 254 |
| 255 void DateTimeHour23FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 255 void DateTimeHour23FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 256 { | 256 { |
| 257 if (!hasValue()) { | 257 if (!hasValue()) { |
| 258 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); | 258 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); |
| 259 return; | 259 return; |
| 260 } | 260 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 271 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior); | 271 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior); |
| 272 } | 272 } |
| 273 | 273 |
| 274 // ---------------------------- | 274 // ---------------------------- |
| 275 | 275 |
| 276 DateTimeHour24FieldElement::DateTimeHour24FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 276 DateTimeHour24FieldElement::DateTimeHour24FieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 277 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 24), st
ep) | 277 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 24), st
ep) |
| 278 { | 278 { |
| 279 } | 279 } |
| 280 | 280 |
| 281 PassRefPtrWillBeRawPtr<DateTimeHour24FieldElement> DateTimeHour24FieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& hour23Range, cons
t Step& step) | 281 RawPtr<DateTimeHour24FieldElement> DateTimeHour24FieldElement::create(Document&
document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step) |
| 282 { | 282 { |
| 283 ASSERT(hour23Range.minimum >= 0); | 283 ASSERT(hour23Range.minimum >= 0); |
| 284 ASSERT(hour23Range.maximum <= 23); | 284 ASSERT(hour23Range.maximum <= 23); |
| 285 ASSERT(hour23Range.minimum <= hour23Range.maximum); | 285 ASSERT(hour23Range.minimum <= hour23Range.maximum); |
| 286 Range range(hour23Range.minimum ? hour23Range.minimum : 24, hour23Range.maxi
mum ? hour23Range.maximum : 24); | 286 Range range(hour23Range.minimum ? hour23Range.minimum : 24, hour23Range.maxi
mum ? hour23Range.maximum : 24); |
| 287 if (range.minimum > range.maximum) { | 287 if (range.minimum > range.maximum) { |
| 288 range.minimum = 1; | 288 range.minimum = 1; |
| 289 range.maximum = 24; | 289 range.maximum = 24; |
| 290 } | 290 } |
| 291 | 291 |
| 292 RefPtrWillBeRawPtr<DateTimeHour24FieldElement> field = adoptRefWillBeNoop(ne
w DateTimeHour24FieldElement(document, fieldOwner, range, step)); | 292 RawPtr<DateTimeHour24FieldElement> field = new DateTimeHour24FieldElement(do
cument, fieldOwner, range, step); |
| 293 field->initialize(); | 293 field->initialize(); |
| 294 return field.release(); | 294 return field.release(); |
| 295 } | 295 } |
| 296 | 296 |
| 297 void DateTimeHour24FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 297 void DateTimeHour24FieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 298 { | 298 { |
| 299 if (!hasValue()) { | 299 if (!hasValue()) { |
| 300 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); | 300 dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); |
| 301 return; | 301 return; |
| 302 } | 302 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 318 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 24, eventBeha
vior); | 318 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 24, eventBeha
vior); |
| 319 } | 319 } |
| 320 | 320 |
| 321 // ---------------------------- | 321 // ---------------------------- |
| 322 | 322 |
| 323 DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document& docum
ent, FieldOwner& fieldOwner, const Range& range, const Step& step) | 323 DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document& docum
ent, FieldOwner& fieldOwner, const Range& range, const Step& step) |
| 324 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 999), "-
--", step) | 324 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 999), "-
--", step) |
| 325 { | 325 { |
| 326 } | 326 } |
| 327 | 327 |
| 328 PassRefPtrWillBeRawPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondField
Element::create(Document& document, FieldOwner& fieldOwner, const Range& range,
const Step& step) | 328 RawPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondFieldElement::create(
Document& document, FieldOwner& fieldOwner, const Range& range, const Step& step
) |
| 329 { | 329 { |
| 330 DEFINE_STATIC_LOCAL(AtomicString, millisecondPseudoId, ("-webkit-datetime-ed
it-millisecond-field", AtomicString::ConstructFromLiteral)); | 330 DEFINE_STATIC_LOCAL(AtomicString, millisecondPseudoId, ("-webkit-datetime-ed
it-millisecond-field", AtomicString::ConstructFromLiteral)); |
| 331 RefPtrWillBeRawPtr<DateTimeMillisecondFieldElement> field = adoptRefWillBeNo
op(new DateTimeMillisecondFieldElement(document, fieldOwner, range, step)); | 331 RawPtr<DateTimeMillisecondFieldElement> field = new DateTimeMillisecondField
Element(document, fieldOwner, range, step); |
| 332 field->initialize(millisecondPseudoId, queryString(WebLocalizedString::AXMil
lisecondFieldText)); | 332 field->initialize(millisecondPseudoId, queryString(WebLocalizedString::AXMil
lisecondFieldText)); |
| 333 return field.release(); | 333 return field.release(); |
| 334 } | 334 } |
| 335 | 335 |
| 336 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields
State& dateTimeFieldsState) | 336 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields
State& dateTimeFieldsState) |
| 337 { | 337 { |
| 338 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF
ieldsState::emptyValue); | 338 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF
ieldsState::emptyValue); |
| 339 } | 339 } |
| 340 | 340 |
| 341 void DateTimeMillisecondFieldElement::setValueAsDate(const DateComponents& date) | 341 void DateTimeMillisecondFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 17 matching lines...) Expand all Loading... |
| 359 setValueAsInteger(value); | 359 setValueAsInteger(value); |
| 360 } | 360 } |
| 361 | 361 |
| 362 // ---------------------------- | 362 // ---------------------------- |
| 363 | 363 |
| 364 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 364 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 365 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) | 365 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) |
| 366 { | 366 { |
| 367 } | 367 } |
| 368 | 368 |
| 369 PassRefPtrWillBeRawPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& range, const Step
& step) | 369 RawPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::create(Document&
document, FieldOwner& fieldOwner, const Range& range, const Step& step) |
| 370 { | 370 { |
| 371 DEFINE_STATIC_LOCAL(AtomicString, minutePseudoId, ("-webkit-datetime-edit-mi
nute-field", AtomicString::ConstructFromLiteral)); | 371 DEFINE_STATIC_LOCAL(AtomicString, minutePseudoId, ("-webkit-datetime-edit-mi
nute-field", AtomicString::ConstructFromLiteral)); |
| 372 RefPtrWillBeRawPtr<DateTimeMinuteFieldElement> field = adoptRefWillBeNoop(ne
w DateTimeMinuteFieldElement(document, fieldOwner, range, step)); | 372 RawPtr<DateTimeMinuteFieldElement> field = new DateTimeMinuteFieldElement(do
cument, fieldOwner, range, step); |
| 373 field->initialize(minutePseudoId, queryString(WebLocalizedString::AXMinuteFi
eldText)); | 373 field->initialize(minutePseudoId, queryString(WebLocalizedString::AXMinuteFi
eldText)); |
| 374 return field.release(); | 374 return field.release(); |
| 375 } | 375 } |
| 376 | 376 |
| 377 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 377 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 378 { | 378 { |
| 379 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); | 379 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); |
| 380 } | 380 } |
| 381 | 381 |
| 382 void DateTimeMinuteFieldElement::setValueAsDate(const DateComponents& date) | 382 void DateTimeMinuteFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 17 matching lines...) Expand all Loading... |
| 400 setValueAsInteger(value); | 400 setValueAsInteger(value); |
| 401 } | 401 } |
| 402 | 402 |
| 403 // ---------------------------- | 403 // ---------------------------- |
| 404 | 404 |
| 405 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document& document, FieldOw
ner& fieldOwner, const String& placeholder, const Range& range) | 405 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document& document, FieldOw
ner& fieldOwner, const String& placeholder, const Range& range) |
| 406 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 12), pla
ceholder) | 406 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 12), pla
ceholder) |
| 407 { | 407 { |
| 408 } | 408 } |
| 409 | 409 |
| 410 PassRefPtrWillBeRawPtr<DateTimeMonthFieldElement> DateTimeMonthFieldElement::cre
ate(Document& document, FieldOwner& fieldOwner, const String& placeholder, const
Range& range) | 410 RawPtr<DateTimeMonthFieldElement> DateTimeMonthFieldElement::create(Document& do
cument, FieldOwner& fieldOwner, const String& placeholder, const Range& range) |
| 411 { | 411 { |
| 412 DEFINE_STATIC_LOCAL(AtomicString, monthPseudoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); | 412 DEFINE_STATIC_LOCAL(AtomicString, monthPseudoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); |
| 413 RefPtrWillBeRawPtr<DateTimeMonthFieldElement> field = adoptRefWillBeNoop(new
DateTimeMonthFieldElement(document, fieldOwner, placeholder.isEmpty() ? "--" :
placeholder, range)); | 413 RawPtr<DateTimeMonthFieldElement> field = new DateTimeMonthFieldElement(docu
ment, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range); |
| 414 field->initialize(monthPseudoId, queryString(WebLocalizedString::AXMonthFiel
dText)); | 414 field->initialize(monthPseudoId, queryString(WebLocalizedString::AXMonthFiel
dText)); |
| 415 return field.release(); | 415 return field.release(); |
| 416 } | 416 } |
| 417 | 417 |
| 418 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) | 418 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) |
| 419 { | 419 { |
| 420 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS
tate::emptyValue); | 420 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS
tate::emptyValue); |
| 421 } | 421 } |
| 422 | 422 |
| 423 void DateTimeMonthFieldElement::setValueAsDate(const DateComponents& date) | 423 void DateTimeMonthFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 17 matching lines...) Expand all Loading... |
| 441 setEmptyValue(); | 441 setEmptyValue(); |
| 442 } | 442 } |
| 443 | 443 |
| 444 // ---------------------------- | 444 // ---------------------------- |
| 445 | 445 |
| 446 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) | 446 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document& document, Field
Owner& fieldOwner, const Range& range, const Step& step) |
| 447 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) | 447 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "--
", step) |
| 448 { | 448 { |
| 449 } | 449 } |
| 450 | 450 |
| 451 PassRefPtrWillBeRawPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::c
reate(Document& document, FieldOwner& fieldOwner, const Range& range, const Step
& step) | 451 RawPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::create(Document&
document, FieldOwner& fieldOwner, const Range& range, const Step& step) |
| 452 { | 452 { |
| 453 DEFINE_STATIC_LOCAL(AtomicString, secondPseudoId, ("-webkit-datetime-edit-se
cond-field", AtomicString::ConstructFromLiteral)); | 453 DEFINE_STATIC_LOCAL(AtomicString, secondPseudoId, ("-webkit-datetime-edit-se
cond-field", AtomicString::ConstructFromLiteral)); |
| 454 RefPtrWillBeRawPtr<DateTimeSecondFieldElement> field = adoptRefWillBeNoop(ne
w DateTimeSecondFieldElement(document, fieldOwner, range, step)); | 454 RawPtr<DateTimeSecondFieldElement> field = new DateTimeSecondFieldElement(do
cument, fieldOwner, range, step); |
| 455 field->initialize(secondPseudoId, queryString(WebLocalizedString::AXSecondFi
eldText)); | 455 field->initialize(secondPseudoId, queryString(WebLocalizedString::AXSecondFi
eldText)); |
| 456 return field.release(); | 456 return field.release(); |
| 457 } | 457 } |
| 458 | 458 |
| 459 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) | 459 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState
& dateTimeFieldsState) |
| 460 { | 460 { |
| 461 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); | 461 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields
State::emptyValue); |
| 462 } | 462 } |
| 463 | 463 |
| 464 void DateTimeSecondFieldElement::setValueAsDate(const DateComponents& date) | 464 void DateTimeSecondFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 17 matching lines...) Expand all Loading... |
| 482 setValueAsInteger(value); | 482 setValueAsInteger(value); |
| 483 } | 483 } |
| 484 | 484 |
| 485 // ---------------------------- | 485 // ---------------------------- |
| 486 | 486 |
| 487 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document& d
ocument, FieldOwner& fieldOwner, const Vector<String>& labels, int minimum, int
maximum) | 487 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document& d
ocument, FieldOwner& fieldOwner, const Vector<String>& labels, int minimum, int
maximum) |
| 488 : DateTimeSymbolicFieldElement(document, fieldOwner, labels, minimum, maximu
m) | 488 : DateTimeSymbolicFieldElement(document, fieldOwner, labels, minimum, maximu
m) |
| 489 { | 489 { |
| 490 } | 490 } |
| 491 | 491 |
| 492 PassRefPtrWillBeRawPtr<DateTimeSymbolicMonthFieldElement> DateTimeSymbolicMonthF
ieldElement::create(Document& document, FieldOwner& fieldOwner, const Vector<Str
ing>& labels, int minimum, int maximum) | 492 RawPtr<DateTimeSymbolicMonthFieldElement> DateTimeSymbolicMonthFieldElement::cre
ate(Document& document, FieldOwner& fieldOwner, const Vector<String>& labels, in
t minimum, int maximum) |
| 493 { | 493 { |
| 494 DEFINE_STATIC_LOCAL(AtomicString, monthPseudoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); | 494 DEFINE_STATIC_LOCAL(AtomicString, monthPseudoId, ("-webkit-datetime-edit-mon
th-field", AtomicString::ConstructFromLiteral)); |
| 495 RefPtrWillBeRawPtr<DateTimeSymbolicMonthFieldElement> field = adoptRefWillBe
Noop(new DateTimeSymbolicMonthFieldElement(document, fieldOwner, labels, minimum
, maximum)); | 495 RawPtr<DateTimeSymbolicMonthFieldElement> field = new DateTimeSymbolicMonthF
ieldElement(document, fieldOwner, labels, minimum, maximum); |
| 496 field->initialize(monthPseudoId, queryString(WebLocalizedString::AXMonthFiel
dText)); | 496 field->initialize(monthPseudoId, queryString(WebLocalizedString::AXMonthFiel
dText)); |
| 497 return field.release(); | 497 return field.release(); |
| 498 } | 498 } |
| 499 | 499 |
| 500 void DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState(DateTimeFiel
dsState& dateTimeFieldsState) | 500 void DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState(DateTimeFiel
dsState& dateTimeFieldsState) |
| 501 { | 501 { |
| 502 if (!hasValue()) | 502 if (!hasValue()) |
| 503 dateTimeFieldsState.setMonth(DateTimeFieldsState::emptyValue); | 503 dateTimeFieldsState.setMonth(DateTimeFieldsState::emptyValue); |
| 504 ASSERT(valueAsInteger() < static_cast<int>(symbolsSize())); | 504 ASSERT(valueAsInteger() < static_cast<int>(symbolsSize())); |
| 505 dateTimeFieldsState.setMonth(valueAsInteger() + 1); | 505 dateTimeFieldsState.setMonth(valueAsInteger() + 1); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 526 setValueAsInteger(value); | 526 setValueAsInteger(value); |
| 527 } | 527 } |
| 528 | 528 |
| 529 // ---------------------------- | 529 // ---------------------------- |
| 530 | 530 |
| 531 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document& document, FieldOwne
r& fieldOwner, const Range& range) | 531 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document& document, FieldOwne
r& fieldOwner, const Range& range) |
| 532 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(DateCompone
nts::minimumWeekNumber, DateComponents::maximumWeekNumber), "--") | 532 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(DateCompone
nts::minimumWeekNumber, DateComponents::maximumWeekNumber), "--") |
| 533 { | 533 { |
| 534 } | 534 } |
| 535 | 535 |
| 536 PassRefPtrWillBeRawPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const Range& range) | 536 RawPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::create(Document& docu
ment, FieldOwner& fieldOwner, const Range& range) |
| 537 { | 537 { |
| 538 DEFINE_STATIC_LOCAL(AtomicString, weekPseudoId, ("-webkit-datetime-edit-week
-field", AtomicString::ConstructFromLiteral)); | 538 DEFINE_STATIC_LOCAL(AtomicString, weekPseudoId, ("-webkit-datetime-edit-week
-field", AtomicString::ConstructFromLiteral)); |
| 539 RefPtrWillBeRawPtr<DateTimeWeekFieldElement> field = adoptRefWillBeNoop(new
DateTimeWeekFieldElement(document, fieldOwner, range)); | 539 RawPtr<DateTimeWeekFieldElement> field = new DateTimeWeekFieldElement(docume
nt, fieldOwner, range); |
| 540 field->initialize(weekPseudoId, queryString(WebLocalizedString::AXWeekOfYear
FieldText)); | 540 field->initialize(weekPseudoId, queryString(WebLocalizedString::AXWeekOfYear
FieldText)); |
| 541 return field.release(); | 541 return field.release(); |
| 542 } | 542 } |
| 543 | 543 |
| 544 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) | 544 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState&
dateTimeFieldsState) |
| 545 { | 545 { |
| 546 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); | 546 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi
eldsState::emptyValue); |
| 547 } | 547 } |
| 548 | 548 |
| 549 void DateTimeWeekFieldElement::setValueAsDate(const DateComponents& date) | 549 void DateTimeWeekFieldElement::setValueAsDate(const DateComponents& date) |
| (...skipping 21 matching lines...) Expand all Loading... |
| 571 | 571 |
| 572 DateTimeYearFieldElement::DateTimeYearFieldElement(Document& document, FieldOwne
r& fieldOwner, const DateTimeYearFieldElement::Parameters& parameters) | 572 DateTimeYearFieldElement::DateTimeYearFieldElement(Document& document, FieldOwne
r& fieldOwner, const DateTimeYearFieldElement::Parameters& parameters) |
| 573 : DateTimeNumericFieldElement(document, fieldOwner, Range(parameters.minimum
Year, parameters.maximumYear), Range(DateComponents::minimumYear(), DateComponen
ts::maximumYear()), parameters.placeholder.isEmpty() ? "----" : parameters.place
holder) | 573 : DateTimeNumericFieldElement(document, fieldOwner, Range(parameters.minimum
Year, parameters.maximumYear), Range(DateComponents::minimumYear(), DateComponen
ts::maximumYear()), parameters.placeholder.isEmpty() ? "----" : parameters.place
holder) |
| 574 , m_minIsSpecified(parameters.minIsSpecified) | 574 , m_minIsSpecified(parameters.minIsSpecified) |
| 575 , m_maxIsSpecified(parameters.maxIsSpecified) | 575 , m_maxIsSpecified(parameters.maxIsSpecified) |
| 576 { | 576 { |
| 577 ASSERT(parameters.minimumYear >= DateComponents::minimumYear()); | 577 ASSERT(parameters.minimumYear >= DateComponents::minimumYear()); |
| 578 ASSERT(parameters.maximumYear <= DateComponents::maximumYear()); | 578 ASSERT(parameters.maximumYear <= DateComponents::maximumYear()); |
| 579 } | 579 } |
| 580 | 580 |
| 581 PassRefPtrWillBeRawPtr<DateTimeYearFieldElement> DateTimeYearFieldElement::creat
e(Document& document, FieldOwner& fieldOwner, const DateTimeYearFieldElement::Pa
rameters& parameters) | 581 RawPtr<DateTimeYearFieldElement> DateTimeYearFieldElement::create(Document& docu
ment, FieldOwner& fieldOwner, const DateTimeYearFieldElement::Parameters& parame
ters) |
| 582 { | 582 { |
| 583 DEFINE_STATIC_LOCAL(AtomicString, yearPseudoId, ("-webkit-datetime-edit-year
-field", AtomicString::ConstructFromLiteral)); | 583 DEFINE_STATIC_LOCAL(AtomicString, yearPseudoId, ("-webkit-datetime-edit-year
-field", AtomicString::ConstructFromLiteral)); |
| 584 RefPtrWillBeRawPtr<DateTimeYearFieldElement> field = adoptRefWillBeNoop(new
DateTimeYearFieldElement(document, fieldOwner, parameters)); | 584 RawPtr<DateTimeYearFieldElement> field = new DateTimeYearFieldElement(docume
nt, fieldOwner, parameters); |
| 585 field->initialize(yearPseudoId, queryString(WebLocalizedString::AXYearFieldT
ext)); | 585 field->initialize(yearPseudoId, queryString(WebLocalizedString::AXYearFieldT
ext)); |
| 586 return field.release(); | 586 return field.release(); |
| 587 } | 587 } |
| 588 | 588 |
| 589 static int currentFullYear() | 589 static int currentFullYear() |
| 590 { | 590 { |
| 591 DateComponents date; | 591 DateComponents date; |
| 592 date.setMillisecondsSinceEpochForMonth(convertToLocalTime(currentTimeMS())); | 592 date.setMillisecondsSinceEpochForMonth(convertToLocalTime(currentTimeMS())); |
| 593 return date.fullYear(); | 593 return date.fullYear(); |
| 594 } | 594 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 625 setValueAsInteger(value); | 625 setValueAsInteger(value); |
| 626 return; | 626 return; |
| 627 } | 627 } |
| 628 | 628 |
| 629 setEmptyValue(); | 629 setEmptyValue(); |
| 630 } | 630 } |
| 631 | 631 |
| 632 } // namespace blink | 632 } // namespace blink |
| 633 | 633 |
| 634 #endif | 634 #endif |
| OLD | NEW |