1c756a20e82f6790f24c0ca5a1496c83809efe67
[WebKit-https.git] / WebCore / kwq / DOMHTML.mm
1 /*
2  * Copyright (C) 2004 Apple Computer, 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 #import "DOMHTML.h"
27
28 #import "dom_string.h"
29 #import "html_baseimpl.h"
30 #import "html_blockimpl.h"
31 #import "html_documentimpl.h"
32 #import "html_elementimpl.h"
33 #import "html_formimpl.h"
34 #import "html_headimpl.h"
35 #import "html_imageimpl.h"
36 #import "html_inlineimpl.h"
37 #import "html_listimpl.h"
38 #import "html_miscimpl.h"
39 #import "html_objectimpl.h"
40 #import "html_tableimpl.h"
41 #import "dom_elementimpl.h"
42 #import "dom_nodeimpl.h"
43 #import "markup.h"
44
45 #import "DOMExtensions.h"
46 #import "DOMInternal.h"
47 #import "DOMHTMLInternal.h"
48 #import "KWQAssertions.h"
49 #import "KWQFoundationExtras.h"
50
51 using DOM::Document;
52 using DOM::DocumentFragmentImpl;
53 using DOM::DOMString;
54 using DOM::ElementImpl;
55 using DOM::HTMLAttributes;
56 using DOM::HTMLTags;
57 using DOM::HTMLAnchorElementImpl;
58 using DOM::HTMLAppletElementImpl;
59 using DOM::HTMLAreaElementImpl;
60 using DOM::HTMLBaseElementImpl;
61 using DOM::HTMLBaseFontElementImpl;
62 using DOM::HTMLBodyElementImpl;
63 using DOM::HTMLBRElementImpl;
64 using DOM::HTMLButtonElementImpl;
65 using DOM::HTMLCollectionImpl;
66 using DOM::HTMLDirectoryElementImpl;
67 using DOM::HTMLDivElementImpl;
68 using DOM::HTMLDListElementImpl;
69 using DOM::HTMLDocumentImpl;
70 using DOM::HTMLElementImpl;
71 using DOM::HTMLEmbedElementImpl;
72 using DOM::HTMLFieldSetElementImpl;
73 using DOM::HTMLFontElementImpl;
74 using DOM::HTMLFormCollectionImpl;
75 using DOM::HTMLFormElementImpl;
76 using DOM::HTMLFrameElementImpl;
77 using DOM::HTMLFrameSetElementImpl;
78 using DOM::HTMLGenericFormElementImpl;
79 using DOM::HTMLHeadElementImpl;
80 using DOM::HTMLHeadingElementImpl;
81 using DOM::HTMLHRElementImpl;
82 using DOM::HTMLHtmlElementImpl;
83 using DOM::HTMLIFrameElementImpl;
84 using DOM::HTMLImageElementImpl;
85 using DOM::HTMLInputElementImpl;
86 using DOM::HTMLIsIndexElementImpl;
87 using DOM::HTMLLabelElementImpl;
88 using DOM::HTMLLegendElementImpl;
89 using DOM::HTMLLIElementImpl;
90 using DOM::HTMLLinkElementImpl;
91 using DOM::HTMLMapElementImpl;
92 using DOM::HTMLMenuElementImpl;
93 using DOM::HTMLMetaElementImpl;
94 using DOM::HTMLObjectElementImpl;
95 using DOM::HTMLOListElementImpl;
96 using DOM::HTMLOptGroupElementImpl;
97 using DOM::HTMLOptionElementImpl;
98 using DOM::HTMLOptionsCollectionImpl;
99 using DOM::HTMLParagraphElementImpl;
100 using DOM::HTMLParamElementImpl;
101 using DOM::HTMLPreElementImpl;
102 using DOM::HTMLScriptElementImpl;
103 using DOM::HTMLSelectElementImpl;
104 using DOM::HTMLStyleElementImpl;
105 using DOM::HTMLTableElementImpl;
106 using DOM::HTMLTableCaptionElementImpl;
107 using DOM::HTMLTableCellElementImpl;
108 using DOM::HTMLTableColElementImpl;
109 using DOM::HTMLTableRowElementImpl;
110 using DOM::HTMLTableSectionElementImpl;
111 using DOM::HTMLTextAreaElementImpl;
112 using DOM::HTMLTitleElementImpl;
113 using DOM::HTMLUListElementImpl;
114 using DOM::NameNodeListImpl;
115 using DOM::NodeImpl;
116
117 // FIXME: This code should be using the impl methods instead of doing so many get/setAttribute calls.
118 // FIXME: This code should be generated.
119
120 @interface DOMHTMLCollection (WebCoreInternal)
121 + (DOMHTMLCollection *)_collectionWithImpl:(HTMLCollectionImpl *)impl;
122 @end
123
124 @interface DOMHTMLElement (WebCoreInternal)
125 + (DOMHTMLElement *)_elementWithImpl:(HTMLElementImpl *)impl;
126 - (HTMLElementImpl *)_HTMLElementImpl;
127 @end
128
129 @interface DOMHTMLFormElement (WebCoreInternal)
130 + (DOMHTMLFormElement *)_formElementWithImpl:(HTMLFormElementImpl *)impl;
131 @end
132
133 @interface DOMHTMLTableCaptionElement (WebCoreInternal)
134 + (DOMHTMLTableCaptionElement *)_tableCaptionElementWithImpl:(HTMLTableCaptionElementImpl *)impl;
135 - (HTMLTableCaptionElementImpl *)_tableCaptionElementImpl;
136 @end
137
138 @interface DOMHTMLTableSectionElement (WebCoreInternal)
139 + (DOMHTMLTableSectionElement *)_tableSectionElementWithImpl:(HTMLTableSectionElementImpl *)impl;
140 - (HTMLTableSectionElementImpl *)_tableSectionElementImpl;
141 @end
142
143 @interface DOMHTMLTableElement (WebCoreInternal)
144 + (DOMHTMLTableElement *)_tableElementWithImpl:(HTMLTableElementImpl *)impl;
145 - (HTMLTableElementImpl *)_tableElementImpl;
146 @end
147
148 @interface DOMHTMLTableCellElement (WebCoreInternal)
149 + (DOMHTMLTableCellElement *)_tableCellElementWithImpl:(HTMLTableCellElementImpl *)impl;
150 - (HTMLTableCellElementImpl *)_tableCellElementImpl;
151 @end
152
153 //------------------------------------------------------------------------------------------
154
155 @implementation DOMHTMLCollection
156
157 - (void)dealloc
158 {
159     if (_internal) {
160         DOM_cast<HTMLCollectionImpl *>(_internal)->deref();
161     }
162     [super dealloc];
163 }
164
165 - (void)finalize
166 {
167     if (_internal) {
168         DOM_cast<HTMLCollectionImpl *>(_internal)->deref();
169     }
170     [super finalize];
171 }
172
173 - (HTMLCollectionImpl *)_collectionImpl
174 {
175     return DOM_cast<HTMLCollectionImpl *>(_internal);
176 }
177
178 - (unsigned long)length
179 {
180     return [self _collectionImpl]->length();
181 }
182
183 - (DOMNode *)item:(unsigned long)index
184 {
185     return [DOMNode _nodeWithImpl:[self _collectionImpl]->item(index)];
186 }
187
188 - (DOMNode *)namedItem:(NSString *)name
189 {
190     return [DOMNode _nodeWithImpl:[self _collectionImpl]->namedItem(name)];
191 }
192
193 @end
194
195 @implementation DOMHTMLCollection (WebCoreInternal)
196
197 - (id)_initWithCollectionImpl:(HTMLCollectionImpl *)impl
198 {
199     ASSERT(impl);
200     
201     [super _init];
202     _internal = DOM_cast<DOMObjectInternal *>(impl);
203     impl->ref();
204     addDOMWrapper(self, impl);
205     return self;
206 }
207
208 + (DOMHTMLCollection *)_collectionWithImpl:(HTMLCollectionImpl *)impl
209 {
210     if (!impl)
211         return nil;
212     
213     id cachedInstance;
214     cachedInstance = getDOMWrapper(impl);
215     if (cachedInstance)
216         return [[cachedInstance retain] autorelease];
217     
218     return [[[self alloc] _initWithCollectionImpl:impl] autorelease];
219 }
220
221 @end
222
223 @implementation DOMHTMLOptionsCollection
224
225 - (void)dealloc
226 {
227     if (_internal) {
228         DOM_cast<HTMLOptionsCollectionImpl *>(_internal)->deref();
229     }
230     [super dealloc];
231 }
232
233 - (void)finalize
234 {
235     if (_internal) {
236         DOM_cast<HTMLOptionsCollectionImpl *>(_internal)->deref();
237     }
238     [super finalize];
239 }
240
241 - (id)_initWithOptionsCollectionImpl:(HTMLOptionsCollectionImpl *)impl
242 {
243     ASSERT(impl);
244     
245     [super _init];
246     _internal = DOM_cast<DOMObjectInternal *>(impl);
247     impl->ref();
248     addDOMWrapper(self, impl);
249     return self;
250 }
251
252 + (DOMHTMLOptionsCollection *)_optionsCollectionWithImpl:(HTMLOptionsCollectionImpl *)impl
253 {
254     if (!impl)
255         return nil;
256     
257     id cachedInstance;
258     cachedInstance = getDOMWrapper(impl);
259     if (cachedInstance)
260         return [[cachedInstance retain] autorelease];
261     
262     return [[[self alloc] _initWithOptionsCollectionImpl:impl] autorelease];
263 }
264
265 - (HTMLOptionsCollectionImpl *)_optionsCollectionImpl
266 {
267     return DOM_cast<HTMLOptionsCollectionImpl *>(_internal);
268 }
269
270 - (unsigned long)length
271 {
272     return [self _optionsCollectionImpl]->length();
273 }
274
275 - (void)setLength:(unsigned long)length
276 {
277     [self _optionsCollectionImpl]->setLength(length);
278 }
279
280 - (DOMNode *)item:(unsigned long)index
281 {
282     return [DOMNode _nodeWithImpl:[self _optionsCollectionImpl]->item(index)];
283 }
284
285 - (DOMNode *)namedItem:(NSString *)name
286 {
287     return [DOMNode _nodeWithImpl:[self _optionsCollectionImpl]->namedItem(name)];
288 }
289
290 @end
291
292 @implementation DOMHTMLElement
293
294 - (NSString *)idName
295 {
296     return [self _HTMLElementImpl]->getAttribute(HTMLAttributes::idAttr());
297 }
298
299 - (void)setIdName:(NSString *)idName
300 {
301     [self _HTMLElementImpl]->setAttribute(HTMLAttributes::idAttr(), idName);
302 }
303
304 - (NSString *)title
305 {
306     return [self _HTMLElementImpl]->title();
307 }
308
309 - (void)setTitle:(NSString *)title
310 {
311     [self _HTMLElementImpl]->setTitle(title);
312 }
313
314 - (NSString *)lang
315 {
316     return [self _HTMLElementImpl]->lang();
317 }
318
319 - (void)setLang:(NSString *)lang
320 {
321     [self _HTMLElementImpl]->setLang(lang);
322 }
323
324 - (NSString *)dir
325 {
326     return [self _HTMLElementImpl]->dir();
327 }
328
329 - (void)setDir:(NSString *)dir
330 {
331     [self _HTMLElementImpl]->setDir(dir);
332 }
333
334 - (NSString *)className
335 {
336     return [self _HTMLElementImpl]->className();
337 }
338
339 - (void)setClassName:(NSString *)className
340 {
341     [self _HTMLElementImpl]->setClassName(className);
342 }
343
344 @end
345
346 @implementation DOMHTMLElement (WebCoreInternal)
347
348 + (DOMHTMLElement *)_elementWithImpl:(HTMLElementImpl *)impl
349 {
350     return static_cast<DOMHTMLElement *>([DOMNode _nodeWithImpl:impl]);
351 }
352
353 - (HTMLElementImpl *)_HTMLElementImpl
354 {
355     return static_cast<HTMLElementImpl *>(DOM_cast<NodeImpl *>(_internal));
356 }
357
358 @end
359
360 @implementation DOMHTMLElement (DOMHTMLElementExtensions)
361
362 - (NSString *)innerHTML
363 {
364     return [self _HTMLElementImpl]->innerHTML();
365 }
366
367 - (void)setInnerHTML:(NSString *)innerHTML
368 {
369     int exception = 0;
370     [self _HTMLElementImpl]->setInnerHTML(innerHTML, exception);
371     raiseOnDOMError(exception);
372 }
373
374 - (NSString *)outerHTML
375 {
376     return [self _HTMLElementImpl]->outerHTML();
377 }
378
379 - (void)setOuterHTML:(NSString *)outerHTML
380 {
381     int exception = 0;
382     [self _HTMLElementImpl]->setOuterHTML(outerHTML, exception);
383     raiseOnDOMError(exception);
384 }
385
386 - (NSString *)innerText
387 {
388     return [self _HTMLElementImpl]->innerText();
389 }
390
391 - (void)setInnerText:(NSString *)innerText
392 {
393     int exception = 0;
394     [self _HTMLElementImpl]->setInnerText(innerText, exception);
395     raiseOnDOMError(exception);
396 }
397
398 - (NSString *)outerText
399 {
400     return [self _HTMLElementImpl]->outerText();
401 }
402
403 - (void)setOuterText:(NSString *)outerText
404 {
405     int exception = 0;
406     [self _HTMLElementImpl]->setOuterText(outerText, exception);
407     raiseOnDOMError(exception);
408 }
409
410 - (DOMHTMLCollection *)children
411 {
412     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _HTMLElementImpl], HTMLCollectionImpl::NODE_CHILDREN);
413     return [DOMHTMLCollection _collectionWithImpl:collection];
414 }
415
416 - (NSString *)contentEditable
417 {
418     return [self _HTMLElementImpl]->contentEditable();
419 }
420
421 - (void)setContentEditable:(NSString *)contentEditable
422 {
423     [self _HTMLElementImpl]->setContentEditable(contentEditable);
424 }
425
426 - (BOOL)isContentEditable
427 {
428     return [self _HTMLElementImpl]->isContentEditable();
429 }
430
431 @end
432
433 @implementation DOMHTMLDocument
434
435 - (HTMLDocumentImpl *)_HTMLDocumentImpl
436 {
437     return static_cast<HTMLDocumentImpl *>(DOM_cast<NodeImpl *>(_internal));
438 }
439
440 - (NSString *)title
441 {
442     return [self _HTMLDocumentImpl]->title();
443 }
444
445 - (void)setTitle:(NSString *)title
446 {
447     [self _HTMLDocumentImpl]->setTitle(title);
448 }
449
450 - (NSString *)referrer
451 {
452      return [self _HTMLDocumentImpl]->referrer();
453 }
454
455 - (NSString *)domain
456 {
457      return [self _HTMLDocumentImpl]->domain();
458 }
459
460 - (NSString *)URL
461 {
462     return [self _HTMLDocumentImpl]->URL().getNSString();
463 }
464
465 - (DOMHTMLElement *)body
466 {
467     return [DOMHTMLElement _elementWithImpl:[self _HTMLDocumentImpl]->body()];
468 }
469
470 - (DOMHTMLCollection *)images
471 {
472     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _HTMLDocumentImpl], HTMLCollectionImpl::DOC_IMAGES);
473     return [DOMHTMLCollection _collectionWithImpl:collection];
474 }
475
476 - (DOMHTMLCollection *)applets
477 {
478     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _HTMLDocumentImpl], HTMLCollectionImpl::DOC_APPLETS);
479     return [DOMHTMLCollection _collectionWithImpl:collection];
480 }
481
482 - (DOMHTMLCollection *)links
483 {
484     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _HTMLDocumentImpl], HTMLCollectionImpl::DOC_LINKS);
485     return [DOMHTMLCollection _collectionWithImpl:collection];
486 }
487
488 - (DOMHTMLCollection *)forms
489 {
490     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _HTMLDocumentImpl], HTMLCollectionImpl::DOC_FORMS);
491     return [DOMHTMLCollection _collectionWithImpl:collection];
492 }
493
494 - (DOMHTMLCollection *)anchors
495 {
496     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _HTMLDocumentImpl], HTMLCollectionImpl::DOC_ANCHORS);
497     return [DOMHTMLCollection _collectionWithImpl:collection];
498 }
499
500 - (void)setBody:(DOMHTMLElement *)body
501 {
502     int exceptionCode = 0;
503     [self _HTMLDocumentImpl]->setBody([body _HTMLElementImpl], exceptionCode);
504     raiseOnDOMError(exceptionCode);
505 }
506
507 - (NSString *)cookie
508 {
509     return [self _HTMLDocumentImpl]->cookie();
510 }
511
512 - (void)setCookie:(NSString *)cookie
513 {
514     [self _HTMLDocumentImpl]->setCookie(cookie);
515 }
516
517 - (void)open
518 {
519     [self _HTMLDocumentImpl]->open();
520 }
521
522 - (void)close
523 {
524     [self _HTMLDocumentImpl]->close();
525 }
526
527 - (void)write:(NSString *)text
528 {
529     [self _HTMLDocumentImpl]->write(text);
530 }
531
532 - (void)writeln:(NSString *)text
533 {
534     [self _HTMLDocumentImpl]->writeln(text);
535 }
536
537 - (DOMElement *)getElementById:(NSString *)elementId
538 {
539     return [DOMElement _elementWithImpl:[self _HTMLDocumentImpl]->getElementById(elementId)];
540 }
541
542 - (DOMNodeList *)getElementsByName:(NSString *)elementName
543 {
544     NameNodeListImpl *nodeList = new NameNodeListImpl([self _HTMLDocumentImpl], elementName);
545     return [DOMNodeList _nodeListWithImpl:nodeList];
546 }
547
548 @end
549
550 @implementation DOMHTMLDocument (WebPrivate)
551
552 - (DOMDocumentFragment *)_createDocumentFragmentWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString
553 {
554     DocumentFragmentImpl *fragment = createFragmentFromMarkup([self _documentImpl], QString::fromNSString(markupString), QString::fromNSString(baseURLString));
555     return [DOMDocumentFragment _documentFragmentWithImpl:fragment];
556 }
557
558 - (DOMDocumentFragment *)_createDocumentFragmentWithText:(NSString *)text
559 {
560     return [DOMDocumentFragment _documentFragmentWithImpl:createFragmentFromText([self _documentImpl], QString::fromNSString(text))];
561 }
562
563 @end
564
565 @implementation DOMHTMLHtmlElement
566
567 - (HTMLHtmlElementImpl *)_HTMLHtmlElementImpl
568 {
569     return static_cast<HTMLHtmlElementImpl *>(DOM_cast<NodeImpl *>(_internal));
570 }
571
572 - (NSString *)version
573 {
574     return [self _HTMLHtmlElementImpl]->version();
575 }
576
577 - (void)setVersion:(NSString *)version
578 {
579     [self _HTMLHtmlElementImpl]->setVersion(version);
580 }
581
582 @end
583
584 @implementation DOMHTMLHeadElement
585
586 - (HTMLHeadElementImpl *)_headElementImpl
587 {
588     return static_cast<HTMLHeadElementImpl *>(DOM_cast<NodeImpl *>(_internal));
589 }
590
591 - (NSString *)profile
592 {
593     return [self _headElementImpl]->profile();
594 }
595
596 - (void)setProfile:(NSString *)profile
597 {
598     [self _headElementImpl]->setProfile(profile);
599 }
600
601 @end
602
603 @implementation DOMHTMLLinkElement
604
605 - (HTMLLinkElementImpl *)_linkElementImpl
606 {
607     return static_cast<HTMLLinkElementImpl *>(DOM_cast<NodeImpl *>(_internal));
608 }
609
610 - (BOOL)disabled
611 {
612     return ![self _linkElementImpl]->disabled();
613 }
614
615 - (void)setDisabled:(BOOL)disabled
616 {
617     [self _linkElementImpl]->setDisabled(disabled);
618 }
619
620 - (NSString *)charset
621 {
622     return [self _linkElementImpl]->charset();
623 }
624
625 - (void)setCharset:(NSString *)charset
626 {
627     [self _linkElementImpl]->setCharset(charset);
628 }
629
630 - (NSString *)href
631 {
632     return [self _linkElementImpl]->href();
633 }
634
635 - (void)setHref:(NSString *)href
636 {
637     [self _linkElementImpl]->href();
638 }
639
640 - (NSString *)hreflang
641 {
642     return [self _linkElementImpl]->hreflang();
643 }
644
645 - (void)setHreflang:(NSString *)hreflang
646 {
647     [self _linkElementImpl]->setHreflang(hreflang);
648 }
649
650 - (NSString *)media
651 {
652     return [self _linkElementImpl]->getAttribute(HTMLAttributes::media());
653 }
654
655 - (void)setMedia:(NSString *)media
656 {
657     [self _linkElementImpl]->setAttribute(HTMLAttributes::media(), media);
658 }
659
660 - (NSString *)rel
661 {
662     return [self _linkElementImpl]->getAttribute(HTMLAttributes::rel());
663 }
664
665 - (void)setRel:(NSString *)rel
666 {
667     [self _linkElementImpl]->setAttribute(HTMLAttributes::rel(), rel);
668 }
669
670 - (NSString *)rev
671 {
672     return [self _linkElementImpl]->getAttribute(HTMLAttributes::rev());
673 }
674
675 - (void)setRev:(NSString *)rev
676 {
677     [self _linkElementImpl]->setAttribute(HTMLAttributes::rev(), rev);
678 }
679
680 - (NSString *)target
681 {
682     return [self _linkElementImpl]->getAttribute(HTMLAttributes::target());
683 }
684
685 - (void)setTarget:(NSString *)target
686 {
687     [self _linkElementImpl]->setAttribute(HTMLAttributes::target(), target);
688 }
689
690 - (NSString *)type
691 {
692     return [self _linkElementImpl]->getAttribute(HTMLAttributes::type());
693 }
694
695 - (void)setType:(NSString *)type
696 {
697     [self _linkElementImpl]->setAttribute(HTMLAttributes::type(), type);
698 }
699
700 @end
701
702 @implementation DOMHTMLTitleElement
703
704 - (HTMLTitleElementImpl *)_titleElementImpl
705 {
706     return static_cast<HTMLTitleElementImpl *>(DOM_cast<NodeImpl *>(_internal));
707 }
708
709 - (NSString *)text
710 {
711     return [self _titleElementImpl]->getAttribute(HTMLAttributes::text());
712 }
713
714 - (void)setText:(NSString *)text
715 {
716     [self _titleElementImpl]->setAttribute(HTMLAttributes::text(), text);
717 }
718
719 @end
720
721 @implementation DOMHTMLMetaElement
722
723 - (HTMLMetaElementImpl *)_metaElementImpl
724 {
725     return static_cast<HTMLMetaElementImpl *>(DOM_cast<NodeImpl *>(_internal));
726 }
727
728 - (NSString *)content
729 {
730     return [self _metaElementImpl]->getAttribute(HTMLAttributes::content());
731 }
732
733 - (void)setContent:(NSString *)content
734 {
735     [self _metaElementImpl]->setAttribute(HTMLAttributes::content(), content);
736 }
737
738 - (NSString *)httpEquiv
739 {
740     return [self _metaElementImpl]->getAttribute(HTMLAttributes::http_equiv());
741 }
742
743 - (void)setHttpEquiv:(NSString *)httpEquiv
744 {
745     [self _metaElementImpl]->setAttribute(HTMLAttributes::http_equiv(), httpEquiv);
746 }
747
748 - (NSString *)name
749 {
750     return [self _metaElementImpl]->getAttribute(HTMLAttributes::name());
751 }
752
753 - (void)setName:(NSString *)name
754 {
755     [self _metaElementImpl]->setAttribute(HTMLAttributes::name(), name);
756 }
757
758 - (NSString *)scheme
759 {
760     return [self _metaElementImpl]->getAttribute(HTMLAttributes::scheme());
761 }
762
763 - (void)setScheme:(NSString *)scheme
764 {
765     [self _metaElementImpl]->setAttribute(HTMLAttributes::scheme(), scheme);
766 }
767
768 @end
769
770 @implementation DOMHTMLBaseElement
771
772 - (HTMLBaseElementImpl *)_baseElementImpl
773 {
774     return static_cast<HTMLBaseElementImpl *>(DOM_cast<NodeImpl *>(_internal));
775 }
776
777 - (NSString *)href
778 {
779     return [self _baseElementImpl]->href();
780 }
781
782 - (void)setHref:(NSString *)href
783 {
784     [self _baseElementImpl]->setAttribute(HTMLAttributes::href(), href);
785 }
786
787 - (NSString *)target
788 {
789     return [self _baseElementImpl]->getAttribute(HTMLAttributes::target());
790 }
791
792 - (void)setTarget:(NSString *)target
793 {
794     [self _baseElementImpl]->setAttribute(HTMLAttributes::scheme(), target);
795 }
796
797 @end
798
799 @implementation DOMHTMLStyleElement
800
801 - (HTMLStyleElementImpl *)_styleElementImpl
802 {
803     return static_cast<HTMLStyleElementImpl *>(DOM_cast<NodeImpl *>(_internal));
804 }
805
806 - (BOOL)disabled
807 {
808     return ![self _styleElementImpl]->getAttribute(HTMLAttributes::disabled()).isNull();
809 }
810
811 - (void)setDisabled:(BOOL)disabled
812 {
813     [self _styleElementImpl]->setAttribute(HTMLAttributes::disabled(), disabled ? "" : 0);
814 }
815
816 - (NSString *)media
817 {
818     return [self _styleElementImpl]->getAttribute(HTMLAttributes::media());
819 }
820
821 - (void)setMedia:(NSString *)media
822 {
823     [self _styleElementImpl]->setAttribute(HTMLAttributes::media(), media);
824 }
825
826 - (NSString *)type
827 {
828     return [self _styleElementImpl]->getAttribute(HTMLAttributes::type());
829 }
830
831 - (void)setType:(NSString *)type
832 {
833     [self _styleElementImpl]->setAttribute(HTMLAttributes::type(), type);
834 }
835
836 @end
837
838 @implementation DOMHTMLBodyElement
839
840 - (HTMLBodyElementImpl *)_bodyElementImpl
841 {
842     return static_cast<HTMLBodyElementImpl *>(DOM_cast<NodeImpl *>(_internal));
843 }
844
845 - (NSString *)aLink
846 {
847     return [self _bodyElementImpl]->getAttribute(HTMLAttributes::alink());
848 }
849
850 - (void)setALink:(NSString *)aLink
851 {
852     [self _bodyElementImpl]->setAttribute(HTMLAttributes::alink(), aLink);
853 }
854
855 - (NSString *)background
856 {
857     return [self _bodyElementImpl]->getAttribute(HTMLAttributes::background());
858 }
859
860 - (void)setBackground:(NSString *)background
861 {
862     [self _bodyElementImpl]->setAttribute(HTMLAttributes::background(), background);
863 }
864
865 - (NSString *)bgColor
866 {
867     return [self _bodyElementImpl]->getAttribute(HTMLAttributes::bgcolor());
868 }
869
870 - (void)setBgColor:(NSString *)bgColor
871 {
872     [self _bodyElementImpl]->setAttribute(HTMLAttributes::bgcolor(), bgColor);
873 }
874
875 - (NSString *)link
876 {
877     return [self _bodyElementImpl]->getAttribute(HTMLAttributes::link());
878 }
879
880 - (void)setLink:(NSString *)link
881 {
882     [self _bodyElementImpl]->setAttribute(HTMLAttributes::link(), link);
883 }
884
885 - (NSString *)text
886 {
887     return [self _bodyElementImpl]->getAttribute(HTMLAttributes::text());
888 }
889
890 - (void)setText:(NSString *)text
891 {
892     [self _bodyElementImpl]->setAttribute(HTMLAttributes::text(), text);
893 }
894
895 - (NSString *)vLink
896 {
897     return [self _bodyElementImpl]->getAttribute(HTMLAttributes::vlink());
898 }
899
900 - (void)setVLink:(NSString *)vLink
901 {
902     [self _bodyElementImpl]->setAttribute(HTMLAttributes::vlink(), vLink);
903 }
904
905 @end
906
907 @implementation DOMHTMLFormElement
908
909 - (HTMLFormElementImpl *)_formElementImpl
910 {
911     return static_cast<HTMLFormElementImpl *>(DOM_cast<NodeImpl *>(_internal));
912 }
913
914 - (DOMHTMLCollection *)elements
915 {
916     HTMLCollectionImpl *collection = new HTMLFormCollectionImpl([self _formElementImpl]);
917     return [DOMHTMLCollection _collectionWithImpl:collection];
918 }
919
920 - (long)length
921 {
922     return [self _formElementImpl]->length();
923 }
924
925 - (NSString *)name
926 {
927     return [self _formElementImpl]->getAttribute(HTMLAttributes::name());
928 }
929
930 - (void)setName:(NSString *)name
931 {
932     [self _formElementImpl]->setAttribute(HTMLAttributes::name(), name);
933 }
934
935 - (NSString *)acceptCharset
936 {
937     return [self _formElementImpl]->getAttribute(HTMLAttributes::accept_charset());
938 }
939
940 - (void)setAcceptCharset:(NSString *)acceptCharset
941 {
942     [self _formElementImpl]->setAttribute(HTMLAttributes::accept_charset(), acceptCharset);
943 }
944
945 - (NSString *)action
946 {
947     return [self _formElementImpl]->getAttribute(HTMLAttributes::action());
948 }
949
950 - (void)setAction:(NSString *)action
951 {
952     [self _formElementImpl]->setAttribute(HTMLAttributes::action(), action);
953 }
954
955 - (NSString *)enctype
956 {
957     return [self _formElementImpl]->getAttribute(HTMLAttributes::enctype());
958 }
959
960 - (void)setEnctype:(NSString *)enctype
961 {
962     [self _formElementImpl]->setAttribute(HTMLAttributes::enctype(), enctype);
963 }
964
965 - (NSString *)method
966 {
967     return [self _formElementImpl]->getAttribute(HTMLAttributes::method());
968 }
969
970 - (void)setMethod:(NSString *)method
971 {
972     [self _formElementImpl]->setAttribute(HTMLAttributes::method(), method);
973 }
974
975 - (NSString *)target
976 {
977     return [self _formElementImpl]->getAttribute(HTMLAttributes::target());
978 }
979
980 - (void)setTarget:(NSString *)target
981 {
982     [self _formElementImpl]->setAttribute(HTMLAttributes::target(), target);
983 }
984
985 - (void)submit
986 {
987     [self _formElementImpl]->submit(false);
988 }
989
990 - (void)reset
991 {
992     [self _formElementImpl]->reset();
993 }
994
995 @end
996
997 @implementation DOMHTMLFormElement (WebCoreInternal)
998
999 + (DOMHTMLFormElement *)_formElementWithImpl:(HTMLFormElementImpl *)impl
1000 {
1001     return static_cast<DOMHTMLFormElement *>([DOMNode _nodeWithImpl:impl]);
1002 }
1003
1004 @end
1005
1006 @implementation DOMHTMLIsIndexElement
1007
1008 - (HTMLIsIndexElementImpl *)_isIndexElementImpl
1009 {
1010     return static_cast<HTMLIsIndexElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1011 }
1012
1013 - (DOMHTMLFormElement *)form
1014 {
1015     return [DOMHTMLFormElement _formElementWithImpl:[self _isIndexElementImpl]->form()];
1016 }
1017
1018 - (NSString *)prompt
1019 {
1020     return [self _isIndexElementImpl]->prompt();
1021 }
1022
1023 - (void)setPrompt:(NSString *)prompt
1024 {
1025     [self _isIndexElementImpl]->setPrompt(prompt);
1026 }
1027
1028 @end
1029
1030 @implementation DOMHTMLSelectElement
1031
1032 - (HTMLSelectElementImpl *)_selectElementImpl
1033 {
1034     return static_cast<HTMLSelectElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1035 }
1036
1037 - (NSString *)type
1038 {
1039     return [self _selectElementImpl]->type();
1040 }
1041
1042 - (long)selectedIndex
1043 {
1044     return [self _selectElementImpl]->selectedIndex();
1045 }
1046
1047 - (void)setSelectedIndex:(long)selectedIndex
1048 {
1049     [self _selectElementImpl]->setSelectedIndex(selectedIndex);
1050 }
1051
1052 - (NSString *)value
1053 {
1054     return [self _selectElementImpl]->value();
1055 }
1056
1057 - (void)setValue:(NSString *)value
1058 {
1059     DOMString s(value);
1060     [self _selectElementImpl]->setValue(s.implementation());
1061 }
1062
1063 - (long)length
1064 {
1065     return [self _selectElementImpl]->length();
1066 }
1067
1068 - (void)setLength:(long)length
1069 {
1070     // FIXME: Not yet clear what to do about this one.
1071     // There's some JavaScript-specific hackery in the JavaScript bindings for this.
1072     //[self _selectElementImpl]->setLength(length);
1073 }
1074
1075 - (DOMHTMLFormElement *)form
1076 {
1077     return [DOMHTMLFormElement _formElementWithImpl:[self _selectElementImpl]->form()];
1078 }
1079
1080 - (DOMHTMLOptionsCollection *)options
1081 {
1082     return [DOMHTMLOptionsCollection _optionsCollectionWithImpl:[self _selectElementImpl]->options()];
1083 }
1084
1085 - (BOOL)disabled
1086 {
1087     return ![self _selectElementImpl]->disabled();
1088 }
1089
1090 - (void)setDisabled:(BOOL)disabled
1091 {
1092     [self _selectElementImpl]->setDisabled(disabled);
1093 }
1094
1095 - (BOOL)multiple
1096 {
1097     return ![self _selectElementImpl]->multiple();
1098 }
1099
1100 - (void)setMultiple:(BOOL)multiple
1101 {
1102     [self _selectElementImpl]->setMultiple(multiple);
1103 }
1104
1105 - (NSString *)name
1106 {
1107     return [self _selectElementImpl]->name();
1108 }
1109
1110 - (void)setName:(NSString *)name
1111 {
1112     [self _selectElementImpl]->setName(name);
1113 }
1114
1115 - (long)size
1116 {
1117     return [self _selectElementImpl]->size();
1118 }
1119
1120 - (void)setSize:(long)size
1121 {
1122     [self _selectElementImpl]->setSize(size);
1123 }
1124
1125 - (long)tabIndex
1126 {
1127     return [self _selectElementImpl]->tabIndex();
1128 }
1129
1130 - (void)setTabIndex:(long)tabIndex
1131 {
1132     [self _selectElementImpl]->setTabIndex(tabIndex);
1133 }
1134
1135 - (void)add:(DOMHTMLElement *)element :(DOMHTMLElement *)before
1136 {
1137     [self _selectElementImpl]->add([element _HTMLElementImpl], [before _HTMLElementImpl]);
1138 }
1139
1140 - (void)remove:(long)index
1141 {
1142     [self _selectElementImpl]->remove(index);
1143 }
1144
1145 - (void)blur
1146 {
1147     [self _selectElementImpl]->blur();
1148 }
1149
1150 - (void)focus
1151 {
1152     [self _selectElementImpl]->focus();
1153 }
1154
1155 @end
1156
1157 @implementation DOMHTMLOptGroupElement
1158
1159 - (HTMLOptGroupElementImpl *)_optGroupElementImpl
1160 {
1161     return static_cast<HTMLOptGroupElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1162 }
1163
1164 - (BOOL)disabled
1165 {
1166     return ![self _optGroupElementImpl]->disabled();
1167 }
1168
1169 - (void)setDisabled:(BOOL)disabled
1170 {
1171     [self _optGroupElementImpl]->setDisabled(disabled);
1172 }
1173
1174 - (NSString *)label
1175 {
1176     return [self _optGroupElementImpl]->label();
1177 }
1178
1179 - (void)setLabel:(NSString *)label
1180 {
1181     [self _optGroupElementImpl]->setLabel(label);
1182 }
1183
1184 @end
1185
1186 @implementation DOMHTMLOptionElement
1187
1188 - (HTMLOptionElementImpl *)_optionElementImpl
1189 {
1190     return static_cast<HTMLOptionElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1191 }
1192
1193 - (DOMHTMLFormElement *)form
1194 {
1195     return [DOMHTMLFormElement _formElementWithImpl:[self _optionElementImpl]->form()];
1196 }
1197
1198 - (BOOL)defaultSelected
1199 {
1200     return ![self _optionElementImpl]->defaultSelected();
1201 }
1202
1203 - (void)setDefaultSelected:(BOOL)defaultSelected
1204 {
1205     [self _optionElementImpl]->setDefaultSelected(defaultSelected);
1206 }
1207
1208 - (NSString *)text
1209 {
1210     return [self _optionElementImpl]->text();
1211 }
1212
1213 - (long)index
1214 {
1215     return [self _optionElementImpl]->index();
1216 }
1217
1218 - (BOOL)disabled
1219 {
1220     return ![self _optionElementImpl]->disabled();
1221 }
1222
1223 - (void)setDisabled:(BOOL)disabled
1224 {
1225     [self _optionElementImpl]->setDisabled(disabled);
1226 }
1227
1228 - (NSString *)label
1229 {
1230     return [self _optionElementImpl]->label();
1231 }
1232
1233 - (void)setLabel:(NSString *)label
1234 {
1235     [self _optionElementImpl]->setLabel(label);
1236 }
1237
1238 - (BOOL)selected
1239 {
1240     return [self _optionElementImpl]->selected();
1241 }
1242
1243 - (void)setSelected:(BOOL)selected
1244 {
1245     [self _optionElementImpl]->setSelected(selected);
1246 }
1247
1248 - (NSString *)value
1249 {
1250     return [self _optionElementImpl]->value();
1251 }
1252
1253 - (void)setValue:(NSString *)value
1254 {
1255     DOMString string = value;
1256     [self _optionElementImpl]->setValue(string.implementation());
1257 }
1258
1259 @end
1260
1261 @implementation DOMHTMLInputElement
1262
1263 - (HTMLInputElementImpl *)_inputElementImpl
1264 {
1265     return static_cast<HTMLInputElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1266 }
1267
1268 - (NSString *)defaultValue
1269 {
1270     return [self _inputElementImpl]->defaultValue();
1271 }
1272
1273 - (void)setDefaultValue:(NSString *)defaultValue
1274 {
1275     [self _inputElementImpl]->setDefaultValue(defaultValue);
1276 }
1277
1278 - (BOOL)defaultChecked
1279 {
1280     return [self _inputElementImpl]->defaultChecked();
1281 }
1282
1283 - (void)setDefaultChecked:(BOOL)defaultChecked
1284 {
1285     [self _inputElementImpl]->setDefaultChecked(defaultChecked);
1286 }
1287
1288 - (DOMHTMLFormElement *)form
1289 {
1290     return [DOMHTMLFormElement _formElementWithImpl:[self _inputElementImpl]->form()];
1291 }
1292
1293 - (NSString *)accept
1294 {
1295     return [self _inputElementImpl]->accept();
1296 }
1297
1298 - (void)setAccept:(NSString *)accept
1299 {
1300     [self _inputElementImpl]->setAccept(accept);
1301 }
1302
1303 - (NSString *)accessKey
1304 {
1305     return [self _inputElementImpl]->accessKey();
1306 }
1307
1308 - (void)setAccessKey:(NSString *)accessKey
1309 {
1310     [self _inputElementImpl]->setAccessKey(accessKey);
1311 }
1312
1313 - (NSString *)align
1314 {
1315     return [self _inputElementImpl]->align();
1316 }
1317
1318 - (void)setAlign:(NSString *)align
1319 {
1320     [self _inputElementImpl]->setAlign(align);
1321 }
1322
1323 - (NSString *)alt
1324 {
1325     return [self _inputElementImpl]->alt();
1326 }
1327
1328 - (void)setAlt:(NSString *)alt
1329 {
1330     [self _inputElementImpl]->setAlt(alt);
1331 }
1332
1333 - (BOOL)checked
1334 {
1335     return [self _inputElementImpl]->checked();
1336 }
1337
1338 - (void)setChecked:(BOOL)checked
1339 {
1340     return [self _inputElementImpl]->setChecked(checked);
1341 }
1342
1343 - (BOOL)disabled
1344 {
1345     return [self _inputElementImpl]->disabled();
1346 }
1347
1348 - (void)setDisabled:(BOOL)disabled
1349 {
1350     [self _inputElementImpl]->setDisabled(disabled);
1351 }
1352
1353 - (long)maxLength
1354 {
1355     return [self _inputElementImpl]->maxLength();
1356 }
1357
1358 - (void)setMaxLength:(long)maxLength
1359 {
1360     [self _inputElementImpl]->setMaxLength(maxLength);
1361 }
1362
1363 - (NSString *)name
1364 {
1365     return [self _inputElementImpl]->name();
1366 }
1367
1368 - (void)setName:(NSString *)name
1369 {
1370     [self _inputElementImpl]->setName(name);
1371 }
1372
1373 - (BOOL)readOnly
1374 {
1375     return [self _inputElementImpl]->readOnly();
1376 }
1377
1378 - (void)setReadOnly:(BOOL)readOnly
1379 {
1380     [self _inputElementImpl]->setReadOnly(readOnly);
1381 }
1382
1383 - (unsigned long)size
1384 {
1385     return [self _inputElementImpl]->size();
1386 }
1387
1388 - (void)setSize:(unsigned long)size
1389 {
1390     [self _inputElementImpl]->setSize(size);
1391 }
1392
1393 - (NSString *)src
1394 {
1395     return [self _inputElementImpl]->src();
1396 }
1397
1398 - (void)setSrc:(NSString *)src
1399 {
1400     [self _inputElementImpl]->setSrc(src);
1401 }
1402
1403 - (long)tabIndex
1404 {
1405     return [self _inputElementImpl]->tabIndex();
1406 }
1407
1408 - (void)setTabIndex:(long)tabIndex
1409 {
1410     [self _inputElementImpl]->setTabIndex(tabIndex);
1411 }
1412
1413 - (NSString *)type
1414 {
1415     return [self _inputElementImpl]->type();
1416 }
1417
1418 - (void)setType:(NSString *)type
1419 {
1420     [self _inputElementImpl]->setType(type);
1421 }
1422
1423 - (NSString *)useMap
1424 {
1425     return [self _inputElementImpl]->useMap();
1426 }
1427
1428 - (void)setUseMap:(NSString *)useMap
1429 {
1430     [self _inputElementImpl]->setUseMap(useMap);
1431 }
1432
1433 - (NSString *)value
1434 {
1435     return [self _inputElementImpl]->value();
1436 }
1437
1438 - (void)setValue:(NSString *)value
1439 {
1440     [self _inputElementImpl]->setValue(value);
1441 }
1442
1443 - (void)blur
1444 {
1445     [self _inputElementImpl]->blur();
1446 }
1447
1448 - (void)focus
1449 {
1450     [self _inputElementImpl]->focus();
1451 }
1452
1453 - (void)select
1454 {
1455     [self _inputElementImpl]->select();
1456 }
1457
1458 - (void)click
1459 {
1460     [self _inputElementImpl]->click(false);
1461 }
1462
1463 @end
1464
1465 @implementation DOMHTMLTextAreaElement
1466
1467 - (HTMLTextAreaElementImpl *)_textAreaElementImpl
1468 {
1469     return static_cast<HTMLTextAreaElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1470 }
1471
1472 - (NSString *)defaultValue
1473 {
1474     return [self _textAreaElementImpl]->defaultValue();
1475 }
1476
1477 - (void)setDefaultValue:(NSString *)defaultValue
1478 {
1479     [self _textAreaElementImpl]->setDefaultValue(defaultValue);
1480 }
1481
1482 - (DOMHTMLFormElement *)form
1483 {
1484     return [DOMHTMLFormElement _formElementWithImpl:[self _textAreaElementImpl]->form()];
1485 }
1486
1487 - (NSString *)accessKey
1488 {
1489     return [self _textAreaElementImpl]->getAttribute(HTMLAttributes::accesskey());
1490 }
1491
1492 - (void)setAccessKey:(NSString *)accessKey
1493 {
1494     [self _textAreaElementImpl]->setAttribute(HTMLAttributes::accesskey(), accessKey);
1495 }
1496
1497 - (long)cols
1498 {
1499     return [self _textAreaElementImpl]->getAttribute(HTMLAttributes::cols()).toInt();
1500 }
1501
1502 - (void)setCols:(long)cols
1503 {
1504     DOMString value(QString::number(cols));
1505     [self _textAreaElementImpl]->setAttribute(HTMLAttributes::cols(), value);
1506 }
1507
1508 - (BOOL)disabled
1509 {
1510     return [self _textAreaElementImpl]->getAttribute(HTMLAttributes::disabled()).isNull();
1511 }
1512
1513 - (void)setDisabled:(BOOL)disabled
1514 {
1515     [self _textAreaElementImpl]->setAttribute(HTMLAttributes::disabled(), disabled ? "" : 0);
1516 }
1517
1518 - (NSString *)name
1519 {
1520     return [self _textAreaElementImpl]->name();
1521 }
1522
1523 - (void)setName:(NSString *)name
1524 {
1525     [self _textAreaElementImpl]->setName(name);
1526 }
1527
1528 - (BOOL)readOnly
1529 {
1530     return [self _textAreaElementImpl]->getAttribute(HTMLAttributes::readonly()).isNull();
1531 }
1532
1533 - (void)setReadOnly:(BOOL)readOnly
1534 {
1535     [self _textAreaElementImpl]->setAttribute(HTMLAttributes::readonly(), readOnly ? "" : 0);
1536 }
1537
1538 - (long)rows
1539 {
1540     return [self _textAreaElementImpl]->getAttribute(HTMLAttributes::rows()).toInt();
1541 }
1542
1543 - (void)setRows:(long)rows
1544 {
1545         DOMString value(QString::number(rows));
1546     [self _textAreaElementImpl]->setAttribute(HTMLAttributes::rows(), value);
1547 }
1548
1549 - (long)tabIndex
1550 {
1551     return [self _textAreaElementImpl]->tabIndex();
1552 }
1553
1554 - (void)setTabIndex:(long)tabIndex
1555 {
1556     [self _textAreaElementImpl]->setTabIndex(tabIndex);
1557 }
1558
1559 - (NSString *)type
1560 {
1561     return [self _textAreaElementImpl]->type();
1562 }
1563
1564 - (void)setType:(NSString *)type
1565 {
1566     ASSERT_WITH_MESSAGE(0, "not implemented");
1567 }
1568
1569 - (NSString *)value
1570 {
1571     return [self _textAreaElementImpl]->value();
1572 }
1573
1574 - (void)setValue:(NSString *)value
1575 {
1576     [self _textAreaElementImpl]->setValue(value);
1577 }
1578
1579 - (void)blur
1580 {
1581     [self _textAreaElementImpl]->blur();
1582 }
1583
1584 - (void)focus
1585 {
1586     [self _textAreaElementImpl]->focus();
1587 }
1588
1589 - (void)select
1590 {
1591     [self _textAreaElementImpl]->select();
1592 }
1593
1594 @end
1595
1596 @implementation DOMHTMLButtonElement
1597
1598 - (HTMLButtonElementImpl *)_buttonElementImpl
1599 {
1600     return static_cast<HTMLButtonElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1601 }
1602
1603 - (DOMHTMLFormElement *)form
1604 {
1605     return [DOMHTMLFormElement _formElementWithImpl:[self _buttonElementImpl]->form()];
1606 }
1607
1608 - (NSString *)accessKey
1609 {
1610     return [self _buttonElementImpl]->getAttribute(HTMLAttributes::accesskey());
1611 }
1612
1613 - (void)setAccessKey:(NSString *)accessKey
1614 {
1615     [self _buttonElementImpl]->setAttribute(HTMLAttributes::accesskey(), accessKey);
1616 }
1617
1618 - (BOOL)disabled
1619 {
1620     return [self _buttonElementImpl]->getAttribute(HTMLAttributes::disabled()).isNull();
1621 }
1622
1623 - (void)setDisabled:(BOOL)disabled
1624 {
1625     [self _buttonElementImpl]->setAttribute(HTMLAttributes::disabled(), disabled ? "" : 0);
1626 }
1627
1628 - (NSString *)name
1629 {
1630     return [self _buttonElementImpl]->name();
1631 }
1632
1633 - (void)setName:(NSString *)name
1634 {
1635     [self _buttonElementImpl]->setName(name);
1636 }
1637
1638 - (long)tabIndex
1639 {
1640     return [self _buttonElementImpl]->tabIndex();
1641 }
1642
1643 - (void)setTabIndex:(long)tabIndex
1644 {
1645     [self _buttonElementImpl]->setTabIndex(tabIndex);
1646 }
1647
1648 - (NSString *)type
1649 {
1650     return [self _buttonElementImpl]->type();
1651 }
1652
1653 - (NSString *)value
1654 {
1655     return [self _buttonElementImpl]->getAttribute(HTMLAttributes::value());
1656 }
1657
1658 - (void)setValue:(NSString *)value
1659 {
1660     [self _buttonElementImpl]->setAttribute(HTMLAttributes::value(), value);
1661 }
1662
1663 @end
1664
1665 @implementation DOMHTMLLabelElement
1666
1667 - (HTMLLabelElementImpl *)_labelElementImpl
1668 {
1669     return static_cast<HTMLLabelElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1670 }
1671
1672 - (DOMHTMLFormElement *)form
1673 {
1674     ElementImpl *formElement = [self _labelElementImpl]->formElement();
1675     if (!formElement)
1676         return 0;
1677     return [DOMHTMLFormElement _formElementWithImpl:static_cast<HTMLGenericFormElementImpl *>(formElement)->form()];
1678 }
1679
1680 - (NSString *)accessKey
1681 {
1682     return [self _labelElementImpl]->getAttribute(HTMLAttributes::accesskey());
1683 }
1684
1685 - (void)setAccessKey:(NSString *)accessKey
1686 {
1687     [self _labelElementImpl]->setAttribute(HTMLAttributes::accesskey(), accessKey);
1688 }
1689
1690 - (NSString *)htmlFor
1691 {
1692     return [self _labelElementImpl]->getAttribute(HTMLAttributes::forAttr());
1693 }
1694
1695 - (void)setHtmlFor:(NSString *)htmlFor
1696 {
1697     [self _labelElementImpl]->setAttribute(HTMLAttributes::forAttr(), htmlFor);
1698 }
1699
1700 @end
1701
1702 @implementation DOMHTMLFieldSetElement
1703
1704 - (HTMLFieldSetElementImpl *)_fieldSetElementImpl
1705 {
1706     return static_cast<HTMLFieldSetElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1707 }
1708
1709 - (DOMHTMLFormElement *)form
1710 {
1711     return [DOMHTMLFormElement _formElementWithImpl:[self _fieldSetElementImpl]->form()];
1712 }
1713
1714 @end
1715
1716 @implementation DOMHTMLLegendElement
1717
1718 - (HTMLLegendElementImpl *)_legendElementImpl
1719 {
1720     return static_cast<HTMLLegendElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1721 }
1722
1723 - (DOMHTMLFormElement *)form
1724 {
1725     return [DOMHTMLFormElement _formElementWithImpl:[self _legendElementImpl]->form()];
1726 }
1727
1728 - (NSString *)accessKey
1729 {
1730     return [self _legendElementImpl]->getAttribute(HTMLAttributes::accesskey());
1731 }
1732
1733 - (void)setAccessKey:(NSString *)accessKey
1734 {
1735     [self _legendElementImpl]->setAttribute(HTMLAttributes::accesskey(), accessKey);
1736 }
1737
1738 - (NSString *)align
1739 {
1740     return [self _legendElementImpl]->getAttribute(HTMLAttributes::align());
1741 }
1742
1743 - (void)setAlign:(NSString *)align
1744 {
1745     [self _legendElementImpl]->setAttribute(HTMLAttributes::align(), align);
1746 }
1747
1748 @end
1749
1750 @implementation DOMHTMLUListElement
1751
1752 - (HTMLUListElementImpl *)_uListElementImpl
1753 {
1754     return static_cast<HTMLUListElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1755 }
1756
1757 - (BOOL)compact
1758 {
1759     return [self _uListElementImpl]->getAttribute(HTMLAttributes::compact()).isNull();
1760 }
1761
1762 - (void)setCompact:(BOOL)compact
1763 {
1764     [self _uListElementImpl]->setAttribute(HTMLAttributes::compact(), compact ? "" : 0);
1765 }
1766
1767 - (NSString *)type
1768 {
1769     return [self _uListElementImpl]->getAttribute(HTMLAttributes::type());
1770 }
1771
1772 - (void)setType:(NSString *)type
1773 {
1774     [self _uListElementImpl]->setAttribute(HTMLAttributes::type(), type);
1775 }
1776
1777 @end
1778
1779 @implementation DOMHTMLOListElement
1780
1781 - (HTMLOListElementImpl *)_oListElementImpl
1782 {
1783     return static_cast<HTMLOListElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1784 }
1785
1786 - (BOOL)compact
1787 {
1788     return [self _oListElementImpl]->compact();
1789 }
1790
1791 - (void)setCompact:(BOOL)compact
1792 {
1793     [self _oListElementImpl]->setCompact(compact);
1794 }
1795
1796 - (long)start
1797 {
1798     return [self _oListElementImpl]->getAttribute(HTMLAttributes::start()).toInt();
1799 }
1800
1801 - (void)setStart:(long)start
1802 {
1803         DOMString value(QString::number(start));
1804     [self _oListElementImpl]->setAttribute(HTMLAttributes::start(), value);
1805 }
1806
1807 - (NSString *)type
1808 {
1809     return [self _oListElementImpl]->getAttribute(HTMLAttributes::type());
1810 }
1811
1812 - (void)setType:(NSString *)type
1813 {
1814     [self _oListElementImpl]->setAttribute(HTMLAttributes::type(), type);
1815 }
1816
1817 @end
1818
1819 @implementation DOMHTMLDListElement
1820
1821 - (HTMLDListElementImpl *)_dListElementImpl
1822 {
1823     return static_cast<HTMLDListElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1824 }
1825
1826 - (BOOL)compact
1827 {
1828     return [self _dListElementImpl]->getAttribute(HTMLAttributes::compact()).isNull();
1829 }
1830
1831 - (void)setCompact:(BOOL)compact
1832 {
1833     [self _dListElementImpl]->setAttribute(HTMLAttributes::compact(), compact ? "" : 0);
1834 }
1835
1836 @end
1837
1838 @implementation DOMHTMLDirectoryElement
1839
1840 - (HTMLDirectoryElementImpl *)_directoryListElementImpl
1841 {
1842     return static_cast<HTMLDirectoryElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1843 }
1844
1845 - (BOOL)compact
1846 {
1847     return [self _directoryListElementImpl]->getAttribute(HTMLAttributes::compact()).isNull();
1848 }
1849
1850 - (void)setCompact:(BOOL)compact
1851 {
1852     [self _directoryListElementImpl]->setAttribute(HTMLAttributes::compact(), compact ? "" : 0);
1853 }
1854
1855 @end
1856
1857 @implementation DOMHTMLMenuElement
1858
1859 - (HTMLMenuElementImpl *)_menuListElementImpl
1860 {
1861     return static_cast<HTMLMenuElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1862 }
1863
1864 - (BOOL)compact
1865 {
1866     return [self _menuListElementImpl]->getAttribute(HTMLAttributes::compact()).isNull();
1867 }
1868
1869 - (void)setCompact:(BOOL)compact
1870 {
1871     [self _menuListElementImpl]->setAttribute(HTMLAttributes::compact(), compact ? "" : 0);
1872 }
1873
1874 @end
1875
1876 @implementation DOMHTMLLIElement
1877
1878 - (HTMLLIElementImpl *)_liElementImpl
1879 {
1880     return static_cast<HTMLLIElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1881 }
1882
1883 - (NSString *)type
1884 {
1885     return [self _liElementImpl]->type();
1886 }
1887
1888 - (void)setType:(NSString *)type
1889 {
1890     [self _liElementImpl]->setType(type);
1891 }
1892
1893 - (long)value
1894 {
1895     return [self _liElementImpl]->value();
1896 }
1897
1898 - (void)setValue:(long)value
1899 {
1900     [self _liElementImpl]->setValue(value);
1901 }
1902
1903 @end
1904
1905 @implementation DOMHTMLQuoteElement
1906
1907 - (HTMLElementImpl *)_quoteElementImpl
1908 {
1909     return static_cast<HTMLElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1910 }
1911
1912 - (NSString *)cite
1913 {
1914     return [self _quoteElementImpl]->getAttribute(HTMLAttributes::cite());
1915 }
1916
1917 - (void)setCite:(NSString *)cite
1918 {
1919     [self _quoteElementImpl]->setAttribute(HTMLAttributes::cite(), cite);
1920 }
1921
1922 @end
1923
1924 @implementation DOMHTMLDivElement
1925
1926 - (HTMLDivElementImpl *)_divElementImpl
1927 {
1928     return static_cast<HTMLDivElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1929 }
1930
1931 - (NSString *)align
1932 {
1933     return [self _divElementImpl]->getAttribute(HTMLAttributes::align());
1934 }
1935
1936 - (void)setAlign:(NSString *)align
1937 {
1938     [self _divElementImpl]->setAttribute(HTMLAttributes::align(), align);
1939 }
1940
1941 @end
1942
1943 @implementation DOMHTMLParagraphElement
1944
1945 - (HTMLParagraphElementImpl *)_paragraphElementImpl
1946 {
1947     return static_cast<HTMLParagraphElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1948 }
1949
1950 - (NSString *)align
1951 {
1952     return [self _paragraphElementImpl]->getAttribute(HTMLAttributes::align());
1953 }
1954
1955 - (void)setAlign:(NSString *)align
1956 {
1957     [self _paragraphElementImpl]->setAttribute(HTMLAttributes::align(), align);
1958 }
1959
1960 @end
1961
1962 @implementation DOMHTMLHeadingElement
1963
1964 - (HTMLHeadingElementImpl *)_headingElementImpl
1965 {
1966     return static_cast<HTMLHeadingElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1967 }
1968
1969 - (NSString *)align
1970 {
1971     return [self _headingElementImpl]->getAttribute(HTMLAttributes::align());
1972 }
1973
1974 - (void)setAlign:(NSString *)align
1975 {
1976     [self _headingElementImpl]->setAttribute(HTMLAttributes::align(), align);
1977 }
1978
1979 @end
1980
1981 @implementation DOMHTMLPreElement
1982
1983 - (HTMLPreElementImpl *)_preElementImpl
1984 {
1985     return static_cast<HTMLPreElementImpl *>(DOM_cast<NodeImpl *>(_internal));
1986 }
1987
1988 - (long)width
1989 {
1990     return [self _preElementImpl]->getAttribute(HTMLAttributes::width()).toInt();
1991 }
1992
1993 - (void)setWidth:(long)width
1994 {
1995     DOMString string(QString::number(width));
1996     [self _preElementImpl]->setAttribute(HTMLAttributes::width(), string);
1997 }
1998
1999 @end
2000
2001 @implementation DOMHTMLBRElement
2002
2003 - (HTMLBRElementImpl *)_BRElementImpl
2004 {
2005     return static_cast<HTMLBRElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2006 }
2007
2008 - (NSString *)clear
2009 {
2010     return [self _BRElementImpl]->getAttribute(HTMLAttributes::clear());
2011 }
2012
2013 - (void)setClear:(NSString *)clear
2014 {
2015     [self _BRElementImpl]->setAttribute(HTMLAttributes::clear(), clear);
2016 }
2017
2018 @end
2019
2020 @implementation DOMHTMLBaseFontElement
2021
2022 - (HTMLBaseFontElementImpl *)_baseFontElementImpl
2023 {
2024     return static_cast<HTMLBaseFontElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2025 }
2026
2027 - (NSString *)color
2028 {
2029     return [self _baseFontElementImpl]->getAttribute(HTMLAttributes::color());
2030 }
2031
2032 - (void)setColor:(NSString *)color
2033 {
2034     [self _baseFontElementImpl]->setAttribute(HTMLAttributes::color(), color);
2035 }
2036
2037 - (NSString *)face
2038 {
2039     return [self _baseFontElementImpl]->getAttribute(HTMLAttributes::face());
2040 }
2041
2042 - (void)setFace:(NSString *)face
2043 {
2044     [self _baseFontElementImpl]->setAttribute(HTMLAttributes::face(), face);
2045 }
2046
2047 - (NSString *)size
2048 {
2049     return [self _baseFontElementImpl]->getAttribute(HTMLAttributes::size());
2050 }
2051
2052 - (void)setSize:(NSString *)size
2053 {
2054     [self _baseFontElementImpl]->setAttribute(HTMLAttributes::size(), size);
2055 }
2056
2057 @end
2058
2059 @implementation DOMHTMLFontElement
2060
2061 - (HTMLFontElementImpl *)_fontElementImpl
2062 {
2063     return static_cast<HTMLFontElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2064 }
2065
2066 - (NSString *)color
2067 {
2068     return [self _fontElementImpl]->getAttribute(HTMLAttributes::color());
2069 }
2070
2071 - (void)setColor:(NSString *)color
2072 {
2073     [self _fontElementImpl]->setAttribute(HTMLAttributes::color(), color);
2074 }
2075
2076 - (NSString *)face
2077 {
2078     return [self _fontElementImpl]->getAttribute(HTMLAttributes::face());
2079 }
2080
2081 - (void)setFace:(NSString *)face
2082 {
2083     [self _fontElementImpl]->setAttribute(HTMLAttributes::face(), face);
2084 }
2085
2086 - (NSString *)size
2087 {
2088     return [self _fontElementImpl]->getAttribute(HTMLAttributes::size());
2089 }
2090
2091 - (void)setSize:(NSString *)size
2092 {
2093     [self _fontElementImpl]->setAttribute(HTMLAttributes::size(), size);
2094 }
2095
2096 @end
2097
2098 @implementation DOMHTMLHRElement
2099
2100 - (HTMLHRElementImpl *)_HRElementImpl
2101 {
2102     return static_cast<HTMLHRElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2103 }
2104
2105 - (NSString *)align
2106 {
2107     return [self _HRElementImpl]->getAttribute(HTMLAttributes::align());
2108 }
2109
2110 - (void)setAlign:(NSString *)align
2111 {
2112     [self _HRElementImpl]->setAttribute(HTMLAttributes::align(), align);
2113 }
2114
2115 - (BOOL)noShade
2116 {
2117     return [self _HRElementImpl]->getAttribute(HTMLAttributes::noshade()).isNull();
2118 }
2119
2120 - (void)setNoShade:(BOOL)noShade
2121 {
2122     [self _HRElementImpl]->setAttribute(HTMLAttributes::noshade(), noShade ? "" : 0);
2123 }
2124
2125 - (NSString *)size
2126 {
2127     return [self _HRElementImpl]->getAttribute(HTMLAttributes::size());
2128 }
2129
2130 - (void)setSize:(NSString *)size
2131 {
2132     [self _HRElementImpl]->setAttribute(HTMLAttributes::size(), size);
2133 }
2134
2135 - (NSString *)width
2136 {
2137     return [self _HRElementImpl]->getAttribute(HTMLAttributes::width());
2138 }
2139
2140 - (void)setWidth:(NSString *)width
2141 {
2142     [self _HRElementImpl]->setAttribute(HTMLAttributes::width(), width);
2143 }
2144
2145 @end
2146
2147 @implementation DOMHTMLModElement
2148
2149 - (HTMLElementImpl *)_modElementImpl
2150 {
2151     return static_cast<HTMLElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2152 }
2153
2154 - (NSString *)cite
2155 {
2156     return [self _modElementImpl]->getAttribute(HTMLAttributes::cite());
2157 }
2158
2159 - (void)setCite:(NSString *)cite
2160 {
2161     [self _modElementImpl]->setAttribute(HTMLAttributes::cite(), cite);
2162 }
2163
2164 - (NSString *)dateTime
2165 {
2166     return [self _modElementImpl]->getAttribute(HTMLAttributes::datetime());
2167 }
2168
2169 - (void)setDateTime:(NSString *)dateTime
2170 {
2171     [self _modElementImpl]->setAttribute(HTMLAttributes::datetime(), dateTime);
2172 }
2173
2174 @end
2175
2176 @implementation DOMHTMLAnchorElement
2177
2178 - (HTMLAnchorElementImpl *)_anchorElementImpl
2179 {
2180     return static_cast<HTMLAnchorElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2181 }
2182
2183 - (NSString *)accessKey
2184 {
2185     return [self _anchorElementImpl]->getAttribute(HTMLAttributes::accesskey());
2186 }
2187
2188 - (void)setAccessKey:(NSString *)accessKey
2189 {
2190     [self _anchorElementImpl]->setAttribute(HTMLAttributes::accesskey(), accessKey);
2191 }
2192
2193 - (NSString *)charset
2194 {
2195     return [self _anchorElementImpl]->getAttribute(HTMLAttributes::charset());
2196 }
2197
2198 - (void)setCharset:(NSString *)charset
2199 {
2200     [self _anchorElementImpl]->setAttribute(HTMLAttributes::charset(), charset);
2201 }
2202
2203 - (NSString *)coords
2204 {
2205     return [self _anchorElementImpl]->getAttribute(HTMLAttributes::coords());
2206 }
2207
2208 - (void)setCoords:(NSString *)coords
2209 {
2210     [self _anchorElementImpl]->setAttribute(HTMLAttributes::coords(), coords);
2211 }
2212
2213 - (NSString *)href
2214 {
2215     return [self _anchorElementImpl]->href();
2216 }
2217
2218 - (void)setHref:(NSString *)href
2219 {
2220     [self _anchorElementImpl]->setAttribute(HTMLAttributes::href(), href);
2221 }
2222
2223 - (NSString *)hreflang
2224 {
2225     return [self _anchorElementImpl]->hreflang();
2226 }
2227
2228 - (void)setHreflang:(NSString *)hreflang
2229 {
2230     [self _anchorElementImpl]->setHreflang(hreflang);
2231 }
2232
2233 - (NSString *)name
2234 {
2235     return [self _anchorElementImpl]->name();
2236 }
2237
2238 - (void)setName:(NSString *)name
2239 {
2240     [self _anchorElementImpl]->setName(name);
2241 }
2242
2243 - (NSString *)rel
2244 {
2245     return [self _anchorElementImpl]->rel();
2246 }
2247
2248 - (void)setRel:(NSString *)rel
2249 {
2250     [self _anchorElementImpl]->setRel(rel);
2251 }
2252
2253 - (NSString *)rev
2254 {
2255     return [self _anchorElementImpl]->rev();
2256 }
2257
2258 - (void)setRev:(NSString *)rev
2259 {
2260     [self _anchorElementImpl]->setRev(rev);
2261 }
2262
2263 - (NSString *)shape
2264 {
2265     return [self _anchorElementImpl]->shape();
2266 }
2267
2268 - (void)setShape:(NSString *)shape
2269 {
2270     [self _anchorElementImpl]->setShape(shape);
2271 }
2272
2273 - (long)tabIndex
2274 {
2275     return [self _anchorElementImpl]->tabIndex();
2276 }
2277
2278 - (void)setTabIndex:(long)tabIndex
2279 {
2280     [self _anchorElementImpl]->setTabIndex(tabIndex);
2281 }
2282
2283 - (NSString *)target
2284 {
2285     return [self _anchorElementImpl]->getAttribute(HTMLAttributes::target());
2286 }
2287
2288 - (void)setTarget:(NSString *)target
2289 {
2290     [self _anchorElementImpl]->setAttribute(HTMLAttributes::target(), target);
2291 }
2292
2293 - (NSString *)type
2294 {
2295     return [self _anchorElementImpl]->getAttribute(HTMLAttributes::type());
2296 }
2297
2298 - (void)setType:(NSString *)type
2299 {
2300     [self _anchorElementImpl]->setAttribute(HTMLAttributes::type(), type);
2301 }
2302
2303 - (void)blur
2304 {
2305     HTMLAnchorElementImpl *impl = [self _anchorElementImpl];
2306     if (impl->getDocument()->focusNode() == impl)
2307         impl->getDocument()->setFocusNode(0);
2308 }
2309
2310 - (void)focus
2311 {
2312     HTMLAnchorElementImpl *impl = [self _anchorElementImpl];
2313     impl->getDocument()->setFocusNode(static_cast<ElementImpl*>(impl));
2314 }
2315
2316 @end
2317
2318 @implementation DOMHTMLImageElement
2319
2320 - (HTMLImageElementImpl *)_imageElementImpl
2321 {
2322     return static_cast<HTMLImageElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2323 }
2324
2325 - (NSString *)name
2326 {
2327     return [self _imageElementImpl]->getAttribute(HTMLAttributes::name());
2328 }
2329
2330 - (void)setName:(NSString *)name
2331 {
2332     [self _imageElementImpl]->setAttribute(HTMLAttributes::name(), name);
2333 }
2334
2335 - (NSString *)align
2336 {
2337     return [self _imageElementImpl]->getAttribute(HTMLAttributes::align());
2338 }
2339
2340 - (void)setAlign:(NSString *)align
2341 {
2342     [self _imageElementImpl]->setAttribute(HTMLAttributes::align(), align);
2343 }
2344
2345 - (NSString *)alt
2346 {
2347     return [self _imageElementImpl]->getAttribute(HTMLAttributes::alt());
2348 }
2349
2350 - (void)setAlt:(NSString *)alt
2351 {
2352     [self _imageElementImpl]->setAttribute(HTMLAttributes::alt(), alt);
2353 }
2354
2355 - (NSString *)border
2356 {
2357     return [self _imageElementImpl]->getAttribute(HTMLAttributes::border());
2358 }
2359
2360 - (void)setBorder:(NSString *)border
2361 {
2362     [self _imageElementImpl]->setAttribute(HTMLAttributes::border(), border);
2363 }
2364
2365 - (long)height
2366 {
2367     return [self _imageElementImpl]->getAttribute(HTMLAttributes::height()).toInt();
2368 }
2369
2370 - (void)setHeight:(long)height
2371 {
2372     DOMString string(QString::number(height));
2373     [self _imageElementImpl]->setAttribute(HTMLAttributes::height(), string);
2374 }
2375
2376 - (long)hspace
2377 {
2378     return [self _imageElementImpl]->getAttribute(HTMLAttributes::hspace()).toInt();
2379 }
2380
2381 - (void)setHspace:(long)hspace
2382 {
2383     DOMString string(QString::number(hspace));
2384     [self _imageElementImpl]->setAttribute(HTMLAttributes::hspace(), string);
2385 }
2386
2387 - (BOOL)isMap
2388 {
2389     return [self _imageElementImpl]->getAttribute(HTMLAttributes::ismap()).isNull();
2390 }
2391
2392 - (void)setIsMap:(BOOL)isMap
2393 {
2394     [self _imageElementImpl]->setAttribute(HTMLAttributes::ismap(), isMap ? "" : 0);
2395 }
2396
2397 - (NSString *)longDesc
2398 {
2399     return [self _imageElementImpl]->getAttribute(HTMLAttributes::longdesc());
2400 }
2401
2402 - (void)setLongDesc:(NSString *)longDesc
2403 {
2404     [self _imageElementImpl]->setAttribute(HTMLAttributes::longdesc(), longDesc);
2405 }
2406
2407 - (NSString *)src
2408 {
2409     return [self _imageElementImpl]->src();
2410 }
2411
2412 - (void)setSrc:(NSString *)src
2413 {
2414     [self _imageElementImpl]->setAttribute(HTMLAttributes::src(), src);
2415 }
2416
2417 - (NSString *)useMap
2418 {
2419     return [self _imageElementImpl]->getAttribute(HTMLAttributes::usemap());
2420 }
2421
2422 - (void)setUseMap:(NSString *)useMap
2423 {
2424     [self _imageElementImpl]->setAttribute(HTMLAttributes::usemap(), useMap);
2425 }
2426
2427 - (long)vspace
2428 {
2429     return [self _imageElementImpl]->getAttribute(HTMLAttributes::vspace()).toInt();
2430 }
2431
2432 - (void)setVspace:(long)vspace
2433 {
2434     DOMString string(QString::number(vspace));
2435     [self _imageElementImpl]->setAttribute(HTMLAttributes::vspace(), string);
2436 }
2437
2438 - (long)width
2439 {
2440     return [self _imageElementImpl]->getAttribute(HTMLAttributes::width()).toInt();
2441 }
2442
2443 - (void)setWidth:(long)width
2444 {
2445     DOMString string(QString::number(width));
2446     [self _imageElementImpl]->setAttribute(HTMLAttributes::width(), string);
2447 }
2448
2449 @end
2450
2451 @implementation DOMHTMLObjectElement
2452
2453 - (HTMLObjectElementImpl *)_objectElementImpl
2454 {
2455     return static_cast<HTMLObjectElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2456 }
2457
2458 - (DOMHTMLFormElement *)form
2459 {
2460     return [DOMHTMLFormElement _formElementWithImpl:[self _objectElementImpl]->form()];
2461 }
2462
2463 - (NSString *)code
2464 {
2465     return [self _objectElementImpl]->getAttribute(HTMLAttributes::code());
2466 }
2467
2468 - (void)setCode:(NSString *)code
2469 {
2470     [self _objectElementImpl]->setAttribute(HTMLAttributes::code(), code);
2471 }
2472
2473 - (NSString *)align
2474 {
2475     return [self _objectElementImpl]->getAttribute(HTMLAttributes::align());
2476 }
2477
2478 - (void)setAlign:(NSString *)align
2479 {
2480     [self _objectElementImpl]->setAttribute(HTMLAttributes::align(), align);
2481 }
2482
2483 - (NSString *)archive
2484 {
2485     return [self _objectElementImpl]->getAttribute(HTMLAttributes::archive());
2486 }
2487
2488 - (void)setArchive:(NSString *)archive
2489 {
2490     [self _objectElementImpl]->setAttribute(HTMLAttributes::archive(), archive);
2491 }
2492
2493 - (NSString *)border
2494 {
2495     return [self _objectElementImpl]->getAttribute(HTMLAttributes::border());
2496 }
2497
2498 - (void)setBorder:(NSString *)border
2499 {
2500     [self _objectElementImpl]->setAttribute(HTMLAttributes::border(), border);
2501 }
2502
2503 - (NSString *)codeBase
2504 {
2505     return [self _objectElementImpl]->getAttribute(HTMLAttributes::codebase());
2506 }
2507
2508 - (void)setCodeBase:(NSString *)codeBase
2509 {
2510     [self _objectElementImpl]->setAttribute(HTMLAttributes::codebase(), codeBase);
2511 }
2512
2513 - (NSString *)codeType
2514 {
2515     return [self _objectElementImpl]->getAttribute(HTMLAttributes::codetype());
2516 }
2517
2518 - (void)setCodeType:(NSString *)codeType
2519 {
2520     [self _objectElementImpl]->setAttribute(HTMLAttributes::codetype(), codeType);
2521 }
2522
2523 - (NSString *)data
2524 {
2525     return [self _objectElementImpl]->getAttribute(HTMLAttributes::data());
2526 }
2527
2528 - (void)setData:(NSString *)data
2529 {
2530     [self _objectElementImpl]->setAttribute(HTMLAttributes::data(), data);
2531 }
2532
2533 - (BOOL)declare
2534 {
2535     return [self _objectElementImpl]->getAttribute(HTMLAttributes::declare()).isNull();
2536 }
2537
2538 - (void)setDeclare:(BOOL)declare
2539 {
2540     [self _objectElementImpl]->setAttribute(HTMLAttributes::declare(), declare ? "" : 0);
2541 }
2542
2543 - (NSString *)height
2544 {
2545     return [self _objectElementImpl]->getAttribute(HTMLAttributes::height());
2546 }
2547
2548 - (void)setHeight:(NSString *)height
2549 {
2550     [self _objectElementImpl]->setAttribute(HTMLAttributes::height(), height);
2551 }
2552
2553 - (long)hspace
2554 {
2555     return [self _objectElementImpl]->getAttribute(HTMLAttributes::hspace()).toInt();
2556 }
2557
2558 - (void)setHspace:(long)hspace
2559 {
2560     DOMString string(QString::number(hspace));
2561     [self _objectElementImpl]->setAttribute(HTMLAttributes::hspace(), string);
2562 }
2563
2564 - (NSString *)name
2565 {
2566     return [self _objectElementImpl]->getAttribute(HTMLAttributes::name());
2567 }
2568
2569 - (void)setName:(NSString *)name
2570 {
2571     [self _objectElementImpl]->setAttribute(HTMLAttributes::name(), name);
2572 }
2573
2574 - (NSString *)standby
2575 {
2576     return [self _objectElementImpl]->getAttribute(HTMLAttributes::standby());
2577 }
2578
2579 - (void)setStandby:(NSString *)standby
2580 {
2581     [self _objectElementImpl]->setAttribute(HTMLAttributes::standby(), standby);
2582 }
2583
2584 - (long)tabIndex
2585 {
2586     return [self _objectElementImpl]->getAttribute(HTMLAttributes::tabindex()).toInt();
2587 }
2588
2589 - (void)setTabIndex:(long)tabIndex
2590 {
2591     DOMString string(QString::number(tabIndex));
2592     [self _objectElementImpl]->setAttribute(HTMLAttributes::tabindex(), string);
2593 }
2594
2595 - (NSString *)type
2596 {
2597     return [self _objectElementImpl]->getAttribute(HTMLAttributes::type());
2598 }
2599
2600 - (void)setType:(NSString *)type
2601 {
2602     [self _objectElementImpl]->setAttribute(HTMLAttributes::type(), type);
2603 }
2604
2605 - (NSString *)useMap
2606 {
2607     return [self _objectElementImpl]->getAttribute(HTMLAttributes::usemap());
2608 }
2609
2610 - (void)setUseMap:(NSString *)useMap
2611 {
2612     [self _objectElementImpl]->setAttribute(HTMLAttributes::usemap(), useMap);
2613 }
2614
2615 - (long)vspace
2616 {
2617     return [self _objectElementImpl]->getAttribute(HTMLAttributes::vspace()).toInt();
2618 }
2619
2620 - (void)setVspace:(long)vspace
2621 {
2622     DOMString string(QString::number(vspace));
2623     [self _objectElementImpl]->setAttribute(HTMLAttributes::vspace(), string);
2624 }
2625
2626 - (NSString *)width
2627 {
2628     return [self _objectElementImpl]->getAttribute(HTMLAttributes::width());
2629 }
2630
2631 - (void)setWidth:(NSString *)width
2632 {
2633     [self _objectElementImpl]->setAttribute(HTMLAttributes::width(), width);
2634 }
2635
2636 - (DOMDocument *)contentDocument
2637 {
2638     return [DOMDocument _documentWithImpl:[self _objectElementImpl]->contentDocument()];
2639 }
2640
2641 @end
2642
2643 @implementation DOMHTMLParamElement
2644
2645 - (HTMLParamElementImpl *)_paramElementImpl
2646 {
2647     return static_cast<HTMLParamElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2648 }
2649
2650 - (NSString *)name
2651 {
2652     return [self _paramElementImpl]->getAttribute(HTMLAttributes::name());
2653 }
2654
2655 - (void)setName:(NSString *)name
2656 {
2657     [self _paramElementImpl]->setAttribute(HTMLAttributes::name(), name);
2658 }
2659
2660 - (NSString *)type
2661 {
2662     return [self _paramElementImpl]->getAttribute(HTMLAttributes::type());
2663 }
2664
2665 - (void)setType:(NSString *)type
2666 {
2667     [self _paramElementImpl]->setAttribute(HTMLAttributes::type(), type);
2668 }
2669
2670 - (NSString *)value
2671 {
2672     return [self _paramElementImpl]->getAttribute(HTMLAttributes::value());
2673 }
2674
2675 - (void)setValue:(NSString *)value
2676 {
2677     [self _paramElementImpl]->setAttribute(HTMLAttributes::value(), value);
2678 }
2679
2680 - (NSString *)valueType
2681 {
2682     return [self _paramElementImpl]->getAttribute(HTMLAttributes::valuetype());
2683 }
2684
2685 - (void)setValueType:(NSString *)valueType
2686 {
2687     [self _paramElementImpl]->setAttribute(HTMLAttributes::valuetype(), valueType);
2688 }
2689
2690 @end
2691
2692 @implementation DOMHTMLAppletElement
2693
2694 - (HTMLAppletElementImpl *)_appletElementImpl
2695 {
2696     return static_cast<HTMLAppletElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2697 }
2698
2699 - (NSString *)align
2700 {
2701     return [self _appletElementImpl]->getAttribute(HTMLAttributes::align());
2702 }
2703
2704 - (void)setAlign:(NSString *)align
2705 {
2706     [self _appletElementImpl]->setAttribute(HTMLAttributes::align(), align);
2707 }
2708
2709 - (NSString *)alt
2710 {
2711     return [self _appletElementImpl]->getAttribute(HTMLAttributes::alt());
2712 }
2713
2714 - (void)setAlt:(NSString *)alt
2715 {
2716     [self _appletElementImpl]->setAttribute(HTMLAttributes::alt(), alt);
2717 }
2718
2719 - (NSString *)archive
2720 {
2721     return [self _appletElementImpl]->getAttribute(HTMLAttributes::archive());
2722 }
2723
2724 - (void)setArchive:(NSString *)archive
2725 {
2726     [self _appletElementImpl]->setAttribute(HTMLAttributes::archive(), archive);
2727 }
2728
2729 - (NSString *)code
2730 {
2731     return [self _appletElementImpl]->getAttribute(HTMLAttributes::code());
2732 }
2733
2734 - (void)setCode:(NSString *)code
2735 {
2736     [self _appletElementImpl]->setAttribute(HTMLAttributes::code(), code);
2737 }
2738
2739 - (NSString *)codeBase
2740 {
2741     return [self _appletElementImpl]->getAttribute(HTMLAttributes::codebase());
2742 }
2743
2744 - (void)setCodeBase:(NSString *)codeBase
2745 {
2746     [self _appletElementImpl]->setAttribute(HTMLAttributes::codebase(), codeBase);
2747 }
2748
2749 - (NSString *)height
2750 {
2751     return [self _appletElementImpl]->getAttribute(HTMLAttributes::height());
2752 }
2753
2754 - (void)setHeight:(NSString *)height
2755 {
2756     [self _appletElementImpl]->setAttribute(HTMLAttributes::height(), height);
2757 }
2758
2759 - (long)hspace
2760 {
2761     return [self _appletElementImpl]->getAttribute(HTMLAttributes::hspace()).toInt();
2762 }
2763
2764 - (void)setHspace:(long)hspace
2765 {
2766     DOMString string(QString::number(hspace));
2767     [self _appletElementImpl]->setAttribute(HTMLAttributes::hspace(), string);
2768 }
2769
2770 - (NSString *)name
2771 {
2772     return [self _appletElementImpl]->getAttribute(HTMLAttributes::name());
2773 }
2774
2775 - (void)setName:(NSString *)name
2776 {
2777     [self _appletElementImpl]->setAttribute(HTMLAttributes::name(), name);
2778 }
2779
2780 - (NSString *)object
2781 {
2782     return [self _appletElementImpl]->getAttribute(HTMLAttributes::object());
2783 }
2784
2785 - (void)setObject:(NSString *)object
2786 {
2787     [self _appletElementImpl]->setAttribute(HTMLAttributes::object(), object);
2788 }
2789
2790 - (long)vspace
2791 {
2792     return [self _appletElementImpl]->getAttribute(HTMLAttributes::vspace()).toInt();
2793 }
2794
2795 - (void)setVspace:(long)vspace
2796 {
2797     DOMString string(QString::number(vspace));
2798     [self _appletElementImpl]->setAttribute(HTMLAttributes::vspace(), string);
2799 }
2800
2801 - (NSString *)width
2802 {
2803     return [self _appletElementImpl]->getAttribute(HTMLAttributes::width());
2804 }
2805
2806 - (void)setWidth:(NSString *)width
2807 {
2808     [self _appletElementImpl]->setAttribute(HTMLAttributes::width(), width);
2809 }
2810
2811 @end
2812
2813 @implementation DOMHTMLMapElement
2814
2815 - (HTMLMapElementImpl *)_mapElementImpl
2816 {
2817     return static_cast<HTMLMapElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2818 }
2819
2820 - (DOMHTMLCollection *)areas
2821 {
2822     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _mapElementImpl], HTMLCollectionImpl::MAP_AREAS);
2823     return [DOMHTMLCollection _collectionWithImpl:collection];
2824 }
2825
2826 - (NSString *)name
2827 {
2828     return [self _mapElementImpl]->getAttribute(HTMLAttributes::name());
2829 }
2830
2831 - (void)setName:(NSString *)name
2832 {
2833     [self _mapElementImpl]->setAttribute(HTMLAttributes::name(), name);
2834 }
2835
2836 @end
2837
2838 @implementation DOMHTMLAreaElement
2839
2840 - (HTMLAreaElementImpl *)_areaElementImpl
2841 {
2842     return static_cast<HTMLAreaElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2843 }
2844
2845 - (NSString *)accessKey
2846 {
2847     return [self _areaElementImpl]->getAttribute(HTMLAttributes::accesskey());
2848 }
2849
2850 - (void)setAccessKey:(NSString *)accessKey
2851 {
2852     [self _areaElementImpl]->setAttribute(HTMLAttributes::accesskey(), accessKey);
2853 }
2854
2855 - (NSString *)alt
2856 {
2857     return [self _areaElementImpl]->getAttribute(HTMLAttributes::alt());
2858 }
2859
2860 - (void)setAlt:(NSString *)alt
2861 {
2862     [self _areaElementImpl]->setAttribute(HTMLAttributes::alt(), alt);
2863 }
2864
2865 - (NSString *)coords
2866 {
2867     return [self _areaElementImpl]->getAttribute(HTMLAttributes::coords());
2868 }
2869
2870 - (void)setCoords:(NSString *)coords
2871 {
2872     [self _areaElementImpl]->setAttribute(HTMLAttributes::coords(), coords);
2873 }
2874
2875 - (NSString *)href
2876 {
2877     return [self _areaElementImpl]->href();
2878 }
2879
2880 - (void)setHref:(NSString *)href
2881 {
2882     [self _areaElementImpl]->setAttribute(HTMLAttributes::href(), href);
2883 }
2884
2885 - (BOOL)noHref
2886 {
2887     return [self _areaElementImpl]->getAttribute(HTMLAttributes::nohref()).isNull();
2888 }
2889
2890 - (void)setNoHref:(BOOL)noHref
2891 {
2892     [self _areaElementImpl]->setAttribute(HTMLAttributes::nohref(), noHref ? "" : 0);
2893 }
2894
2895 - (NSString *)shape
2896 {
2897     return [self _areaElementImpl]->getAttribute(HTMLAttributes::shape());
2898 }
2899
2900 - (void)setShape:(NSString *)shape
2901 {
2902     [self _areaElementImpl]->setAttribute(HTMLAttributes::shape(), shape);
2903 }
2904
2905 - (long)tabIndex
2906 {
2907     return [self _areaElementImpl]->getAttribute(HTMLAttributes::tabindex()).toInt();
2908 }
2909
2910 - (void)setTabIndex:(long)tabIndex
2911 {
2912     DOMString string(QString::number(tabIndex));
2913     [self _areaElementImpl]->setAttribute(HTMLAttributes::tabindex(), string);
2914 }
2915
2916 - (NSString *)target
2917 {
2918     return [self _areaElementImpl]->getAttribute(HTMLAttributes::target());
2919 }
2920
2921 - (void)setTarget:(NSString *)target
2922 {
2923     [self _areaElementImpl]->setAttribute(HTMLAttributes::target(), target);
2924 }
2925
2926 @end
2927
2928 @implementation DOMHTMLScriptElement
2929
2930 - (HTMLScriptElementImpl *)_scriptElementImpl
2931 {
2932     return static_cast<HTMLScriptElementImpl *>(DOM_cast<NodeImpl *>(_internal));
2933 }
2934
2935 - (NSString *)text
2936 {
2937     return [self _scriptElementImpl]->getAttribute(HTMLAttributes::text());
2938 }
2939
2940 - (void)setText:(NSString *)text
2941 {
2942     [self _scriptElementImpl]->setAttribute(HTMLAttributes::text(), text);
2943 }
2944
2945 - (NSString *)htmlFor
2946 {
2947     ASSERT_WITH_MESSAGE(0, "not implemented by khtml");
2948     return nil;
2949 }
2950
2951 - (void)setHtmlFor:(NSString *)htmlFor
2952 {
2953     ASSERT_WITH_MESSAGE(0, "not implemented by khtml");
2954 }
2955
2956 - (NSString *)event
2957 {
2958     ASSERT_WITH_MESSAGE(0, "not implemented by khtml");
2959     return nil;
2960 }
2961
2962 - (void)setEvent:(NSString *)event
2963 {
2964     ASSERT_WITH_MESSAGE(0, "not implemented by khtml");
2965 }
2966
2967 - (NSString *)charset
2968 {
2969     return [self _scriptElementImpl]->getAttribute(HTMLAttributes::charset());
2970 }
2971
2972 - (void)setCharset:(NSString *)charset
2973 {
2974     [self _scriptElementImpl]->setAttribute(HTMLAttributes::charset(), charset);
2975 }
2976
2977 - (BOOL)defer
2978 {
2979     return [self _scriptElementImpl]->getAttribute(HTMLAttributes::defer()).isNull();
2980 }
2981
2982 - (void)setDefer:(BOOL)defer
2983 {
2984     [self _scriptElementImpl]->setAttribute(HTMLAttributes::defer(), defer ? "" : 0);
2985 }
2986
2987 - (NSString *)src
2988 {
2989     return [self _scriptElementImpl]->getAttribute(HTMLAttributes::src());
2990 }
2991
2992 - (void)setSrc:(NSString *)src
2993 {
2994     [self _scriptElementImpl]->setAttribute(HTMLAttributes::src(), src);
2995 }
2996
2997 - (NSString *)type
2998 {
2999     return [self _scriptElementImpl]->getAttribute(HTMLAttributes::type());
3000 }
3001
3002 - (void)setType:(NSString *)type
3003 {
3004     [self _scriptElementImpl]->setAttribute(HTMLAttributes::type(), type);
3005 }
3006
3007 @end
3008
3009 @implementation DOMHTMLTableCaptionElement
3010
3011 - (NSString *)align
3012 {
3013     return [self _tableCaptionElementImpl]->getAttribute(HTMLAttributes::align());
3014 }
3015
3016 - (void)setAlign:(NSString *)align
3017 {
3018     [self _tableCaptionElementImpl]->setAttribute(HTMLAttributes::align(), align);
3019 }
3020
3021 @end
3022
3023 @implementation DOMHTMLTableCaptionElement (WebCoreInternal)
3024
3025 + (DOMHTMLTableCaptionElement *)_tableCaptionElementWithImpl:(HTMLTableCaptionElementImpl *)impl
3026 {
3027     return static_cast<DOMHTMLTableCaptionElement *>([DOMNode _nodeWithImpl:impl]);
3028 }
3029
3030 - (HTMLTableCaptionElementImpl *)_tableCaptionElementImpl
3031 {
3032     return static_cast<HTMLTableCaptionElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3033 }
3034
3035 @end
3036
3037 @implementation DOMHTMLTableSectionElement
3038
3039 - (NSString *)align
3040 {
3041     return [self _tableSectionElementImpl]->getAttribute(HTMLAttributes::align());
3042 }
3043
3044 - (void)setAlign:(NSString *)align
3045 {
3046     [self _tableSectionElementImpl]->setAttribute(HTMLAttributes::align(), align);
3047 }
3048
3049 - (NSString *)ch
3050 {
3051     return [self _tableSectionElementImpl]->getAttribute(HTMLAttributes::charoff());
3052 }
3053
3054 - (void)setCh:(NSString *)ch
3055 {
3056     [self _tableSectionElementImpl]->setAttribute(HTMLAttributes::charoff(), ch);
3057 }
3058
3059 - (NSString *)chOff
3060 {
3061     return [self _tableSectionElementImpl]->getAttribute(HTMLAttributes::charoff());
3062 }
3063
3064 - (void)setChOff:(NSString *)chOff
3065 {
3066     [self _tableSectionElementImpl]->setAttribute(HTMLAttributes::charoff(), chOff);
3067 }
3068
3069 - (NSString *)vAlign
3070 {
3071     return [self _tableSectionElementImpl]->getAttribute(HTMLAttributes::valign());
3072 }
3073
3074 - (void)setVAlign:(NSString *)vAlign
3075 {
3076     [self _tableSectionElementImpl]->setAttribute(HTMLAttributes::valign(), vAlign);
3077 }
3078
3079 - (DOMHTMLCollection *)rows
3080 {
3081     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _tableSectionElementImpl], HTMLCollectionImpl::TABLE_ROWS);
3082     return [DOMHTMLCollection _collectionWithImpl:collection];
3083 }
3084
3085 - (DOMHTMLElement *)insertRow:(long)index
3086 {
3087     int exceptioncode = 0;
3088     HTMLElementImpl *impl = [self _tableSectionElementImpl]->insertRow(index, exceptioncode);
3089     raiseOnDOMError(exceptioncode);
3090     return [DOMHTMLElement _elementWithImpl:impl];
3091 }
3092
3093 - (void)deleteRow:(long)index
3094 {
3095     int exceptioncode = 0;
3096     [self _tableSectionElementImpl]->deleteRow(index, exceptioncode);
3097     raiseOnDOMError(exceptioncode);
3098 }
3099
3100 @end
3101
3102 @implementation DOMHTMLTableSectionElement (WebCoreInternal)
3103
3104 + (DOMHTMLTableSectionElement *)_tableSectionElementWithImpl:(HTMLTableSectionElementImpl *)impl
3105 {
3106     return static_cast<DOMHTMLTableSectionElement *>([DOMNode _nodeWithImpl:impl]);
3107 }
3108
3109 - (HTMLTableSectionElementImpl *)_tableSectionElementImpl
3110 {
3111     return static_cast<HTMLTableSectionElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3112 }
3113
3114 @end
3115
3116 @implementation DOMHTMLTableElement
3117
3118 - (DOMHTMLTableCaptionElement *)caption
3119 {
3120     return [DOMHTMLTableCaptionElement _tableCaptionElementWithImpl:[self _tableElementImpl]->caption()];
3121 }
3122
3123 - (void)setCaption:(DOMHTMLTableCaptionElement *)caption
3124 {
3125     [self _tableElementImpl]->setCaption([caption _tableCaptionElementImpl]);
3126 }
3127
3128 - (DOMHTMLTableSectionElement *)tHead
3129 {
3130     return [DOMHTMLTableSectionElement _tableSectionElementWithImpl:[self _tableElementImpl]->tHead()];
3131 }
3132
3133 - (void)setTHead:(DOMHTMLTableSectionElement *)tHead
3134 {
3135     [self _tableElementImpl]->setTHead([tHead _tableSectionElementImpl]);
3136 }
3137
3138 - (DOMHTMLTableSectionElement *)tFoot
3139 {
3140     return [DOMHTMLTableSectionElement _tableSectionElementWithImpl:[self _tableElementImpl]->tFoot()];
3141 }
3142
3143 - (void)setTFoot:(DOMHTMLTableSectionElement *)tFoot
3144 {
3145     [self _tableElementImpl]->setTFoot([tFoot _tableSectionElementImpl]);
3146 }
3147
3148 - (DOMHTMLCollection *)rows
3149 {
3150     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _tableElementImpl], HTMLCollectionImpl::TABLE_ROWS);
3151     return [DOMHTMLCollection _collectionWithImpl:collection];
3152 }
3153
3154 - (DOMHTMLCollection *)tBodies
3155 {
3156     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _tableElementImpl], HTMLCollectionImpl::TABLE_TBODIES);
3157     return [DOMHTMLCollection _collectionWithImpl:collection];
3158 }
3159
3160 - (NSString *)align
3161 {
3162     return [self _tableElementImpl]->getAttribute(HTMLAttributes::align());
3163 }
3164
3165 - (void)setAlign:(NSString *)align
3166 {
3167     [self _tableElementImpl]->setAttribute(HTMLAttributes::align(), align);
3168 }
3169
3170 - (NSString *)bgColor
3171 {
3172     return [self _tableElementImpl]->getAttribute(HTMLAttributes::bgcolor());
3173 }
3174
3175 - (void)setBgColor:(NSString *)bgColor
3176 {
3177     [self _tableElementImpl]->setAttribute(HTMLAttributes::bgcolor(), bgColor);
3178 }
3179
3180 - (NSString *)border
3181 {
3182     return [self _tableElementImpl]->getAttribute(HTMLAttributes::border());
3183 }
3184
3185 - (void)setBorder:(NSString *)border
3186 {
3187     [self _tableElementImpl]->setAttribute(HTMLAttributes::border(), border);
3188 }
3189
3190 - (NSString *)cellPadding
3191 {
3192     return [self _tableElementImpl]->getAttribute(HTMLAttributes::cellpadding());
3193 }
3194
3195 - (void)setCellPadding:(NSString *)cellPadding
3196 {
3197     [self _tableElementImpl]->setAttribute(HTMLAttributes::cellpadding(), cellPadding);
3198 }
3199
3200 - (NSString *)cellSpacing
3201 {
3202     return [self _tableElementImpl]->getAttribute(HTMLAttributes::cellspacing());
3203 }
3204
3205 - (void)setCellSpacing:(NSString *)cellSpacing
3206 {
3207     [self _tableElementImpl]->setAttribute(HTMLAttributes::cellspacing(), cellSpacing);
3208 }
3209
3210 - (NSString *)frameBorders
3211 {
3212     return [self _tableElementImpl]->getAttribute(HTMLAttributes::frame());
3213 }
3214
3215 - (void)setFrameBorders:(NSString *)frameBorders
3216 {
3217     [self _tableElementImpl]->setAttribute(HTMLAttributes::frame(), frameBorders);
3218 }
3219
3220 - (NSString *)rules
3221 {
3222     return [self _tableElementImpl]->getAttribute(HTMLAttributes::rules());
3223 }
3224
3225 - (void)setRules:(NSString *)rules
3226 {
3227     [self _tableElementImpl]->setAttribute(HTMLAttributes::rules(), rules);
3228 }
3229
3230 - (NSString *)summary
3231 {
3232     return [self _tableElementImpl]->getAttribute(HTMLAttributes::summary());
3233 }
3234
3235 - (void)setSummary:(NSString *)summary
3236 {
3237     [self _tableElementImpl]->setAttribute(HTMLAttributes::summary(), summary);
3238 }
3239
3240 - (NSString *)width
3241 {
3242     return [self _tableElementImpl]->getAttribute(HTMLAttributes::width());
3243 }
3244
3245 - (void)setWidth:(NSString *)width
3246 {
3247     [self _tableElementImpl]->setAttribute(HTMLAttributes::width(), width);
3248 }
3249
3250 - (DOMHTMLElement *)createTHead
3251 {
3252     HTMLTableSectionElementImpl *impl = static_cast<HTMLTableSectionElementImpl *>([self _tableElementImpl]->createTHead());
3253     return [DOMHTMLTableSectionElement _tableSectionElementWithImpl:impl];
3254 }
3255
3256 - (void)deleteTHead
3257 {
3258     [self _tableElementImpl]->deleteTHead();
3259 }
3260
3261 - (DOMHTMLElement *)createTFoot
3262 {
3263     HTMLTableSectionElementImpl *impl = static_cast<HTMLTableSectionElementImpl *>([self _tableElementImpl]->createTFoot());
3264     return [DOMHTMLTableSectionElement _tableSectionElementWithImpl:impl];
3265 }
3266
3267 - (void)deleteTFoot
3268 {
3269     [self _tableElementImpl]->deleteTFoot();
3270 }
3271
3272 - (DOMHTMLElement *)createCaption
3273 {
3274     HTMLTableCaptionElementImpl *impl = static_cast<HTMLTableCaptionElementImpl *>([self _tableElementImpl]->createCaption());
3275     return [DOMHTMLTableCaptionElement _tableCaptionElementWithImpl:impl];
3276 }
3277
3278 - (void)deleteCaption
3279 {
3280     [self _tableElementImpl]->deleteCaption();
3281 }
3282
3283 - (DOMHTMLElement *)insertRow:(long)index
3284 {
3285     int exceptioncode = 0;
3286     HTMLTableElementImpl *impl = static_cast<HTMLTableElementImpl *>([self _tableElementImpl]->insertRow(index, exceptioncode));
3287     raiseOnDOMError(exceptioncode);
3288     return [DOMHTMLTableElement _tableElementWithImpl:impl];
3289 }
3290
3291 - (void)deleteRow:(long)index
3292 {
3293     int exceptioncode = 0;
3294     [self _tableElementImpl]->deleteRow(index, exceptioncode);
3295     raiseOnDOMError(exceptioncode);
3296 }
3297
3298 @end
3299
3300 @implementation DOMHTMLTableElement (WebCoreInternal)
3301
3302 + (DOMHTMLTableElement *)_tableElementWithImpl:(HTMLTableElementImpl *)impl
3303 {
3304     return static_cast<DOMHTMLTableElement *>([DOMNode _nodeWithImpl:impl]);
3305 }
3306
3307 - (HTMLTableElementImpl *)_tableElementImpl
3308 {
3309     return static_cast<HTMLTableElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3310 }
3311
3312 @end
3313
3314 @implementation DOMHTMLTableColElement
3315
3316 - (HTMLTableColElementImpl *)_tableColElementImpl
3317 {
3318     return static_cast<HTMLTableColElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3319 }
3320
3321 - (NSString *)align
3322 {
3323     return [self _tableColElementImpl]->getAttribute(HTMLAttributes::align());
3324 }
3325
3326 - (void)setAlign:(NSString *)align
3327 {
3328     [self _tableColElementImpl]->setAttribute(HTMLAttributes::align(), align);
3329 }
3330
3331 - (NSString *)ch
3332 {
3333     return [self _tableColElementImpl]->getAttribute(HTMLAttributes::charoff());
3334 }
3335
3336 - (void)setCh:(NSString *)ch
3337 {
3338     [self _tableColElementImpl]->setAttribute(HTMLAttributes::charoff(), ch);
3339 }
3340
3341 - (NSString *)chOff
3342 {
3343     return [self _tableColElementImpl]->getAttribute(HTMLAttributes::charoff());
3344 }
3345
3346 - (void)setChOff:(NSString *)chOff
3347 {
3348     [self _tableColElementImpl]->setAttribute(HTMLAttributes::charoff(), chOff);
3349 }
3350
3351 - (long)span
3352 {
3353     return [self _tableColElementImpl]->getAttribute(HTMLAttributes::span()).toInt();
3354 }
3355
3356 - (void)setSpan:(long)span
3357 {
3358     DOMString string(QString::number(span));
3359     [self _tableColElementImpl]->setAttribute(HTMLAttributes::span(), string);
3360 }
3361
3362 - (NSString *)vAlign
3363 {
3364     return [self _tableColElementImpl]->getAttribute(HTMLAttributes::valign());
3365 }
3366
3367 - (void)setVAlign:(NSString *)vAlign
3368 {
3369     [self _tableColElementImpl]->setAttribute(HTMLAttributes::valign(), vAlign);
3370 }
3371
3372 - (NSString *)width
3373 {
3374     return [self _tableColElementImpl]->getAttribute(HTMLAttributes::width());
3375 }
3376
3377 - (void)setWidth:(NSString *)width
3378 {
3379     [self _tableColElementImpl]->setAttribute(HTMLAttributes::width(), width);
3380 }
3381
3382 @end
3383
3384 @implementation DOMHTMLTableRowElement
3385
3386 - (HTMLTableRowElementImpl *)_tableRowElementImpl
3387 {
3388     return static_cast<HTMLTableRowElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3389 }
3390
3391 - (long)rowIndex
3392 {
3393     return [self _tableRowElementImpl]->rowIndex();
3394 }
3395
3396 - (long)sectionRowIndex
3397 {
3398     return [self _tableRowElementImpl]->sectionRowIndex();
3399 }
3400
3401 - (DOMHTMLCollection *)cells
3402 {
3403     HTMLCollectionImpl *collection = new HTMLCollectionImpl([self _tableRowElementImpl], HTMLCollectionImpl::TR_CELLS);
3404     return [DOMHTMLCollection _collectionWithImpl:collection];
3405 }
3406
3407 - (NSString *)align
3408 {
3409     return [self _tableRowElementImpl]->getAttribute(HTMLAttributes::align());
3410 }
3411
3412 - (void)setAlign:(NSString *)align
3413 {
3414     [self _tableRowElementImpl]->setAttribute(HTMLAttributes::align(), align);
3415 }
3416
3417 - (NSString *)bgColor
3418 {
3419     return [self _tableRowElementImpl]->getAttribute(HTMLAttributes::bgcolor());
3420 }
3421
3422 - (void)setBgColor:(NSString *)bgColor
3423 {
3424     [self _tableRowElementImpl]->setAttribute(HTMLAttributes::bgcolor(), bgColor);
3425 }
3426
3427 - (NSString *)ch
3428 {
3429     return [self _tableRowElementImpl]->getAttribute(HTMLAttributes::charoff());
3430 }
3431
3432 - (void)setCh:(NSString *)ch
3433 {
3434     [self _tableRowElementImpl]->setAttribute(HTMLAttributes::charoff(), ch);
3435 }
3436
3437 - (NSString *)chOff
3438 {
3439     return [self _tableRowElementImpl]->getAttribute(HTMLAttributes::charoff());
3440 }
3441
3442 - (void)setChOff:(NSString *)chOff
3443 {
3444     [self _tableRowElementImpl]->setAttribute(HTMLAttributes::charoff(), chOff);
3445 }
3446
3447 - (NSString *)vAlign
3448 {
3449     return [self _tableRowElementImpl]->getAttribute(HTMLAttributes::valign());
3450 }
3451
3452 - (void)setVAlign:(NSString *)vAlign
3453 {
3454     [self _tableRowElementImpl]->setAttribute(HTMLAttributes::valign(), vAlign);
3455 }
3456
3457 - (DOMHTMLElement *)insertCell:(long)index
3458 {
3459     int exceptioncode = 0;
3460     HTMLTableCellElementImpl *impl = static_cast<HTMLTableCellElementImpl *>([self _tableRowElementImpl]->insertCell(index, exceptioncode));
3461     raiseOnDOMError(exceptioncode);
3462     return [DOMHTMLTableCellElement _tableCellElementWithImpl:impl];
3463 }
3464
3465 - (void)deleteCell:(long)index
3466 {
3467     int exceptioncode = 0;
3468     [self _tableRowElementImpl]->deleteCell(index, exceptioncode);
3469     raiseOnDOMError(exceptioncode);
3470 }
3471
3472 @end
3473
3474 @implementation DOMHTMLTableCellElement
3475
3476 - (long)cellIndex
3477 {
3478     return [self _tableCellElementImpl]->cellIndex();
3479 }
3480
3481 - (NSString *)abbr
3482 {
3483     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::abbr());
3484 }
3485
3486 - (void)setAbbr:(NSString *)abbr
3487 {
3488     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::abbr(), abbr);
3489 }
3490
3491 - (NSString *)align
3492 {
3493     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::align());
3494 }
3495
3496 - (void)setAlign:(NSString *)align
3497 {
3498     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::align(), align);
3499 }
3500
3501 - (NSString *)axis
3502 {
3503     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::axis());
3504 }
3505
3506 - (void)setAxis:(NSString *)axis
3507 {
3508     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::axis(), axis);
3509 }
3510
3511 - (NSString *)bgColor
3512 {
3513     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::bgcolor());
3514 }
3515
3516 - (void)setBgColor:(NSString *)bgColor
3517 {
3518     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::bgcolor(), bgColor);
3519 }
3520
3521 - (NSString *)ch
3522 {
3523     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::charoff());
3524 }
3525
3526 - (void)setCh:(NSString *)ch
3527 {
3528     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::charoff(), ch);
3529 }
3530
3531 - (NSString *)chOff
3532 {
3533     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::charoff());
3534 }
3535
3536 - (void)setChOff:(NSString *)chOff
3537 {
3538     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::charoff(), chOff);
3539 }
3540
3541 - (long)colSpan
3542 {
3543     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::colspan()).toInt();
3544 }
3545
3546 - (void)setColSpan:(long)colSpan
3547 {
3548     DOMString string(QString::number(colSpan));
3549     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::colspan(), string);
3550 }
3551
3552 - (NSString *)headers
3553 {
3554     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::headers());
3555 }
3556
3557 - (void)setHeaders:(NSString *)headers
3558 {
3559     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::headers(), headers);
3560 }
3561
3562 - (NSString *)height
3563 {
3564     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::height());
3565 }
3566
3567 - (void)setHeight:(NSString *)height
3568 {
3569     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::height(), height);
3570 }
3571
3572 - (BOOL)noWrap
3573 {
3574     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::nowrap()).isNull();
3575 }
3576
3577 - (void)setNoWrap:(BOOL)noWrap
3578 {
3579     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::nowrap(), noWrap ? "" : 0);
3580 }
3581
3582 - (long)rowSpan
3583 {
3584     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::rowspan()).toInt();
3585 }
3586
3587 - (void)setRowSpan:(long)rowSpan
3588 {
3589     DOMString string(QString::number(rowSpan));
3590     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::rowspan(), string);
3591 }
3592
3593 - (NSString *)scope
3594 {
3595     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::scope());
3596 }
3597
3598 - (void)setScope:(NSString *)scope
3599 {
3600     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::scope(), scope);
3601 }
3602
3603 - (NSString *)vAlign
3604 {
3605     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::valign());
3606 }
3607
3608 - (void)setVAlign:(NSString *)vAlign
3609 {
3610     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::valign(), vAlign);
3611 }
3612
3613 - (NSString *)width
3614 {
3615     return [self _tableCellElementImpl]->getAttribute(HTMLAttributes::width());
3616 }
3617
3618 - (void)setWidth:(NSString *)width
3619 {
3620     [self _tableCellElementImpl]->setAttribute(HTMLAttributes::width(), width);
3621 }
3622
3623 @end
3624
3625 @implementation DOMHTMLTableCellElement (WebCoreInternal)
3626
3627 + (DOMHTMLTableCellElement *)_tableCellElementWithImpl:(HTMLTableCellElementImpl *)impl
3628 {
3629     return static_cast<DOMHTMLTableCellElement *>([DOMNode _nodeWithImpl:impl]);
3630 }
3631
3632 - (HTMLTableCellElementImpl *)_tableCellElementImpl
3633 {
3634     return static_cast<HTMLTableCellElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3635 }
3636
3637 @end
3638
3639 @implementation DOMHTMLFrameSetElement
3640
3641 - (HTMLFrameSetElementImpl *)_frameSetElementImpl
3642 {
3643     return static_cast<HTMLFrameSetElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3644 }
3645
3646 - (NSString *)rows
3647 {
3648     return [self _frameSetElementImpl]->getAttribute(HTMLAttributes::rows());
3649 }
3650
3651 - (void)setRows:(NSString *)rows
3652 {
3653     [self _frameSetElementImpl]->setAttribute(HTMLAttributes::rows(), rows);
3654 }
3655
3656 - (NSString *)cols
3657 {
3658     return [self _frameSetElementImpl]->getAttribute(HTMLAttributes::cols());
3659 }
3660
3661 - (void)setCols:(NSString *)cols
3662 {
3663     [self _frameSetElementImpl]->setAttribute(HTMLAttributes::cols(), cols);
3664 }
3665
3666 @end
3667
3668 @implementation DOMHTMLFrameElement
3669
3670 - (HTMLFrameElementImpl *)_frameElementImpl
3671 {
3672     return static_cast<HTMLFrameElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3673 }
3674
3675 - (NSString *)frameBorder
3676 {
3677     return [self _frameElementImpl]->getAttribute(HTMLAttributes::frameborder());
3678 }
3679
3680 - (void)setFrameBorder:(NSString *)frameBorder
3681 {
3682     [self _frameElementImpl]->setAttribute(HTMLAttributes::frameborder(), frameBorder);
3683 }
3684
3685 - (NSString *)longDesc
3686 {
3687     return [self _frameElementImpl]->getAttribute(HTMLAttributes::longdesc());
3688 }
3689
3690 - (void)setLongDesc:(NSString *)longDesc
3691 {
3692     [self _frameElementImpl]->setAttribute(HTMLAttributes::longdesc(), longDesc);
3693 }
3694
3695 - (NSString *)marginHeight
3696 {
3697     return [self _frameElementImpl]->getAttribute(HTMLAttributes::marginheight());
3698 }
3699
3700 - (void)setMarginHeight:(NSString *)marginHeight
3701 {
3702     [self _frameElementImpl]->setAttribute(HTMLAttributes::marginheight(), marginHeight);
3703 }
3704
3705 - (NSString *)marginWidth
3706 {
3707     return [self _frameElementImpl]->getAttribute(HTMLAttributes::marginwidth());
3708 }
3709
3710 - (void)setMarginWidth:(NSString *)marginWidth
3711 {
3712     [self _frameElementImpl]->setAttribute(HTMLAttributes::marginwidth(), marginWidth);
3713 }
3714
3715 - (NSString *)name
3716 {
3717     return [self _frameElementImpl]->getAttribute(HTMLAttributes::name());
3718 }
3719
3720 - (void)setName:(NSString *)name
3721 {
3722     [self _frameElementImpl]->setAttribute(HTMLAttributes::name(), name);
3723 }
3724
3725 - (BOOL)noResize
3726 {
3727     return [self _frameElementImpl]->getAttribute(HTMLAttributes::noresize()).isNull();
3728 }
3729
3730 - (void)setNoResize:(BOOL)noResize
3731 {
3732     [self _frameElementImpl]->setAttribute(HTMLAttributes::noresize(), noResize ? "" : 0);
3733 }
3734
3735 - (NSString *)scrolling
3736 {
3737     return [self _frameElementImpl]->getAttribute(HTMLAttributes::scrolling());
3738 }
3739
3740 - (void)setScrolling:(NSString *)scrolling
3741 {
3742     [self _frameElementImpl]->setAttribute(HTMLAttributes::scrolling(), scrolling);
3743 }
3744
3745 - (NSString *)src
3746 {
3747     return [self _frameElementImpl]->getAttribute(HTMLAttributes::src());
3748 }
3749
3750 - (void)setSrc:(NSString *)src
3751 {
3752     [self _frameElementImpl]->setAttribute(HTMLAttributes::src(), src);
3753 }
3754
3755 - (DOMDocument *)contentDocument
3756 {
3757     return [DOMDocument _documentWithImpl:[self _frameElementImpl]->contentDocument()];
3758 }
3759
3760 @end
3761
3762 @implementation DOMHTMLIFrameElement
3763
3764 - (HTMLIFrameElementImpl *)_IFrameElementImpl
3765 {
3766     return static_cast<HTMLIFrameElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3767 }
3768
3769 - (NSString *)align
3770 {
3771     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::align());
3772 }
3773
3774 - (void)setAlign:(NSString *)align
3775 {
3776     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::align(), align);
3777 }
3778
3779 - (NSString *)frameBorder
3780 {
3781     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::frameborder());
3782 }
3783
3784 - (void)setFrameBorder:(NSString *)frameBorder
3785 {
3786     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::frameborder(), frameBorder);
3787 }
3788
3789 - (NSString *)height
3790 {
3791     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::height());
3792 }
3793
3794 - (void)setHeight:(NSString *)height
3795 {
3796     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::height(), height);
3797 }
3798
3799 - (NSString *)longDesc
3800 {
3801     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::longdesc());
3802 }
3803
3804 - (void)setLongDesc:(NSString *)longDesc
3805 {
3806     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::longdesc(), longDesc);
3807 }
3808
3809 - (NSString *)marginHeight
3810 {
3811     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::marginheight());
3812 }
3813
3814 - (void)setMarginHeight:(NSString *)marginHeight
3815 {
3816     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::marginheight(), marginHeight);
3817 }
3818
3819 - (NSString *)marginWidth
3820 {
3821     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::marginwidth());
3822 }
3823
3824 - (void)setMarginWidth:(NSString *)marginWidth
3825 {
3826     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::marginwidth(), marginWidth);
3827 }
3828
3829 - (NSString *)name
3830 {
3831     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::name());
3832 }
3833
3834 - (void)setName:(NSString *)name
3835 {
3836     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::name(), name);
3837 }
3838
3839 - (BOOL)noResize
3840 {
3841     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::noresize()).isNull();
3842 }
3843
3844 - (void)setNoResize:(BOOL)noResize
3845 {
3846     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::noresize(), noResize ? "" : 0);
3847 }
3848
3849 - (NSString *)scrolling
3850 {
3851     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::scrolling());
3852 }
3853
3854 - (void)setScrolling:(NSString *)scrolling
3855 {
3856     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::scrolling(), scrolling);
3857 }
3858
3859 - (NSString *)src
3860 {
3861     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::src());
3862 }
3863
3864 - (void)setSrc:(NSString *)src
3865 {
3866     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::src(), src);
3867 }
3868
3869 - (NSString *)width
3870 {
3871     return [self _IFrameElementImpl]->getAttribute(HTMLAttributes::width());
3872 }
3873
3874 - (void)setWidth:(NSString *)width
3875 {
3876     [self _IFrameElementImpl]->setAttribute(HTMLAttributes::width(), width);
3877 }
3878
3879 - (DOMDocument *)contentDocument
3880 {
3881     return [DOMDocument _documentWithImpl:[self _IFrameElementImpl]->contentDocument()];
3882 }
3883
3884 @end
3885
3886 #pragma mark DOM EXTENSIONS
3887
3888 @implementation DOMHTMLEmbedElement
3889
3890 - (HTMLEmbedElementImpl *)_embedElementImpl
3891 {
3892     return static_cast<HTMLEmbedElementImpl *>(DOM_cast<NodeImpl *>(_internal));
3893 }
3894
3895 - (NSString *)align
3896 {
3897     return [self _embedElementImpl]->getAttribute(HTMLAttributes::align());
3898 }
3899
3900 - (void)setAlign:(NSString *)align
3901 {
3902     [self _embedElementImpl]->setAttribute(HTMLAttributes::align(), align);
3903 }
3904
3905 - (long)height
3906 {
3907     return [self _embedElementImpl]->getAttribute(HTMLAttributes::height()).toInt();
3908 }
3909
3910 - (void)setHeight:(long)height
3911 {
3912     DOMString string(QString::number(height));
3913     [self _embedElementImpl]->setAttribute(HTMLAttributes::height(), string);
3914 }
3915
3916 - (NSString *)name
3917 {
3918     return [self _embedElementImpl]->getAttribute(HTMLAttributes::name());
3919 }
3920
3921 - (void)setName:(NSString *)name
3922 {
3923     [self _embedElementImpl]->setAttribute(HTMLAttributes::name(), name);
3924 }
3925
3926 - (NSString *)src
3927 {
3928     return [self _embedElementImpl]->getAttribute(HTMLAttributes::src());
3929 }
3930
3931 - (void)setSrc:(NSString *)src
3932 {
3933     [self _embedElementImpl]->setAttribute(HTMLAttributes::src(), src);
3934 }
3935
3936 - (NSString *)type
3937 {
3938     return [self _embedElementImpl]->getAttribute(HTMLAttributes::type());
3939 }
3940
3941 - (void)setType:(NSString *)type
3942 {
3943     [self _embedElementImpl]->setAttribute(HTMLAttributes::type(), type);
3944 }
3945
3946 - (long)width
3947 {
3948     return [self _embedElementImpl]->getAttribute(HTMLAttributes::width()).toInt();
3949 }
3950
3951 - (void)setWidth:(long)width
3952 {
3953     DOMString string(QString::number(width));
3954     [self _embedElementImpl]->setAttribute(HTMLAttributes::width(), string);
3955 }
3956
3957 @end