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

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

Powered by Google App Engine
This is Rietveld 408576698