2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
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.
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.
32 interface IDOMHTMLElement;
33 interface IDOMHTMLFormElement;
34 interface IDOMHTMLTableCaptionElement;
35 interface IDOMHTMLTableSectionElement;
36 interface IDOMDocument;
37 interface IDOMElement;
39 interface IDOMNodeList;
43 @interface DOMHTMLCollection : DOMObject
48 uuid(DD8E4E33-D1D4-48e7-BB23-6DC3D7CCEC42),
49 pointer_default(unique)
51 interface IDOMHTMLCollection : IDOMObject
56 HRESULT length([out, retval] UINT* result);
59 - (DOMNode *)item:(unsigned)index;
61 HRESULT item([in] UINT index, [out, retval] IDOMNode** node);
64 - (DOMNode *)namedItem:(NSString *)name;
66 HRESULT namedItem([in] BSTR name, [out, retval] IDOMNode** node);
70 @interface DOMHTMLOptionsCollection : DOMObject
75 uuid(1AD98D99-163C-4c04-B6EE-85A3DD31F5C4),
76 pointer_default(unique)
78 interface IDOMHTMLOptionsCollection : IDOMObject
83 HRESULT length([out, retval] unsigned int* result);
86 - (void)setLength:(unsigned)length;
88 HRESULT setLength([in] unsigned int length);
91 - (DOMNode *)item:(unsigned)index;
93 HRESULT item([in] unsigned int index, [out, retval] IDOMNode** result);
96 - (DOMNode *)namedItem:(NSString *)name;
98 HRESULT namedItem([in] BSTR name, [out, retval] IDOMNode** result);
102 @interface DOMHTMLDocument : DOMDocument
107 uuid(A7DF8485-25B7-4a98-B70C-1E29CAA00597),
108 pointer_default(unique)
110 interface IDOMHTMLDocument : IDOMDocument
115 HRESULT title([out, retval] BSTR* result);
118 - (void)setTitle:(NSString *)title;
120 HRESULT setTitle([in] BSTR title);
123 - (NSString *)referrer;
125 HRESULT referrer([out, retval] BSTR* result);
128 - (NSString *)domain;
130 HRESULT domain([out, retval] BSTR* result);
135 HRESULT URL([out, retval] BSTR* result);
138 - (DOMHTMLElement *)body;
140 HRESULT body([out, retval] IDOMHTMLElement** bodyElement);
143 - (void)setBody:(DOMHTMLElement *)body;
145 HRESULT setBody([in] IDOMHTMLElement* body);
148 - (DOMHTMLCollection *)images;
150 HRESULT images([out, retval] IDOMHTMLCollection** collection);
153 - (DOMHTMLCollection *)applets;
155 HRESULT applets([out, retval] IDOMHTMLCollection** collection);
158 - (DOMHTMLCollection *)links;
160 HRESULT links([out, retval] IDOMHTMLCollection** collection);
163 - (DOMHTMLCollection *)forms;
165 HRESULT forms([out, retval] IDOMHTMLCollection** collection);
168 - (DOMHTMLCollection *)anchors;
170 HRESULT anchors([out, retval] IDOMHTMLCollection** collection);
173 - (NSString *)cookie;
175 HRESULT cookie([out, retval] BSTR* result);
178 - (void)setCookie:(NSString *)cookie;
180 HRESULT setCookie([in] BSTR cookie);
193 - (void)write:(NSString *)text;
195 HRESULT write([in] BSTR text);
198 - (void)writeln:(NSString *)text;
200 HRESULT writeln([in] BSTR text);
203 - (DOMElement *)getElementById:(NSString *)elementId;
205 HRESULT getElementById_([in] BSTR elementId, [out, retval] IDOMElement** element);
208 - (DOMNodeList *)getElementsByName:(NSString *)elementName;
210 HRESULT getElementsByName([in] BSTR elementName, [out, retval] IDOMNodeList** nodeList);
214 @interface DOMHTMLElement : DOMElement
219 uuid(EBD5F41D-FF65-41d8-97C9-FCE3A3D4CC3E),
220 pointer_default(unique)
222 interface IDOMHTMLElement : IDOMElement
225 - (NSString *)idName;
227 HRESULT idName([out, retval] BSTR* result);
230 - (void)setIdName:(NSString *)idName;
232 HRESULT setIdName([in] BSTR idName);
237 HRESULT title([out, retval] BSTR* result);
240 - (void)setTitle:(NSString *)title;
242 HRESULT setTitle([in] BSTR title);
247 HRESULT lang([out, retval] BSTR* result);
250 - (void)setLang:(NSString *)lang;
252 HRESULT setLang([in] BSTR lang);
257 HRESULT dir([out, retval] BSTR* result);
260 - (void)setDir:(NSString *)dir;
262 HRESULT setDir([in] BSTR dir);
265 - (NSString *)className;
267 HRESULT className([out, retval] BSTR* result);
270 - (void)setClassName:(NSString *)className;
272 HRESULT setClassName([in] BSTR className);
275 - (NSString *)innerHTML;
277 HRESULT innerHTML([out, retval] BSTR* result);
280 - (void)setInnerHTML:(NSString *)innerHTML;
282 HRESULT setInnerHTML([in] BSTR html);
285 - (NSString *)innerHTML;
287 HRESULT innerText([out, retval] BSTR* result);
290 - (void)setInnerText:(NSString *)innerText;
292 HRESULT setInnerText([in] BSTR text);
296 @interface DOMHTMLFormElement : DOMHTMLElement
301 uuid(DF5C0054-DDDB-4888-9198-7A4E4EBF8D69),
302 pointer_default(unique)
304 interface IDOMHTMLFormElement : IDOMHTMLElement
307 - (DOMHTMLCollection *)elements;
309 HRESULT elements([out, retval] IDOMHTMLCollection** result);
314 HRESULT length([out, retval] int* result);
319 HRESULT name([out, retval] BSTR* result);
322 - (void)setName:(NSString *)name;
324 HRESULT setName([in] BSTR name);
327 - (NSString *)acceptCharset;
329 HRESULT acceptCharset([out, retval] BSTR* result);
331 - (void)setAcceptCharset:(NSString *)acceptCharset;
333 HRESULT setAcceptCharset([in] BSTR acceptCharset);
336 - (NSString *)action;
338 HRESULT action([out, retval] BSTR* result);
341 - (void)setAction:(NSString *)action;
343 HRESULT setAction([in] BSTR action);
346 - (NSString *)enctype;
348 HRESULT encType([out, retval] BSTR* result);
351 - (void)setEnctype:(NSString *)enctype;
353 HRESULT setEnctype([out, retval] BSTR* encType);
356 - (NSString *)method;
358 HRESULT method([out, retval] BSTR* method);
361 - (void)setMethod:(NSString *)method;
363 HRESULT setMethod([in] BSTR method);
366 - (NSString *)target;
368 HRESULT target([out, retval] BSTR* result);
371 - (void)setTarget:(NSString *)target;
373 HRESULT setTarget([in] BSTR target);
387 @interface DOMHTMLSelectElement : DOMHTMLElement
392 uuid(3825AA04-B38F-4399-95BB-F5410B29594A),
393 pointer_default(unique)
395 interface IDOMHTMLSelectElement : IDOMHTMLElement
400 HRESULT type([out, retval] BSTR* result);
403 - (int)selectedIndex;
405 HRESULT selectedIndex([out, retval] int* result);
408 - (void)setSelectedIndex:(int)selectedIndex;
410 HRESULT setSelectedIndx([in] int selectedIndex);
415 HRESULT value([out, retval] BSTR* result);
418 - (void)setValue:(NSString *)value;
420 HRESULT setValue([in] BSTR value);
425 HRESULT length([out, retval] int* result);
428 - (DOMHTMLFormElement *)form;
430 HRESULT form([out, retval] IDOMHTMLFormElement** result);
433 - (DOMHTMLOptionsCollection *)options;
435 HRESULT options([out, retval] IDOMHTMLOptionsCollection** result);
440 HRESULT disabled([out, retval] BOOL* result);
443 - (void)setDisabled:(BOOL)disabled;
445 HRESULT setDisabled([in] BOOL disabled);
450 HRESULT multiple([out, retval] BOOL* result);
453 - (void)setMultiple:(BOOL)multiple;
455 HRESULT setMultiple([in] BOOL multiple);
460 HRESULT name([out, retval] BSTR* result);
463 - (void)setName:(NSString *)name;
465 HRESULT setName([in] BSTR name);
470 HRESULT size([out, retval] int* size);
473 - (void)setSize:(int)size;
475 HRESULT setSize([in] int size);
480 HRESULT tabIndex([out, retval] int* result);
483 - (void)setTabIndex:(int)tabIndex;
485 HRESULT setTabIndex([in] int tabIndex);
488 - (void)add:(DOMHTMLElement *)element :(DOMHTMLElement *)before;
490 HRESULT add([in] IDOMHTMLElement* element, [in] IDOMHTMLElement* before);
493 - (void)remove:(int)index;
495 HRESULT remove([in] int index);
509 @interface DOMHTMLOptionElement : DOMHTMLElement
514 uuid(0E1EF5AB-4008-4d83-9135-D4DC1B4603D4),
515 pointer_default(unique)
517 interface IDOMHTMLOptionElement : IDOMHTMLElement
520 - (DOMHTMLFormElement *)form;
522 HRESULT form([out, retval] IDOMHTMLFormElement** result);
525 - (BOOL)defaultSelected;
527 HRESULT defaultSelected([out, retval] BOOL* result);
530 - (void)setDefaultSelected:(BOOL)defaultSelected;
532 HRESULT setDefaultSelected([in] BOOL defaultSelected);
537 HRESULT text([out, retval] BSTR* result);
542 HRESULT index([out, retval] int* result);
547 HRESULT disabled([out, retval] BOOL* result);
550 - (void)setDisabled:(BOOL)disabled;
552 HRESULT setDisabled([in] BOOL disabled);
557 HRESULT label([out, retval] BSTR* result);
560 - (void)setLabel:(NSString *)label;
562 HRESULT setLabel([in] BSTR label);
567 HRESULT selected([out, retval] BOOL* result);
570 - (void)setSelected:(BOOL)selected;
572 HRESULT setSelected([in] BOOL selected);
577 HRESULT value([out, retval] BSTR* result);
580 - (void)setValue:(NSString *)value;
582 HRESULT setValue([in] BSTR value);
586 @interface DOMHTMLInputElement : DOMHTMLElement
591 uuid(80C40AC5-1755-4894-812F-479269C262A2),
592 pointer_default(unique)
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.
598 interface IDOMHTMLInputElement : IDOMElement
601 - (NSString *)defaultValue;
603 HRESULT defaultValue([out, retval] BSTR* result);
606 - (void)setDefaultValue:(NSString *)defaultValue;
608 HRESULT setDefaultValue([in] BSTR val);
611 - (BOOL)defaultChecked;
613 HRESULT defaultChecked([out, retval] BOOL* result);
616 - (void)setDefaultChecked:(BOOL)defaultChecked;
618 HRESULT setDefaultChecked([in] BSTR checked);
621 - (DOMHTMLFormElement *)form;
623 HRESULT form([out, retval] IDOMHTMLElement** result);
626 - (NSString *)accept;
628 HRESULT accept([out, retval] BSTR* result);
631 - (void)setAccept:(NSString *)accept;
633 HRESULT setAccept([in] BSTR accept);
636 - (NSString *)accessKey;
638 HRESULT accessKey([out, retval] BSTR* result);
641 - (void)setAccessKey:(NSString *)accessKey;
643 HRESULT setAccessKey([in] BSTR key);
648 HRESULT align([out, retval] BSTR* result);
651 - (void)setAlign:(NSString *)align;
653 HRESULT setAlign([in] BSTR align);
658 HRESULT alt([out, retval] BSTR* result);
661 - (void)setAlt:(NSString *)alt;
663 HRESULT setAlt([in] BSTR alt);
668 HRESULT checked([out, retval] BOOL* result);
671 - (void)setChecked:(BOOL)checked;
673 HRESULT setChecked([in] BOOL checked);
678 HRESULT disabled([out, retval] BOOL* result);
681 - (void)setDisabled:(BOOL)disabled;
683 HRESULT setDisabled([in] BOOL disabled);
688 HRESULT maxLength([out, retval] int* result);
691 - (void)setMaxLength:(int)maxLength;
693 HRESULT setMaxLength([in] int maxLength);
698 HRESULT name([out, retval] BSTR* name);
701 - (void)setName:(NSString *)name;
703 HRESULT setName([in] BSTR name);
708 HRESULT readOnly([out, retval] BOOL* result);
711 - (void)setReadOnly:(BOOL)readOnly;
713 HRESULT setReadOnly([in] BOOL readOnly);
718 HRESULT size([out, retval] unsigned int *result);
721 - (void)setSize:(unsigned)size;
723 HRESULT setSize([in] unsigned int size);
728 HRESULT src([out, retval] BSTR* result);
731 - (void)setSrc:(NSString *)src;
733 HRESULT setSrc([in] BSTR src);
738 HRESULT tabIndex([out, retval] int* result);
741 - (void)setTabIndex:(int)tabIndex;
743 HRESULT setTabIndex([in] int tabIndex);
748 HRESULT type([out, retval] BSTR* result);
751 - (void)setType:(NSString *)type;
753 HRESULT setType([in] BSTR type);
756 - (NSString *)useMap;
758 HRESULT useMap([out, retval] BSTR* result);
761 - (void)setUseMap:(NSString *)useMap;
763 HRESULT setUseMap([in] BSTR useMap);
768 HRESULT value([out, retval] BSTR* result);
771 - (void)setValue:(NSString *)value;
773 HRESULT setValue([in] BSTR value);
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);
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);
806 - (void)setValueForUser:(NSString *)value;
808 HRESULT setValueForUser([in] BSTR value);
812 @interface DOMHTMLTextAreaElement : DOMHTMLElement
817 uuid(298B02B7-3EB5-4ba4-AD3F-7FA53241AADE),
818 pointer_default(unique)
820 interface IDOMHTMLTextAreaElement : IDOMHTMLElement
823 - (NSString *)defaultValue;
825 HRESULT defaultValue([out, retval] BSTR* result);
828 - (void)setDefaultValue:(NSString *)defaultValue;
830 HRESULT setDefaultValue([in] BSTR val);
833 - (DOMHTMLFormElement *)form;
835 HRESULT form([out, retval] IDOMHTMLElement** result);
838 - (NSString *)accessKey;
840 HRESULT accessKey([out, retval] BSTR* result);
843 - (void)setAccessKey:(NSString *)accessKey;
845 HRESULT setAccessKey([in] BSTR key);
850 HRESULT cols([out, retval] int* result);
853 - (void)setCols:(int)cols;
855 HRESULT setCols([in] int cols);
860 HRESULT disabled([out, retval] BOOL* result);
863 - (void)setDisabled:(BOOL)disabled;
865 HRESULT setDisabled([in] BOOL disabled);
870 HRESULT name([out, retval] BSTR* name);
873 - (void)setName:(NSString *)name;
875 HRESULT setName([in] BSTR name);
880 HRESULT readOnly([out, retval] BOOL* result);
883 - (void)setReadOnly:(BOOL)readOnly;
885 HRESULT setReadOnly([in] BOOL readOnly);
890 HRESULT rows([out, retval] int* result);
893 - (void)setRows:(int)rows;
895 HRESULT setRows([in] int rows);
900 HRESULT tabIndex([out, retval] int* result);
903 - (void)setTabIndex:(int)tabIndex;
905 HRESULT setTabIndex([in] int tabIndex);
910 HRESULT type([out, retval] BSTR* result);
915 HRESULT value([out, retval] BSTR* result);
918 - (void)setValue:(NSString *)value;
920 HRESULT setValue([in] BSTR value);
939 @interface DOMHTMLIFrameElement : DOMHTMLElement
944 uuid(8CFFB1DA-7BA5-4cf7-B7E6-80583354855B),
945 pointer_default(unique)
947 interface IDOMHTMLIFrameElement : IDOMHTMLElement
949 HRESULT contentFrame([out, retval] IWebFrame** result);