EDITOR: Support content assist of console object
[profile/ivi/sdk/web-ide-resources.git] / widlprocxmls / html5.widlprocxml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE Definitions SYSTEM "widlprocxml.dtd">
3 <Definitions>
4   <Module name="HTML5" id="::HTML5">
5     <webidl>module HTML5 {
6
7         [Supplemental] interface HTMLInputElement : <ref>HTMLElement</ref> {
8                 attribute DOMString autocomplete;
9                 attribute boolean autofocus;
10                 readonly attribute <ref>FileList</ref> files;
11                 attribute DOMString formAction;
12                 attribute DOMString formEnctype;
13                 attribute DOMString formMethod;
14                 attribute boolean formNoValidate;
15                 attribute DOMString formTarget;
16                 attribute DOMString height;
17                 attribute boolean indeterminate;
18                 readonly attribute <ref>HTMLElement</ref> list;
19                 attribute DOMString max;
20                 attribute DOMString min;
21                 attribute boolean multiple;
22                 attribute DOMString pattern;
23                 attribute DOMString placeholder;
24                 attribute boolean required;
25                 attribute DOMString step;
26                 attribute <ref>Date</ref> valueAsDate;
27                 attribute double valueAsNumber;
28                 readonly attribute <ref>HTMLOptionElement</ref> selectedOption;
29                 attribute DOMString width;
30                 void stepUp(in optional long n);
31                 void stepDown(in optional long n);
32                 readonly attribute boolean willValidate;
33                 readonly attribute <ref>ValidityState</ref> validity;
34                 readonly attribute DOMString validationMessage;
35                 boolean checkValidity();
36                 void setCustomValidity(in DOMString error);
37                 readonly attribute <ref>NodeList</ref> labels;
38                 attribute unsigned long selectionStart;
39                 attribute unsigned long selectionEnd;
40                 void setSelectionRange(in unsigned long start, in unsigned long end);
41         };
42
43         interface HTMLCanvasElement : <ref>HTMLElement</ref> {
44                 attribute unsigned long width;
45                 attribute unsigned long height;
46                 DOMString toDataURL(in optional DOMString type, in any... args);
47                 <ref>Object</ref> getContext(in DOMString contextId, in any... args);
48         };
49
50         interface CanvasRenderingContext2D {
51
52                 readonly attribute <ref>HTMLCanvasElement</ref> canvas;
53
54                 void save(); 
55                 void restore(); 
56
57                 void scale(in double x, in double y);
58                 void rotate(in double angle);
59                 void translate(in double x, in double y);
60                 void transform(in double a, in double b, in double c, in double d, in double e, in double f);
61                 void setTransform(in double a, in double b, in double c, in double d, in double e, in double f);
62
63                 attribute double globalAlpha; 
64                 attribute DOMString globalCompositeOperation; 
65
66                 attribute any strokeStyle; 
67                 attribute any fillStyle; 
68                 <ref>CanvasGradient</ref> createLinearGradient(in double x0, in double y0, in double x1, in double y1);
69                 <ref>CanvasGradient</ref> createRadialGradient(in double x0, in double y0, in double r0, in double x1, in double y1, in double r1);
70                 <ref>CanvasPattern</ref> createPattern(in <ref>HTMLImageElement</ref> image, in DOMString repetition);
71                 <ref>CanvasPattern</ref> createPattern(in <ref>HTMLCanvasElement</ref> image, in DOMString repetition);
72                 <ref>CanvasPattern</ref> createPattern(in <ref>HTMLVideoElement</ref> image, in DOMString repetition);
73
74                 attribute double lineWidth; 
75                 attribute DOMString lineCap; 
76                 attribute DOMString lineJoin; 
77                 attribute double miterLimit; 
78
79                 attribute double shadowOffsetX; 
80                 attribute double shadowOffsetY; 
81                 attribute double shadowBlur; 
82                 attribute DOMString shadowColor; 
83
84                 void clearRect(in double x, in double y, in double w, in double h);
85                 void fillRect(in double x, in double y, in double w, in double h);
86                 void strokeRect(in double x, in double y, in double w, in double h);
87
88                 void beginPath();
89                 void closePath();
90                 void moveTo(in double x, in double y);
91                 void lineTo(in double x, in double y);
92                 void quadraticCurveTo(in double cpx, in double cpy, in double x, in double y);
93                 void bezierCurveTo(in double cp1x, in double cp1y, in double cp2x, in double cp2y, in double x, in double y);
94                 void arcTo(in double x1, in double y1, in double x2, in double y2, in double radius);
95                 void rect(in double x, in double y, in double w, in double h);
96                 void arc(in double x, in double y, in double radius, in double startAngle, in double endAngle, in optional boolean anticlockwise);
97                 void fill();
98                 void stroke();
99                 void clip();
100                 boolean isPointInPath(in double x, in double y);
101
102                 boolean drawFocusRing(in <ref>Element</ref> element, in double xCaret, in double yCaret, in optional boolean canDrawCustom);
103
104                 attribute DOMString font; 
105                 attribute DOMString textAlign; 
106                 attribute DOMString textBaseline; 
107                 void fillText(in DOMString text, in double x, in double y, in optional double maxWidth);
108                 void strokeText(in DOMString text, in double x, in double y, in optional double maxWidth);
109                 <ref>TextMetrics</ref> measureText(in DOMString text);
110
111                 void drawImage(in <ref>HTMLImageElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);
112                 void drawImage(in <ref>HTMLImageElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
113                 void drawImage(in <ref>HTMLCanvasElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);
114                 void drawImage(in <ref>HTMLCanvasElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
115                 void drawImage(in <ref>HTMLVideoElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);
116                 void drawImage(in <ref>HTMLVideoElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
117
118                 <ref>ImageData</ref> createImageData(in double sw, in double sh);
119                 <ref>ImageData</ref> createImageData(in <ref>ImageData</ref> imagedata);
120                 <ref>ImageData</ref> getImageData(in double sx, in double sy, in double sw, in double sh);
121                 void putImageData(in <ref>ImageData</ref> imagedata, in double dx, in double dy, in optional double dirtyX, in double dirtyY, in double dirtyWidth, in double dirtyHeight);
122         };
123
124         interface CanvasGradient {
125                 void addColorStop(in double offset, in DOMString color);
126         };
127
128         interface CanvasPattern {
129         };
130
131         interface TextMetrics {
132                 readonly attribute double width;
133         };
134
135         interface ImageData {
136                 readonly attribute unsigned long width;
137                 readonly attribute unsigned long height;
138                 readonly attribute <ref>CanvasPixelArray</ref> data;
139         };
140
141         interface CanvasPixelArray {
142                 readonly attribute unsigned long length;
143                 getter octet (in unsigned long index);
144                 setter void (in unsigned long index, in octet value);
145         };      
146
147         interface HTMLMediaElement : <ref>HTMLElement</ref> {
148
149                 readonly attribute <ref>MediaError</ref> error;
150
151                 attribute DOMString src;
152                 readonly attribute DOMString currentSrc;
153                 const unsigned short NETWORK_EMPTY = 0;
154                 const unsigned short NETWORK_IDLE = 1;
155                 const unsigned short NETWORK_LOADING = 2;
156                 const unsigned short NETWORK_NO_SOURCE = 3;
157                 readonly attribute unsigned short networkState;
158                 attribute DOMString preload;
159                 readonly attribute <ref>TimeRanges</ref> buffered;
160                 void load();
161                 DOMString canPlayType(in DOMString type);
162
163                 const unsigned short HAVE_NOTHING = 0;
164                 const unsigned short HAVE_METADATA = 1;
165                 const unsigned short HAVE_CURRENT_DATA = 2;
166                 const unsigned short HAVE_FUTURE_DATA = 3;
167                 const unsigned short HAVE_ENOUGH_DATA = 4;
168                 readonly attribute unsigned short readyState;
169                 readonly attribute boolean seeking;
170
171                 attribute float currentTime;
172                 readonly attribute float startTime;
173                 readonly attribute float duration;
174                 readonly attribute boolean paused;
175                 attribute float defaultPlaybackRate;
176                 attribute float playbackRate;
177                 readonly attribute <ref>TimeRanges</ref> played;
178                 readonly attribute <ref>TimeRanges</ref> seekable;
179                 readonly attribute boolean ended;
180                 attribute boolean autoplay;
181                 attribute boolean loop;
182                 void play();
183                 void pause();
184
185                 attribute boolean controls;
186                 attribute float volume;
187                 attribute boolean muted;
188         };
189
190   [NamedConstructor=Audio(),
191    NamedConstructor=Audio(in DOMString src)]
192   interface HTMLAudioElement : <ref>HTMLMediaElement</ref> {};
193
194         interface HTMLVideoElement : <ref>HTMLMediaElement</ref> {
195                 attribute DOMString width;
196                 attribute DOMString height;
197                 readonly attribute unsigned long videoWidth;
198                 readonly attribute unsigned long videoHeight;
199                 attribute DOMString poster;
200         };
201
202         [Supplemental] interface HTMLElement {
203                 attribute <ref>Boolean</ref> hidden;
204                 attribute <ref>Object</ref> contenteditable;
205         };
206
207         [Supplemental] interface Navigator {
208                 attribute <ref>Boolean</ref> onLine;
209         };
210
211 };</webidl>
212     <Interface name="HTMLInputElement" id="::HTML5::HTMLInputElement">
213       <webidl>        [Supplemental] interface HTMLInputElement : <ref>HTMLElement</ref> {
214                 attribute DOMString autocomplete;
215                 attribute boolean autofocus;
216                 readonly attribute <ref>FileList</ref> files;
217                 attribute DOMString formAction;
218                 attribute DOMString formEnctype;
219                 attribute DOMString formMethod;
220                 attribute boolean formNoValidate;
221                 attribute DOMString formTarget;
222                 attribute DOMString height;
223                 attribute boolean indeterminate;
224                 readonly attribute <ref>HTMLElement</ref> list;
225                 attribute DOMString max;
226                 attribute DOMString min;
227                 attribute boolean multiple;
228                 attribute DOMString pattern;
229                 attribute DOMString placeholder;
230                 attribute boolean required;
231                 attribute DOMString step;
232                 attribute <ref>Date</ref> valueAsDate;
233                 attribute double valueAsNumber;
234                 readonly attribute <ref>HTMLOptionElement</ref> selectedOption;
235                 attribute DOMString width;
236                 void stepUp(in optional long n);
237                 void stepDown(in optional long n);
238                 readonly attribute boolean willValidate;
239                 readonly attribute <ref>ValidityState</ref> validity;
240                 readonly attribute DOMString validationMessage;
241                 boolean checkValidity();
242                 void setCustomValidity(in DOMString error);
243                 readonly attribute <ref>NodeList</ref> labels;
244                 attribute unsigned long selectionStart;
245                 attribute unsigned long selectionEnd;
246                 void setSelectionRange(in unsigned long start, in unsigned long end);
247         };</webidl>
248       <ExtendedAttributeList>
249         <ExtendedAttribute name="Supplemental"/>
250       </ExtendedAttributeList>
251       <InterfaceInheritance>
252         <Name name="HTMLElement"/>
253       </InterfaceInheritance>
254       <Attribute name="autocomplete" id="::HTML5::HTMLInputElement::autocomplete">
255         <webidl>                attribute DOMString autocomplete;</webidl>
256         <Type type="DOMString"/>
257       </Attribute>
258       <Attribute name="autofocus" id="::HTML5::HTMLInputElement::autofocus">
259         <webidl>                attribute boolean autofocus;</webidl>
260         <Type type="boolean"/>
261       </Attribute>
262       <Attribute readonly="readonly" name="files" id="::HTML5::HTMLInputElement::files">
263         <webidl>                readonly attribute <ref>FileList</ref> files;</webidl>
264         <Type name="FileList"/>
265       </Attribute>
266       <Attribute name="formAction" id="::HTML5::HTMLInputElement::formAction">
267         <webidl>                attribute DOMString formAction;</webidl>
268         <Type type="DOMString"/>
269       </Attribute>
270       <Attribute name="formEnctype" id="::HTML5::HTMLInputElement::formEnctype">
271         <webidl>                attribute DOMString formEnctype;</webidl>
272         <Type type="DOMString"/>
273       </Attribute>
274       <Attribute name="formMethod" id="::HTML5::HTMLInputElement::formMethod">
275         <webidl>                attribute DOMString formMethod;</webidl>
276         <Type type="DOMString"/>
277       </Attribute>
278       <Attribute name="formNoValidate" id="::HTML5::HTMLInputElement::formNoValidate">
279         <webidl>                attribute boolean formNoValidate;</webidl>
280         <Type type="boolean"/>
281       </Attribute>
282       <Attribute name="formTarget" id="::HTML5::HTMLInputElement::formTarget">
283         <webidl>                attribute DOMString formTarget;</webidl>
284         <Type type="DOMString"/>
285       </Attribute>
286       <Attribute name="height" id="::HTML5::HTMLInputElement::height">
287         <webidl>                attribute DOMString height;</webidl>
288         <Type type="DOMString"/>
289       </Attribute>
290       <Attribute name="indeterminate" id="::HTML5::HTMLInputElement::indeterminate">
291         <webidl>                attribute boolean indeterminate;</webidl>
292         <Type type="boolean"/>
293       </Attribute>
294       <Attribute readonly="readonly" name="list" id="::HTML5::HTMLInputElement::list">
295         <webidl>                readonly attribute <ref>HTMLElement</ref> list;</webidl>
296         <Type name="HTMLElement"/>
297       </Attribute>
298       <Attribute name="max" id="::HTML5::HTMLInputElement::max">
299         <webidl>                attribute DOMString max;</webidl>
300         <Type type="DOMString"/>
301       </Attribute>
302       <Attribute name="min" id="::HTML5::HTMLInputElement::min">
303         <webidl>                attribute DOMString min;</webidl>
304         <Type type="DOMString"/>
305       </Attribute>
306       <Attribute name="multiple" id="::HTML5::HTMLInputElement::multiple">
307         <webidl>                attribute boolean multiple;</webidl>
308         <Type type="boolean"/>
309       </Attribute>
310       <Attribute name="pattern" id="::HTML5::HTMLInputElement::pattern">
311         <webidl>                attribute DOMString pattern;</webidl>
312         <Type type="DOMString"/>
313       </Attribute>
314       <Attribute name="placeholder" id="::HTML5::HTMLInputElement::placeholder">
315         <webidl>                attribute DOMString placeholder;</webidl>
316         <Type type="DOMString"/>
317       </Attribute>
318       <Attribute name="required" id="::HTML5::HTMLInputElement::required">
319         <webidl>                attribute boolean required;</webidl>
320         <Type type="boolean"/>
321       </Attribute>
322       <Attribute name="step" id="::HTML5::HTMLInputElement::step">
323         <webidl>                attribute DOMString step;</webidl>
324         <Type type="DOMString"/>
325       </Attribute>
326       <Attribute name="valueAsDate" id="::HTML5::HTMLInputElement::valueAsDate">
327         <webidl>                attribute <ref>Date</ref> valueAsDate;</webidl>
328         <Type name="Date"/>
329       </Attribute>
330       <Attribute name="valueAsNumber" id="::HTML5::HTMLInputElement::valueAsNumber">
331         <webidl>                attribute double valueAsNumber;</webidl>
332         <Type type="double"/>
333       </Attribute>
334       <Attribute readonly="readonly" name="selectedOption" id="::HTML5::HTMLInputElement::selectedOption">
335         <webidl>                readonly attribute <ref>HTMLOptionElement</ref> selectedOption;</webidl>
336         <Type name="HTMLOptionElement"/>
337       </Attribute>
338       <Attribute name="width" id="::HTML5::HTMLInputElement::width">
339         <webidl>                attribute DOMString width;</webidl>
340         <Type type="DOMString"/>
341       </Attribute>
342       <Operation name="stepUp" id="::HTML5::HTMLInputElement::stepUp">
343         <webidl>                void stepUp(in optional long n);</webidl>
344         <Type type="void"/>
345         <ArgumentList>
346           <Argument in="in" optional="optional" name="n">
347             <Type type="long"/>
348           </Argument>
349         </ArgumentList>
350       </Operation>
351       <Operation name="stepDown" id="::HTML5::HTMLInputElement::stepDown">
352         <webidl>                void stepDown(in optional long n);</webidl>
353         <Type type="void"/>
354         <ArgumentList>
355           <Argument in="in" optional="optional" name="n">
356             <Type type="long"/>
357           </Argument>
358         </ArgumentList>
359       </Operation>
360       <Attribute readonly="readonly" name="willValidate" id="::HTML5::HTMLInputElement::willValidate">
361         <webidl>                readonly attribute boolean willValidate;</webidl>
362         <Type type="boolean"/>
363       </Attribute>
364       <Attribute readonly="readonly" name="validity" id="::HTML5::HTMLInputElement::validity">
365         <webidl>                readonly attribute <ref>ValidityState</ref> validity;</webidl>
366         <Type name="ValidityState"/>
367       </Attribute>
368       <Attribute readonly="readonly" name="validationMessage" id="::HTML5::HTMLInputElement::validationMessage">
369         <webidl>                readonly attribute DOMString validationMessage;</webidl>
370         <Type type="DOMString"/>
371       </Attribute>
372       <Operation name="checkValidity" id="::HTML5::HTMLInputElement::checkValidity">
373         <webidl>                boolean checkValidity();</webidl>
374         <Type type="boolean"/>
375         <ArgumentList/>
376       </Operation>
377       <Operation name="setCustomValidity" id="::HTML5::HTMLInputElement::setCustomValidity">
378         <webidl>                void setCustomValidity(in DOMString error);</webidl>
379         <Type type="void"/>
380         <ArgumentList>
381           <Argument in="in" name="error">
382             <Type type="DOMString"/>
383           </Argument>
384         </ArgumentList>
385       </Operation>
386       <Attribute readonly="readonly" name="labels" id="::HTML5::HTMLInputElement::labels">
387         <webidl>                readonly attribute <ref>NodeList</ref> labels;</webidl>
388         <Type name="NodeList"/>
389       </Attribute>
390       <Attribute name="selectionStart" id="::HTML5::HTMLInputElement::selectionStart">
391         <webidl>                attribute unsigned long selectionStart;</webidl>
392         <Type type="unsigned long"/>
393       </Attribute>
394       <Attribute name="selectionEnd" id="::HTML5::HTMLInputElement::selectionEnd">
395         <webidl>                attribute unsigned long selectionEnd;</webidl>
396         <Type type="unsigned long"/>
397       </Attribute>
398       <Operation name="setSelectionRange" id="::HTML5::HTMLInputElement::setSelectionRange">
399         <webidl>                void setSelectionRange(in unsigned long start, in unsigned long end);</webidl>
400         <Type type="void"/>
401         <ArgumentList>
402           <Argument in="in" name="start">
403             <Type type="unsigned long"/>
404           </Argument>
405           <Argument in="in" name="end">
406             <Type type="unsigned long"/>
407           </Argument>
408         </ArgumentList>
409       </Operation>
410     </Interface>
411     <Interface name="HTMLCanvasElement" id="::HTML5::HTMLCanvasElement">
412       <webidl>        interface HTMLCanvasElement : <ref>HTMLElement</ref> {
413                 attribute unsigned long width;
414                 attribute unsigned long height;
415                 DOMString toDataURL(in optional DOMString type, in any... args);
416                 <ref>Object</ref> getContext(in DOMString contextId, in any... args);
417         };</webidl>
418       <InterfaceInheritance>
419         <Name name="HTMLElement"/>
420       </InterfaceInheritance>
421       <Attribute name="width" id="::HTML5::HTMLCanvasElement::width">
422         <webidl>                attribute unsigned long width;</webidl>
423         <Type type="unsigned long"/>
424       </Attribute>
425       <Attribute name="height" id="::HTML5::HTMLCanvasElement::height">
426         <webidl>                attribute unsigned long height;</webidl>
427         <Type type="unsigned long"/>
428       </Attribute>
429       <Operation name="toDataURL" id="::HTML5::HTMLCanvasElement::toDataURL">
430         <webidl>                DOMString toDataURL(in optional DOMString type, in any... args);</webidl>
431         <Type type="DOMString"/>
432         <ArgumentList>
433           <Argument in="in" optional="optional" name="type">
434             <Type type="DOMString"/>
435           </Argument>
436           <Argument in="in" ellipsis="ellipsis" name="args">
437             <Type type="any"/>
438           </Argument>
439         </ArgumentList>
440       </Operation>
441       <Operation name="getContext" id="::HTML5::HTMLCanvasElement::getContext">
442         <webidl>                <ref>Object</ref> getContext(in DOMString contextId, in any... args);</webidl>
443         <Type name="Object"/>
444         <ArgumentList>
445           <Argument in="in" name="contextId">
446             <Type type="DOMString"/>
447           </Argument>
448           <Argument in="in" ellipsis="ellipsis" name="args">
449             <Type type="any"/>
450           </Argument>
451         </ArgumentList>
452       </Operation>
453     </Interface>
454     <Interface name="CanvasRenderingContext2D" id="::HTML5::CanvasRenderingContext2D">
455       <webidl>        interface CanvasRenderingContext2D {
456
457                 readonly attribute <ref>HTMLCanvasElement</ref> canvas;
458
459                 void save(); 
460                 void restore(); 
461
462                 void scale(in double x, in double y);
463                 void rotate(in double angle);
464                 void translate(in double x, in double y);
465                 void transform(in double a, in double b, in double c, in double d, in double e, in double f);
466                 void setTransform(in double a, in double b, in double c, in double d, in double e, in double f);
467
468                 attribute double globalAlpha; 
469                 attribute DOMString globalCompositeOperation; 
470
471                 attribute any strokeStyle; 
472                 attribute any fillStyle; 
473                 <ref>CanvasGradient</ref> createLinearGradient(in double x0, in double y0, in double x1, in double y1);
474                 <ref>CanvasGradient</ref> createRadialGradient(in double x0, in double y0, in double r0, in double x1, in double y1, in double r1);
475                 <ref>CanvasPattern</ref> createPattern(in <ref>HTMLImageElement</ref> image, in DOMString repetition);
476                 <ref>CanvasPattern</ref> createPattern(in <ref>HTMLCanvasElement</ref> image, in DOMString repetition);
477                 <ref>CanvasPattern</ref> createPattern(in <ref>HTMLVideoElement</ref> image, in DOMString repetition);
478
479                 attribute double lineWidth; 
480                 attribute DOMString lineCap; 
481                 attribute DOMString lineJoin; 
482                 attribute double miterLimit; 
483
484                 attribute double shadowOffsetX; 
485                 attribute double shadowOffsetY; 
486                 attribute double shadowBlur; 
487                 attribute DOMString shadowColor; 
488
489                 void clearRect(in double x, in double y, in double w, in double h);
490                 void fillRect(in double x, in double y, in double w, in double h);
491                 void strokeRect(in double x, in double y, in double w, in double h);
492
493                 void beginPath();
494                 void closePath();
495                 void moveTo(in double x, in double y);
496                 void lineTo(in double x, in double y);
497                 void quadraticCurveTo(in double cpx, in double cpy, in double x, in double y);
498                 void bezierCurveTo(in double cp1x, in double cp1y, in double cp2x, in double cp2y, in double x, in double y);
499                 void arcTo(in double x1, in double y1, in double x2, in double y2, in double radius);
500                 void rect(in double x, in double y, in double w, in double h);
501                 void arc(in double x, in double y, in double radius, in double startAngle, in double endAngle, in optional boolean anticlockwise);
502                 void fill();
503                 void stroke();
504                 void clip();
505                 boolean isPointInPath(in double x, in double y);
506
507                 boolean drawFocusRing(in <ref>Element</ref> element, in double xCaret, in double yCaret, in optional boolean canDrawCustom);
508
509                 attribute DOMString font; 
510                 attribute DOMString textAlign; 
511                 attribute DOMString textBaseline; 
512                 void fillText(in DOMString text, in double x, in double y, in optional double maxWidth);
513                 void strokeText(in DOMString text, in double x, in double y, in optional double maxWidth);
514                 <ref>TextMetrics</ref> measureText(in DOMString text);
515
516                 void drawImage(in <ref>HTMLImageElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);
517                 void drawImage(in <ref>HTMLImageElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
518                 void drawImage(in <ref>HTMLCanvasElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);
519                 void drawImage(in <ref>HTMLCanvasElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
520                 void drawImage(in <ref>HTMLVideoElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);
521                 void drawImage(in <ref>HTMLVideoElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
522
523                 <ref>ImageData</ref> createImageData(in double sw, in double sh);
524                 <ref>ImageData</ref> createImageData(in <ref>ImageData</ref> imagedata);
525                 <ref>ImageData</ref> getImageData(in double sx, in double sy, in double sw, in double sh);
526                 void putImageData(in <ref>ImageData</ref> imagedata, in double dx, in double dy, in optional double dirtyX, in double dirtyY, in double dirtyWidth, in double dirtyHeight);
527         };</webidl>
528       <Attribute readonly="readonly" name="canvas" id="::HTML5::CanvasRenderingContext2D::canvas">
529         <webidl>                readonly attribute <ref>HTMLCanvasElement</ref> canvas;</webidl>
530         <Type name="HTMLCanvasElement"/>
531       </Attribute>
532       <Operation name="save" id="::HTML5::CanvasRenderingContext2D::save">
533         <webidl>                void save();</webidl>
534         <Type type="void"/>
535         <ArgumentList/>
536       </Operation>
537       <Operation name="restore" id="::HTML5::CanvasRenderingContext2D::restore">
538         <webidl>                void restore();</webidl>
539         <Type type="void"/>
540         <ArgumentList/>
541       </Operation>
542       <Operation name="scale" id="::HTML5::CanvasRenderingContext2D::scale">
543         <webidl>                void scale(in double x, in double y);</webidl>
544         <Type type="void"/>
545         <ArgumentList>
546           <Argument in="in" name="x">
547             <Type type="double"/>
548           </Argument>
549           <Argument in="in" name="y">
550             <Type type="double"/>
551           </Argument>
552         </ArgumentList>
553       </Operation>
554       <Operation name="rotate" id="::HTML5::CanvasRenderingContext2D::rotate">
555         <webidl>                void rotate(in double angle);</webidl>
556         <Type type="void"/>
557         <ArgumentList>
558           <Argument in="in" name="angle">
559             <Type type="double"/>
560           </Argument>
561         </ArgumentList>
562       </Operation>
563       <Operation name="translate" id="::HTML5::CanvasRenderingContext2D::translate">
564         <webidl>                void translate(in double x, in double y);</webidl>
565         <Type type="void"/>
566         <ArgumentList>
567           <Argument in="in" name="x">
568             <Type type="double"/>
569           </Argument>
570           <Argument in="in" name="y">
571             <Type type="double"/>
572           </Argument>
573         </ArgumentList>
574       </Operation>
575       <Operation name="transform" id="::HTML5::CanvasRenderingContext2D::transform">
576         <webidl>                void transform(in double a, in double b, in double c, in double d, in double e, in double f);</webidl>
577         <Type type="void"/>
578         <ArgumentList>
579           <Argument in="in" name="a">
580             <Type type="double"/>
581           </Argument>
582           <Argument in="in" name="b">
583             <Type type="double"/>
584           </Argument>
585           <Argument in="in" name="c">
586             <Type type="double"/>
587           </Argument>
588           <Argument in="in" name="d">
589             <Type type="double"/>
590           </Argument>
591           <Argument in="in" name="e">
592             <Type type="double"/>
593           </Argument>
594           <Argument in="in" name="f">
595             <Type type="double"/>
596           </Argument>
597         </ArgumentList>
598       </Operation>
599       <Operation name="setTransform" id="::HTML5::CanvasRenderingContext2D::setTransform">
600         <webidl>                void setTransform(in double a, in double b, in double c, in double d, in double e, in double f);</webidl>
601         <Type type="void"/>
602         <ArgumentList>
603           <Argument in="in" name="a">
604             <Type type="double"/>
605           </Argument>
606           <Argument in="in" name="b">
607             <Type type="double"/>
608           </Argument>
609           <Argument in="in" name="c">
610             <Type type="double"/>
611           </Argument>
612           <Argument in="in" name="d">
613             <Type type="double"/>
614           </Argument>
615           <Argument in="in" name="e">
616             <Type type="double"/>
617           </Argument>
618           <Argument in="in" name="f">
619             <Type type="double"/>
620           </Argument>
621         </ArgumentList>
622       </Operation>
623       <Attribute name="globalAlpha" id="::HTML5::CanvasRenderingContext2D::globalAlpha">
624         <webidl>                attribute double globalAlpha;</webidl>
625         <Type type="double"/>
626       </Attribute>
627       <Attribute name="globalCompositeOperation" id="::HTML5::CanvasRenderingContext2D::globalCompositeOperation">
628         <webidl>                attribute DOMString globalCompositeOperation;</webidl>
629         <Type type="DOMString"/>
630       </Attribute>
631       <Attribute name="strokeStyle" id="::HTML5::CanvasRenderingContext2D::strokeStyle">
632         <webidl>                attribute any strokeStyle;</webidl>
633         <Type type="any"/>
634       </Attribute>
635       <Attribute name="fillStyle" id="::HTML5::CanvasRenderingContext2D::fillStyle">
636         <webidl>                attribute any fillStyle;</webidl>
637         <Type type="any"/>
638       </Attribute>
639       <Operation name="createLinearGradient" id="::HTML5::CanvasRenderingContext2D::createLinearGradient">
640         <webidl>                <ref>CanvasGradient</ref> createLinearGradient(in double x0, in double y0, in double x1, in double y1);</webidl>
641         <Type name="CanvasGradient"/>
642         <ArgumentList>
643           <Argument in="in" name="x0">
644             <Type type="double"/>
645           </Argument>
646           <Argument in="in" name="y0">
647             <Type type="double"/>
648           </Argument>
649           <Argument in="in" name="x1">
650             <Type type="double"/>
651           </Argument>
652           <Argument in="in" name="y1">
653             <Type type="double"/>
654           </Argument>
655         </ArgumentList>
656       </Operation>
657       <Operation name="createRadialGradient" id="::HTML5::CanvasRenderingContext2D::createRadialGradient">
658         <webidl>                <ref>CanvasGradient</ref> createRadialGradient(in double x0, in double y0, in double r0, in double x1, in double y1, in double r1);</webidl>
659         <Type name="CanvasGradient"/>
660         <ArgumentList>
661           <Argument in="in" name="x0">
662             <Type type="double"/>
663           </Argument>
664           <Argument in="in" name="y0">
665             <Type type="double"/>
666           </Argument>
667           <Argument in="in" name="r0">
668             <Type type="double"/>
669           </Argument>
670           <Argument in="in" name="x1">
671             <Type type="double"/>
672           </Argument>
673           <Argument in="in" name="y1">
674             <Type type="double"/>
675           </Argument>
676           <Argument in="in" name="r1">
677             <Type type="double"/>
678           </Argument>
679         </ArgumentList>
680       </Operation>
681       <Operation name="createPattern" id="::HTML5::CanvasRenderingContext2D::createPattern">
682         <webidl>                <ref>CanvasPattern</ref> createPattern(in <ref>HTMLImageElement</ref> image, in DOMString repetition);</webidl>
683         <Type name="CanvasPattern"/>
684         <ArgumentList>
685           <Argument in="in" name="image">
686             <Type name="HTMLImageElement"/>
687           </Argument>
688           <Argument in="in" name="repetition">
689             <Type type="DOMString"/>
690           </Argument>
691         </ArgumentList>
692       </Operation>
693       <Operation name="createPattern" id="::HTML5::CanvasRenderingContext2D::createPattern">
694         <webidl>                <ref>CanvasPattern</ref> createPattern(in <ref>HTMLCanvasElement</ref> image, in DOMString repetition);</webidl>
695         <Type name="CanvasPattern"/>
696         <ArgumentList>
697           <Argument in="in" name="image">
698             <Type name="HTMLCanvasElement"/>
699           </Argument>
700           <Argument in="in" name="repetition">
701             <Type type="DOMString"/>
702           </Argument>
703         </ArgumentList>
704       </Operation>
705       <Operation name="createPattern" id="::HTML5::CanvasRenderingContext2D::createPattern">
706         <webidl>                <ref>CanvasPattern</ref> createPattern(in <ref>HTMLVideoElement</ref> image, in DOMString repetition);</webidl>
707         <Type name="CanvasPattern"/>
708         <ArgumentList>
709           <Argument in="in" name="image">
710             <Type name="HTMLVideoElement"/>
711           </Argument>
712           <Argument in="in" name="repetition">
713             <Type type="DOMString"/>
714           </Argument>
715         </ArgumentList>
716       </Operation>
717       <Attribute name="lineWidth" id="::HTML5::CanvasRenderingContext2D::lineWidth">
718         <webidl>                attribute double lineWidth;</webidl>
719         <Type type="double"/>
720       </Attribute>
721       <Attribute name="lineCap" id="::HTML5::CanvasRenderingContext2D::lineCap">
722         <webidl>                attribute DOMString lineCap;</webidl>
723         <Type type="DOMString"/>
724       </Attribute>
725       <Attribute name="lineJoin" id="::HTML5::CanvasRenderingContext2D::lineJoin">
726         <webidl>                attribute DOMString lineJoin;</webidl>
727         <Type type="DOMString"/>
728       </Attribute>
729       <Attribute name="miterLimit" id="::HTML5::CanvasRenderingContext2D::miterLimit">
730         <webidl>                attribute double miterLimit;</webidl>
731         <Type type="double"/>
732       </Attribute>
733       <Attribute name="shadowOffsetX" id="::HTML5::CanvasRenderingContext2D::shadowOffsetX">
734         <webidl>                attribute double shadowOffsetX;</webidl>
735         <Type type="double"/>
736       </Attribute>
737       <Attribute name="shadowOffsetY" id="::HTML5::CanvasRenderingContext2D::shadowOffsetY">
738         <webidl>                attribute double shadowOffsetY;</webidl>
739         <Type type="double"/>
740       </Attribute>
741       <Attribute name="shadowBlur" id="::HTML5::CanvasRenderingContext2D::shadowBlur">
742         <webidl>                attribute double shadowBlur;</webidl>
743         <Type type="double"/>
744       </Attribute>
745       <Attribute name="shadowColor" id="::HTML5::CanvasRenderingContext2D::shadowColor">
746         <webidl>                attribute DOMString shadowColor;</webidl>
747         <Type type="DOMString"/>
748       </Attribute>
749       <Operation name="clearRect" id="::HTML5::CanvasRenderingContext2D::clearRect">
750         <webidl>                void clearRect(in double x, in double y, in double w, in double h);</webidl>
751         <Type type="void"/>
752         <ArgumentList>
753           <Argument in="in" name="x">
754             <Type type="double"/>
755           </Argument>
756           <Argument in="in" name="y">
757             <Type type="double"/>
758           </Argument>
759           <Argument in="in" name="w">
760             <Type type="double"/>
761           </Argument>
762           <Argument in="in" name="h">
763             <Type type="double"/>
764           </Argument>
765         </ArgumentList>
766       </Operation>
767       <Operation name="fillRect" id="::HTML5::CanvasRenderingContext2D::fillRect">
768         <webidl>                void fillRect(in double x, in double y, in double w, in double h);</webidl>
769         <Type type="void"/>
770         <ArgumentList>
771           <Argument in="in" name="x">
772             <Type type="double"/>
773           </Argument>
774           <Argument in="in" name="y">
775             <Type type="double"/>
776           </Argument>
777           <Argument in="in" name="w">
778             <Type type="double"/>
779           </Argument>
780           <Argument in="in" name="h">
781             <Type type="double"/>
782           </Argument>
783         </ArgumentList>
784       </Operation>
785       <Operation name="strokeRect" id="::HTML5::CanvasRenderingContext2D::strokeRect">
786         <webidl>                void strokeRect(in double x, in double y, in double w, in double h);</webidl>
787         <Type type="void"/>
788         <ArgumentList>
789           <Argument in="in" name="x">
790             <Type type="double"/>
791           </Argument>
792           <Argument in="in" name="y">
793             <Type type="double"/>
794           </Argument>
795           <Argument in="in" name="w">
796             <Type type="double"/>
797           </Argument>
798           <Argument in="in" name="h">
799             <Type type="double"/>
800           </Argument>
801         </ArgumentList>
802       </Operation>
803       <Operation name="beginPath" id="::HTML5::CanvasRenderingContext2D::beginPath">
804         <webidl>                void beginPath();</webidl>
805         <Type type="void"/>
806         <ArgumentList/>
807       </Operation>
808       <Operation name="closePath" id="::HTML5::CanvasRenderingContext2D::closePath">
809         <webidl>                void closePath();</webidl>
810         <Type type="void"/>
811         <ArgumentList/>
812       </Operation>
813       <Operation name="moveTo" id="::HTML5::CanvasRenderingContext2D::moveTo">
814         <webidl>                void moveTo(in double x, in double y);</webidl>
815         <Type type="void"/>
816         <ArgumentList>
817           <Argument in="in" name="x">
818             <Type type="double"/>
819           </Argument>
820           <Argument in="in" name="y">
821             <Type type="double"/>
822           </Argument>
823         </ArgumentList>
824       </Operation>
825       <Operation name="lineTo" id="::HTML5::CanvasRenderingContext2D::lineTo">
826         <webidl>                void lineTo(in double x, in double y);</webidl>
827         <Type type="void"/>
828         <ArgumentList>
829           <Argument in="in" name="x">
830             <Type type="double"/>
831           </Argument>
832           <Argument in="in" name="y">
833             <Type type="double"/>
834           </Argument>
835         </ArgumentList>
836       </Operation>
837       <Operation name="quadraticCurveTo" id="::HTML5::CanvasRenderingContext2D::quadraticCurveTo">
838         <webidl>                void quadraticCurveTo(in double cpx, in double cpy, in double x, in double y);</webidl>
839         <Type type="void"/>
840         <ArgumentList>
841           <Argument in="in" name="cpx">
842             <Type type="double"/>
843           </Argument>
844           <Argument in="in" name="cpy">
845             <Type type="double"/>
846           </Argument>
847           <Argument in="in" name="x">
848             <Type type="double"/>
849           </Argument>
850           <Argument in="in" name="y">
851             <Type type="double"/>
852           </Argument>
853         </ArgumentList>
854       </Operation>
855       <Operation name="bezierCurveTo" id="::HTML5::CanvasRenderingContext2D::bezierCurveTo">
856         <webidl>                void bezierCurveTo(in double cp1x, in double cp1y, in double cp2x, in double cp2y, in double x, in double y);</webidl>
857         <Type type="void"/>
858         <ArgumentList>
859           <Argument in="in" name="cp1x">
860             <Type type="double"/>
861           </Argument>
862           <Argument in="in" name="cp1y">
863             <Type type="double"/>
864           </Argument>
865           <Argument in="in" name="cp2x">
866             <Type type="double"/>
867           </Argument>
868           <Argument in="in" name="cp2y">
869             <Type type="double"/>
870           </Argument>
871           <Argument in="in" name="x">
872             <Type type="double"/>
873           </Argument>
874           <Argument in="in" name="y">
875             <Type type="double"/>
876           </Argument>
877         </ArgumentList>
878       </Operation>
879       <Operation name="arcTo" id="::HTML5::CanvasRenderingContext2D::arcTo">
880         <webidl>                void arcTo(in double x1, in double y1, in double x2, in double y2, in double radius);</webidl>
881         <Type type="void"/>
882         <ArgumentList>
883           <Argument in="in" name="x1">
884             <Type type="double"/>
885           </Argument>
886           <Argument in="in" name="y1">
887             <Type type="double"/>
888           </Argument>
889           <Argument in="in" name="x2">
890             <Type type="double"/>
891           </Argument>
892           <Argument in="in" name="y2">
893             <Type type="double"/>
894           </Argument>
895           <Argument in="in" name="radius">
896             <Type type="double"/>
897           </Argument>
898         </ArgumentList>
899       </Operation>
900       <Operation name="rect" id="::HTML5::CanvasRenderingContext2D::rect">
901         <webidl>                void rect(in double x, in double y, in double w, in double h);</webidl>
902         <Type type="void"/>
903         <ArgumentList>
904           <Argument in="in" name="x">
905             <Type type="double"/>
906           </Argument>
907           <Argument in="in" name="y">
908             <Type type="double"/>
909           </Argument>
910           <Argument in="in" name="w">
911             <Type type="double"/>
912           </Argument>
913           <Argument in="in" name="h">
914             <Type type="double"/>
915           </Argument>
916         </ArgumentList>
917       </Operation>
918       <Operation name="arc" id="::HTML5::CanvasRenderingContext2D::arc">
919         <webidl>                void arc(in double x, in double y, in double radius, in double startAngle, in double endAngle, in optional boolean anticlockwise);</webidl>
920         <Type type="void"/>
921         <ArgumentList>
922           <Argument in="in" name="x">
923             <Type type="double"/>
924           </Argument>
925           <Argument in="in" name="y">
926             <Type type="double"/>
927           </Argument>
928           <Argument in="in" name="radius">
929             <Type type="double"/>
930           </Argument>
931           <Argument in="in" name="startAngle">
932             <Type type="double"/>
933           </Argument>
934           <Argument in="in" name="endAngle">
935             <Type type="double"/>
936           </Argument>
937           <Argument in="in" optional="optional" name="anticlockwise">
938             <Type type="boolean"/>
939           </Argument>
940         </ArgumentList>
941       </Operation>
942       <Operation name="fill" id="::HTML5::CanvasRenderingContext2D::fill">
943         <webidl>                void fill();</webidl>
944         <Type type="void"/>
945         <ArgumentList/>
946       </Operation>
947       <Operation name="stroke" id="::HTML5::CanvasRenderingContext2D::stroke">
948         <webidl>                void stroke();</webidl>
949         <Type type="void"/>
950         <ArgumentList/>
951       </Operation>
952       <Operation name="clip" id="::HTML5::CanvasRenderingContext2D::clip">
953         <webidl>                void clip();</webidl>
954         <Type type="void"/>
955         <ArgumentList/>
956       </Operation>
957       <Operation name="isPointInPath" id="::HTML5::CanvasRenderingContext2D::isPointInPath">
958         <webidl>                boolean isPointInPath(in double x, in double y);</webidl>
959         <Type type="boolean"/>
960         <ArgumentList>
961           <Argument in="in" name="x">
962             <Type type="double"/>
963           </Argument>
964           <Argument in="in" name="y">
965             <Type type="double"/>
966           </Argument>
967         </ArgumentList>
968       </Operation>
969       <Operation name="drawFocusRing" id="::HTML5::CanvasRenderingContext2D::drawFocusRing">
970         <webidl>                boolean drawFocusRing(in <ref>Element</ref> element, in double xCaret, in double yCaret, in optional boolean canDrawCustom);</webidl>
971         <Type type="boolean"/>
972         <ArgumentList>
973           <Argument in="in" name="element">
974             <Type name="Element"/>
975           </Argument>
976           <Argument in="in" name="xCaret">
977             <Type type="double"/>
978           </Argument>
979           <Argument in="in" name="yCaret">
980             <Type type="double"/>
981           </Argument>
982           <Argument in="in" optional="optional" name="canDrawCustom">
983             <Type type="boolean"/>
984           </Argument>
985         </ArgumentList>
986       </Operation>
987       <Attribute name="font" id="::HTML5::CanvasRenderingContext2D::font">
988         <webidl>                attribute DOMString font;</webidl>
989         <Type type="DOMString"/>
990       </Attribute>
991       <Attribute name="textAlign" id="::HTML5::CanvasRenderingContext2D::textAlign">
992         <webidl>                attribute DOMString textAlign;</webidl>
993         <Type type="DOMString"/>
994       </Attribute>
995       <Attribute name="textBaseline" id="::HTML5::CanvasRenderingContext2D::textBaseline">
996         <webidl>                attribute DOMString textBaseline;</webidl>
997         <Type type="DOMString"/>
998       </Attribute>
999       <Operation name="fillText" id="::HTML5::CanvasRenderingContext2D::fillText">
1000         <webidl>                void fillText(in DOMString text, in double x, in double y, in optional double maxWidth);</webidl>
1001         <Type type="void"/>
1002         <ArgumentList>
1003           <Argument in="in" name="text">
1004             <Type type="DOMString"/>
1005           </Argument>
1006           <Argument in="in" name="x">
1007             <Type type="double"/>
1008           </Argument>
1009           <Argument in="in" name="y">
1010             <Type type="double"/>
1011           </Argument>
1012           <Argument in="in" optional="optional" name="maxWidth">
1013             <Type type="double"/>
1014           </Argument>
1015         </ArgumentList>
1016       </Operation>
1017       <Operation name="strokeText" id="::HTML5::CanvasRenderingContext2D::strokeText">
1018         <webidl>                void strokeText(in DOMString text, in double x, in double y, in optional double maxWidth);</webidl>
1019         <Type type="void"/>
1020         <ArgumentList>
1021           <Argument in="in" name="text">
1022             <Type type="DOMString"/>
1023           </Argument>
1024           <Argument in="in" name="x">
1025             <Type type="double"/>
1026           </Argument>
1027           <Argument in="in" name="y">
1028             <Type type="double"/>
1029           </Argument>
1030           <Argument in="in" optional="optional" name="maxWidth">
1031             <Type type="double"/>
1032           </Argument>
1033         </ArgumentList>
1034       </Operation>
1035       <Operation name="measureText" id="::HTML5::CanvasRenderingContext2D::measureText">
1036         <webidl>                <ref>TextMetrics</ref> measureText(in DOMString text);</webidl>
1037         <Type name="TextMetrics"/>
1038         <ArgumentList>
1039           <Argument in="in" name="text">
1040             <Type type="DOMString"/>
1041           </Argument>
1042         </ArgumentList>
1043       </Operation>
1044       <Operation name="drawImage" id="::HTML5::CanvasRenderingContext2D::drawImage">
1045         <webidl>                void drawImage(in <ref>HTMLImageElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);</webidl>
1046         <Type type="void"/>
1047         <ArgumentList>
1048           <Argument in="in" name="image">
1049             <Type name="HTMLImageElement"/>
1050           </Argument>
1051           <Argument in="in" name="dx">
1052             <Type type="double"/>
1053           </Argument>
1054           <Argument in="in" name="dy">
1055             <Type type="double"/>
1056           </Argument>
1057           <Argument in="in" optional="optional" name="dw">
1058             <Type type="double"/>
1059           </Argument>
1060           <Argument in="in" name="dh">
1061             <Type type="double"/>
1062           </Argument>
1063         </ArgumentList>
1064       </Operation>
1065       <Operation name="drawImage" id="::HTML5::CanvasRenderingContext2D::drawImage">
1066         <webidl>                void drawImage(in <ref>HTMLImageElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);</webidl>
1067         <Type type="void"/>
1068         <ArgumentList>
1069           <Argument in="in" name="image">
1070             <Type name="HTMLImageElement"/>
1071           </Argument>
1072           <Argument in="in" name="sx">
1073             <Type type="double"/>
1074           </Argument>
1075           <Argument in="in" name="sy">
1076             <Type type="double"/>
1077           </Argument>
1078           <Argument in="in" name="sw">
1079             <Type type="double"/>
1080           </Argument>
1081           <Argument in="in" name="sh">
1082             <Type type="double"/>
1083           </Argument>
1084           <Argument in="in" name="dx">
1085             <Type type="double"/>
1086           </Argument>
1087           <Argument in="in" name="dy">
1088             <Type type="double"/>
1089           </Argument>
1090           <Argument in="in" name="dw">
1091             <Type type="double"/>
1092           </Argument>
1093           <Argument in="in" name="dh">
1094             <Type type="double"/>
1095           </Argument>
1096         </ArgumentList>
1097       </Operation>
1098       <Operation name="drawImage" id="::HTML5::CanvasRenderingContext2D::drawImage">
1099         <webidl>                void drawImage(in <ref>HTMLCanvasElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);</webidl>
1100         <Type type="void"/>
1101         <ArgumentList>
1102           <Argument in="in" name="image">
1103             <Type name="HTMLCanvasElement"/>
1104           </Argument>
1105           <Argument in="in" name="dx">
1106             <Type type="double"/>
1107           </Argument>
1108           <Argument in="in" name="dy">
1109             <Type type="double"/>
1110           </Argument>
1111           <Argument in="in" optional="optional" name="dw">
1112             <Type type="double"/>
1113           </Argument>
1114           <Argument in="in" name="dh">
1115             <Type type="double"/>
1116           </Argument>
1117         </ArgumentList>
1118       </Operation>
1119       <Operation name="drawImage" id="::HTML5::CanvasRenderingContext2D::drawImage">
1120         <webidl>                void drawImage(in <ref>HTMLCanvasElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);</webidl>
1121         <Type type="void"/>
1122         <ArgumentList>
1123           <Argument in="in" name="image">
1124             <Type name="HTMLCanvasElement"/>
1125           </Argument>
1126           <Argument in="in" name="sx">
1127             <Type type="double"/>
1128           </Argument>
1129           <Argument in="in" name="sy">
1130             <Type type="double"/>
1131           </Argument>
1132           <Argument in="in" name="sw">
1133             <Type type="double"/>
1134           </Argument>
1135           <Argument in="in" name="sh">
1136             <Type type="double"/>
1137           </Argument>
1138           <Argument in="in" name="dx">
1139             <Type type="double"/>
1140           </Argument>
1141           <Argument in="in" name="dy">
1142             <Type type="double"/>
1143           </Argument>
1144           <Argument in="in" name="dw">
1145             <Type type="double"/>
1146           </Argument>
1147           <Argument in="in" name="dh">
1148             <Type type="double"/>
1149           </Argument>
1150         </ArgumentList>
1151       </Operation>
1152       <Operation name="drawImage" id="::HTML5::CanvasRenderingContext2D::drawImage">
1153         <webidl>                void drawImage(in <ref>HTMLVideoElement</ref> image, in double dx, in double dy, in optional double dw, in double dh);</webidl>
1154         <Type type="void"/>
1155         <ArgumentList>
1156           <Argument in="in" name="image">
1157             <Type name="HTMLVideoElement"/>
1158           </Argument>
1159           <Argument in="in" name="dx">
1160             <Type type="double"/>
1161           </Argument>
1162           <Argument in="in" name="dy">
1163             <Type type="double"/>
1164           </Argument>
1165           <Argument in="in" optional="optional" name="dw">
1166             <Type type="double"/>
1167           </Argument>
1168           <Argument in="in" name="dh">
1169             <Type type="double"/>
1170           </Argument>
1171         </ArgumentList>
1172       </Operation>
1173       <Operation name="drawImage" id="::HTML5::CanvasRenderingContext2D::drawImage">
1174         <webidl>                void drawImage(in <ref>HTMLVideoElement</ref> image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);</webidl>
1175         <Type type="void"/>
1176         <ArgumentList>
1177           <Argument in="in" name="image">
1178             <Type name="HTMLVideoElement"/>
1179           </Argument>
1180           <Argument in="in" name="sx">
1181             <Type type="double"/>
1182           </Argument>
1183           <Argument in="in" name="sy">
1184             <Type type="double"/>
1185           </Argument>
1186           <Argument in="in" name="sw">
1187             <Type type="double"/>
1188           </Argument>
1189           <Argument in="in" name="sh">
1190             <Type type="double"/>
1191           </Argument>
1192           <Argument in="in" name="dx">
1193             <Type type="double"/>
1194           </Argument>
1195           <Argument in="in" name="dy">
1196             <Type type="double"/>
1197           </Argument>
1198           <Argument in="in" name="dw">
1199             <Type type="double"/>
1200           </Argument>
1201           <Argument in="in" name="dh">
1202             <Type type="double"/>
1203           </Argument>
1204         </ArgumentList>
1205       </Operation>
1206       <Operation name="createImageData" id="::HTML5::CanvasRenderingContext2D::createImageData">
1207         <webidl>                <ref>ImageData</ref> createImageData(in double sw, in double sh);</webidl>
1208         <Type name="ImageData"/>
1209         <ArgumentList>
1210           <Argument in="in" name="sw">
1211             <Type type="double"/>
1212           </Argument>
1213           <Argument in="in" name="sh">
1214             <Type type="double"/>
1215           </Argument>
1216         </ArgumentList>
1217       </Operation>
1218       <Operation name="createImageData" id="::HTML5::CanvasRenderingContext2D::createImageData">
1219         <webidl>                <ref>ImageData</ref> createImageData(in <ref>ImageData</ref> imagedata);</webidl>
1220         <Type name="ImageData"/>
1221         <ArgumentList>
1222           <Argument in="in" name="imagedata">
1223             <Type name="ImageData"/>
1224           </Argument>
1225         </ArgumentList>
1226       </Operation>
1227       <Operation name="getImageData" id="::HTML5::CanvasRenderingContext2D::getImageData">
1228         <webidl>                <ref>ImageData</ref> getImageData(in double sx, in double sy, in double sw, in double sh);</webidl>
1229         <Type name="ImageData"/>
1230         <ArgumentList>
1231           <Argument in="in" name="sx">
1232             <Type type="double"/>
1233           </Argument>
1234           <Argument in="in" name="sy">
1235             <Type type="double"/>
1236           </Argument>
1237           <Argument in="in" name="sw">
1238             <Type type="double"/>
1239           </Argument>
1240           <Argument in="in" name="sh">
1241             <Type type="double"/>
1242           </Argument>
1243         </ArgumentList>
1244       </Operation>
1245       <Operation name="putImageData" id="::HTML5::CanvasRenderingContext2D::putImageData">
1246         <webidl>                void putImageData(in <ref>ImageData</ref> imagedata, in double dx, in double dy, in optional double dirtyX, in double dirtyY, in double dirtyWidth, in double dirtyHeight);</webidl>
1247         <Type type="void"/>
1248         <ArgumentList>
1249           <Argument in="in" name="imagedata">
1250             <Type name="ImageData"/>
1251           </Argument>
1252           <Argument in="in" name="dx">
1253             <Type type="double"/>
1254           </Argument>
1255           <Argument in="in" name="dy">
1256             <Type type="double"/>
1257           </Argument>
1258           <Argument in="in" optional="optional" name="dirtyX">
1259             <Type type="double"/>
1260           </Argument>
1261           <Argument in="in" name="dirtyY">
1262             <Type type="double"/>
1263           </Argument>
1264           <Argument in="in" name="dirtyWidth">
1265             <Type type="double"/>
1266           </Argument>
1267           <Argument in="in" name="dirtyHeight">
1268             <Type type="double"/>
1269           </Argument>
1270         </ArgumentList>
1271       </Operation>
1272     </Interface>
1273     <Interface name="CanvasGradient" id="::HTML5::CanvasGradient">
1274       <webidl>        interface CanvasGradient {
1275                 void addColorStop(in double offset, in DOMString color);
1276         };</webidl>
1277       <Operation name="addColorStop" id="::HTML5::CanvasGradient::addColorStop">
1278         <webidl>                void addColorStop(in double offset, in DOMString color);</webidl>
1279         <Type type="void"/>
1280         <ArgumentList>
1281           <Argument in="in" name="offset">
1282             <Type type="double"/>
1283           </Argument>
1284           <Argument in="in" name="color">
1285             <Type type="DOMString"/>
1286           </Argument>
1287         </ArgumentList>
1288       </Operation>
1289     </Interface>
1290     <Interface name="CanvasPattern" id="::HTML5::CanvasPattern">
1291       <webidl>        interface CanvasPattern {
1292         };</webidl>
1293     </Interface>
1294     <Interface name="TextMetrics" id="::HTML5::TextMetrics">
1295       <webidl>        interface TextMetrics {
1296                 readonly attribute double width;
1297         };</webidl>
1298       <Attribute readonly="readonly" name="width" id="::HTML5::TextMetrics::width">
1299         <webidl>                readonly attribute double width;</webidl>
1300         <Type type="double"/>
1301       </Attribute>
1302     </Interface>
1303     <Interface name="ImageData" id="::HTML5::ImageData">
1304       <webidl>        interface ImageData {
1305                 readonly attribute unsigned long width;
1306                 readonly attribute unsigned long height;
1307                 readonly attribute <ref>CanvasPixelArray</ref> data;
1308         };</webidl>
1309       <Attribute readonly="readonly" name="width" id="::HTML5::ImageData::width">
1310         <webidl>                readonly attribute unsigned long width;</webidl>
1311         <Type type="unsigned long"/>
1312       </Attribute>
1313       <Attribute readonly="readonly" name="height" id="::HTML5::ImageData::height">
1314         <webidl>                readonly attribute unsigned long height;</webidl>
1315         <Type type="unsigned long"/>
1316       </Attribute>
1317       <Attribute readonly="readonly" name="data" id="::HTML5::ImageData::data">
1318         <webidl>                readonly attribute <ref>CanvasPixelArray</ref> data;</webidl>
1319         <Type name="CanvasPixelArray"/>
1320       </Attribute>
1321     </Interface>
1322     <Interface name="CanvasPixelArray" id="::HTML5::CanvasPixelArray">
1323       <webidl>        interface CanvasPixelArray {
1324                 readonly attribute unsigned long length;
1325                 getter octet (in unsigned long index);
1326                 setter void (in unsigned long index, in octet value);
1327         };</webidl>
1328       <Attribute readonly="readonly" name="length" id="::HTML5::CanvasPixelArray::length">
1329         <webidl>                readonly attribute unsigned long length;</webidl>
1330         <Type type="unsigned long"/>
1331       </Attribute>
1332       <Operation getter="getter">
1333         <webidl>                getter octet (in unsigned long index);</webidl>
1334         <Type type="octet"/>
1335         <ArgumentList>
1336           <Argument in="in" name="index">
1337             <Type type="unsigned long"/>
1338           </Argument>
1339         </ArgumentList>
1340       </Operation>
1341       <Operation setter="setter">
1342         <webidl>                setter void (in unsigned long index, in octet value);</webidl>
1343         <Type type="void"/>
1344         <ArgumentList>
1345           <Argument in="in" name="index">
1346             <Type type="unsigned long"/>
1347           </Argument>
1348           <Argument in="in" name="value">
1349             <Type type="octet"/>
1350           </Argument>
1351         </ArgumentList>
1352       </Operation>
1353     </Interface>
1354     <Interface name="HTMLMediaElement" id="::HTML5::HTMLMediaElement">
1355       <webidl>        interface HTMLMediaElement : <ref>HTMLElement</ref> {
1356
1357                 readonly attribute <ref>MediaError</ref> error;
1358
1359                 attribute DOMString src;
1360                 readonly attribute DOMString currentSrc;
1361                 const unsigned short NETWORK_EMPTY = 0;
1362                 const unsigned short NETWORK_IDLE = 1;
1363                 const unsigned short NETWORK_LOADING = 2;
1364                 const unsigned short NETWORK_NO_SOURCE = 3;
1365                 readonly attribute unsigned short networkState;
1366                 attribute DOMString preload;
1367                 readonly attribute <ref>TimeRanges</ref> buffered;
1368                 void load();
1369                 DOMString canPlayType(in DOMString type);
1370
1371                 const unsigned short HAVE_NOTHING = 0;
1372                 const unsigned short HAVE_METADATA = 1;
1373                 const unsigned short HAVE_CURRENT_DATA = 2;
1374                 const unsigned short HAVE_FUTURE_DATA = 3;
1375                 const unsigned short HAVE_ENOUGH_DATA = 4;
1376                 readonly attribute unsigned short readyState;
1377                 readonly attribute boolean seeking;
1378
1379                 attribute float currentTime;
1380                 readonly attribute float startTime;
1381                 readonly attribute float duration;
1382                 readonly attribute boolean paused;
1383                 attribute float defaultPlaybackRate;
1384                 attribute float playbackRate;
1385                 readonly attribute <ref>TimeRanges</ref> played;
1386                 readonly attribute <ref>TimeRanges</ref> seekable;
1387                 readonly attribute boolean ended;
1388                 attribute boolean autoplay;
1389                 attribute boolean loop;
1390                 void play();
1391                 void pause();
1392
1393                 attribute boolean controls;
1394                 attribute float volume;
1395                 attribute boolean muted;
1396         };</webidl>
1397       <InterfaceInheritance>
1398         <Name name="HTMLElement"/>
1399       </InterfaceInheritance>
1400       <Attribute readonly="readonly" name="error" id="::HTML5::HTMLMediaElement::error">
1401         <webidl>                readonly attribute <ref>MediaError</ref> error;</webidl>
1402         <Type name="MediaError"/>
1403       </Attribute>
1404       <Attribute name="src" id="::HTML5::HTMLMediaElement::src">
1405         <webidl>                attribute DOMString src;</webidl>
1406         <Type type="DOMString"/>
1407       </Attribute>
1408       <Attribute readonly="readonly" name="currentSrc" id="::HTML5::HTMLMediaElement::currentSrc">
1409         <webidl>                readonly attribute DOMString currentSrc;</webidl>
1410         <Type type="DOMString"/>
1411       </Attribute>
1412       <Const name="NETWORK_EMPTY" value="0" id="::HTML5::HTMLMediaElement::NETWORK_EMPTY">
1413         <webidl>                const unsigned short NETWORK_EMPTY = 0;</webidl>
1414         <Type type="unsigned short"/>
1415       </Const>
1416       <Const name="NETWORK_IDLE" value="1" id="::HTML5::HTMLMediaElement::NETWORK_IDLE">
1417         <webidl>                const unsigned short NETWORK_IDLE = 1;</webidl>
1418         <Type type="unsigned short"/>
1419       </Const>
1420       <Const name="NETWORK_LOADING" value="2" id="::HTML5::HTMLMediaElement::NETWORK_LOADING">
1421         <webidl>                const unsigned short NETWORK_LOADING = 2;</webidl>
1422         <Type type="unsigned short"/>
1423       </Const>
1424       <Const name="NETWORK_NO_SOURCE" value="3" id="::HTML5::HTMLMediaElement::NETWORK_NO_SOURCE">
1425         <webidl>                const unsigned short NETWORK_NO_SOURCE = 3;</webidl>
1426         <Type type="unsigned short"/>
1427       </Const>
1428       <Attribute readonly="readonly" name="networkState" id="::HTML5::HTMLMediaElement::networkState">
1429         <webidl>                readonly attribute unsigned short networkState;</webidl>
1430         <Type type="unsigned short"/>
1431       </Attribute>
1432       <Attribute name="preload" id="::HTML5::HTMLMediaElement::preload">
1433         <webidl>                attribute DOMString preload;</webidl>
1434         <Type type="DOMString"/>
1435       </Attribute>
1436       <Attribute readonly="readonly" name="buffered" id="::HTML5::HTMLMediaElement::buffered">
1437         <webidl>                readonly attribute <ref>TimeRanges</ref> buffered;</webidl>
1438         <Type name="TimeRanges"/>
1439       </Attribute>
1440       <Operation name="load" id="::HTML5::HTMLMediaElement::load">
1441         <webidl>                void load();</webidl>
1442         <Type type="void"/>
1443         <ArgumentList/>
1444       </Operation>
1445       <Operation name="canPlayType" id="::HTML5::HTMLMediaElement::canPlayType">
1446         <webidl>                DOMString canPlayType(in DOMString type);</webidl>
1447         <Type type="DOMString"/>
1448         <ArgumentList>
1449           <Argument in="in" name="type">
1450             <Type type="DOMString"/>
1451           </Argument>
1452         </ArgumentList>
1453       </Operation>
1454       <Const name="HAVE_NOTHING" value="0" id="::HTML5::HTMLMediaElement::HAVE_NOTHING">
1455         <webidl>                const unsigned short HAVE_NOTHING = 0;</webidl>
1456         <Type type="unsigned short"/>
1457       </Const>
1458       <Const name="HAVE_METADATA" value="1" id="::HTML5::HTMLMediaElement::HAVE_METADATA">
1459         <webidl>                const unsigned short HAVE_METADATA = 1;</webidl>
1460         <Type type="unsigned short"/>
1461       </Const>
1462       <Const name="HAVE_CURRENT_DATA" value="2" id="::HTML5::HTMLMediaElement::HAVE_CURRENT_DATA">
1463         <webidl>                const unsigned short HAVE_CURRENT_DATA = 2;</webidl>
1464         <Type type="unsigned short"/>
1465       </Const>
1466       <Const name="HAVE_FUTURE_DATA" value="3" id="::HTML5::HTMLMediaElement::HAVE_FUTURE_DATA">
1467         <webidl>                const unsigned short HAVE_FUTURE_DATA = 3;</webidl>
1468         <Type type="unsigned short"/>
1469       </Const>
1470       <Const name="HAVE_ENOUGH_DATA" value="4" id="::HTML5::HTMLMediaElement::HAVE_ENOUGH_DATA">
1471         <webidl>                const unsigned short HAVE_ENOUGH_DATA = 4;</webidl>
1472         <Type type="unsigned short"/>
1473       </Const>
1474       <Attribute readonly="readonly" name="readyState" id="::HTML5::HTMLMediaElement::readyState">
1475         <webidl>                readonly attribute unsigned short readyState;</webidl>
1476         <Type type="unsigned short"/>
1477       </Attribute>
1478       <Attribute readonly="readonly" name="seeking" id="::HTML5::HTMLMediaElement::seeking">
1479         <webidl>                readonly attribute boolean seeking;</webidl>
1480         <Type type="boolean"/>
1481       </Attribute>
1482       <Attribute name="currentTime" id="::HTML5::HTMLMediaElement::currentTime">
1483         <webidl>                attribute float currentTime;</webidl>
1484         <Type type="float"/>
1485       </Attribute>
1486       <Attribute readonly="readonly" name="startTime" id="::HTML5::HTMLMediaElement::startTime">
1487         <webidl>                readonly attribute float startTime;</webidl>
1488         <Type type="float"/>
1489       </Attribute>
1490       <Attribute readonly="readonly" name="duration" id="::HTML5::HTMLMediaElement::duration">
1491         <webidl>                readonly attribute float duration;</webidl>
1492         <Type type="float"/>
1493       </Attribute>
1494       <Attribute readonly="readonly" name="paused" id="::HTML5::HTMLMediaElement::paused">
1495         <webidl>                readonly attribute boolean paused;</webidl>
1496         <Type type="boolean"/>
1497       </Attribute>
1498       <Attribute name="defaultPlaybackRate" id="::HTML5::HTMLMediaElement::defaultPlaybackRate">
1499         <webidl>                attribute float defaultPlaybackRate;</webidl>
1500         <Type type="float"/>
1501       </Attribute>
1502       <Attribute name="playbackRate" id="::HTML5::HTMLMediaElement::playbackRate">
1503         <webidl>                attribute float playbackRate;</webidl>
1504         <Type type="float"/>
1505       </Attribute>
1506       <Attribute readonly="readonly" name="played" id="::HTML5::HTMLMediaElement::played">
1507         <webidl>                readonly attribute <ref>TimeRanges</ref> played;</webidl>
1508         <Type name="TimeRanges"/>
1509       </Attribute>
1510       <Attribute readonly="readonly" name="seekable" id="::HTML5::HTMLMediaElement::seekable">
1511         <webidl>                readonly attribute <ref>TimeRanges</ref> seekable;</webidl>
1512         <Type name="TimeRanges"/>
1513       </Attribute>
1514       <Attribute readonly="readonly" name="ended" id="::HTML5::HTMLMediaElement::ended">
1515         <webidl>                readonly attribute boolean ended;</webidl>
1516         <Type type="boolean"/>
1517       </Attribute>
1518       <Attribute name="autoplay" id="::HTML5::HTMLMediaElement::autoplay">
1519         <webidl>                attribute boolean autoplay;</webidl>
1520         <Type type="boolean"/>
1521       </Attribute>
1522       <Attribute name="loop" id="::HTML5::HTMLMediaElement::loop">
1523         <webidl>                attribute boolean loop;</webidl>
1524         <Type type="boolean"/>
1525       </Attribute>
1526       <Operation name="play" id="::HTML5::HTMLMediaElement::play">
1527         <webidl>                void play();</webidl>
1528         <Type type="void"/>
1529         <ArgumentList/>
1530       </Operation>
1531       <Operation name="pause" id="::HTML5::HTMLMediaElement::pause">
1532         <webidl>                void pause();</webidl>
1533         <Type type="void"/>
1534         <ArgumentList/>
1535       </Operation>
1536       <Attribute name="controls" id="::HTML5::HTMLMediaElement::controls">
1537         <webidl>                attribute boolean controls;</webidl>
1538         <Type type="boolean"/>
1539       </Attribute>
1540       <Attribute name="volume" id="::HTML5::HTMLMediaElement::volume">
1541         <webidl>                attribute float volume;</webidl>
1542         <Type type="float"/>
1543       </Attribute>
1544       <Attribute name="muted" id="::HTML5::HTMLMediaElement::muted">
1545         <webidl>                attribute boolean muted;</webidl>
1546         <Type type="boolean"/>
1547       </Attribute>
1548     </Interface>
1549     <Interface name="HTMLAudioElement" id="::HTML5::HTMLAudioElement">
1550       <webidl>  [NamedConstructor=Audio(),
1551    NamedConstructor=Audio(in DOMString src)]
1552   interface HTMLAudioElement : <ref>HTMLMediaElement</ref> {};</webidl>
1553       <ExtendedAttributeList>
1554         <ExtendedAttribute name="NamedConstructor" value="Audio">
1555           <ArgumentList/>
1556         </ExtendedAttribute>
1557         <ExtendedAttribute name="NamedConstructor" value="Audio">
1558           <ArgumentList>
1559             <Argument in="in" name="src">
1560               <Type type="DOMString"/>
1561             </Argument>
1562           </ArgumentList>
1563         </ExtendedAttribute>
1564       </ExtendedAttributeList>
1565       <InterfaceInheritance>
1566         <Name name="HTMLMediaElement"/>
1567       </InterfaceInheritance>
1568     </Interface>
1569     <Interface name="HTMLVideoElement" id="::HTML5::HTMLVideoElement">
1570       <webidl>        interface HTMLVideoElement : <ref>HTMLMediaElement</ref> {
1571                 attribute DOMString width;
1572                 attribute DOMString height;
1573                 readonly attribute unsigned long videoWidth;
1574                 readonly attribute unsigned long videoHeight;
1575                 attribute DOMString poster;
1576         };</webidl>
1577       <InterfaceInheritance>
1578         <Name name="HTMLMediaElement"/>
1579       </InterfaceInheritance>
1580       <Attribute name="width" id="::HTML5::HTMLVideoElement::width">
1581         <webidl>                attribute DOMString width;</webidl>
1582         <Type type="DOMString"/>
1583       </Attribute>
1584       <Attribute name="height" id="::HTML5::HTMLVideoElement::height">
1585         <webidl>                attribute DOMString height;</webidl>
1586         <Type type="DOMString"/>
1587       </Attribute>
1588       <Attribute readonly="readonly" name="videoWidth" id="::HTML5::HTMLVideoElement::videoWidth">
1589         <webidl>                readonly attribute unsigned long videoWidth;</webidl>
1590         <Type type="unsigned long"/>
1591       </Attribute>
1592       <Attribute readonly="readonly" name="videoHeight" id="::HTML5::HTMLVideoElement::videoHeight">
1593         <webidl>                readonly attribute unsigned long videoHeight;</webidl>
1594         <Type type="unsigned long"/>
1595       </Attribute>
1596       <Attribute name="poster" id="::HTML5::HTMLVideoElement::poster">
1597         <webidl>                attribute DOMString poster;</webidl>
1598         <Type type="DOMString"/>
1599       </Attribute>
1600     </Interface>
1601     <Interface name="HTMLElement" id="::HTML5::HTMLElement">
1602       <webidl>        [Supplemental] interface HTMLElement {
1603                 attribute <ref>Boolean</ref> hidden;
1604                 attribute <ref>Object</ref> contenteditable;
1605         };</webidl>
1606       <ExtendedAttributeList>
1607         <ExtendedAttribute name="Supplemental"/>
1608       </ExtendedAttributeList>
1609       <Attribute name="hidden" id="::HTML5::HTMLElement::hidden">
1610         <webidl>                attribute <ref>Boolean</ref> hidden;</webidl>
1611         <Type name="Boolean"/>
1612       </Attribute>
1613       <Attribute name="contenteditable" id="::HTML5::HTMLElement::contenteditable">
1614         <webidl>                attribute <ref>Object</ref> contenteditable;</webidl>
1615         <Type name="Object"/>
1616       </Attribute>
1617     </Interface>
1618     <Interface name="Navigator" id="::HTML5::Navigator">
1619       <webidl>        [Supplemental] interface Navigator {
1620                 attribute <ref>Boolean</ref> onLine;
1621         };</webidl>
1622       <ExtendedAttributeList>
1623         <ExtendedAttribute name="Supplemental"/>
1624       </ExtendedAttributeList>
1625       <Attribute name="onLine" id="::HTML5::Navigator::onLine">
1626         <webidl>                attribute <ref>Boolean</ref> onLine;</webidl>
1627         <Type name="Boolean"/>
1628       </Attribute>
1629     </Interface>
1630   </Module>
1631 </Definitions>