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

Side by Side Diff: tools/dom/templates/html/impl/impl_HTMLInputElement.darttemplate

Issue 11887006: Changed @domName annotation in comment to full fledge @DomName annotation. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes. Created 7 years, 11 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 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of $LIBRARYNAME; 5 part of $LIBRARYNAME;
6 6 $ANNOTATIONS
7 /// @domName $DOMNAME
8 class $CLASSNAME$EXTENDS implements 7 class $CLASSNAME$EXTENDS implements
9 HiddenInputElement, 8 HiddenInputElement,
10 SearchInputElement, 9 SearchInputElement,
11 TextInputElement, 10 TextInputElement,
12 UrlInputElement, 11 UrlInputElement,
13 TelephoneInputElement, 12 TelephoneInputElement,
14 EmailInputElement, 13 EmailInputElement,
15 PasswordInputElement, 14 PasswordInputElement,
16 DateTimeInputElement, 15 DateTimeInputElement,
17 DateInputElement, 16 DateInputElement,
18 MonthInputElement, 17 MonthInputElement,
19 WeekInputElement, 18 WeekInputElement,
20 TimeInputElement, 19 TimeInputElement,
21 LocalDateTimeInputElement, 20 LocalDateTimeInputElement,
22 NumberInputElement, 21 NumberInputElement,
23 RangeInputElement, 22 RangeInputElement,
24 CheckboxInputElement, 23 CheckboxInputElement,
25 RadioButtonInputElement, 24 RadioButtonInputElement,
26 FileUploadInputElement, 25 FileUploadInputElement,
27 SubmitButtonInputElement, 26 SubmitButtonInputElement,
28 ImageButtonInputElement, 27 ImageButtonInputElement,
29 ResetButtonInputElement, 28 ResetButtonInputElement,
30 ButtonInputElement 29 ButtonInputElement
31 $NATIVESPEC { 30 $NATIVESPEC {
32 31
33 ///@docsEditable true 32 /// @docsEditable true
34 factory InputElement({String type}) { 33 factory InputElement({String type}) {
35 var e = document.$dom_createElement("input"); 34 var e = document.$dom_createElement("input");
36 if (type != null) { 35 if (type != null) {
37 try { 36 try {
38 // IE throws an exception for unknown types. 37 // IE throws an exception for unknown types.
39 e.type = type; 38 e.type = type;
40 } catch(_) {} 39 } catch(_) {}
41 } 40 }
42 return e; 41 return e;
43 } 42 }
44 $!MEMBERS 43 $!MEMBERS
45 } 44 }
46 45
47 46
48 // Interfaces representing the InputElement APIs which are supported 47 // Interfaces representing the InputElement APIs which are supported
49 // for the various types of InputElement. 48 // for the various types of InputElement.
50 // From http://dev.w3.org/html5/spec/the-input-element.html#the-input-element. 49 // From http://dev.w3.org/html5/spec/the-input-element.html#the-input-element.
51 50
52 /** 51 /**
53 * Exposes the functionality common between all InputElement types. 52 * Exposes the functionality common between all InputElement types.
54 */ 53 */
55 abstract class InputElementBase implements Element { 54 abstract class InputElementBase implements Element {
56 /// @domName HTMLInputElement.autofocus 55 @DomName('HTMLInputElement.autofocus')
57 bool autofocus; 56 bool autofocus;
58 57
59 /// @domName HTMLInputElement.disabled 58 @DomName('HTMLInputElement.disabled')
60 bool disabled; 59 bool disabled;
61 60
62 /// @domName HTMLInputElement.incremental 61 @DomName('HTMLInputElement.incremental')
63 bool incremental; 62 bool incremental;
64 63
65 /// @domName HTMLInputElement.indeterminate 64 @DomName('HTMLInputElement.indeterminate')
66 bool indeterminate; 65 bool indeterminate;
67 66
68 /// @domName HTMLInputElement.labels 67 @DomName('HTMLInputElement.labels')
69 List<Node> get labels; 68 List<Node> get labels;
70 69
71 /// @domName HTMLInputElement.name 70 @DomName('HTMLInputElement.name')
72 String name; 71 String name;
73 72
74 /// @domName HTMLInputElement.validationMessage 73 @DomName('HTMLInputElement.validationMessage')
75 String get validationMessage; 74 String get validationMessage;
76 75
77 /// @domName HTMLInputElement.validity 76 @DomName('HTMLInputElement.validity')
78 ValidityState get validity; 77 ValidityState get validity;
79 78
80 /// @domName HTMLInputElement.value 79 @DomName('HTMLInputElement.value')
81 String value; 80 String value;
82 81
83 /// @domName HTMLInputElement.willValidate 82 @DomName('HTMLInputElement.willValidate')
84 bool get willValidate; 83 bool get willValidate;
85 84
86 /// @domName HTMLInputElement.checkValidity 85 @DomName('HTMLInputElement.checkValidity')
87 bool checkValidity(); 86 bool checkValidity();
88 87
89 /// @domName HTMLInputElement.setCustomValidity 88 @DomName('HTMLInputElement.setCustomValidity')
90 void setCustomValidity(String error); 89 void setCustomValidity(String error);
91 } 90 }
92 91
93 /** 92 /**
94 * Hidden input which is not intended to be seen or edited by the user. 93 * Hidden input which is not intended to be seen or edited by the user.
95 */ 94 */
96 abstract class HiddenInputElement implements Element { 95 abstract class HiddenInputElement implements Element {
97 factory HiddenInputElement() => new InputElement(type: 'hidden'); 96 factory HiddenInputElement() => new InputElement(type: 'hidden');
98 } 97 }
99 98
100 99
101 /** 100 /**
102 * Base interface for all inputs which involve text editing. 101 * Base interface for all inputs which involve text editing.
103 */ 102 */
104 abstract class TextInputElementBase implements InputElementBase { 103 abstract class TextInputElementBase implements InputElementBase {
105 /// @domName HTMLInputElement.autocomplete 104 @DomName('HTMLInputElement.autocomplete')
106 String autocomplete; 105 String autocomplete;
107 106
108 /// @domName HTMLInputElement.maxLength 107 @DomName('HTMLInputElement.maxLength')
109 int maxLength; 108 int maxLength;
110 109
111 /// @domName HTMLInputElement.pattern 110 @DomName('HTMLInputElement.pattern')
112 String pattern; 111 String pattern;
113 112
114 /// @domName HTMLInputElement.placeholder 113 @DomName('HTMLInputElement.placeholder')
115 String placeholder; 114 String placeholder;
116 115
117 /// @domName HTMLInputElement.readOnly 116 @DomName('HTMLInputElement.readOnly')
118 bool readOnly; 117 bool readOnly;
119 118
120 /// @domName HTMLInputElement.required 119 @DomName('HTMLInputElement.required')
121 bool required; 120 bool required;
122 121
123 /// @domName HTMLInputElement.size 122 @DomName('HTMLInputElement.size')
124 int size; 123 int size;
125 124
126 /// @domName HTMLInputElement.select 125 @DomName('HTMLInputElement.select')
127 void select(); 126 void select();
128 127
129 /// @domName HTMLInputElement.selectionDirection 128 @DomName('HTMLInputElement.selectionDirection')
130 String selectionDirection; 129 String selectionDirection;
131 130
132 /// @domName HTMLInputElement.selectionEnd 131 @DomName('HTMLInputElement.selectionEnd')
133 int selectionEnd; 132 int selectionEnd;
134 133
135 /// @domName HTMLInputElement.selectionStart 134 @DomName('HTMLInputElement.selectionStart')
136 int selectionStart; 135 int selectionStart;
137 136
138 /// @domName HTMLInputElement.setSelectionRange 137 @DomName('HTMLInputElement.setSelectionRange')
139 void setSelectionRange(int start, int end, [String direction]); 138 void setSelectionRange(int start, int end, [String direction]);
140 } 139 }
141 140
142 /** 141 /**
143 * Similar to [TextInputElement], but on platforms where search is styled 142 * Similar to [TextInputElement], but on platforms where search is styled
144 * differently this will get the search style. 143 * differently this will get the search style.
145 * 144 *
146 * Use [supported] to check if this is supported on the current platform. 145 * Use [supported] to check if this is supported on the current platform.
147 */ 146 */
148 @SupportedBrowser(SupportedBrowser.CHROME) 147 @SupportedBrowser(SupportedBrowser.CHROME)
149 @SupportedBrowser(SupportedBrowser.FIREFOX) 148 @SupportedBrowser(SupportedBrowser.FIREFOX)
150 @SupportedBrowser(SupportedBrowser.IE, '10') 149 @SupportedBrowser(SupportedBrowser.IE, '10')
151 @SupportedBrowser(SupportedBrowser.SAFARI) 150 @SupportedBrowser(SupportedBrowser.SAFARI)
152 abstract class SearchInputElement implements TextInputElementBase { 151 abstract class SearchInputElement implements TextInputElementBase {
153 factory SearchInputElement() => new InputElement(type: 'search'); 152 factory SearchInputElement() => new InputElement(type: 'search');
154 153
155 /// @domName HTMLInputElement.dirName; 154 @DomName('HTMLInputElement.dirName')
156 String dirName; 155 String dirName;
157 156
158 /// @domName HTMLInputElement.list; 157 @DomName('HTMLInputElement.list')
159 Element get list; 158 Element get list;
160 159
161 /// Returns true if this input type is supported on the current platform. 160 /// Returns true if this input type is supported on the current platform.
162 static bool get supported { 161 static bool get supported {
163 return (new InputElement(type: 'search')).type == 'search'; 162 return (new InputElement(type: 'search')).type == 'search';
164 } 163 }
165 } 164 }
166 165
167 /** 166 /**
168 * A basic text input editor control. 167 * A basic text input editor control.
169 */ 168 */
170 abstract class TextInputElement implements TextInputElementBase { 169 abstract class TextInputElement implements TextInputElementBase {
171 factory TextInputElement() => new InputElement(type: 'text'); 170 factory TextInputElement() => new InputElement(type: 'text');
172 171
173 /// @domName HTMLInputElement.dirName; 172 @DomName('HTMLInputElement.dirName')
174 String dirName; 173 String dirName;
175 174
176 /// @domName HTMLInputElement.list; 175 @DomName('HTMLInputElement.list')
177 Element get list; 176 Element get list;
178 } 177 }
179 178
180 /** 179 /**
181 * A control for editing an absolute URL. 180 * A control for editing an absolute URL.
182 * 181 *
183 * Use [supported] to check if this is supported on the current platform. 182 * Use [supported] to check if this is supported on the current platform.
184 */ 183 */
185 @SupportedBrowser(SupportedBrowser.CHROME) 184 @SupportedBrowser(SupportedBrowser.CHROME)
186 @SupportedBrowser(SupportedBrowser.FIREFOX) 185 @SupportedBrowser(SupportedBrowser.FIREFOX)
187 @SupportedBrowser(SupportedBrowser.IE, '10') 186 @SupportedBrowser(SupportedBrowser.IE, '10')
188 @SupportedBrowser(SupportedBrowser.SAFARI) 187 @SupportedBrowser(SupportedBrowser.SAFARI)
189 abstract class UrlInputElement implements TextInputElementBase { 188 abstract class UrlInputElement implements TextInputElementBase {
190 factory UrlInputElement() => new InputElement(type: 'url'); 189 factory UrlInputElement() => new InputElement(type: 'url');
191 190
192 /// @domName HTMLInputElement.list; 191 @DomName('HTMLInputElement.list')
193 Element get list; 192 Element get list;
194 193
195 /// Returns true if this input type is supported on the current platform. 194 /// Returns true if this input type is supported on the current platform.
196 static bool get supported { 195 static bool get supported {
197 return (new InputElement(type: 'url')).type == 'url'; 196 return (new InputElement(type: 'url')).type == 'url';
198 } 197 }
199 } 198 }
200 199
201 /** 200 /**
202 * Represents a control for editing a telephone number. 201 * Represents a control for editing a telephone number.
203 * 202 *
204 * This provides a single line of text with minimal formatting help since 203 * This provides a single line of text with minimal formatting help since
205 * there is a wide variety of telephone numbers. 204 * there is a wide variety of telephone numbers.
206 * 205 *
207 * Use [supported] to check if this is supported on the current platform. 206 * Use [supported] to check if this is supported on the current platform.
208 */ 207 */
209 @SupportedBrowser(SupportedBrowser.CHROME) 208 @SupportedBrowser(SupportedBrowser.CHROME)
210 @SupportedBrowser(SupportedBrowser.FIREFOX) 209 @SupportedBrowser(SupportedBrowser.FIREFOX)
211 @SupportedBrowser(SupportedBrowser.IE, '10') 210 @SupportedBrowser(SupportedBrowser.IE, '10')
212 @SupportedBrowser(SupportedBrowser.SAFARI) 211 @SupportedBrowser(SupportedBrowser.SAFARI)
213 abstract class TelephoneInputElement implements TextInputElementBase { 212 abstract class TelephoneInputElement implements TextInputElementBase {
214 factory TelephoneInputElement() => new InputElement(type: 'tel'); 213 factory TelephoneInputElement() => new InputElement(type: 'tel');
215 214
216 /// @domName HTMLInputElement.list; 215 @DomName('HTMLInputElement.list')
217 Element get list; 216 Element get list;
218 217
219 /// Returns true if this input type is supported on the current platform. 218 /// Returns true if this input type is supported on the current platform.
220 static bool get supported { 219 static bool get supported {
221 return (new InputElement(type: 'tel')).type == 'tel'; 220 return (new InputElement(type: 'tel')).type == 'tel';
222 } 221 }
223 } 222 }
224 223
225 /** 224 /**
226 * An e-mail address or list of e-mail addresses. 225 * An e-mail address or list of e-mail addresses.
227 * 226 *
228 * Use [supported] to check if this is supported on the current platform. 227 * Use [supported] to check if this is supported on the current platform.
229 */ 228 */
230 @SupportedBrowser(SupportedBrowser.CHROME) 229 @SupportedBrowser(SupportedBrowser.CHROME)
231 @SupportedBrowser(SupportedBrowser.FIREFOX) 230 @SupportedBrowser(SupportedBrowser.FIREFOX)
232 @SupportedBrowser(SupportedBrowser.IE, '10') 231 @SupportedBrowser(SupportedBrowser.IE, '10')
233 @SupportedBrowser(SupportedBrowser.SAFARI) 232 @SupportedBrowser(SupportedBrowser.SAFARI)
234 abstract class EmailInputElement implements TextInputElementBase { 233 abstract class EmailInputElement implements TextInputElementBase {
235 factory EmailInputElement() => new InputElement(type: 'email'); 234 factory EmailInputElement() => new InputElement(type: 'email');
236 235
237 /// @domName HTMLInputElement.autocomplete 236 @DomName('HTMLInputElement.autocomplete')
238 String autocomplete; 237 String autocomplete;
239 238
240 /// @domName HTMLInputElement.autofocus 239 @DomName('HTMLInputElement.autofocus')
241 bool autofocus; 240 bool autofocus;
242 241
243 /// @domName HTMLInputElement.list; 242 @DomName('HTMLInputElement.list')
244 Element get list; 243 Element get list;
245 244
246 /// @domName HTMLInputElement.maxLength 245 @DomName('HTMLInputElement.maxLength')
247 int maxLength; 246 int maxLength;
248 247
249 /// @domName HTMLInputElement.multiple; 248 @DomName('HTMLInputElement.multiple')
250 bool multiple; 249 bool multiple;
251 250
252 /// @domName HTMLInputElement.pattern 251 @DomName('HTMLInputElement.pattern')
253 String pattern; 252 String pattern;
254 253
255 /// @domName HTMLInputElement.placeholder 254 @DomName('HTMLInputElement.placeholder')
256 String placeholder; 255 String placeholder;
257 256
258 /// @domName HTMLInputElement.readOnly 257 @DomName('HTMLInputElement.readOnly')
259 bool readOnly; 258 bool readOnly;
260 259
261 /// @domName HTMLInputElement.required 260 @DomName('HTMLInputElement.required')
262 bool required; 261 bool required;
263 262
264 /// @domName HTMLInputElement.size 263 @DomName('HTMLInputElement.size')
265 int size; 264 int size;
266 265
267 /// Returns true if this input type is supported on the current platform. 266 /// Returns true if this input type is supported on the current platform.
268 static bool get supported { 267 static bool get supported {
269 return (new InputElement(type: 'email')).type == 'email'; 268 return (new InputElement(type: 'email')).type == 'email';
270 } 269 }
271 } 270 }
272 271
273 /** 272 /**
274 * Text with no line breaks (sensitive information). 273 * Text with no line breaks (sensitive information).
275 */ 274 */
276 abstract class PasswordInputElement implements TextInputElementBase { 275 abstract class PasswordInputElement implements TextInputElementBase {
277 factory PasswordInputElement() => new InputElement(type: 'password'); 276 factory PasswordInputElement() => new InputElement(type: 'password');
278 } 277 }
279 278
280 /** 279 /**
281 * Base interface for all input element types which involve ranges. 280 * Base interface for all input element types which involve ranges.
282 */ 281 */
283 abstract class RangeInputElementBase implements InputElementBase { 282 abstract class RangeInputElementBase implements InputElementBase {
284 283
285 /// @domName HTMLInputElement.list 284 @DomName('HTMLInputElement.list')
286 Element get list; 285 Element get list;
287 286
288 /// @domName HTMLInputElement.max 287 @DomName('HTMLInputElement.max')
289 String max; 288 String max;
290 289
291 /// @domName HTMLInputElement.min 290 @DomName('HTMLInputElement.min')
292 String min; 291 String min;
293 292
294 /// @domName HTMLInputElement.step 293 @DomName('HTMLInputElement.step')
295 String step; 294 String step;
296 295
297 /// @domName HTMLInputElement.valueAsNumber 296 @DomName('HTMLInputElement.valueAsNumber')
298 num valueAsNumber; 297 num valueAsNumber;
299 298
300 /// @domName HTMLInputElement.stepDown 299 @DomName('HTMLInputElement.stepDown')
301 void stepDown([int n]); 300 void stepDown([int n]);
302 301
303 /// @domName HTMLInputElement.stepUp 302 @DomName('HTMLInputElement.stepUp')
304 void stepUp([int n]); 303 void stepUp([int n]);
305 } 304 }
306 305
307 /** 306 /**
308 * A date and time (year, month, day, hour, minute, second, fraction of a 307 * A date and time (year, month, day, hour, minute, second, fraction of a
309 * second) with the time zone set to UTC. 308 * second) with the time zone set to UTC.
310 * 309 *
311 * Use [supported] to check if this is supported on the current platform. 310 * Use [supported] to check if this is supported on the current platform.
312 */ 311 */
313 @SupportedBrowser(SupportedBrowser.CHROME, '25') 312 @SupportedBrowser(SupportedBrowser.CHROME, '25')
314 @Experimental() 313 @Experimental()
315 abstract class DateTimeInputElement implements RangeInputElementBase { 314 abstract class DateTimeInputElement implements RangeInputElementBase {
316 factory DateTimeInputElement() => new InputElement(type: 'datetime'); 315 factory DateTimeInputElement() => new InputElement(type: 'datetime');
317 316
318 /// @domName HTMLInputElement.valueAsDate 317 @DomName('HTMLInputElement.valueAsDate')
319 Date valueAsDate; 318 Date valueAsDate;
320 319
321 /// @domName HTMLInputElement.readOnly 320 @DomName('HTMLInputElement.readOnly')
322 bool readOnly; 321 bool readOnly;
323 322
324 /// @domName HTMLInputElement.required 323 @DomName('HTMLInputElement.required')
325 bool required; 324 bool required;
326 325
327 /// Returns true if this input type is supported on the current platform. 326 /// Returns true if this input type is supported on the current platform.
328 static bool get supported { 327 static bool get supported {
329 return (new InputElement(type: 'datetime')).type == 'datetime'; 328 return (new InputElement(type: 'datetime')).type == 'datetime';
330 } 329 }
331 } 330 }
332 331
333 /** 332 /**
334 * A date (year, month, day) with no time zone. 333 * A date (year, month, day) with no time zone.
335 * 334 *
336 * Use [supported] to check if this is supported on the current platform. 335 * Use [supported] to check if this is supported on the current platform.
337 */ 336 */
338 @SupportedBrowser(SupportedBrowser.CHROME, '25') 337 @SupportedBrowser(SupportedBrowser.CHROME, '25')
339 @Experimental() 338 @Experimental()
340 abstract class DateInputElement implements RangeInputElementBase { 339 abstract class DateInputElement implements RangeInputElementBase {
341 factory DateInputElement() => new InputElement(type: 'date'); 340 factory DateInputElement() => new InputElement(type: 'date');
342 341
343 /// @domName HTMLInputElement.valueAsDate 342 @DomName('HTMLInputElement.valueAsDate')
344 Date valueAsDate; 343 Date valueAsDate;
345 344
346 /// @domName HTMLInputElement.readOnly 345 @DomName('HTMLInputElement.readOnly')
347 bool readOnly; 346 bool readOnly;
348 347
349 /// @domName HTMLInputElement.required 348 @DomName('HTMLInputElement.required')
350 bool required; 349 bool required;
351 350
352 /// Returns true if this input type is supported on the current platform. 351 /// Returns true if this input type is supported on the current platform.
353 static bool get supported { 352 static bool get supported {
354 return (new InputElement(type: 'date')).type == 'date'; 353 return (new InputElement(type: 'date')).type == 'date';
355 } 354 }
356 } 355 }
357 356
358 /** 357 /**
359 * A date consisting of a year and a month with no time zone. 358 * A date consisting of a year and a month with no time zone.
360 * 359 *
361 * Use [supported] to check if this is supported on the current platform. 360 * Use [supported] to check if this is supported on the current platform.
362 */ 361 */
363 @SupportedBrowser(SupportedBrowser.CHROME, '25') 362 @SupportedBrowser(SupportedBrowser.CHROME, '25')
364 @Experimental() 363 @Experimental()
365 abstract class MonthInputElement implements RangeInputElementBase { 364 abstract class MonthInputElement implements RangeInputElementBase {
366 factory MonthInputElement() => new InputElement(type: 'month'); 365 factory MonthInputElement() => new InputElement(type: 'month');
367 366
368 /// @domName HTMLInputElement.valueAsDate 367 @DomName('HTMLInputElement.valueAsDate')
369 Date valueAsDate; 368 Date valueAsDate;
370 369
371 /// @domName HTMLInputElement.readOnly 370 @DomName('HTMLInputElement.readOnly')
372 bool readOnly; 371 bool readOnly;
373 372
374 /// @domName HTMLInputElement.required 373 @DomName('HTMLInputElement.required')
375 bool required; 374 bool required;
376 375
377 /// Returns true if this input type is supported on the current platform. 376 /// Returns true if this input type is supported on the current platform.
378 static bool get supported { 377 static bool get supported {
379 return (new InputElement(type: 'month')).type == 'month'; 378 return (new InputElement(type: 'month')).type == 'month';
380 } 379 }
381 } 380 }
382 381
383 /** 382 /**
384 * A date consisting of a week-year number and a week number with no time zone. 383 * A date consisting of a week-year number and a week number with no time zone.
385 * 384 *
386 * Use [supported] to check if this is supported on the current platform. 385 * Use [supported] to check if this is supported on the current platform.
387 */ 386 */
388 @SupportedBrowser(SupportedBrowser.CHROME, '25') 387 @SupportedBrowser(SupportedBrowser.CHROME, '25')
389 @Experimental() 388 @Experimental()
390 abstract class WeekInputElement implements RangeInputElementBase { 389 abstract class WeekInputElement implements RangeInputElementBase {
391 factory WeekInputElement() => new InputElement(type: 'week'); 390 factory WeekInputElement() => new InputElement(type: 'week');
392 391
393 /// @domName HTMLInputElement.valueAsDate 392 @DomName('HTMLInputElement.valueAsDate')
394 Date valueAsDate; 393 Date valueAsDate;
395 394
396 /// @domName HTMLInputElement.readOnly 395 @DomName('HTMLInputElement.readOnly')
397 bool readOnly; 396 bool readOnly;
398 397
399 /// @domName HTMLInputElement.required 398 @DomName('HTMLInputElement.required')
400 bool required; 399 bool required;
401 400
402 /// Returns true if this input type is supported on the current platform. 401 /// Returns true if this input type is supported on the current platform.
403 static bool get supported { 402 static bool get supported {
404 return (new InputElement(type: 'week')).type == 'week'; 403 return (new InputElement(type: 'week')).type == 'week';
405 } 404 }
406 } 405 }
407 406
408 /** 407 /**
409 * A time (hour, minute, seconds, fractional seconds) with no time zone. 408 * A time (hour, minute, seconds, fractional seconds) with no time zone.
410 * 409 *
411 * Use [supported] to check if this is supported on the current platform. 410 * Use [supported] to check if this is supported on the current platform.
412 */ 411 */
413 @SupportedBrowser(SupportedBrowser.CHROME) 412 @SupportedBrowser(SupportedBrowser.CHROME)
414 @Experimental() 413 @Experimental()
415 abstract class TimeInputElement implements RangeInputElementBase { 414 abstract class TimeInputElement implements RangeInputElementBase {
416 factory TimeInputElement() => new InputElement(type: 'time'); 415 factory TimeInputElement() => new InputElement(type: 'time');
417 416
418 /// @domName HTMLInputElement.valueAsDate 417 @DomName('HTMLInputElement.valueAsDate')
419 Date valueAsDate; 418 Date valueAsDate;
420 419
421 /// @domName HTMLInputElement.readOnly 420 @DomName('HTMLInputElement.readOnly')
422 bool readOnly; 421 bool readOnly;
423 422
424 /// @domName HTMLInputElement.required 423 @DomName('HTMLInputElement.required')
425 bool required; 424 bool required;
426 425
427 /// Returns true if this input type is supported on the current platform. 426 /// Returns true if this input type is supported on the current platform.
428 static bool get supported { 427 static bool get supported {
429 return (new InputElement(type: 'time')).type == 'time'; 428 return (new InputElement(type: 'time')).type == 'time';
430 } 429 }
431 } 430 }
432 431
433 /** 432 /**
434 * A date and time (year, month, day, hour, minute, second, fraction of a 433 * A date and time (year, month, day, hour, minute, second, fraction of a
435 * second) with no time zone. 434 * second) with no time zone.
436 * 435 *
437 * Use [supported] to check if this is supported on the current platform. 436 * Use [supported] to check if this is supported on the current platform.
438 */ 437 */
439 @SupportedBrowser(SupportedBrowser.CHROME, '25') 438 @SupportedBrowser(SupportedBrowser.CHROME, '25')
440 @Experimental() 439 @Experimental()
441 abstract class LocalDateTimeInputElement implements RangeInputElementBase { 440 abstract class LocalDateTimeInputElement implements RangeInputElementBase {
442 factory LocalDateTimeInputElement() => 441 factory LocalDateTimeInputElement() =>
443 new InputElement(type: 'datetime-local'); 442 new InputElement(type: 'datetime-local');
444 443
445 /// @domName HTMLInputElement.readOnly 444 @DomName('HTMLInputElement.readOnly')
446 bool readOnly; 445 bool readOnly;
447 446
448 /// @domName HTMLInputElement.required 447 @DomName('HTMLInputElement.required')
449 bool required; 448 bool required;
450 449
451 /// Returns true if this input type is supported on the current platform. 450 /// Returns true if this input type is supported on the current platform.
452 static bool get supported { 451 static bool get supported {
453 return (new InputElement(type: 'datetime-local')).type == 'datetime-local'; 452 return (new InputElement(type: 'datetime-local')).type == 'datetime-local';
454 } 453 }
455 } 454 }
456 455
457 /** 456 /**
458 * A numeric editor control. 457 * A numeric editor control.
459 */ 458 */
460 @SupportedBrowser(SupportedBrowser.CHROME) 459 @SupportedBrowser(SupportedBrowser.CHROME)
461 @SupportedBrowser(SupportedBrowser.IE) 460 @SupportedBrowser(SupportedBrowser.IE)
462 @SupportedBrowser(SupportedBrowser.SAFARI) 461 @SupportedBrowser(SupportedBrowser.SAFARI)
463 @Experimental() 462 @Experimental()
464 abstract class NumberInputElement implements RangeInputElementBase { 463 abstract class NumberInputElement implements RangeInputElementBase {
465 factory NumberInputElement() => new InputElement(type: 'number'); 464 factory NumberInputElement() => new InputElement(type: 'number');
466 465
467 /// @domName HTMLInputElement.placeholder 466 @DomName('HTMLInputElement.placeholder')
468 String placeholder; 467 String placeholder;
469 468
470 /// @domName HTMLInputElement.readOnly 469 @DomName('HTMLInputElement.readOnly')
471 bool readOnly; 470 bool readOnly;
472 471
473 /// @domName HTMLInputElement.required 472 @DomName('HTMLInputElement.required')
474 bool required; 473 bool required;
475 474
476 /// Returns true if this input type is supported on the current platform. 475 /// Returns true if this input type is supported on the current platform.
477 static bool get supported { 476 static bool get supported {
478 return (new InputElement(type: 'number')).type == 'number'; 477 return (new InputElement(type: 'number')).type == 'number';
479 } 478 }
480 } 479 }
481 480
482 /** 481 /**
483 * Similar to [NumberInputElement] but the browser may provide more optimal 482 * Similar to [NumberInputElement] but the browser may provide more optimal
(...skipping 15 matching lines...) Expand all
499 498
500 /** 499 /**
501 * A boolean editor control. 500 * A boolean editor control.
502 * 501 *
503 * Note that if [indeterminate] is set then this control is in a third 502 * Note that if [indeterminate] is set then this control is in a third
504 * indeterminate state. 503 * indeterminate state.
505 */ 504 */
506 abstract class CheckboxInputElement implements InputElementBase { 505 abstract class CheckboxInputElement implements InputElementBase {
507 factory CheckboxInputElement() => new InputElement(type: 'checkbox'); 506 factory CheckboxInputElement() => new InputElement(type: 'checkbox');
508 507
509 /// @domName HTMLInputElement.checked 508 @DomName('HTMLInputElement.checked')
510 bool checked; 509 bool checked;
511 510
512 /// @domName HTMLInputElement.required 511 @DomName('HTMLInputElement.required')
513 bool required; 512 bool required;
514 } 513 }
515 514
516 515
517 /** 516 /**
518 * A control that when used with other [ReadioButtonInputElement] controls 517 * A control that when used with other [ReadioButtonInputElement] controls
519 * forms a radio button group in which only one control can be checked at a 518 * forms a radio button group in which only one control can be checked at a
520 * time. 519 * time.
521 * 520 *
522 * Radio buttons are considered to be in the same radio button group if: 521 * Radio buttons are considered to be in the same radio button group if:
523 * 522 *
524 * * They are all of type 'radio'. 523 * * They are all of type 'radio'.
525 * * They all have either the same [FormElement] owner, or no owner. 524 * * They all have either the same [FormElement] owner, or no owner.
526 * * Their name attributes contain the same name. 525 * * Their name attributes contain the same name.
527 */ 526 */
528 abstract class RadioButtonInputElement implements InputElementBase { 527 abstract class RadioButtonInputElement implements InputElementBase {
529 factory RadioButtonInputElement() => new InputElement(type: 'radio'); 528 factory RadioButtonInputElement() => new InputElement(type: 'radio');
530 529
531 /// @domName HTMLInputElement.checked 530 @DomName('HTMLInputElement.checked')
532 bool checked; 531 bool checked;
533 532
534 /// @domName HTMLInputElement.required 533 @DomName('HTMLInputElement.required')
535 bool required; 534 bool required;
536 } 535 }
537 536
538 /** 537 /**
539 * A control for picking files from the user's computer. 538 * A control for picking files from the user's computer.
540 */ 539 */
541 abstract class FileUploadInputElement implements InputElementBase { 540 abstract class FileUploadInputElement implements InputElementBase {
542 factory FileUploadInputElement() => new InputElement(type: 'file'); 541 factory FileUploadInputElement() => new InputElement(type: 'file');
543 542
544 /// @domName HTMLInputElement.accept 543 @DomName('HTMLInputElement.accept')
545 String accept; 544 String accept;
546 545
547 /// @domName HTMLInputElement.multiple 546 @DomName('HTMLInputElement.multiple')
548 bool multiple; 547 bool multiple;
549 548
550 /// @domName HTMLInputElement.required 549 @DomName('HTMLInputElement.required')
551 bool required; 550 bool required;
552 551
553 /// @domName HTMLInputElement.files 552 @DomName('HTMLInputElement.files')
554 List<File> files; 553 List<File> files;
555 } 554 }
556 555
557 /** 556 /**
558 * A button, which when clicked, submits the form. 557 * A button, which when clicked, submits the form.
559 */ 558 */
560 abstract class SubmitButtonInputElement implements InputElementBase { 559 abstract class SubmitButtonInputElement implements InputElementBase {
561 factory SubmitButtonInputElement() => new InputElement(type: 'submit'); 560 factory SubmitButtonInputElement() => new InputElement(type: 'submit');
562 561
563 /// @domName HTMLInputElement.formAction 562 @DomName('HTMLInputElement.formAction')
564 String formAction; 563 String formAction;
565 564
566 /// @domName HTMLInputElement.formEnctype 565 @DomName('HTMLInputElement.formEnctype')
567 String formEnctype; 566 String formEnctype;
568 567
569 /// @domName HTMLInputElement.formMethod 568 @DomName('HTMLInputElement.formMethod')
570 String formMethod; 569 String formMethod;
571 570
572 /// @domName HTMLInputElement.formNoValidate 571 @DomName('HTMLInputElement.formNoValidate')
573 bool formNoValidate; 572 bool formNoValidate;
574 573
575 /// @domName HTMLInputElement.formTarget 574 @DomName('HTMLInputElement.formTarget')
576 String formTarget; 575 String formTarget;
577 } 576 }
578 577
579 /** 578 /**
580 * Either an image which the user can select a coordinate to or a form 579 * Either an image which the user can select a coordinate to or a form
581 * submit button. 580 * submit button.
582 */ 581 */
583 abstract class ImageButtonInputElement implements InputElementBase { 582 abstract class ImageButtonInputElement implements InputElementBase {
584 factory ImageButtonInputElement() => new InputElement(type: 'image'); 583 factory ImageButtonInputElement() => new InputElement(type: 'image');
585 584
586 /// @domName HTMLInputElement.alt 585 @DomName('HTMLInputElement.alt')
587 String alt; 586 String alt;
588 587
589 /// @domName HTMLInputElement.formAction 588 @DomName('HTMLInputElement.formAction')
590 String formAction; 589 String formAction;
591 590
592 /// @domName HTMLInputElement.formEnctype 591 @DomName('HTMLInputElement.formEnctype')
593 String formEnctype; 592 String formEnctype;
594 593
595 /// @domName HTMLInputElement.formMethod 594 @DomName('HTMLInputElement.formMethod')
596 String formMethod; 595 String formMethod;
597 596
598 /// @domName HTMLInputElement.formNoValidate 597 @DomName('HTMLInputElement.formNoValidate')
599 bool formNoValidate; 598 bool formNoValidate;
600 599
601 /// @domName HTMLInputElement.formTarget 600 @DomName('HTMLInputElement.formTarget')
602 String formTarget; 601 String formTarget;
603 602
604 /// @domName HTMLInputElement.height 603 @DomName('HTMLInputElement.height')
605 int height; 604 int height;
606 605
607 /// @domName HTMLInputElement.src 606 @DomName('HTMLInputElement.src')
608 String src; 607 String src;
609 608
610 /// @domName HTMLInputElement.width 609 @DomName('HTMLInputElement.width')
611 int width; 610 int width;
612 } 611 }
613 612
614 /** 613 /**
615 * A button, which when clicked, resets the form. 614 * A button, which when clicked, resets the form.
616 */ 615 */
617 abstract class ResetButtonInputElement implements InputElementBase { 616 abstract class ResetButtonInputElement implements InputElementBase {
618 factory ResetButtonInputElement() => new InputElement(type: 'reset'); 617 factory ResetButtonInputElement() => new InputElement(type: 'reset');
619 } 618 }
620 619
621 /** 620 /**
622 * A button, with no default behavior. 621 * A button, with no default behavior.
623 */ 622 */
624 abstract class ButtonInputElement implements InputElementBase { 623 abstract class ButtonInputElement implements InputElementBase {
625 factory ButtonInputElement() => new InputElement(type: 'button'); 624 factory ButtonInputElement() => new InputElement(type: 'button');
626 } 625 }
627 626
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698