1/*
2 * Copyright (C) 2006, 2007, 2008 Apple Inc.  All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 *    notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 *    notice, this list of conditions and the following disclaimer in the
11 *    documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#ifndef DO_NO_IMPORTS
27import "oaidl.idl";
28import "ocidl.idl";
29import "DOMCore.idl";
30#endif
31
32interface IDOMHTMLElement;
33interface IDOMHTMLFormElement;
34interface IDOMHTMLTableCaptionElement;
35interface IDOMHTMLTableSectionElement;
36interface IDOMDocument;
37interface IDOMElement;
38interface IDOMNode;
39interface IDOMNodeList;
40interface IWebFrame;
41
42/*
43    @interface DOMHTMLCollection : DOMObject
44*/
45[
46    object,
47    oleautomation,
48    uuid(DD8E4E33-D1D4-48e7-BB23-6DC3D7CCEC42),
49    pointer_default(unique)
50]
51interface IDOMHTMLCollection : IDOMObject
52{
53    /*
54        - (unsigned)length;
55    */
56    HRESULT length([out, retval] UINT* result);
57
58    /*
59        - (DOMNode *)item:(unsigned)index;
60    */
61    HRESULT item([in] UINT index, [out, retval] IDOMNode** node);
62
63    /*
64        - (DOMNode *)namedItem:(NSString *)name;
65    */
66    HRESULT namedItem([in] BSTR name, [out, retval] IDOMNode** node);
67}
68
69/*
70    @interface DOMHTMLOptionsCollection : DOMObject
71*/
72[
73    object,
74    oleautomation,
75    uuid(1AD98D99-163C-4c04-B6EE-85A3DD31F5C4),
76    pointer_default(unique)
77]
78interface IDOMHTMLOptionsCollection : IDOMObject
79{
80    /*
81        - (unsigned)length;
82    */
83    HRESULT length([out, retval] unsigned int* result);
84
85    /*
86        - (void)setLength:(unsigned)length;
87    */
88    HRESULT setLength([in] unsigned int length);
89
90    /*
91        - (DOMNode *)item:(unsigned)index;
92    */
93    HRESULT item([in] unsigned int index, [out, retval] IDOMNode** result);
94
95    /*
96        - (DOMNode *)namedItem:(NSString *)name;
97    */
98    HRESULT namedItem([in] BSTR name, [out, retval] IDOMNode** result);
99}
100
101/*
102    @interface DOMHTMLDocument : DOMDocument
103*/
104[
105    object,
106    oleautomation,
107    uuid(A7DF8485-25B7-4a98-B70C-1E29CAA00597),
108    pointer_default(unique)
109]
110interface IDOMHTMLDocument : IDOMDocument
111{
112    /*
113        - (NSString *)title;
114    */
115    HRESULT title([out, retval] BSTR* result);
116
117    /*
118        - (void)setTitle:(NSString *)title;
119    */
120    HRESULT setTitle([in] BSTR title);
121
122    /*
123        - (NSString *)referrer;
124    */
125    HRESULT referrer([out, retval] BSTR* result);
126
127    /*
128        - (NSString *)domain;
129    */
130    HRESULT domain([out, retval] BSTR* result);
131
132    /*
133        - (NSString *)URL;
134    */
135    HRESULT URL([out, retval] BSTR* result);
136
137    /*
138        - (DOMHTMLElement *)body;
139    */
140    HRESULT body([out, retval] IDOMHTMLElement** bodyElement);
141
142    /*
143        - (void)setBody:(DOMHTMLElement *)body;
144    */
145    HRESULT setBody([in] IDOMHTMLElement* body);
146
147    /*
148        - (DOMHTMLCollection *)images;
149    */
150    HRESULT images([out, retval] IDOMHTMLCollection** collection);
151
152    /*
153        - (DOMHTMLCollection *)applets;
154    */
155    HRESULT applets([out, retval] IDOMHTMLCollection** collection);
156
157    /*
158        - (DOMHTMLCollection *)links;
159    */
160    HRESULT links([out, retval] IDOMHTMLCollection** collection);
161
162    /*
163        - (DOMHTMLCollection *)forms;
164    */
165    HRESULT forms([out, retval] IDOMHTMLCollection** collection);
166
167    /*
168        - (DOMHTMLCollection *)anchors;
169    */
170    HRESULT anchors([out, retval] IDOMHTMLCollection** collection);
171
172    /*
173        - (NSString *)cookie;
174    */
175    HRESULT cookie([out, retval] BSTR* result);
176
177    /*
178        - (void)setCookie:(NSString *)cookie;
179    */
180    HRESULT setCookie([in] BSTR cookie);
181
182    /*
183        - (void)open;
184    */
185    HRESULT open();
186
187    /*
188        - (void)close;
189    */
190    HRESULT close();
191
192    /*
193        - (void)write:(NSString *)text;
194    */
195    HRESULT write([in] BSTR text);
196
197    /*
198        - (void)writeln:(NSString *)text;
199    */
200    HRESULT writeln([in] BSTR text);
201
202    /*
203        - (DOMElement *)getElementById:(NSString *)elementId;
204    */
205    HRESULT getElementById_([in] BSTR elementId, [out, retval] IDOMElement** element);
206
207    /*
208        - (DOMNodeList *)getElementsByName:(NSString *)elementName;
209    */
210    HRESULT getElementsByName([in] BSTR elementName, [out, retval] IDOMNodeList** nodeList);
211}
212
213/*
214    @interface DOMHTMLElement : DOMElement
215*/
216[
217    object,
218    oleautomation,
219    uuid(EBD5F41D-FF65-41d8-97C9-FCE3A3D4CC3E),
220    pointer_default(unique)
221]
222interface IDOMHTMLElement : IDOMElement
223{
224    /*
225        - (NSString *)idName;
226    */
227    HRESULT idName([out, retval] BSTR* result);
228
229    /*
230        - (void)setIdName:(NSString *)idName;
231    */
232    HRESULT setIdName([in] BSTR idName);
233
234    /*
235        - (NSString *)title;
236    */
237    HRESULT title([out, retval] BSTR* result);
238
239    /*
240        - (void)setTitle:(NSString *)title;
241    */
242    HRESULT setTitle([in] BSTR title);
243
244    /*
245        - (NSString *)lang;
246    */
247    HRESULT lang([out, retval] BSTR* result);
248
249    /*
250        - (void)setLang:(NSString *)lang;
251    */
252    HRESULT setLang([in] BSTR lang);
253
254    /*
255        - (NSString *)dir;
256    */
257    HRESULT dir([out, retval] BSTR* result);
258
259    /*
260        - (void)setDir:(NSString *)dir;
261    */
262    HRESULT setDir([in] BSTR dir);
263
264    /*
265        - (NSString *)className;
266    */
267    HRESULT className([out, retval] BSTR* result);
268
269    /*
270        - (void)setClassName:(NSString *)className;
271    */
272    HRESULT setClassName([in] BSTR className);
273
274    /*
275        - (NSString *)innerHTML;
276    */
277    HRESULT innerHTML([out, retval] BSTR* result);
278
279    /*
280        - (void)setInnerHTML:(NSString *)innerHTML;
281    */
282    HRESULT setInnerHTML([in] BSTR html);
283
284    /*
285        - (NSString *)innerHTML;
286    */
287    HRESULT innerText([out, retval] BSTR* result);
288
289    /*
290        - (void)setInnerText:(NSString *)innerText;
291    */
292    HRESULT setInnerText([in] BSTR text);
293}
294
295/*
296    @interface DOMHTMLFormElement : DOMHTMLElement
297*/
298[
299    object,
300    oleautomation,
301    uuid(DF5C0054-DDDB-4888-9198-7A4E4EBF8D69),
302    pointer_default(unique)
303]
304interface IDOMHTMLFormElement : IDOMHTMLElement
305{
306    /*
307        - (DOMHTMLCollection *)elements;
308    */
309    HRESULT elements([out, retval] IDOMHTMLCollection** result);
310
311    /*
312        - (int)length;
313    */
314    HRESULT length([out, retval] int* result);
315
316    /*
317        - (NSString *)name;
318    */
319    HRESULT name([out, retval] BSTR* result);
320
321    /*
322        - (void)setName:(NSString *)name;
323    */
324    HRESULT setName([in] BSTR name);
325
326    /*
327        - (NSString *)acceptCharset;
328    */
329    HRESULT acceptCharset([out, retval] BSTR* result);
330    /*
331        - (void)setAcceptCharset:(NSString *)acceptCharset;
332    */
333    HRESULT setAcceptCharset([in] BSTR acceptCharset);
334
335    /*
336        - (NSString *)action;
337    */
338    HRESULT action([out, retval] BSTR* result);
339
340    /*
341        - (void)setAction:(NSString *)action;
342    */
343    HRESULT setAction([in] BSTR action);
344
345    /*
346        - (NSString *)enctype;
347    */
348    HRESULT encType([out, retval] BSTR* result);
349
350    /*
351        - (void)setEnctype:(NSString *)enctype;
352    */
353    HRESULT setEnctype([out, retval] BSTR* encType);
354
355    /*
356        - (NSString *)method;
357    */
358    HRESULT method([out, retval] BSTR* method);
359
360    /*
361        - (void)setMethod:(NSString *)method;
362    */
363    HRESULT setMethod([in] BSTR method);
364
365    /*
366        - (NSString *)target;
367    */
368    HRESULT target([out, retval] BSTR* result);
369
370    /*
371        - (void)setTarget:(NSString *)target;
372    */
373    HRESULT setTarget([in] BSTR target);
374
375    /*
376        - (void)submit;
377    */
378    HRESULT submit();
379
380    /*
381        - (void)reset;
382    */
383    HRESULT reset();
384}
385
386/*
387    @interface DOMHTMLSelectElement : DOMHTMLElement
388*/
389[
390    object,
391    oleautomation,
392    uuid(3825AA04-B38F-4399-95BB-F5410B29594A),
393    pointer_default(unique)
394]
395interface IDOMHTMLSelectElement : IDOMHTMLElement
396{
397    /*
398        - (NSString *)type;
399    */
400    HRESULT type([out, retval] BSTR* result);
401
402    /*
403        - (int)selectedIndex;
404    */
405    HRESULT selectedIndex([out, retval] int* result);
406
407    /*
408        - (void)setSelectedIndex:(int)selectedIndex;
409    */
410    HRESULT setSelectedIndx([in] int selectedIndex);
411
412    /*
413        - (NSString *)value;
414    */
415    HRESULT value([out, retval] BSTR* result);
416
417    /*
418        - (void)setValue:(NSString *)value;
419    */
420    HRESULT setValue([in] BSTR value);
421
422    /*
423        - (int)length;
424    */
425    HRESULT length([out, retval] int* result);
426
427    /*
428        - (DOMHTMLFormElement *)form;
429    */
430    HRESULT form([out, retval] IDOMHTMLFormElement** result);
431
432    /*
433        - (DOMHTMLOptionsCollection *)options;
434    */
435    HRESULT options([out, retval] IDOMHTMLOptionsCollection** result);
436
437    /*
438        - (BOOL)disabled;
439    */
440    HRESULT disabled([out, retval] BOOL* result);
441
442    /*
443        - (void)setDisabled:(BOOL)disabled;
444    */
445    HRESULT setDisabled([in] BOOL disabled);
446
447    /*
448        - (BOOL)multiple;
449    */
450    HRESULT multiple([out, retval] BOOL* result);
451
452    /*
453        - (void)setMultiple:(BOOL)multiple;
454    */
455    HRESULT setMultiple([in] BOOL multiple);
456
457    /*
458        - (NSString *)name;
459    */
460    HRESULT name([out, retval] BSTR* result);
461
462    /*
463        - (void)setName:(NSString *)name;
464    */
465    HRESULT setName([in] BSTR name);
466
467    /*
468        - (int)size;
469    */
470    HRESULT size([out, retval] int* size);
471
472    /*
473        - (void)setSize:(int)size;
474    */
475    HRESULT setSize([in] int size);
476
477    /*
478        - (int)tabIndex;
479    */
480    HRESULT tabIndex([out, retval] int* result);
481
482    /*
483        - (void)setTabIndex:(int)tabIndex;
484    */
485    HRESULT setTabIndex([in] int tabIndex);
486
487    /*
488        - (void)add:(DOMHTMLElement *)element :(DOMHTMLElement *)before;
489    */
490    HRESULT add([in] IDOMHTMLElement* element, [in] IDOMHTMLElement* before);
491
492    /*
493        - (void)remove:(int)index;
494    */
495    HRESULT remove([in] int index);
496
497    /*
498        - (void)blur;
499    */
500    HRESULT blur();
501
502    /*
503        - (void)focus;
504    */
505    HRESULT focus();
506}
507
508/*
509    @interface DOMHTMLOptionElement : DOMHTMLElement
510*/
511[
512    object,
513    oleautomation,
514    uuid(0E1EF5AB-4008-4d83-9135-D4DC1B4603D4),
515    pointer_default(unique)
516]
517interface IDOMHTMLOptionElement : IDOMHTMLElement
518{
519    /*
520        - (DOMHTMLFormElement *)form;
521    */
522    HRESULT form([out, retval] IDOMHTMLFormElement** result);
523
524    /*
525        - (BOOL)defaultSelected;
526    */
527    HRESULT defaultSelected([out, retval] BOOL* result);
528
529    /*
530        - (void)setDefaultSelected:(BOOL)defaultSelected;
531    */
532    HRESULT setDefaultSelected([in] BOOL defaultSelected);
533
534    /*
535        - (NSString *)text;
536    */
537    HRESULT text([out, retval] BSTR* result);
538
539    /*
540        - (int)index;
541    */
542    HRESULT index([out, retval] int* result);
543
544    /*
545        - (BOOL)disabled;
546    */
547    HRESULT disabled([out, retval] BOOL* result);
548
549    /*
550        - (void)setDisabled:(BOOL)disabled;
551    */
552    HRESULT setDisabled([in] BOOL disabled);
553
554    /*
555        - (NSString *)label;
556    */
557    HRESULT label([out, retval] BSTR* result);
558
559    /*
560        - (void)setLabel:(NSString *)label;
561    */
562    HRESULT setLabel([in] BSTR label);
563
564    /*
565        - (BOOL)selected;
566    */
567    HRESULT selected([out, retval] BOOL* result);
568
569    /*
570        - (void)setSelected:(BOOL)selected;
571    */
572    HRESULT setSelected([in] BOOL selected);
573
574    /*
575        - (NSString *)value;
576    */
577    HRESULT value([out, retval] BSTR* result);
578
579    /*
580        - (void)setValue:(NSString *)value;
581    */
582    HRESULT setValue([in] BSTR value);
583}
584
585/*
586    @interface DOMHTMLInputElement : DOMHTMLElement
587*/
588[
589    object,
590    oleautomation,
591    uuid(80C40AC5-1755-4894-812F-479269C262A2),
592    pointer_default(unique)
593]
594/* FIXME: The Safari app currently relies on IDOMHTMLInputElement inheriting from
595   IDOMElement. This can't be changed until a version of SafariWin which no longer
596   makes this assumption is released.
597*/
598interface IDOMHTMLInputElement : IDOMElement
599{
600    /*
601        - (NSString *)defaultValue;
602    */
603    HRESULT defaultValue([out, retval] BSTR* result);
604
605    /*
606        - (void)setDefaultValue:(NSString *)defaultValue;
607    */
608    HRESULT setDefaultValue([in] BSTR val);
609
610    /*
611        - (BOOL)defaultChecked;
612    */
613    HRESULT defaultChecked([out, retval] BOOL* result);
614
615    /*
616        - (void)setDefaultChecked:(BOOL)defaultChecked;
617    */
618    HRESULT setDefaultChecked([in] BSTR checked);
619
620    /*
621        - (DOMHTMLFormElement *)form;
622    */
623    HRESULT form([out, retval] IDOMHTMLElement** result);
624
625    /*
626        - (NSString *)accept;
627    */
628    HRESULT accept([out, retval] BSTR* result);
629
630    /*
631        - (void)setAccept:(NSString *)accept;
632    */
633    HRESULT setAccept([in] BSTR accept);
634
635    /*
636        - (NSString *)accessKey;
637    */
638    HRESULT accessKey([out, retval] BSTR* result);
639
640    /*
641        - (void)setAccessKey:(NSString *)accessKey;
642    */
643    HRESULT setAccessKey([in] BSTR key);
644
645    /*
646        - (NSString *)align;
647    */
648    HRESULT align([out, retval] BSTR* result);
649
650    /*
651        - (void)setAlign:(NSString *)align;
652    */
653    HRESULT setAlign([in] BSTR align);
654
655    /*
656        - (NSString *)alt;
657    */
658    HRESULT alt([out, retval] BSTR* result);
659
660    /*
661        - (void)setAlt:(NSString *)alt;
662    */
663    HRESULT setAlt([in] BSTR alt);
664
665    /*
666        - (BOOL)checked;
667    */
668    HRESULT checked([out, retval] BOOL* result);
669
670    /*
671        - (void)setChecked:(BOOL)checked;
672    */
673    HRESULT setChecked([in] BOOL checked);
674
675    /*
676        - (BOOL)disabled;
677    */
678    HRESULT disabled([out, retval] BOOL* result);
679
680    /*
681        - (void)setDisabled:(BOOL)disabled;
682    */
683    HRESULT setDisabled([in] BOOL disabled);
684
685    /*
686        - (int)maxLength;
687    */
688    HRESULT maxLength([out, retval] int* result);
689
690    /*
691        - (void)setMaxLength:(int)maxLength;
692    */
693    HRESULT setMaxLength([in] int maxLength);
694
695    /*
696        - (NSString *)name;
697    */
698    HRESULT name([out, retval] BSTR* name);
699
700    /*
701        - (void)setName:(NSString *)name;
702    */
703    HRESULT setName([in] BSTR name);
704
705    /*
706        - (BOOL)readOnly;
707    */
708    HRESULT readOnly([out, retval] BOOL* result);
709
710    /*
711        - (void)setReadOnly:(BOOL)readOnly;
712    */
713    HRESULT setReadOnly([in] BOOL readOnly);
714
715    /*
716        - (unsigned)size;
717    */
718    HRESULT size([out, retval] unsigned int *result);
719
720    /*
721        - (void)setSize:(unsigned)size;
722    */
723    HRESULT setSize([in] unsigned int size);
724
725    /*
726        - (NSString *)src;
727    */
728    HRESULT src([out, retval] BSTR* result);
729
730    /*
731        - (void)setSrc:(NSString *)src;
732    */
733    HRESULT setSrc([in] BSTR src);
734
735    /*
736        - (int)tabIndex;
737    */
738    HRESULT tabIndex([out, retval] int* result);
739
740    /*
741        - (void)setTabIndex:(int)tabIndex;
742    */
743    HRESULT setTabIndex([in] int tabIndex);
744
745    /*
746        - (NSString *)type;
747    */
748    HRESULT type([out, retval] BSTR* result);
749
750    /*
751        - (void)setType:(NSString *)type;
752    */
753    HRESULT setType([in] BSTR type);
754
755    /*
756        - (NSString *)useMap;
757    */
758    HRESULT useMap([out, retval] BSTR* result);
759
760    /*
761        - (void)setUseMap:(NSString *)useMap;
762    */
763    HRESULT setUseMap([in] BSTR useMap);
764
765    /*
766        - (NSString *)value;
767    */
768    HRESULT value([out, retval] BSTR* result);
769
770    /*
771        - (void)setValue:(NSString *)value;
772    */
773    HRESULT setValue([in] BSTR value);
774
775    /*
776        - (void)blur;
777    */
778    HRESULT blur();
779
780    /*
781        - (void)focus;
782    */
783    HRESULT focus();
784
785    /*
786        - (void)select;
787    */
788    HRESULT select();
789
790    /*
791        - (void)click;
792    */
793    HRESULT click();
794
795    // FIXME - this is not in objC bindings at the moment
796    // attribute long selectionStart;
797    HRESULT setSelectionStart([in] long start);
798    HRESULT selectionStart([out, retval] long* start);
799
800    // FIXME - thisis not in the objC bindings at the moment
801    // attribute long selectionEnd;
802    HRESULT setSelectionEnd([in] long end);
803    HRESULT selectionEnd([out, retval] long* end);
804
805    /*
806        - (void)setValueForUser:(NSString *)value;
807    */
808    HRESULT setValueForUser([in] BSTR value);
809}
810
811/*
812    @interface DOMHTMLTextAreaElement : DOMHTMLElement
813*/
814[
815    object,
816    oleautomation,
817    uuid(298B02B7-3EB5-4ba4-AD3F-7FA53241AADE),
818    pointer_default(unique)
819]
820interface IDOMHTMLTextAreaElement : IDOMHTMLElement
821{
822    /*
823        - (NSString *)defaultValue;
824    */
825    HRESULT defaultValue([out, retval] BSTR* result);
826
827    /*
828        - (void)setDefaultValue:(NSString *)defaultValue;
829    */
830    HRESULT setDefaultValue([in] BSTR val);
831
832    /*
833        - (DOMHTMLFormElement *)form;
834    */
835    HRESULT form([out, retval] IDOMHTMLElement** result);
836
837    /*
838        - (NSString *)accessKey;
839    */
840    HRESULT accessKey([out, retval] BSTR* result);
841
842    /*
843        - (void)setAccessKey:(NSString *)accessKey;
844    */
845    HRESULT setAccessKey([in] BSTR key);
846
847    /*
848        - (int)cols;
849    */
850    HRESULT cols([out, retval] int* result);
851
852    /*
853        - (void)setCols:(int)cols;
854    */
855    HRESULT setCols([in] int cols);
856
857    /*
858        - (BOOL)disabled;
859    */
860    HRESULT disabled([out, retval] BOOL* result);
861
862    /*
863        - (void)setDisabled:(BOOL)disabled;
864    */
865    HRESULT setDisabled([in] BOOL disabled);
866
867    /*
868        - (NSString *)name;
869    */
870    HRESULT name([out, retval] BSTR* name);
871
872    /*
873        - (void)setName:(NSString *)name;
874    */
875    HRESULT setName([in] BSTR name);
876
877    /*
878        - (BOOL)readOnly;
879    */
880    HRESULT readOnly([out, retval] BOOL* result);
881
882    /*
883        - (void)setReadOnly:(BOOL)readOnly;
884    */
885    HRESULT setReadOnly([in] BOOL readOnly);
886
887    /*
888        - (int)rows;
889    */
890    HRESULT rows([out, retval] int* result);
891
892    /*
893        - (void)setRows:(int)rows;
894    */
895    HRESULT setRows([in] int rows);
896
897    /*
898        - (int)tabIndex;
899    */
900    HRESULT tabIndex([out, retval] int* result);
901
902    /*
903        - (void)setTabIndex:(int)tabIndex;
904    */
905    HRESULT setTabIndex([in] int tabIndex);
906
907    /*
908        - (NSString *)type;
909    */
910    HRESULT type([out, retval] BSTR* result);
911
912    /*
913        - (NSString *)value;
914    */
915    HRESULT value([out, retval] BSTR* result);
916
917    /*
918        - (void)setValue:(NSString *)value;
919    */
920    HRESULT setValue([in] BSTR value);
921
922    /*
923        - (void)blur;
924    */
925    HRESULT blur();
926
927    /*
928        - (void)focus;
929    */
930    HRESULT focus();
931
932    /*
933        - (void)select;
934    */
935    HRESULT select();
936}
937
938/*
939    @interface DOMHTMLIFrameElement : DOMHTMLElement
940*/
941[
942    object,
943    oleautomation,
944    uuid(8CFFB1DA-7BA5-4cf7-B7E6-80583354855B),
945    pointer_default(unique)
946]
947interface IDOMHTMLIFrameElement : IDOMHTMLElement
948{
949    HRESULT contentFrame([out, retval] IWebFrame** result);
950}
951