Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: Source/WebCore/html/shadow/DateTimeFieldElements.cpp

Issue 11420032: Merge 134239 - Refactoring: set read-only values on layout in DateTimeEditElement (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1312/
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 dateTimeFieldsState.setAMPM(valueAsInteger() ? DateTimeFieldsState::AMPM ValuePM : DateTimeFieldsState::AMPMValueAM); 54 dateTimeFieldsState.setAMPM(valueAsInteger() ? DateTimeFieldsState::AMPM ValuePM : DateTimeFieldsState::AMPMValueAM);
55 else 55 else
56 dateTimeFieldsState.setAMPM(DateTimeFieldsState::AMPMValueEmpty); 56 dateTimeFieldsState.setAMPM(DateTimeFieldsState::AMPMValueEmpty);
57 } 57 }
58 58
59 void DateTimeAMPMFieldElement::setValueAsDate(const DateComponents& date) 59 void DateTimeAMPMFieldElement::setValueAsDate(const DateComponents& date)
60 { 60 {
61 setValueAsInteger(date.hour() >= 12 ? 1 : 0); 61 setValueAsInteger(date.hour() >= 12 ? 1 : 0);
62 } 62 }
63 63
64 void DateTimeAMPMFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 64 void DateTimeAMPMFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState)
65 { 65 {
66 if (dateTimeFieldsState.hasAMPM()) 66 if (dateTimeFieldsState.hasAMPM())
67 setValueAsInteger(dateTimeFieldsState.ampm()); 67 setValueAsInteger(dateTimeFieldsState.ampm());
68 else 68 else
69 setEmptyValue(dateForReadOnlyField); 69 setEmptyValue();
70 } 70 }
71 71
72 // ---------------------------- 72 // ----------------------------
73 73
74 DateTimeDayFieldElement::DateTimeDayFieldElement(Document* document, FieldOwner& fieldOwner, const String& placeholder) 74 DateTimeDayFieldElement::DateTimeDayFieldElement(Document* document, FieldOwner& fieldOwner, const String& placeholder)
75 : DateTimeNumericFieldElement(document, fieldOwner, 1, 31, placeholder) 75 : DateTimeNumericFieldElement(document, fieldOwner, 1, 31, placeholder)
76 { 76 {
77 } 77 }
78 78
79 PassRefPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(Document* do cument, FieldOwner& fieldOwner, const String& placeholder) 79 PassRefPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(Document* do cument, FieldOwner& fieldOwner, const String& placeholder)
80 { 80 {
81 DEFINE_STATIC_LOCAL(AtomicString, dayPsuedoId, ("-webkit-datetime-edit-day-f ield")); 81 DEFINE_STATIC_LOCAL(AtomicString, dayPsuedoId, ("-webkit-datetime-edit-day-f ield"));
82 RefPtr<DateTimeDayFieldElement> field = adoptRef(new DateTimeDayFieldElement (document, fieldOwner, placeholder.isEmpty() ? ASCIILiteral("--") : placeholder) ); 82 RefPtr<DateTimeDayFieldElement> field = adoptRef(new DateTimeDayFieldElement (document, fieldOwner, placeholder.isEmpty() ? ASCIILiteral("--") : placeholder) );
83 field->initialize(dayPsuedoId, AXDayOfMonthFieldText()); 83 field->initialize(dayPsuedoId, AXDayOfMonthFieldText());
84 return field.release(); 84 return field.release();
85 } 85 }
86 86
87 void DateTimeDayFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& d ateTimeFieldsState) 87 void DateTimeDayFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& d ateTimeFieldsState)
88 { 88 {
89 dateTimeFieldsState.setDayOfMonth(hasValue() ? valueAsInteger() : DateTimeFi eldsState::emptyValue); 89 dateTimeFieldsState.setDayOfMonth(hasValue() ? valueAsInteger() : DateTimeFi eldsState::emptyValue);
90 } 90 }
91 91
92 void DateTimeDayFieldElement::setValueAsDate(const DateComponents& date) 92 void DateTimeDayFieldElement::setValueAsDate(const DateComponents& date)
93 { 93 {
94 setValueAsInteger(date.monthDay()); 94 setValueAsInteger(date.monthDay());
95 } 95 }
96 96
97 void DateTimeDayFieldElement::setValueAsDateTimeFieldsState(const DateTimeFields State& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 97 void DateTimeDayFieldElement::setValueAsDateTimeFieldsState(const DateTimeFields State& dateTimeFieldsState)
98 { 98 {
99 if (!dateTimeFieldsState.hasDayOfMonth()) { 99 if (!dateTimeFieldsState.hasDayOfMonth()) {
100 setEmptyValue(dateForReadOnlyField); 100 setEmptyValue();
101 return; 101 return;
102 } 102 }
103 103
104 const unsigned value = dateTimeFieldsState.dayOfMonth(); 104 const unsigned value = dateTimeFieldsState.dayOfMonth();
105 if (range().isInRange(static_cast<int>(value))) { 105 if (range().isInRange(static_cast<int>(value))) {
106 setValueAsInteger(value); 106 setValueAsInteger(value);
107 return; 107 return;
108 } 108 }
109 109
110 setEmptyValue(dateForReadOnlyField); 110 setEmptyValue();
111 } 111 }
112 112
113 // ---------------------------- 113 // ----------------------------
114 114
115 DateTimeHourFieldElement::DateTimeHourFieldElement(Document* document, FieldOwne r& fieldOwner, int minimum, int maximum) 115 DateTimeHourFieldElement::DateTimeHourFieldElement(Document* document, FieldOwne r& fieldOwner, int minimum, int maximum)
116 : DateTimeNumericFieldElement(document, fieldOwner, minimum, maximum, "--") 116 : DateTimeNumericFieldElement(document, fieldOwner, minimum, maximum, "--")
117 , m_alignment(maximum + maximum % 2) 117 , m_alignment(maximum + maximum % 2)
118 { 118 {
119 ASSERT((!minimum && (maximum == 11 || maximum == 23)) || (minimum == 1 && (m aximum == 12 || maximum == 24))); 119 ASSERT((!minimum && (maximum == 11 || maximum == 23)) || (minimum == 1 && (m aximum == 12 || maximum == 24)));
120 } 120 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 default: 159 default:
160 ASSERT_NOT_REACHED(); 160 ASSERT_NOT_REACHED();
161 } 161 }
162 } 162 }
163 163
164 void DateTimeHourFieldElement::setValueAsDate(const DateComponents& date) 164 void DateTimeHourFieldElement::setValueAsDate(const DateComponents& date)
165 { 165 {
166 setValueAsInteger(date.hour()); 166 setValueAsInteger(date.hour());
167 } 167 }
168 168
169 void DateTimeHourFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 169 void DateTimeHourFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState)
170 { 170 {
171 if (!dateTimeFieldsState.hasHour()) { 171 if (!dateTimeFieldsState.hasHour()) {
172 setEmptyValue(dateForReadOnlyField); 172 setEmptyValue();
173 return; 173 return;
174 } 174 }
175 175
176 const int hour12 = dateTimeFieldsState.hour(); 176 const int hour12 = dateTimeFieldsState.hour();
177 177
178 if (hour12 < 1 || hour12 > 12) { 178 if (hour12 < 1 || hour12 > 12) {
179 setEmptyValue(dateForReadOnlyField); 179 setEmptyValue();
180 return; 180 return;
181 } 181 }
182 182
183 switch (maximum()) { 183 switch (maximum()) {
184 case 11: 184 case 11:
185 DateTimeNumericFieldElement::setValueAsInteger(hour12 % 12); 185 DateTimeNumericFieldElement::setValueAsInteger(hour12 % 12);
186 return; 186 return;
187 case 12: 187 case 12:
188 DateTimeNumericFieldElement::setValueAsInteger(hour12); 188 DateTimeNumericFieldElement::setValueAsInteger(hour12);
189 return; 189 return;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields State& dateTimeFieldsState) 233 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields State& dateTimeFieldsState)
234 { 234 {
235 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF ieldsState::emptyValue); 235 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF ieldsState::emptyValue);
236 } 236 }
237 237
238 void DateTimeMillisecondFieldElement::setValueAsDate(const DateComponents& date) 238 void DateTimeMillisecondFieldElement::setValueAsDate(const DateComponents& date)
239 { 239 {
240 setValueAsInteger(date.millisecond()); 240 setValueAsInteger(date.millisecond());
241 } 241 }
242 242
243 void DateTimeMillisecondFieldElement::setValueAsDateTimeFieldsState(const DateTi meFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 243 void DateTimeMillisecondFieldElement::setValueAsDateTimeFieldsState(const DateTi meFieldsState& dateTimeFieldsState)
244 { 244 {
245 if (!dateTimeFieldsState.hasMillisecond()) { 245 if (!dateTimeFieldsState.hasMillisecond()) {
246 setEmptyValue(dateForReadOnlyField); 246 setEmptyValue();
247 return; 247 return;
248 } 248 }
249 249
250 const unsigned value = dateTimeFieldsState.millisecond(); 250 const unsigned value = dateTimeFieldsState.millisecond();
251 if (value > static_cast<unsigned>(maximum())) { 251 if (value > static_cast<unsigned>(maximum())) {
252 setEmptyValue(dateForReadOnlyField); 252 setEmptyValue();
253 return; 253 return;
254 } 254 }
255 255
256 setValueAsInteger(value); 256 setValueAsInteger(value);
257 } 257 }
258 258
259 // ---------------------------- 259 // ----------------------------
260 260
261 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document* document, Field Owner& fieldOwner) 261 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document* document, Field Owner& fieldOwner)
262 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59, "--") 262 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59, "--")
(...skipping 11 matching lines...) Expand all
274 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState) 274 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState)
275 { 275 {
276 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue); 276 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue);
277 } 277 }
278 278
279 void DateTimeMinuteFieldElement::setValueAsDate(const DateComponents& date) 279 void DateTimeMinuteFieldElement::setValueAsDate(const DateComponents& date)
280 { 280 {
281 setValueAsInteger(date.minute()); 281 setValueAsInteger(date.minute());
282 } 282 }
283 283
284 void DateTimeMinuteFieldElement::setValueAsDateTimeFieldsState(const DateTimeFie ldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 284 void DateTimeMinuteFieldElement::setValueAsDateTimeFieldsState(const DateTimeFie ldsState& dateTimeFieldsState)
285 { 285 {
286 if (!dateTimeFieldsState.hasMinute()) { 286 if (!dateTimeFieldsState.hasMinute()) {
287 setEmptyValue(dateForReadOnlyField); 287 setEmptyValue();
288 return; 288 return;
289 } 289 }
290 290
291 const unsigned value = dateTimeFieldsState.minute(); 291 const unsigned value = dateTimeFieldsState.minute();
292 if (value > static_cast<unsigned>(maximum())) { 292 if (value > static_cast<unsigned>(maximum())) {
293 setEmptyValue(dateForReadOnlyField); 293 setEmptyValue();
294 return; 294 return;
295 } 295 }
296 296
297 setValueAsInteger(value); 297 setValueAsInteger(value);
298 } 298 }
299 299
300 // ---------------------------- 300 // ----------------------------
301 301
302 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document* document, FieldOw ner& fieldOwner, const String& placeholder) 302 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document* document, FieldOw ner& fieldOwner, const String& placeholder)
303 : DateTimeNumericFieldElement(document, fieldOwner, 1, 12, placeholder) 303 : DateTimeNumericFieldElement(document, fieldOwner, 1, 12, placeholder)
(...skipping 11 matching lines...) Expand all
315 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) 315 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState)
316 { 316 {
317 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS tate::emptyValue); 317 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS tate::emptyValue);
318 } 318 }
319 319
320 void DateTimeMonthFieldElement::setValueAsDate(const DateComponents& date) 320 void DateTimeMonthFieldElement::setValueAsDate(const DateComponents& date)
321 { 321 {
322 setValueAsInteger(date.month() + 1); 322 setValueAsInteger(date.month() + 1);
323 } 323 }
324 324
325 void DateTimeMonthFieldElement::setValueAsDateTimeFieldsState(const DateTimeFiel dsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 325 void DateTimeMonthFieldElement::setValueAsDateTimeFieldsState(const DateTimeFiel dsState& dateTimeFieldsState)
326 { 326 {
327 if (!dateTimeFieldsState.hasMonth()) { 327 if (!dateTimeFieldsState.hasMonth()) {
328 setEmptyValue(dateForReadOnlyField); 328 setEmptyValue();
329 return; 329 return;
330 } 330 }
331 331
332 const unsigned value = dateTimeFieldsState.month(); 332 const unsigned value = dateTimeFieldsState.month();
333 if (range().isInRange(static_cast<int>(value))) { 333 if (range().isInRange(static_cast<int>(value))) {
334 setValueAsInteger(value); 334 setValueAsInteger(value);
335 return; 335 return;
336 } 336 }
337 337
338 setEmptyValue(dateForReadOnlyField); 338 setEmptyValue();
339 } 339 }
340 340
341 // ---------------------------- 341 // ----------------------------
342 342
343 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document* document, Field Owner& fieldOwner) 343 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document* document, Field Owner& fieldOwner)
344 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59, "--") 344 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59, "--")
345 { 345 {
346 } 346 }
347 347
348 PassRefPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::create(Docume nt* document, FieldOwner& fieldOwner) 348 PassRefPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::create(Docume nt* document, FieldOwner& fieldOwner)
349 { 349 {
350 DEFINE_STATIC_LOCAL(AtomicString, secondPsuedoId, ("-webkit-datetime-edit-se cond-field")); 350 DEFINE_STATIC_LOCAL(AtomicString, secondPsuedoId, ("-webkit-datetime-edit-se cond-field"));
351 RefPtr<DateTimeSecondFieldElement> field = adoptRef(new DateTimeSecondFieldE lement(document, fieldOwner)); 351 RefPtr<DateTimeSecondFieldElement> field = adoptRef(new DateTimeSecondFieldE lement(document, fieldOwner));
352 field->initialize(secondPsuedoId, AXSecondFieldText()); 352 field->initialize(secondPsuedoId, AXSecondFieldText());
353 return field.release(); 353 return field.release();
354 } 354 }
355 355
356 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState) 356 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState)
357 { 357 {
358 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue); 358 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue);
359 } 359 }
360 360
361 void DateTimeSecondFieldElement::setValueAsDate(const DateComponents& date) 361 void DateTimeSecondFieldElement::setValueAsDate(const DateComponents& date)
362 { 362 {
363 setValueAsInteger(date.second()); 363 setValueAsInteger(date.second());
364 } 364 }
365 365
366 void DateTimeSecondFieldElement::setValueAsDateTimeFieldsState(const DateTimeFie ldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 366 void DateTimeSecondFieldElement::setValueAsDateTimeFieldsState(const DateTimeFie ldsState& dateTimeFieldsState)
367 { 367 {
368 if (!dateTimeFieldsState.hasSecond()) { 368 if (!dateTimeFieldsState.hasSecond()) {
369 setEmptyValue(dateForReadOnlyField); 369 setEmptyValue();
370 return; 370 return;
371 } 371 }
372 372
373 const unsigned value = dateTimeFieldsState.second(); 373 const unsigned value = dateTimeFieldsState.second();
374 if (value > static_cast<unsigned>(maximum())) { 374 if (value > static_cast<unsigned>(maximum())) {
375 setEmptyValue(dateForReadOnlyField); 375 setEmptyValue();
376 return; 376 return;
377 } 377 }
378 378
379 setValueAsInteger(value); 379 setValueAsInteger(value);
380 } 380 }
381 381
382 // ---------------------------- 382 // ----------------------------
383 383
384 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document* d ocument, FieldOwner& fieldOwner, const Vector<String>& labels) 384 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document* d ocument, FieldOwner& fieldOwner, const Vector<String>& labels)
385 : DateTimeSymbolicFieldElement(document, fieldOwner, labels) 385 : DateTimeSymbolicFieldElement(document, fieldOwner, labels)
(...skipping 14 matching lines...) Expand all
400 dateTimeFieldsState.setMonth(DateTimeFieldsState::emptyValue); 400 dateTimeFieldsState.setMonth(DateTimeFieldsState::emptyValue);
401 ASSERT(valueAsInteger() < static_cast<int>(symbolsSize())); 401 ASSERT(valueAsInteger() < static_cast<int>(symbolsSize()));
402 dateTimeFieldsState.setMonth(valueAsInteger() + 1); 402 dateTimeFieldsState.setMonth(valueAsInteger() + 1);
403 } 403 }
404 404
405 void DateTimeSymbolicMonthFieldElement::setValueAsDate(const DateComponents& dat e) 405 void DateTimeSymbolicMonthFieldElement::setValueAsDate(const DateComponents& dat e)
406 { 406 {
407 setValueAsInteger(date.month()); 407 setValueAsInteger(date.month());
408 } 408 }
409 409
410 void DateTimeSymbolicMonthFieldElement::setValueAsDateTimeFieldsState(const Date TimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField ) 410 void DateTimeSymbolicMonthFieldElement::setValueAsDateTimeFieldsState(const Date TimeFieldsState& dateTimeFieldsState)
411 { 411 {
412 if (!dateTimeFieldsState.hasMonth()) { 412 if (!dateTimeFieldsState.hasMonth()) {
413 setEmptyValue(dateForReadOnlyField); 413 setEmptyValue();
414 return; 414 return;
415 } 415 }
416 416
417 const unsigned value = dateTimeFieldsState.month() - 1; 417 const unsigned value = dateTimeFieldsState.month() - 1;
418 if (value >= symbolsSize()) { 418 if (value >= symbolsSize()) {
419 setEmptyValue(dateForReadOnlyField); 419 setEmptyValue();
420 return; 420 return;
421 } 421 }
422 422
423 setValueAsInteger(value); 423 setValueAsInteger(value);
424 } 424 }
425 425
426 // ---------------------------- 426 // ----------------------------
427 427
428 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document* document, FieldOwne r& fieldOwner) 428 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document* document, FieldOwne r& fieldOwner)
429 : DateTimeNumericFieldElement(document, fieldOwner, DateComponents::minimumW eekNumber, DateComponents::maximumWeekNumber, "--") 429 : DateTimeNumericFieldElement(document, fieldOwner, DateComponents::minimumW eekNumber, DateComponents::maximumWeekNumber, "--")
(...skipping 11 matching lines...) Expand all
441 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) 441 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState)
442 { 442 {
443 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi eldsState::emptyValue); 443 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi eldsState::emptyValue);
444 } 444 }
445 445
446 void DateTimeWeekFieldElement::setValueAsDate(const DateComponents& date) 446 void DateTimeWeekFieldElement::setValueAsDate(const DateComponents& date)
447 { 447 {
448 setValueAsInteger(date.week()); 448 setValueAsInteger(date.week());
449 } 449 }
450 450
451 void DateTimeWeekFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 451 void DateTimeWeekFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState)
452 { 452 {
453 if (!dateTimeFieldsState.hasWeekOfYear()) { 453 if (!dateTimeFieldsState.hasWeekOfYear()) {
454 setEmptyValue(dateForReadOnlyField); 454 setEmptyValue();
455 return; 455 return;
456 } 456 }
457 457
458 const unsigned value = dateTimeFieldsState.weekOfYear(); 458 const unsigned value = dateTimeFieldsState.weekOfYear();
459 if (range().isInRange(static_cast<int>(value))) { 459 if (range().isInRange(static_cast<int>(value))) {
460 setValueAsInteger(value); 460 setValueAsInteger(value);
461 return; 461 return;
462 } 462 }
463 463
464 setEmptyValue(dateForReadOnlyField); 464 setEmptyValue();
465 } 465 }
466 466
467 // ---------------------------- 467 // ----------------------------
468 468
469 DateTimeYearFieldElement::DateTimeYearFieldElement(Document* document, FieldOwne r& fieldOwner, const DateTimeYearFieldElement::Parameters& parameters) 469 DateTimeYearFieldElement::DateTimeYearFieldElement(Document* document, FieldOwne r& fieldOwner, const DateTimeYearFieldElement::Parameters& parameters)
470 : DateTimeNumericFieldElement(document, fieldOwner, parameters.minimumYear, parameters.maximumYear, parameters.placeholder.isEmpty() ? ASCIILiteral("----") : parameters.placeholder) 470 : DateTimeNumericFieldElement(document, fieldOwner, parameters.minimumYear, parameters.maximumYear, parameters.placeholder.isEmpty() ? ASCIILiteral("----") : parameters.placeholder)
471 , m_minIsSpecified(parameters.minIsSpecified) 471 , m_minIsSpecified(parameters.minIsSpecified)
472 , m_maxIsSpecified(parameters.maxIsSpecified) 472 , m_maxIsSpecified(parameters.maxIsSpecified)
473 { 473 {
474 ASSERT(parameters.minimumYear >= DateComponents::minimumYear()); 474 ASSERT(parameters.minimumYear >= DateComponents::minimumYear());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 void DateTimeYearFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) 514 void DateTimeYearFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState)
515 { 515 {
516 dateTimeFieldsState.setYear(hasValue() ? valueAsInteger() : DateTimeFieldsSt ate::emptyValue); 516 dateTimeFieldsState.setYear(hasValue() ? valueAsInteger() : DateTimeFieldsSt ate::emptyValue);
517 } 517 }
518 518
519 void DateTimeYearFieldElement::setValueAsDate(const DateComponents& date) 519 void DateTimeYearFieldElement::setValueAsDate(const DateComponents& date)
520 { 520 {
521 setValueAsInteger(date.fullYear()); 521 setValueAsInteger(date.fullYear());
522 } 522 }
523 523
524 void DateTimeYearFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField) 524 void DateTimeYearFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState)
525 { 525 {
526 if (!dateTimeFieldsState.hasYear()) { 526 if (!dateTimeFieldsState.hasYear()) {
527 setEmptyValue(dateForReadOnlyField); 527 setEmptyValue();
528 return; 528 return;
529 } 529 }
530 530
531 const unsigned value = dateTimeFieldsState.year(); 531 const unsigned value = dateTimeFieldsState.year();
532 if (range().isInRange(static_cast<int>(value))) { 532 if (range().isInRange(static_cast<int>(value))) {
533 setValueAsInteger(value); 533 setValueAsInteger(value);
534 return; 534 return;
535 } 535 }
536 536
537 setEmptyValue(dateForReadOnlyField); 537 setEmptyValue();
538 } 538 }
539 539
540 } // namespace WebCore 540 } // namespace WebCore
541 541
542 #endif 542 #endif
OLDNEW
« no previous file with comments | « Source/WebCore/html/shadow/DateTimeFieldElements.h ('k') | Source/WebCore/html/shadow/DateTimeNumericFieldElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698