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

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

Issue 23886003: Have HTMLElements / SVGElements constructors take a Document reference in argument (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Another Android build fix Created 7 years, 3 months 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 | Annotate | Revision Log
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 17 matching lines...) Expand all
28 #include "core/html/shadow/DateTimeFieldElements.h" 28 #include "core/html/shadow/DateTimeFieldElements.h"
29 29
30 #include "core/html/DateTimeFieldsState.h" 30 #include "core/html/DateTimeFieldsState.h"
31 #include "core/platform/DateComponents.h" 31 #include "core/platform/DateComponents.h"
32 #include "core/platform/LocalizedStrings.h" 32 #include "core/platform/LocalizedStrings.h"
33 #include "wtf/CurrentTime.h" 33 #include "wtf/CurrentTime.h"
34 #include "wtf/DateMath.h" 34 #include "wtf/DateMath.h"
35 35
36 namespace WebCore { 36 namespace WebCore {
37 37
38 DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document* document, FieldOwne r& fieldOwner, const Vector<String>& ampmLabels) 38 DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document& document, FieldOwne r& fieldOwner, const Vector<String>& ampmLabels)
39 : DateTimeSymbolicFieldElement(document, fieldOwner, ampmLabels, 0, 1) 39 : DateTimeSymbolicFieldElement(document, fieldOwner, ampmLabels, 0, 1)
40 { 40 {
41 } 41 }
42 42
43 PassRefPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::create(Document* document, FieldOwner& fieldOwner, const Vector<String>& ampmLabels) 43 PassRefPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::create(Document& document, FieldOwner& fieldOwner, const Vector<String>& ampmLabels)
44 { 44 {
45 DEFINE_STATIC_LOCAL(AtomicString, ampmPsuedoId, ("-webkit-datetime-edit-ampm -field", AtomicString::ConstructFromLiteral)); 45 DEFINE_STATIC_LOCAL(AtomicString, ampmPsuedoId, ("-webkit-datetime-edit-ampm -field", AtomicString::ConstructFromLiteral));
46 RefPtr<DateTimeAMPMFieldElement> field = adoptRef(new DateTimeAMPMFieldEleme nt(document, fieldOwner, ampmLabels)); 46 RefPtr<DateTimeAMPMFieldElement> field = adoptRef(new DateTimeAMPMFieldEleme nt(document, fieldOwner, ampmLabels));
47 field->initialize(ampmPsuedoId, AXAMPMFieldText()); 47 field->initialize(ampmPsuedoId, AXAMPMFieldText());
48 return field.release(); 48 return field.release();
49 } 49 }
50 50
51 void DateTimeAMPMFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) 51 void DateTimeAMPMFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState)
52 { 52 {
53 if (hasValue()) 53 if (hasValue())
(...skipping 10 matching lines...) Expand all
64 void DateTimeAMPMFieldElement::setValueAsDateTimeFieldsState(const DateTimeField sState& dateTimeFieldsState) 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(); 69 setEmptyValue();
70 } 70 }
71 71
72 // ---------------------------- 72 // ----------------------------
73 73
74 DateTimeDayFieldElement::DateTimeDayFieldElement(Document* document, FieldOwner& fieldOwner, const String& placeholder, const Range& range) 74 DateTimeDayFieldElement::DateTimeDayFieldElement(Document& document, FieldOwner& fieldOwner, const String& placeholder, const Range& range)
75 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 31), pla ceholder) 75 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 31), pla ceholder)
76 { 76 {
77 } 77 }
78 78
79 PassRefPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(Document* do cument, FieldOwner& fieldOwner, const String& placeholder, const Range& range) 79 PassRefPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(Document& do cument, FieldOwner& fieldOwner, const String& placeholder, const Range& range)
80 { 80 {
81 DEFINE_STATIC_LOCAL(AtomicString, dayPsuedoId, ("-webkit-datetime-edit-day-f ield", AtomicString::ConstructFromLiteral)); 81 DEFINE_STATIC_LOCAL(AtomicString, dayPsuedoId, ("-webkit-datetime-edit-day-f ield", AtomicString::ConstructFromLiteral));
82 RefPtr<DateTimeDayFieldElement> field = adoptRef(new DateTimeDayFieldElement (document, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range)); 82 RefPtr<DateTimeDayFieldElement> field = adoptRef(new DateTimeDayFieldElement (document, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range));
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);
(...skipping 15 matching lines...) Expand all
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(); 110 setEmptyValue();
111 } 111 }
112 112
113 // ---------------------------- 113 // ----------------------------
114 114
115 DateTimeHourFieldElementBase::DateTimeHourFieldElementBase(Document* document, F ieldOwner& fieldOwner, const Range& range, const Range& hardLimits, const Step& step) 115 DateTimeHourFieldElementBase::DateTimeHourFieldElementBase(Document& document, F ieldOwner& fieldOwner, const Range& range, const Range& hardLimits, const Step& step)
116 : DateTimeNumericFieldElement(document, fieldOwner, range, hardLimits, "--", step) 116 : DateTimeNumericFieldElement(document, fieldOwner, range, hardLimits, "--", step)
117 { 117 {
118 } 118 }
119 119
120 void DateTimeHourFieldElementBase::initialize() 120 void DateTimeHourFieldElementBase::initialize()
121 { 121 {
122 DEFINE_STATIC_LOCAL(AtomicString, hourPsuedoId, ("-webkit-datetime-edit-hour -field", AtomicString::ConstructFromLiteral)); 122 DEFINE_STATIC_LOCAL(AtomicString, hourPsuedoId, ("-webkit-datetime-edit-hour -field", AtomicString::ConstructFromLiteral));
123 DateTimeNumericFieldElement::initialize(hourPsuedoId, AXHourFieldText()); 123 DateTimeNumericFieldElement::initialize(hourPsuedoId, AXHourFieldText());
124 } 124 }
125 125
(...skipping 14 matching lines...) Expand all
140 setEmptyValue(); 140 setEmptyValue();
141 return; 141 return;
142 } 142 }
143 143
144 const int hour11 = hour12 == 12 ? 0 : hour12; 144 const int hour11 = hour12 == 12 ? 0 : hour12;
145 const int hour23 = dateTimeFieldsState.ampm() == DateTimeFieldsState::AMPMVa luePM ? hour11 + 12 : hour11; 145 const int hour23 = dateTimeFieldsState.ampm() == DateTimeFieldsState::AMPMVa luePM ? hour11 + 12 : hour11;
146 setValueAsInteger(hour23); 146 setValueAsInteger(hour23);
147 } 147 }
148 // ---------------------------- 148 // ----------------------------
149 149
150 DateTimeHour11FieldElement::DateTimeHour11FieldElement(Document* document, Field Owner& fieldOwner, const Range& range, const Step& step) 150 DateTimeHour11FieldElement::DateTimeHour11FieldElement(Document& document, Field Owner& fieldOwner, const Range& range, const Step& step)
151 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 11), st ep) 151 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 11), st ep)
152 { 152 {
153 } 153 }
154 154
155 PassRefPtr<DateTimeHour11FieldElement> DateTimeHour11FieldElement::create(Docume nt* document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step ) 155 PassRefPtr<DateTimeHour11FieldElement> DateTimeHour11FieldElement::create(Docume nt& document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step )
156 { 156 {
157 ASSERT(hour23Range.minimum >= 0); 157 ASSERT(hour23Range.minimum >= 0);
158 ASSERT(hour23Range.maximum <= 23); 158 ASSERT(hour23Range.maximum <= 23);
159 ASSERT(hour23Range.minimum <= hour23Range.maximum); 159 ASSERT(hour23Range.minimum <= hour23Range.maximum);
160 Range range(0, 11); 160 Range range(0, 11);
161 if (hour23Range.maximum < 12) 161 if (hour23Range.maximum < 12)
162 range = hour23Range; 162 range = hour23Range;
163 else if (hour23Range.minimum >= 12) { 163 else if (hour23Range.minimum >= 12) {
164 range.minimum = hour23Range.minimum - 12; 164 range.minimum = hour23Range.minimum - 12;
165 range.maximum = hour23Range.maximum - 12; 165 range.maximum = hour23Range.maximum - 12;
(...skipping 15 matching lines...) Expand all
181 } 181 }
182 182
183 void DateTimeHour11FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior) 183 void DateTimeHour11FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior)
184 { 184 {
185 value = Range(0, 23).clampValue(value) % 12; 185 value = Range(0, 23).clampValue(value) % 12;
186 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior); 186 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior);
187 } 187 }
188 188
189 // ---------------------------- 189 // ----------------------------
190 190
191 DateTimeHour12FieldElement::DateTimeHour12FieldElement(Document* document, Field Owner& fieldOwner, const Range& range, const Step& step) 191 DateTimeHour12FieldElement::DateTimeHour12FieldElement(Document& document, Field Owner& fieldOwner, const Range& range, const Step& step)
192 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 12), st ep) 192 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 12), st ep)
193 { 193 {
194 } 194 }
195 195
196 PassRefPtr<DateTimeHour12FieldElement> DateTimeHour12FieldElement::create(Docume nt* document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step ) 196 PassRefPtr<DateTimeHour12FieldElement> DateTimeHour12FieldElement::create(Docume nt& document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step )
197 { 197 {
198 ASSERT(hour23Range.minimum >= 0); 198 ASSERT(hour23Range.minimum >= 0);
199 ASSERT(hour23Range.maximum <= 23); 199 ASSERT(hour23Range.maximum <= 23);
200 ASSERT(hour23Range.minimum <= hour23Range.maximum); 200 ASSERT(hour23Range.minimum <= hour23Range.maximum);
201 Range range(1, 12); 201 Range range(1, 12);
202 if (hour23Range.maximum < 12) 202 if (hour23Range.maximum < 12)
203 range = hour23Range; 203 range = hour23Range;
204 else if (hour23Range.minimum >= 12) { 204 else if (hour23Range.minimum >= 12) {
205 range.minimum = hour23Range.minimum - 12; 205 range.minimum = hour23Range.minimum - 12;
206 range.maximum = hour23Range.maximum - 12; 206 range.maximum = hour23Range.maximum - 12;
(...skipping 17 matching lines...) Expand all
224 } 224 }
225 225
226 void DateTimeHour12FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior) 226 void DateTimeHour12FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior)
227 { 227 {
228 value = Range(0, 24).clampValue(value) % 12; 228 value = Range(0, 24).clampValue(value) % 12;
229 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 12, eventBeha vior); 229 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 12, eventBeha vior);
230 } 230 }
231 231
232 // ---------------------------- 232 // ----------------------------
233 233
234 DateTimeHour23FieldElement::DateTimeHour23FieldElement(Document* document, Field Owner& fieldOwner, const Range& range, const Step& step) 234 DateTimeHour23FieldElement::DateTimeHour23FieldElement(Document& document, Field Owner& fieldOwner, const Range& range, const Step& step)
235 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 23), st ep) 235 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(0, 23), st ep)
236 { 236 {
237 } 237 }
238 238
239 PassRefPtr<DateTimeHour23FieldElement> DateTimeHour23FieldElement::create(Docume nt* document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step ) 239 PassRefPtr<DateTimeHour23FieldElement> DateTimeHour23FieldElement::create(Docume nt& document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step )
240 { 240 {
241 ASSERT(hour23Range.minimum >= 0); 241 ASSERT(hour23Range.minimum >= 0);
242 ASSERT(hour23Range.maximum <= 23); 242 ASSERT(hour23Range.maximum <= 23);
243 ASSERT(hour23Range.minimum <= hour23Range.maximum); 243 ASSERT(hour23Range.minimum <= hour23Range.maximum);
244 RefPtr<DateTimeHour23FieldElement> field = adoptRef(new DateTimeHour23FieldE lement(document, fieldOwner, hour23Range, step)); 244 RefPtr<DateTimeHour23FieldElement> field = adoptRef(new DateTimeHour23FieldE lement(document, fieldOwner, hour23Range, step));
245 field->initialize(); 245 field->initialize();
246 return field.release(); 246 return field.release();
247 } 247 }
248 248
249 void DateTimeHour23FieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState) 249 void DateTimeHour23FieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState)
(...skipping 10 matching lines...) Expand all
260 } 260 }
261 261
262 void DateTimeHour23FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior) 262 void DateTimeHour23FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior)
263 { 263 {
264 value = Range(0, 23).clampValue(value); 264 value = Range(0, 23).clampValue(value);
265 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior); 265 DateTimeNumericFieldElement::setValueAsInteger(value, eventBehavior);
266 } 266 }
267 267
268 // ---------------------------- 268 // ----------------------------
269 269
270 DateTimeHour24FieldElement::DateTimeHour24FieldElement(Document* document, Field Owner& fieldOwner, const Range& range, const Step& step) 270 DateTimeHour24FieldElement::DateTimeHour24FieldElement(Document& document, Field Owner& fieldOwner, const Range& range, const Step& step)
271 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 24), st ep) 271 : DateTimeHourFieldElementBase(document, fieldOwner, range, Range(1, 24), st ep)
272 { 272 {
273 } 273 }
274 274
275 PassRefPtr<DateTimeHour24FieldElement> DateTimeHour24FieldElement::create(Docume nt* document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step ) 275 PassRefPtr<DateTimeHour24FieldElement> DateTimeHour24FieldElement::create(Docume nt& document, FieldOwner& fieldOwner, const Range& hour23Range, const Step& step )
276 { 276 {
277 ASSERT(hour23Range.minimum >= 0); 277 ASSERT(hour23Range.minimum >= 0);
278 ASSERT(hour23Range.maximum <= 23); 278 ASSERT(hour23Range.maximum <= 23);
279 ASSERT(hour23Range.minimum <= hour23Range.maximum); 279 ASSERT(hour23Range.minimum <= hour23Range.maximum);
280 Range range(hour23Range.minimum ? hour23Range.minimum : 24, hour23Range.maxi mum ? hour23Range.maximum : 24); 280 Range range(hour23Range.minimum ? hour23Range.minimum : 24, hour23Range.maxi mum ? hour23Range.maximum : 24);
281 if (range.minimum > range.maximum) { 281 if (range.minimum > range.maximum) {
282 range.minimum = 1; 282 range.minimum = 1;
283 range.maximum = 24; 283 range.maximum = 24;
284 } 284 }
285 285
(...skipping 21 matching lines...) Expand all
307 } 307 }
308 308
309 void DateTimeHour24FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior) 309 void DateTimeHour24FieldElement::setValueAsInteger(int value, EventBehavior even tBehavior)
310 { 310 {
311 value = Range(0, 24).clampValue(value); 311 value = Range(0, 24).clampValue(value);
312 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 24, eventBeha vior); 312 DateTimeNumericFieldElement::setValueAsInteger(value ? value : 24, eventBeha vior);
313 } 313 }
314 314
315 // ---------------------------- 315 // ----------------------------
316 316
317 DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document* docum ent, FieldOwner& fieldOwner, const Range& range, const Step& step) 317 DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document& docum ent, FieldOwner& fieldOwner, const Range& range, const Step& step)
318 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 999), "- --", step) 318 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 999), "- --", step)
319 { 319 {
320 } 320 }
321 321
322 PassRefPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondFieldElement::cre ate(Document* document, FieldOwner& fieldOwner, const Range& range, const Step& step) 322 PassRefPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondFieldElement::cre ate(Document& document, FieldOwner& fieldOwner, const Range& range, const Step& step)
323 { 323 {
324 DEFINE_STATIC_LOCAL(AtomicString, millisecondPsuedoId, ("-webkit-datetime-ed it-millisecond-field", AtomicString::ConstructFromLiteral)); 324 DEFINE_STATIC_LOCAL(AtomicString, millisecondPsuedoId, ("-webkit-datetime-ed it-millisecond-field", AtomicString::ConstructFromLiteral));
325 RefPtr<DateTimeMillisecondFieldElement> field = adoptRef(new DateTimeMillise condFieldElement(document, fieldOwner, range, step)); 325 RefPtr<DateTimeMillisecondFieldElement> field = adoptRef(new DateTimeMillise condFieldElement(document, fieldOwner, range, step));
326 field->initialize(millisecondPsuedoId, AXMillisecondFieldText()); 326 field->initialize(millisecondPsuedoId, AXMillisecondFieldText());
327 return field.release(); 327 return field.release();
328 } 328 }
329 329
330 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields State& dateTimeFieldsState) 330 void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFields State& dateTimeFieldsState)
331 { 331 {
332 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF ieldsState::emptyValue); 332 dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeF ieldsState::emptyValue);
(...skipping 15 matching lines...) Expand all
348 if (value > static_cast<unsigned>(maximum())) { 348 if (value > static_cast<unsigned>(maximum())) {
349 setEmptyValue(); 349 setEmptyValue();
350 return; 350 return;
351 } 351 }
352 352
353 setValueAsInteger(value); 353 setValueAsInteger(value);
354 } 354 }
355 355
356 // ---------------------------- 356 // ----------------------------
357 357
358 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document* document, Field Owner& fieldOwner, const Range& range, const Step& step) 358 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document& document, Field Owner& fieldOwner, const Range& range, const Step& step)
359 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "-- ", step) 359 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "-- ", step)
360 { 360 {
361 } 361 }
362 362
363 PassRefPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::create(Docume nt* document, FieldOwner& fieldOwner, const Range& range, const Step& step) 363 PassRefPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::create(Docume nt& document, FieldOwner& fieldOwner, const Range& range, const Step& step)
364 { 364 {
365 DEFINE_STATIC_LOCAL(AtomicString, minutePsuedoId, ("-webkit-datetime-edit-mi nute-field", AtomicString::ConstructFromLiteral)); 365 DEFINE_STATIC_LOCAL(AtomicString, minutePsuedoId, ("-webkit-datetime-edit-mi nute-field", AtomicString::ConstructFromLiteral));
366 RefPtr<DateTimeMinuteFieldElement> field = adoptRef(new DateTimeMinuteFieldE lement(document, fieldOwner, range, step)); 366 RefPtr<DateTimeMinuteFieldElement> field = adoptRef(new DateTimeMinuteFieldE lement(document, fieldOwner, range, step));
367 field->initialize(minutePsuedoId, AXMinuteFieldText()); 367 field->initialize(minutePsuedoId, AXMinuteFieldText());
368 return field.release(); 368 return field.release();
369 } 369 }
370 370
371 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState) 371 void DateTimeMinuteFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState)
372 { 372 {
373 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue); 373 dateTimeFieldsState.setMinute(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue);
(...skipping 15 matching lines...) Expand all
389 if (value > static_cast<unsigned>(maximum())) { 389 if (value > static_cast<unsigned>(maximum())) {
390 setEmptyValue(); 390 setEmptyValue();
391 return; 391 return;
392 } 392 }
393 393
394 setValueAsInteger(value); 394 setValueAsInteger(value);
395 } 395 }
396 396
397 // ---------------------------- 397 // ----------------------------
398 398
399 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document* document, FieldOw ner& fieldOwner, const String& placeholder, const Range& range) 399 DateTimeMonthFieldElement::DateTimeMonthFieldElement(Document& document, FieldOw ner& fieldOwner, const String& placeholder, const Range& range)
400 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 12), pla ceholder) 400 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(1, 12), pla ceholder)
401 { 401 {
402 } 402 }
403 403
404 PassRefPtr<DateTimeMonthFieldElement> DateTimeMonthFieldElement::create(Document * document, FieldOwner& fieldOwner, const String& placeholder, const Range& rang e) 404 PassRefPtr<DateTimeMonthFieldElement> DateTimeMonthFieldElement::create(Document & document, FieldOwner& fieldOwner, const String& placeholder, const Range& rang e)
405 { 405 {
406 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon th-field", AtomicString::ConstructFromLiteral)); 406 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon th-field", AtomicString::ConstructFromLiteral));
407 RefPtr<DateTimeMonthFieldElement> field = adoptRef(new DateTimeMonthFieldEle ment(document, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range)); 407 RefPtr<DateTimeMonthFieldElement> field = adoptRef(new DateTimeMonthFieldEle ment(document, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range));
408 field->initialize(monthPsuedoId, AXMonthFieldText()); 408 field->initialize(monthPsuedoId, AXMonthFieldText());
409 return field.release(); 409 return field.release();
410 } 410 }
411 411
412 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) 412 void DateTimeMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState)
413 { 413 {
414 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS tate::emptyValue); 414 dateTimeFieldsState.setMonth(hasValue() ? valueAsInteger() : DateTimeFieldsS tate::emptyValue);
(...skipping 15 matching lines...) Expand all
430 if (range().isInRange(static_cast<int>(value))) { 430 if (range().isInRange(static_cast<int>(value))) {
431 setValueAsInteger(value); 431 setValueAsInteger(value);
432 return; 432 return;
433 } 433 }
434 434
435 setEmptyValue(); 435 setEmptyValue();
436 } 436 }
437 437
438 // ---------------------------- 438 // ----------------------------
439 439
440 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document* document, Field Owner& fieldOwner, const Range& range, const Step& step) 440 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document& document, Field Owner& fieldOwner, const Range& range, const Step& step)
441 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "-- ", step) 441 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(0, 59), "-- ", step)
442 { 442 {
443 } 443 }
444 444
445 PassRefPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::create(Docume nt* document, FieldOwner& fieldOwner, const Range& range, const Step& step) 445 PassRefPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::create(Docume nt& document, FieldOwner& fieldOwner, const Range& range, const Step& step)
446 { 446 {
447 DEFINE_STATIC_LOCAL(AtomicString, secondPsuedoId, ("-webkit-datetime-edit-se cond-field", AtomicString::ConstructFromLiteral)); 447 DEFINE_STATIC_LOCAL(AtomicString, secondPsuedoId, ("-webkit-datetime-edit-se cond-field", AtomicString::ConstructFromLiteral));
448 RefPtr<DateTimeSecondFieldElement> field = adoptRef(new DateTimeSecondFieldE lement(document, fieldOwner, range, step)); 448 RefPtr<DateTimeSecondFieldElement> field = adoptRef(new DateTimeSecondFieldE lement(document, fieldOwner, range, step));
449 field->initialize(secondPsuedoId, AXSecondFieldText()); 449 field->initialize(secondPsuedoId, AXSecondFieldText());
450 return field.release(); 450 return field.release();
451 } 451 }
452 452
453 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState) 453 void DateTimeSecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState & dateTimeFieldsState)
454 { 454 {
455 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue); 455 dateTimeFieldsState.setSecond(hasValue() ? valueAsInteger() : DateTimeFields State::emptyValue);
(...skipping 15 matching lines...) Expand all
471 if (value > static_cast<unsigned>(maximum())) { 471 if (value > static_cast<unsigned>(maximum())) {
472 setEmptyValue(); 472 setEmptyValue();
473 return; 473 return;
474 } 474 }
475 475
476 setValueAsInteger(value); 476 setValueAsInteger(value);
477 } 477 }
478 478
479 // ---------------------------- 479 // ----------------------------
480 480
481 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document* d ocument, FieldOwner& fieldOwner, const Vector<String>& labels, int minimum, int maximum) 481 DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement(Document& d ocument, FieldOwner& fieldOwner, const Vector<String>& labels, int minimum, int maximum)
482 : DateTimeSymbolicFieldElement(document, fieldOwner, labels, minimum, maximu m) 482 : DateTimeSymbolicFieldElement(document, fieldOwner, labels, minimum, maximu m)
483 { 483 {
484 } 484 }
485 485
486 PassRefPtr<DateTimeSymbolicMonthFieldElement> DateTimeSymbolicMonthFieldElement: :create(Document* document, FieldOwner& fieldOwner, const Vector<String>& labels , int minimum, int maximum) 486 PassRefPtr<DateTimeSymbolicMonthFieldElement> DateTimeSymbolicMonthFieldElement: :create(Document& document, FieldOwner& fieldOwner, const Vector<String>& labels , int minimum, int maximum)
487 { 487 {
488 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon th-field", AtomicString::ConstructFromLiteral)); 488 DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-mon th-field", AtomicString::ConstructFromLiteral));
489 RefPtr<DateTimeSymbolicMonthFieldElement> field = adoptRef(new DateTimeSymbo licMonthFieldElement(document, fieldOwner, labels, minimum, maximum)); 489 RefPtr<DateTimeSymbolicMonthFieldElement> field = adoptRef(new DateTimeSymbo licMonthFieldElement(document, fieldOwner, labels, minimum, maximum));
490 field->initialize(monthPsuedoId, AXMonthFieldText()); 490 field->initialize(monthPsuedoId, AXMonthFieldText());
491 return field.release(); 491 return field.release();
492 } 492 }
493 493
494 void DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState(DateTimeFiel dsState& dateTimeFieldsState) 494 void DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState(DateTimeFiel dsState& dateTimeFieldsState)
495 { 495 {
496 if (!hasValue()) 496 if (!hasValue())
(...skipping 18 matching lines...) Expand all
515 if (value >= symbolsSize()) { 515 if (value >= symbolsSize()) {
516 setEmptyValue(); 516 setEmptyValue();
517 return; 517 return;
518 } 518 }
519 519
520 setValueAsInteger(value); 520 setValueAsInteger(value);
521 } 521 }
522 522
523 // ---------------------------- 523 // ----------------------------
524 524
525 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document* document, FieldOwne r& fieldOwner, const Range& range) 525 DateTimeWeekFieldElement::DateTimeWeekFieldElement(Document& document, FieldOwne r& fieldOwner, const Range& range)
526 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(DateCompone nts::minimumWeekNumber, DateComponents::maximumWeekNumber), "--") 526 : DateTimeNumericFieldElement(document, fieldOwner, range, Range(DateCompone nts::minimumWeekNumber, DateComponents::maximumWeekNumber), "--")
527 { 527 {
528 } 528 }
529 529
530 PassRefPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::create(Document* document, FieldOwner& fieldOwner, const Range& range) 530 PassRefPtr<DateTimeWeekFieldElement> DateTimeWeekFieldElement::create(Document& document, FieldOwner& fieldOwner, const Range& range)
531 { 531 {
532 DEFINE_STATIC_LOCAL(AtomicString, weekPsuedoId, ("-webkit-datetime-edit-week -field", AtomicString::ConstructFromLiteral)); 532 DEFINE_STATIC_LOCAL(AtomicString, weekPsuedoId, ("-webkit-datetime-edit-week -field", AtomicString::ConstructFromLiteral));
533 RefPtr<DateTimeWeekFieldElement> field = adoptRef(new DateTimeWeekFieldEleme nt(document, fieldOwner, range)); 533 RefPtr<DateTimeWeekFieldElement> field = adoptRef(new DateTimeWeekFieldEleme nt(document, fieldOwner, range));
534 field->initialize(weekPsuedoId, AXWeekOfYearFieldText()); 534 field->initialize(weekPsuedoId, AXWeekOfYearFieldText());
535 return field.release(); 535 return field.release();
536 } 536 }
537 537
538 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) 538 void DateTimeWeekFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState)
539 { 539 {
540 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi eldsState::emptyValue); 540 dateTimeFieldsState.setWeekOfYear(hasValue() ? valueAsInteger() : DateTimeFi eldsState::emptyValue);
(...skipping 15 matching lines...) Expand all
556 if (range().isInRange(static_cast<int>(value))) { 556 if (range().isInRange(static_cast<int>(value))) {
557 setValueAsInteger(value); 557 setValueAsInteger(value);
558 return; 558 return;
559 } 559 }
560 560
561 setEmptyValue(); 561 setEmptyValue();
562 } 562 }
563 563
564 // ---------------------------- 564 // ----------------------------
565 565
566 DateTimeYearFieldElement::DateTimeYearFieldElement(Document* document, FieldOwne r& fieldOwner, const DateTimeYearFieldElement::Parameters& parameters) 566 DateTimeYearFieldElement::DateTimeYearFieldElement(Document& document, FieldOwne r& fieldOwner, const DateTimeYearFieldElement::Parameters& parameters)
567 : DateTimeNumericFieldElement(document, fieldOwner, Range(parameters.minimum Year, parameters.maximumYear), Range(DateComponents::minimumYear(), DateComponen ts::maximumYear()), parameters.placeholder.isEmpty() ? "----" : parameters.place holder) 567 : DateTimeNumericFieldElement(document, fieldOwner, Range(parameters.minimum Year, parameters.maximumYear), Range(DateComponents::minimumYear(), DateComponen ts::maximumYear()), parameters.placeholder.isEmpty() ? "----" : parameters.place holder)
568 , m_minIsSpecified(parameters.minIsSpecified) 568 , m_minIsSpecified(parameters.minIsSpecified)
569 , m_maxIsSpecified(parameters.maxIsSpecified) 569 , m_maxIsSpecified(parameters.maxIsSpecified)
570 { 570 {
571 ASSERT(parameters.minimumYear >= DateComponents::minimumYear()); 571 ASSERT(parameters.minimumYear >= DateComponents::minimumYear());
572 ASSERT(parameters.maximumYear <= DateComponents::maximumYear()); 572 ASSERT(parameters.maximumYear <= DateComponents::maximumYear());
573 } 573 }
574 574
575 PassRefPtr<DateTimeYearFieldElement> DateTimeYearFieldElement::create(Document* document, FieldOwner& fieldOwner, const DateTimeYearFieldElement::Parameters& pa rameters) 575 PassRefPtr<DateTimeYearFieldElement> DateTimeYearFieldElement::create(Document& document, FieldOwner& fieldOwner, const DateTimeYearFieldElement::Parameters& pa rameters)
576 { 576 {
577 DEFINE_STATIC_LOCAL(AtomicString, yearPsuedoId, ("-webkit-datetime-edit-year -field", AtomicString::ConstructFromLiteral)); 577 DEFINE_STATIC_LOCAL(AtomicString, yearPsuedoId, ("-webkit-datetime-edit-year -field", AtomicString::ConstructFromLiteral));
578 RefPtr<DateTimeYearFieldElement> field = adoptRef(new DateTimeYearFieldEleme nt(document, fieldOwner, parameters)); 578 RefPtr<DateTimeYearFieldElement> field = adoptRef(new DateTimeYearFieldEleme nt(document, fieldOwner, parameters));
579 field->initialize(yearPsuedoId, AXYearFieldText()); 579 field->initialize(yearPsuedoId, AXYearFieldText());
580 return field.release(); 580 return field.release();
581 } 581 }
582 582
583 static int currentFullYear() 583 static int currentFullYear()
584 { 584 {
585 double current = currentTimeMS(); 585 double current = currentTimeMS();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 setValueAsInteger(value); 625 setValueAsInteger(value);
626 return; 626 return;
627 } 627 }
628 628
629 setEmptyValue(); 629 setEmptyValue();
630 } 630 }
631 631
632 } // namespace WebCore 632 } // namespace WebCore
633 633
634 #endif 634 #endif
OLDNEW
« no previous file with comments | « Source/core/html/shadow/DateTimeFieldElements.h ('k') | Source/core/html/shadow/DateTimeNumericFieldElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698