| 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 21 matching lines...) Expand all Loading... |
| 32 #include "core/html/shadow/DateTimeNumericFieldElement.h" | 32 #include "core/html/shadow/DateTimeNumericFieldElement.h" |
| 33 #include "core/html/shadow/DateTimeSymbolicFieldElement.h" | 33 #include "core/html/shadow/DateTimeSymbolicFieldElement.h" |
| 34 #include "wtf/Allocator.h" | 34 #include "wtf/Allocator.h" |
| 35 | 35 |
| 36 namespace blink { | 36 namespace blink { |
| 37 | 37 |
| 38 class DateTimeAMPMFieldElement final : public DateTimeSymbolicFieldElement { | 38 class DateTimeAMPMFieldElement final : public DateTimeSymbolicFieldElement { |
| 39 WTF_MAKE_NONCOPYABLE(DateTimeAMPMFieldElement); | 39 WTF_MAKE_NONCOPYABLE(DateTimeAMPMFieldElement); |
| 40 | 40 |
| 41 public: | 41 public: |
| 42 static PassRefPtrWillBeRawPtr<DateTimeAMPMFieldElement> create(Document&, Fi
eldOwner&, const Vector<String>&); | 42 static RawPtr<DateTimeAMPMFieldElement> create(Document&, FieldOwner&, const
Vector<String>&); |
| 43 | 43 |
| 44 private: | 44 private: |
| 45 DateTimeAMPMFieldElement(Document&, FieldOwner&, const Vector<String>&); | 45 DateTimeAMPMFieldElement(Document&, FieldOwner&, const Vector<String>&); |
| 46 | 46 |
| 47 // DateTimeFieldElement functions. | 47 // DateTimeFieldElement functions. |
| 48 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 48 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 49 void setValueAsDate(const DateComponents&) override; | 49 void setValueAsDate(const DateComponents&) override; |
| 50 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 50 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 51 }; | 51 }; |
| 52 | 52 |
| 53 class DateTimeDayFieldElement final : public DateTimeNumericFieldElement { | 53 class DateTimeDayFieldElement final : public DateTimeNumericFieldElement { |
| 54 WTF_MAKE_NONCOPYABLE(DateTimeDayFieldElement); | 54 WTF_MAKE_NONCOPYABLE(DateTimeDayFieldElement); |
| 55 | 55 |
| 56 public: | 56 public: |
| 57 static PassRefPtrWillBeRawPtr<DateTimeDayFieldElement> create(Document&, Fie
ldOwner&, const String& placeholder, const Range&); | 57 static RawPtr<DateTimeDayFieldElement> create(Document&, FieldOwner&, const
String& placeholder, const Range&); |
| 58 | 58 |
| 59 private: | 59 private: |
| 60 DateTimeDayFieldElement(Document&, FieldOwner&, const String& placeholder, c
onst Range&); | 60 DateTimeDayFieldElement(Document&, FieldOwner&, const String& placeholder, c
onst Range&); |
| 61 | 61 |
| 62 // DateTimeFieldElement functions. | 62 // DateTimeFieldElement functions. |
| 63 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 63 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 64 void setValueAsDate(const DateComponents&) override; | 64 void setValueAsDate(const DateComponents&) override; |
| 65 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 65 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 66 }; | 66 }; |
| 67 | 67 |
| 68 class DateTimeHourFieldElementBase : public DateTimeNumericFieldElement { | 68 class DateTimeHourFieldElementBase : public DateTimeNumericFieldElement { |
| 69 WTF_MAKE_NONCOPYABLE(DateTimeHourFieldElementBase); | 69 WTF_MAKE_NONCOPYABLE(DateTimeHourFieldElementBase); |
| 70 | 70 |
| 71 protected: | 71 protected: |
| 72 DateTimeHourFieldElementBase(Document&, FieldOwner&, const Range&, const Ran
ge& hardLimits, const Step&); | 72 DateTimeHourFieldElementBase(Document&, FieldOwner&, const Range&, const Ran
ge& hardLimits, const Step&); |
| 73 void initialize(); | 73 void initialize(); |
| 74 | 74 |
| 75 private: | 75 private: |
| 76 // DateTimeFieldElement functions. | 76 // DateTimeFieldElement functions. |
| 77 void setValueAsDate(const DateComponents&) override; | 77 void setValueAsDate(const DateComponents&) override; |
| 78 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 78 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 79 }; | 79 }; |
| 80 | 80 |
| 81 class DateTimeHour11FieldElement final : public DateTimeHourFieldElementBase { | 81 class DateTimeHour11FieldElement final : public DateTimeHourFieldElementBase { |
| 82 WTF_MAKE_NONCOPYABLE(DateTimeHour11FieldElement); | 82 WTF_MAKE_NONCOPYABLE(DateTimeHour11FieldElement); |
| 83 | 83 |
| 84 public: | 84 public: |
| 85 static PassRefPtrWillBeRawPtr<DateTimeHour11FieldElement> create(Document&,
FieldOwner&, const Range&, const Step&); | 85 static RawPtr<DateTimeHour11FieldElement> create(Document&, FieldOwner&, con
st Range&, const Step&); |
| 86 | 86 |
| 87 private: | 87 private: |
| 88 DateTimeHour11FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); | 88 DateTimeHour11FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); |
| 89 | 89 |
| 90 // DateTimeFieldElement functions. | 90 // DateTimeFieldElement functions. |
| 91 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 91 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 92 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; | 92 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; |
| 93 }; | 93 }; |
| 94 | 94 |
| 95 class DateTimeHour12FieldElement final : public DateTimeHourFieldElementBase { | 95 class DateTimeHour12FieldElement final : public DateTimeHourFieldElementBase { |
| 96 WTF_MAKE_NONCOPYABLE(DateTimeHour12FieldElement); | 96 WTF_MAKE_NONCOPYABLE(DateTimeHour12FieldElement); |
| 97 | 97 |
| 98 public: | 98 public: |
| 99 static PassRefPtrWillBeRawPtr<DateTimeHour12FieldElement> create(Document&,
FieldOwner&, const Range&, const Step&); | 99 static RawPtr<DateTimeHour12FieldElement> create(Document&, FieldOwner&, con
st Range&, const Step&); |
| 100 | 100 |
| 101 private: | 101 private: |
| 102 DateTimeHour12FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); | 102 DateTimeHour12FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); |
| 103 | 103 |
| 104 // DateTimeFieldElement functions. | 104 // DateTimeFieldElement functions. |
| 105 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 105 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 106 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; | 106 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; |
| 107 }; | 107 }; |
| 108 | 108 |
| 109 class DateTimeHour23FieldElement final : public DateTimeHourFieldElementBase { | 109 class DateTimeHour23FieldElement final : public DateTimeHourFieldElementBase { |
| 110 WTF_MAKE_NONCOPYABLE(DateTimeHour23FieldElement); | 110 WTF_MAKE_NONCOPYABLE(DateTimeHour23FieldElement); |
| 111 | 111 |
| 112 public: | 112 public: |
| 113 static PassRefPtrWillBeRawPtr<DateTimeHour23FieldElement> create(Document&,
FieldOwner&, const Range&, const Step&); | 113 static RawPtr<DateTimeHour23FieldElement> create(Document&, FieldOwner&, con
st Range&, const Step&); |
| 114 | 114 |
| 115 private: | 115 private: |
| 116 DateTimeHour23FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); | 116 DateTimeHour23FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); |
| 117 | 117 |
| 118 // DateTimeFieldElement functions. | 118 // DateTimeFieldElement functions. |
| 119 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 119 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 120 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; | 120 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; |
| 121 }; | 121 }; |
| 122 | 122 |
| 123 class DateTimeHour24FieldElement final : public DateTimeHourFieldElementBase { | 123 class DateTimeHour24FieldElement final : public DateTimeHourFieldElementBase { |
| 124 WTF_MAKE_NONCOPYABLE(DateTimeHour24FieldElement); | 124 WTF_MAKE_NONCOPYABLE(DateTimeHour24FieldElement); |
| 125 | 125 |
| 126 public: | 126 public: |
| 127 static PassRefPtrWillBeRawPtr<DateTimeHour24FieldElement> create(Document&,
FieldOwner&, const Range&, const Step&); | 127 static RawPtr<DateTimeHour24FieldElement> create(Document&, FieldOwner&, con
st Range&, const Step&); |
| 128 | 128 |
| 129 private: | 129 private: |
| 130 DateTimeHour24FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); | 130 DateTimeHour24FieldElement(Document&, FieldOwner&, const Range& hour23Range,
const Step&); |
| 131 | 131 |
| 132 // DateTimeFieldElement functions. | 132 // DateTimeFieldElement functions. |
| 133 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 133 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 134 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; | 134 void setValueAsInteger(int, EventBehavior = DispatchNoEvent) override; |
| 135 }; | 135 }; |
| 136 | 136 |
| 137 class DateTimeMillisecondFieldElement final : public DateTimeNumericFieldElement
{ | 137 class DateTimeMillisecondFieldElement final : public DateTimeNumericFieldElement
{ |
| 138 WTF_MAKE_NONCOPYABLE(DateTimeMillisecondFieldElement); | 138 WTF_MAKE_NONCOPYABLE(DateTimeMillisecondFieldElement); |
| 139 | 139 |
| 140 public: | 140 public: |
| 141 static PassRefPtrWillBeRawPtr<DateTimeMillisecondFieldElement> create(Docume
nt&, FieldOwner&, const Range&, const Step&); | 141 static RawPtr<DateTimeMillisecondFieldElement> create(Document&, FieldOwner&
, const Range&, const Step&); |
| 142 | 142 |
| 143 private: | 143 private: |
| 144 DateTimeMillisecondFieldElement(Document&, FieldOwner&, const Range&, const
Step&); | 144 DateTimeMillisecondFieldElement(Document&, FieldOwner&, const Range&, const
Step&); |
| 145 | 145 |
| 146 // DateTimeFieldElement functions. | 146 // DateTimeFieldElement functions. |
| 147 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 147 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 148 void setValueAsDate(const DateComponents&) override; | 148 void setValueAsDate(const DateComponents&) override; |
| 149 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 149 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 150 }; | 150 }; |
| 151 | 151 |
| 152 class DateTimeMinuteFieldElement final : public DateTimeNumericFieldElement { | 152 class DateTimeMinuteFieldElement final : public DateTimeNumericFieldElement { |
| 153 WTF_MAKE_NONCOPYABLE(DateTimeMinuteFieldElement); | 153 WTF_MAKE_NONCOPYABLE(DateTimeMinuteFieldElement); |
| 154 | 154 |
| 155 public: | 155 public: |
| 156 static PassRefPtrWillBeRawPtr<DateTimeMinuteFieldElement> create(Document&,
FieldOwner&, const Range&, const Step&); | 156 static RawPtr<DateTimeMinuteFieldElement> create(Document&, FieldOwner&, con
st Range&, const Step&); |
| 157 | 157 |
| 158 private: | 158 private: |
| 159 DateTimeMinuteFieldElement(Document&, FieldOwner&, const Range&, const Step&
); | 159 DateTimeMinuteFieldElement(Document&, FieldOwner&, const Range&, const Step&
); |
| 160 | 160 |
| 161 // DateTimeFieldElement functions. | 161 // DateTimeFieldElement functions. |
| 162 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 162 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 163 void setValueAsDate(const DateComponents&) override; | 163 void setValueAsDate(const DateComponents&) override; |
| 164 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 164 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 165 }; | 165 }; |
| 166 | 166 |
| 167 class DateTimeMonthFieldElement final : public DateTimeNumericFieldElement { | 167 class DateTimeMonthFieldElement final : public DateTimeNumericFieldElement { |
| 168 WTF_MAKE_NONCOPYABLE(DateTimeMonthFieldElement); | 168 WTF_MAKE_NONCOPYABLE(DateTimeMonthFieldElement); |
| 169 | 169 |
| 170 public: | 170 public: |
| 171 static PassRefPtrWillBeRawPtr<DateTimeMonthFieldElement> create(Document&, F
ieldOwner&, const String& placeholder, const Range&); | 171 static RawPtr<DateTimeMonthFieldElement> create(Document&, FieldOwner&, cons
t String& placeholder, const Range&); |
| 172 | 172 |
| 173 private: | 173 private: |
| 174 DateTimeMonthFieldElement(Document&, FieldOwner&, const String& placeholder,
const Range&); | 174 DateTimeMonthFieldElement(Document&, FieldOwner&, const String& placeholder,
const Range&); |
| 175 | 175 |
| 176 // DateTimeFieldElement functions. | 176 // DateTimeFieldElement functions. |
| 177 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 177 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 178 void setValueAsDate(const DateComponents&) override; | 178 void setValueAsDate(const DateComponents&) override; |
| 179 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 179 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 180 }; | 180 }; |
| 181 | 181 |
| 182 class DateTimeSecondFieldElement final : public DateTimeNumericFieldElement { | 182 class DateTimeSecondFieldElement final : public DateTimeNumericFieldElement { |
| 183 WTF_MAKE_NONCOPYABLE(DateTimeSecondFieldElement); | 183 WTF_MAKE_NONCOPYABLE(DateTimeSecondFieldElement); |
| 184 | 184 |
| 185 public: | 185 public: |
| 186 static PassRefPtrWillBeRawPtr<DateTimeSecondFieldElement> create(Document&,
FieldOwner&, const Range&, const Step&); | 186 static RawPtr<DateTimeSecondFieldElement> create(Document&, FieldOwner&, con
st Range&, const Step&); |
| 187 | 187 |
| 188 private: | 188 private: |
| 189 DateTimeSecondFieldElement(Document&, FieldOwner&, const Range&, const Step&
); | 189 DateTimeSecondFieldElement(Document&, FieldOwner&, const Range&, const Step&
); |
| 190 | 190 |
| 191 // DateTimeFieldElement functions. | 191 // DateTimeFieldElement functions. |
| 192 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 192 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 193 void setValueAsDate(const DateComponents&) override; | 193 void setValueAsDate(const DateComponents&) override; |
| 194 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 194 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 195 }; | 195 }; |
| 196 | 196 |
| 197 class DateTimeSymbolicMonthFieldElement final : public DateTimeSymbolicFieldElem
ent { | 197 class DateTimeSymbolicMonthFieldElement final : public DateTimeSymbolicFieldElem
ent { |
| 198 WTF_MAKE_NONCOPYABLE(DateTimeSymbolicMonthFieldElement); | 198 WTF_MAKE_NONCOPYABLE(DateTimeSymbolicMonthFieldElement); |
| 199 | 199 |
| 200 public: | 200 public: |
| 201 static PassRefPtrWillBeRawPtr<DateTimeSymbolicMonthFieldElement> create(Docu
ment&, FieldOwner&, const Vector<String>&, int minimum, int maximum); | 201 static RawPtr<DateTimeSymbolicMonthFieldElement> create(Document&, FieldOwne
r&, const Vector<String>&, int minimum, int maximum); |
| 202 | 202 |
| 203 private: | 203 private: |
| 204 DateTimeSymbolicMonthFieldElement(Document&, FieldOwner&, const Vector<Strin
g>&, int minimum, int maximum); | 204 DateTimeSymbolicMonthFieldElement(Document&, FieldOwner&, const Vector<Strin
g>&, int minimum, int maximum); |
| 205 | 205 |
| 206 // DateTimeFieldElement functions. | 206 // DateTimeFieldElement functions. |
| 207 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 207 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 208 void setValueAsDate(const DateComponents&) override; | 208 void setValueAsDate(const DateComponents&) override; |
| 209 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 209 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 210 }; | 210 }; |
| 211 | 211 |
| 212 class DateTimeWeekFieldElement final : public DateTimeNumericFieldElement { | 212 class DateTimeWeekFieldElement final : public DateTimeNumericFieldElement { |
| 213 WTF_MAKE_NONCOPYABLE(DateTimeWeekFieldElement); | 213 WTF_MAKE_NONCOPYABLE(DateTimeWeekFieldElement); |
| 214 | 214 |
| 215 public: | 215 public: |
| 216 static PassRefPtrWillBeRawPtr<DateTimeWeekFieldElement> create(Document&, Fi
eldOwner&, const Range&); | 216 static RawPtr<DateTimeWeekFieldElement> create(Document&, FieldOwner&, const
Range&); |
| 217 | 217 |
| 218 private: | 218 private: |
| 219 DateTimeWeekFieldElement(Document&, FieldOwner&, const Range&); | 219 DateTimeWeekFieldElement(Document&, FieldOwner&, const Range&); |
| 220 | 220 |
| 221 // DateTimeFieldElement functions. | 221 // DateTimeFieldElement functions. |
| 222 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 222 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 223 void setValueAsDate(const DateComponents&) override; | 223 void setValueAsDate(const DateComponents&) override; |
| 224 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 224 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 225 }; | 225 }; |
| 226 | 226 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 238 | 238 |
| 239 Parameters() | 239 Parameters() |
| 240 : minimumYear(-1) | 240 : minimumYear(-1) |
| 241 , maximumYear(-1) | 241 , maximumYear(-1) |
| 242 , minIsSpecified(false) | 242 , minIsSpecified(false) |
| 243 , maxIsSpecified(false) | 243 , maxIsSpecified(false) |
| 244 { | 244 { |
| 245 } | 245 } |
| 246 }; | 246 }; |
| 247 | 247 |
| 248 static PassRefPtrWillBeRawPtr<DateTimeYearFieldElement> create(Document&, Fi
eldOwner&, const Parameters&); | 248 static RawPtr<DateTimeYearFieldElement> create(Document&, FieldOwner&, const
Parameters&); |
| 249 | 249 |
| 250 private: | 250 private: |
| 251 DateTimeYearFieldElement(Document&, FieldOwner&, const Parameters&); | 251 DateTimeYearFieldElement(Document&, FieldOwner&, const Parameters&); |
| 252 | 252 |
| 253 // DateTimeFieldElement functions. | 253 // DateTimeFieldElement functions. |
| 254 void populateDateTimeFieldsState(DateTimeFieldsState&) override; | 254 void populateDateTimeFieldsState(DateTimeFieldsState&) override; |
| 255 void setValueAsDate(const DateComponents&) override; | 255 void setValueAsDate(const DateComponents&) override; |
| 256 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; | 256 void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) override; |
| 257 | 257 |
| 258 // DateTimeNumericFieldElement functions. | 258 // DateTimeNumericFieldElement functions. |
| 259 int defaultValueForStepDown() const override; | 259 int defaultValueForStepDown() const override; |
| 260 int defaultValueForStepUp() const override; | 260 int defaultValueForStepUp() const override; |
| 261 | 261 |
| 262 bool m_minIsSpecified; | 262 bool m_minIsSpecified; |
| 263 bool m_maxIsSpecified; | 263 bool m_maxIsSpecified; |
| 264 }; | 264 }; |
| 265 | 265 |
| 266 } // namespace blink | 266 } // namespace blink |
| 267 | 267 |
| 268 #endif | 268 #endif |
| 269 #endif | 269 #endif |
| OLD | NEW |