2006-05-16 Eric Seidel <eseidel@apple.com>
authoreseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 May 2006 10:02:07 +0000 (10:02 +0000)
committereseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 May 2006 10:02:07 +0000 (10:02 +0000)
        Reviewed by andersca.

        Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.

        Already covered by existing dom tests.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createBaseWrapper):
        (WebCore::createHeadWrapper):
        (WebCore::createLinkWrapper):
        (WebCore::createStyleWrapper):
        (WebCore::createTitleWrapper):
        (WebCore::createJSWrapper):
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        * bindings/js/kjs_html.h:
        * html/HTMLBaseElement.idl: Added.
        * html/HTMLHeadElement.idl: Added.
        * html/HTMLLinkElement.idl: Added.
        * html/HTMLStyleElement.idl: Added.
        * html/HTMLTitleElement.idl: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/DerivedSources.make
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/js/JSHTMLElementWrapperFactory.cpp
WebCore/bindings/js/kjs_html.cpp
WebCore/bindings/js/kjs_html.h
WebCore/html/HTMLBaseElement.idl [new file with mode: 0644]
WebCore/html/HTMLHeadElement.idl [new file with mode: 0644]
WebCore/html/HTMLLinkElement.idl [new file with mode: 0644]
WebCore/html/HTMLStyleElement.idl [new file with mode: 0644]
WebCore/html/HTMLTitleElement.idl [new file with mode: 0644]

index 65d5a6f888b39b3cb1360e52a638cb4cae5e4ce9..6593120904e6433f1084a282928199b7a1ebf507 100644 (file)
@@ -1,3 +1,31 @@
+2006-05-16  Eric Seidel  <eseidel@apple.com>
+
+        Reviewed by andersca.
+
+        Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.
+
+        Already covered by existing dom tests.
+
+        * DerivedSources.make:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/JSHTMLElementWrapperFactory.cpp:
+        (WebCore::createBaseWrapper):
+        (WebCore::createHeadWrapper):
+        (WebCore::createLinkWrapper):
+        (WebCore::createStyleWrapper):
+        (WebCore::createTitleWrapper):
+        (WebCore::createJSWrapper):
+        * bindings/js/kjs_html.cpp:
+        (KJS::):
+        (KJS::JSHTMLElement::classInfo):
+        (KJS::JSHTMLElement::accessors):
+        * bindings/js/kjs_html.h:
+        * html/HTMLBaseElement.idl: Added.
+        * html/HTMLHeadElement.idl: Added.
+        * html/HTMLLinkElement.idl: Added.
+        * html/HTMLStyleElement.idl: Added.
+        * html/HTMLTitleElement.idl: Added.
+
 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
 
         Reviewed by Maciej.
index 5577c58420011ce5b871d755d7c19366f3bfd7ff..39922191fd8660a0db5b193d509b080b6dce0a9a 100644 (file)
@@ -63,10 +63,15 @@ all : \
     JSElement.h \
     JSEvent.h \
     JSEntity.h \
+    JSHTMLBaseElement.h \
     JSHTMLCanvasElement.h \
     JSHTMLDocument.h \
     JSHTMLElement.h \
+    JSHTMLHeadElement.h \
+    JSHTMLLinkElement.h \
     JSHTMLMetaElement.h \
+    JSHTMLStyleElement.h \
+    JSHTMLTitleElement.h \
     JSKeyboardEvent.h \
     JSMouseEvent.h \
     JSMutationEvent.h \
index cc3b471a4dbd64b30f474c3723dc07d94db30d1c..79ffb9a7e234ce761d26a948fbf5a87fe2cbed58 100644 (file)
                A80E79FD0A19C307007FB8C5 /* HTMLMetaElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A80E79FC0A19C307007FB8C5 /* HTMLMetaElement.idl */; };
                A80E7A170A19C3D6007FB8C5 /* JSHTMLMetaElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E7A150A19C3D6007FB8C5 /* JSHTMLMetaElement.cpp */; };
                A80E7A180A19C3D6007FB8C5 /* JSHTMLMetaElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E7A160A19C3D6007FB8C5 /* JSHTMLMetaElement.h */; };
+               A80E7AB30A19D1F1007FB8C5 /* HTMLTitleElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A80E7AAE0A19D1F1007FB8C5 /* HTMLTitleElement.idl */; };
+               A80E7AB40A19D1F1007FB8C5 /* HTMLBaseElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A80E7AAF0A19D1F1007FB8C5 /* HTMLBaseElement.idl */; };
+               A80E7AB50A19D1F1007FB8C5 /* HTMLLinkElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A80E7AB00A19D1F1007FB8C5 /* HTMLLinkElement.idl */; };
+               A80E7AB60A19D1F1007FB8C5 /* HTMLHeadElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A80E7AB10A19D1F1007FB8C5 /* HTMLHeadElement.idl */; };
+               A80E7AB70A19D1F1007FB8C5 /* HTMLStyleElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A80E7AB20A19D1F1007FB8C5 /* HTMLStyleElement.idl */; };
+               A80E7B0C0A19D606007FB8C5 /* JSHTMLTitleElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E7B020A19D606007FB8C5 /* JSHTMLTitleElement.h */; };
+               A80E7B0D0A19D606007FB8C5 /* JSHTMLLinkElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E7B030A19D606007FB8C5 /* JSHTMLLinkElement.h */; };
+               A80E7B0E0A19D606007FB8C5 /* JSHTMLStyleElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E7B040A19D606007FB8C5 /* JSHTMLStyleElement.h */; };
+               A80E7B0F0A19D606007FB8C5 /* JSHTMLStyleElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E7B050A19D606007FB8C5 /* JSHTMLStyleElement.cpp */; };
+               A80E7B100A19D606007FB8C5 /* JSHTMLLinkElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E7B060A19D606007FB8C5 /* JSHTMLLinkElement.cpp */; };
+               A80E7B110A19D606007FB8C5 /* JSHTMLBaseElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E7B070A19D606007FB8C5 /* JSHTMLBaseElement.h */; };
+               A80E7B120A19D606007FB8C5 /* JSHTMLBaseElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E7B080A19D606007FB8C5 /* JSHTMLBaseElement.cpp */; };
+               A80E7B130A19D606007FB8C5 /* JSHTMLTitleElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E7B090A19D606007FB8C5 /* JSHTMLTitleElement.cpp */; };
+               A80E7B140A19D606007FB8C5 /* JSHTMLHeadElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E7B0A0A19D606007FB8C5 /* JSHTMLHeadElement.cpp */; };
+               A80E7B150A19D606007FB8C5 /* JSHTMLHeadElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E7B0B0A19D606007FB8C5 /* JSHTMLHeadElement.h */; };
                A81369CA097374F600D74463 /* HTMLIsIndexElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A81369AE097374F500D74463 /* HTMLIsIndexElement.h */; };
                A81369CB097374F600D74463 /* HTMLIsIndexElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A81369AF097374F500D74463 /* HTMLIsIndexElement.cpp */; };
                A81369CC097374F600D74463 /* HTMLInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A81369B0097374F500D74463 /* HTMLInputElement.h */; };
                A80E79FC0A19C307007FB8C5 /* HTMLMetaElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = HTMLMetaElement.idl; sourceTree = "<group>"; };
                A80E7A150A19C3D6007FB8C5 /* JSHTMLMetaElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLMetaElement.cpp; sourceTree = "<group>"; };
                A80E7A160A19C3D6007FB8C5 /* JSHTMLMetaElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLMetaElement.h; sourceTree = "<group>"; };
+               A80E7AAE0A19D1F1007FB8C5 /* HTMLTitleElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = HTMLTitleElement.idl; sourceTree = "<group>"; };
+               A80E7AAF0A19D1F1007FB8C5 /* HTMLBaseElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = HTMLBaseElement.idl; sourceTree = "<group>"; };
+               A80E7AB00A19D1F1007FB8C5 /* HTMLLinkElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = HTMLLinkElement.idl; sourceTree = "<group>"; };
+               A80E7AB10A19D1F1007FB8C5 /* HTMLHeadElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = HTMLHeadElement.idl; sourceTree = "<group>"; };
+               A80E7AB20A19D1F1007FB8C5 /* HTMLStyleElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = HTMLStyleElement.idl; sourceTree = "<group>"; };
+               A80E7B020A19D606007FB8C5 /* JSHTMLTitleElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLTitleElement.h; sourceTree = "<group>"; };
+               A80E7B030A19D606007FB8C5 /* JSHTMLLinkElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLLinkElement.h; sourceTree = "<group>"; };
+               A80E7B040A19D606007FB8C5 /* JSHTMLStyleElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLStyleElement.h; sourceTree = "<group>"; };
+               A80E7B050A19D606007FB8C5 /* JSHTMLStyleElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLStyleElement.cpp; sourceTree = "<group>"; };
+               A80E7B060A19D606007FB8C5 /* JSHTMLLinkElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLLinkElement.cpp; sourceTree = "<group>"; };
+               A80E7B070A19D606007FB8C5 /* JSHTMLBaseElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLBaseElement.h; sourceTree = "<group>"; };
+               A80E7B080A19D606007FB8C5 /* JSHTMLBaseElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLBaseElement.cpp; sourceTree = "<group>"; };
+               A80E7B090A19D606007FB8C5 /* JSHTMLTitleElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLTitleElement.cpp; sourceTree = "<group>"; };
+               A80E7B0A0A19D606007FB8C5 /* JSHTMLHeadElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLHeadElement.cpp; sourceTree = "<group>"; };
+               A80E7B0B0A19D606007FB8C5 /* JSHTMLHeadElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLHeadElement.h; sourceTree = "<group>"; };
                A810E39308A4160F00333D98 /* KCanvasTreeDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KCanvasTreeDebug.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A810E39408A4160F00333D98 /* KCanvasTreeDebug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KCanvasTreeDebug.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A8122C7E08D564B000844FA3 /* GetSVGDocument.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = GetSVGDocument.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                                65DF322E09D1DDBC000BE325 /* JSEntity.h */,
                                14E8378309F85D1C00B85AE4 /* JSEvent.cpp */,
                                14E8378D09F85D4F00B85AE4 /* JSEvent.h */,
+                               A80E7B080A19D606007FB8C5 /* JSHTMLBaseElement.cpp */,
+                               A80E7B070A19D606007FB8C5 /* JSHTMLBaseElement.h */,
                                938E665F09F09B81008A48EC /* JSHTMLCanvasElement.cpp */,
                                938E666109F09B87008A48EC /* JSHTMLCanvasElement.h */,
                                1A494E320A12358A00FDAFC1 /* JSHTMLDocument.cpp */,
                                1A494E330A12358B00FDAFC1 /* JSHTMLDocument.h */,
                                1A494BF80A122F4400FDAFC1 /* JSHTMLElement.cpp */,
                                1A494BF90A122F4400FDAFC1 /* JSHTMLElement.h */,
+                               A80E7B0A0A19D606007FB8C5 /* JSHTMLHeadElement.cpp */,
+                               A80E7B0B0A19D606007FB8C5 /* JSHTMLHeadElement.h */,
+                               A80E7B060A19D606007FB8C5 /* JSHTMLLinkElement.cpp */,
+                               A80E7B030A19D606007FB8C5 /* JSHTMLLinkElement.h */,
                                A80E7A150A19C3D6007FB8C5 /* JSHTMLMetaElement.cpp */,
                                A80E7A160A19C3D6007FB8C5 /* JSHTMLMetaElement.h */,
+                               A80E7B050A19D606007FB8C5 /* JSHTMLStyleElement.cpp */,
+                               A80E7B040A19D606007FB8C5 /* JSHTMLStyleElement.h */,
+                               A80E7B090A19D606007FB8C5 /* JSHTMLTitleElement.cpp */,
+                               A80E7B020A19D606007FB8C5 /* JSHTMLTitleElement.h */,
                                A86629CE09DA2B47009633A5 /* JSKeyboardEvent.cpp */,
                                A86629CD09DA2B47009633A5 /* JSKeyboardEvent.h */,
                                A86629CC09DA2B47009633A5 /* JSMouseEvent.cpp */,
                                A8EA7D260A19385500A8EF5F /* HTMLAreaElement.h */,
                                A871DC1E0A15205700B12A68 /* HTMLBaseElement.cpp */,
                                A871DC130A15205700B12A68 /* HTMLBaseElement.h */,
+                               A80E7AAF0A19D1F1007FB8C5 /* HTMLBaseElement.idl */,
                                A8DF3FCB097FA0FB0052981B /* HTMLBaseFontElement.cpp */,
                                A8DF3FCA097FA0FB0052981B /* HTMLBaseFontElement.h */,
                                A8EA7CA80A192B9C00A8EF5F /* HTMLBlockquoteElement.cpp */,
                                A81369B2097374F500D74463 /* HTMLGenericFormElement.h */,
                                A871DE190A152AC800B12A68 /* HTMLHeadElement.cpp */,
                                A871DE210A152AC800B12A68 /* HTMLHeadElement.h */,
+                               A80E7AB10A19D1F1007FB8C5 /* HTMLHeadElement.idl */,
                                A8EA7CA00A192B9C00A8EF5F /* HTMLHeadingElement.cpp */,
                                A8EA7CAA0A192B9C00A8EF5F /* HTMLHeadingElement.h */,
                                A8EA7CA50A192B9C00A8EF5F /* HTMLHRElement.cpp */,
                                A8EA79EA0A1916DF00A8EF5F /* HTMLLIElement.h */,
                                A871DC150A15205700B12A68 /* HTMLLinkElement.cpp */,
                                A871DC140A15205700B12A68 /* HTMLLinkElement.h */,
+                               A80E7AB00A19D1F1007FB8C5 /* HTMLLinkElement.idl */,
                                A8EA7D2A0A19385500A8EF5F /* HTMLMapElement.cpp */,
                                A8EA7D240A19385500A8EF5F /* HTMLMapElement.h */,
                                A8EA7C9E0A192B9C00A8EF5F /* HTMLMarqueeElement.cpp */,
                                A81369BC097374F500D74463 /* HTMLSelectElement.h */,
                                A871DC1A0A15205700B12A68 /* HTMLStyleElement.cpp */,
                                A871DC170A15205700B12A68 /* HTMLStyleElement.h */,
+                               A80E7AB20A19D1F1007FB8C5 /* HTMLStyleElement.idl */,
                                A871DB240A150BD600B12A68 /* HTMLTableCaptionElement.cpp */,
                                A871DB1D0A150BD600B12A68 /* HTMLTableCaptionElement.h */,
                                A871DB200A150BD600B12A68 /* HTMLTableCellElement.cpp */,
                                AB23A31109BBA7760067CC53 /* HTMLTextFieldInnerElement.h */,
                                A871DC1D0A15205700B12A68 /* HTMLTitleElement.cpp */,
                                A871DC1C0A15205700B12A68 /* HTMLTitleElement.h */,
+                               A80E7AAE0A19D1F1007FB8C5 /* HTMLTitleElement.idl */,
                                F523D25202DE4396018635CA /* HTMLTokenizer.cpp */,
                                F523D25302DE4396018635CA /* HTMLTokenizer.h */,
                                A8EA79E70A1916DF00A8EF5F /* HTMLUListElement.cpp */,
                                A80E73510A199C77007FB8C5 /* StyleList.h in Headers */,
                                A80E73520A199C77007FB8C5 /* CSSSelector.h in Headers */,
                                A80E7A180A19C3D6007FB8C5 /* JSHTMLMetaElement.h in Headers */,
+                               A80E7B0C0A19D606007FB8C5 /* JSHTMLTitleElement.h in Headers */,
+                               A80E7B0D0A19D606007FB8C5 /* JSHTMLLinkElement.h in Headers */,
+                               A80E7B0E0A19D606007FB8C5 /* JSHTMLStyleElement.h in Headers */,
+                               A80E7B110A19D606007FB8C5 /* JSHTMLBaseElement.h in Headers */,
+                               A80E7B150A19D606007FB8C5 /* JSHTMLHeadElement.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                1A494ED60A123F1A00FDAFC1 /* DocumentFragment.idl in Resources */,
                                A80E79970A19BD21007FB8C5 /* Rect.idl in Resources */,
                                A80E79FD0A19C307007FB8C5 /* HTMLMetaElement.idl in Resources */,
+                               A80E7AB30A19D1F1007FB8C5 /* HTMLTitleElement.idl in Resources */,
+                               A80E7AB40A19D1F1007FB8C5 /* HTMLBaseElement.idl in Resources */,
+                               A80E7AB50A19D1F1007FB8C5 /* HTMLLinkElement.idl in Resources */,
+                               A80E7AB60A19D1F1007FB8C5 /* HTMLHeadElement.idl in Resources */,
+                               A80E7AB70A19D1F1007FB8C5 /* HTMLStyleElement.idl in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                A80E734F0A199C77007FB8C5 /* CSSSelector.cpp in Sources */,
                                A80E73530A199C77007FB8C5 /* StyleBase.cpp in Sources */,
                                A80E7A170A19C3D6007FB8C5 /* JSHTMLMetaElement.cpp in Sources */,
+                               A80E7B0F0A19D606007FB8C5 /* JSHTMLStyleElement.cpp in Sources */,
+                               A80E7B100A19D606007FB8C5 /* JSHTMLLinkElement.cpp in Sources */,
+                               A80E7B120A19D606007FB8C5 /* JSHTMLBaseElement.cpp in Sources */,
+                               A80E7B130A19D606007FB8C5 /* JSHTMLTitleElement.cpp in Sources */,
+                               A80E7B140A19D606007FB8C5 /* JSHTMLHeadElement.cpp in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index b6139848275e6aa26954f11030e01ce79511a6f4..a57160409d5cffda9b06fd5a4746bf2980effde0 100644 (file)
 #include "config.h"
 #include "JSHTMLElementWrapperFactory.h"
 
+#include "HTMLBaseElement.h"
 #include "HTMLCanvasElement.h"
+#include "HTMLHeadElement.h"
+#include "HTMLLinkElement.h"
 #include "HTMLMetaElement.h"
+#include "HTMLStyleElement.h"
+#include "HTMLTitleElement.h"
 #include "HTMLNames.h"
+#include "JSHTMLBaseElement.h"
 #include "JSHTMLCanvasElement.h"
+#include "JSHTMLHeadElement.h"
+#include "JSHTMLLinkElement.h"
 #include "JSHTMLMetaElement.h"
-#include "JSHTMLElement.h"
+#include "JSHTMLStyleElement.h"
+#include "JSHTMLTitleElement.h"
 #include "kjs_html.h"
 
 using namespace KJS;
@@ -35,22 +44,52 @@ using namespace HTMLNames;
 
 typedef DOMNode* (*CreateHTMLElementWrapperFunction)(ExecState*, PassRefPtr<HTMLElement>);
 
+static DOMNode* createBaseWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+{
+    return new JSHTMLBaseElement(exec, static_cast<HTMLBaseElement*>(element.get()));
+}
+
 static DOMNode* createCanvasWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
 {
     return new JSHTMLCanvasElement(exec, static_cast<HTMLCanvasElement*>(element.get()));
 }
 
+static DOMNode* createHeadWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+{
+    return new JSHTMLHeadElement(exec, static_cast<HTMLHeadElement*>(element.get()));
+}
+
+static DOMNode* createLinkWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+{
+    return new JSHTMLLinkElement(exec, static_cast<HTMLLinkElement*>(element.get()));
+}
+
 static DOMNode* createMetaWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
 {
     return new JSHTMLMetaElement(exec, static_cast<HTMLMetaElement*>(element.get()));
 }
 
+static DOMNode* createStyleWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+{
+    return new JSHTMLStyleElement(exec, static_cast<HTMLStyleElement*>(element.get()));
+}
+
+static DOMNode* createTitleWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+{
+    return new JSHTMLTitleElement(exec, static_cast<HTMLTitleElement*>(element.get()));
+}
+
 DOMNode* createJSWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
 {
     static HashMap<WebCore::AtomicStringImpl*, CreateHTMLElementWrapperFunction> map;
     if (map.isEmpty()) {
+        map.set(baseTag.localName().impl(), createBaseWrapper);
         map.set(canvasTag.localName().impl(), createCanvasWrapper);
+        map.set(headTag.localName().impl(), createHeadWrapper);
+        map.set(linkTag.localName().impl(), createLinkWrapper);
         map.set(metaTag.localName().impl(), createMetaWrapper);
+        map.set(styleTag.localName().impl(), createStyleWrapper);
+        map.set(titleTag.localName().impl(), createTitleWrapper);
     }
     CreateHTMLElementWrapperFunction f = map.get(element->localName().impl());
     if (f)
index 15d16451cac30cc40b1e88c59b0bff1437f10880..9b51b63ede33fd008de60f1eb8e654befa1838e3 100644 (file)
@@ -463,7 +463,6 @@ const ClassInfo JSHTMLElement::a_info = { "HTMLAnchorElement", &JSHTMLElement::i
 const ClassInfo JSHTMLElement::applet_info = { "HTMLAppletElement", &JSHTMLElement::info, &HTMLAppletElementTable, 0 };
 const ClassInfo JSHTMLElement::area_info = { "HTMLAreaElement", &JSHTMLElement::info, &HTMLAreaElementTable, 0 };
 const ClassInfo JSHTMLElement::baseFont_info = { "HTMLBaseFontElement", &JSHTMLElement::info, &HTMLBaseFontElementTable, 0 };
-const ClassInfo JSHTMLElement::base_info = { "HTMLBaseElement", &JSHTMLElement::info, &HTMLBaseElementTable, 0 };
 const ClassInfo JSHTMLElement::blockQuote_info = { "HTMLBlockQuoteElement", &JSHTMLElement::info, &HTMLBlockQuoteElementTable, 0 };
 const ClassInfo JSHTMLElement::body_info = { "HTMLBodyElement", &JSHTMLElement::info, &HTMLBodyElementTable, 0 };
 const ClassInfo JSHTMLElement::br_info = { "HTMLBRElement", &JSHTMLElement::info, &HTMLBRElementTable, 0 };
@@ -479,7 +478,6 @@ const ClassInfo JSHTMLElement::font_info = { "HTMLFontElement", &JSHTMLElement::
 const ClassInfo JSHTMLElement::form_info = { "HTMLFormElement", &JSHTMLElement::info, &HTMLFormElementTable, 0 };
 const ClassInfo JSHTMLElement::frameSet_info = { "HTMLFrameSetElement", &JSHTMLElement::info, &HTMLFrameSetElementTable, 0 };
 const ClassInfo JSHTMLElement::frame_info = { "HTMLFrameElement", &JSHTMLElement::info, &HTMLFrameElementTable, 0 };
-const ClassInfo JSHTMLElement::head_info = { "HTMLHeadElement", &JSHTMLElement::info, &HTMLHeadElementTable, 0 };
 const ClassInfo JSHTMLElement::heading_info = { "HTMLHeadingElement", &JSHTMLElement::info, &HTMLHeadingElementTable, 0 };
 const ClassInfo JSHTMLElement::hr_info = { "HTMLHRElement", &JSHTMLElement::info, &HTMLHRElementTable, 0 };
 const ClassInfo JSHTMLElement::html_info = { "HTMLHtmlElement", &JSHTMLElement::info, &HTMLHtmlElementTable, 0 };
@@ -491,7 +489,6 @@ const ClassInfo JSHTMLElement::isIndex_info = { "HTMLIsIndexElement", &JSHTMLEle
 const ClassInfo JSHTMLElement::label_info = { "HTMLLabelElement", &JSHTMLElement::info, &HTMLLabelElementTable, 0 };
 const ClassInfo JSHTMLElement::legend_info = { "HTMLLegendElement", &JSHTMLElement::info, &HTMLLegendElementTable, 0 };
 const ClassInfo JSHTMLElement::li_info = { "HTMLLIElement", &JSHTMLElement::info, &HTMLLIElementTable, 0 };
-const ClassInfo JSHTMLElement::link_info = { "HTMLLinkElement", &JSHTMLElement::info, &HTMLLinkElementTable, 0 };
 const ClassInfo JSHTMLElement::map_info = { "HTMLMapElement", &JSHTMLElement::info, &HTMLMapElementTable, 0 };
 const ClassInfo JSHTMLElement::marquee_info = { "HTMLMarqueeElement", &JSHTMLElement::info, &HTMLMarqueeElementTable, 0 };
 const ClassInfo JSHTMLElement::menu_info = { "HTMLMenuElement", &JSHTMLElement::info, &HTMLMenuElementTable, 0 };
@@ -506,12 +503,10 @@ const ClassInfo JSHTMLElement::pre_info = { "HTMLPreElement", &JSHTMLElement::in
 const ClassInfo JSHTMLElement::q_info = { "HTMLQuoteElement", &JSHTMLElement::info, &HTMLQuoteElementTable, 0 };
 const ClassInfo JSHTMLElement::script_info = { "HTMLScriptElement", &JSHTMLElement::info, &HTMLScriptElementTable, 0 };
 const ClassInfo JSHTMLElement::select_info = { "HTMLSelectElement", &JSHTMLElement::info, &HTMLSelectElementTable, 0 };
-const ClassInfo JSHTMLElement::style_info = { "HTMLStyleElement", &JSHTMLElement::info, &HTMLStyleElementTable, 0 };
 const ClassInfo JSHTMLElement::table_info = { "HTMLTableElement", &JSHTMLElement::info, &HTMLTableElementTable, 0 };
 const ClassInfo JSHTMLElement::tablecell_info = { "HTMLTableCellElement", &JSHTMLElement::info, &HTMLTableCellElementTable, 0 };
 const ClassInfo JSHTMLElement::tablesection_info = { "HTMLTableSectionElement", &JSHTMLElement::info, &HTMLTableSectionElementTable, 0 };
 const ClassInfo JSHTMLElement::textArea_info = { "HTMLTextAreaElement", &JSHTMLElement::info, &HTMLTextAreaElementTable, 0 };
-const ClassInfo JSHTMLElement::title_info = { "HTMLTitleElement", &JSHTMLElement::info, &HTMLTitleElementTable, 0 };
 const ClassInfo JSHTMLElement::tr_info = { "HTMLTableRowElement", &JSHTMLElement::info, &HTMLTableRowElementTable, 0 };
 const ClassInfo JSHTMLElement::ul_info = { "HTMLUListElement", &JSHTMLElement::info, &HTMLUListElementTable, 0 };
 
@@ -521,7 +516,6 @@ const ClassInfo* JSHTMLElement::classInfo() const
     if (classInfoMap.isEmpty()) {
         classInfoMap.set(appletTag.localName().impl(), &applet_info);
         classInfoMap.set(areaTag.localName().impl(), &area_info);
-        classInfoMap.set(baseTag.localName().impl(), &base_info);
         classInfoMap.set(basefontTag.localName().impl(), &baseFont_info);
         classInfoMap.set(blockquoteTag.localName().impl(), &blockQuote_info);
         classInfoMap.set(bodyTag.localName().impl(), &body_info);
@@ -546,7 +540,6 @@ const ClassInfo* JSHTMLElement::classInfo() const
         classInfoMap.set(h4Tag.localName().impl(), &heading_info);
         classInfoMap.set(h5Tag.localName().impl(), &heading_info);
         classInfoMap.set(h6Tag.localName().impl(), &heading_info);
-        classInfoMap.set(headTag.localName().impl(), &head_info);
         classInfoMap.set(hrTag.localName().impl(), &hr_info);
         classInfoMap.set(htmlTag.localName().impl(), &html_info);
         classInfoMap.set(iframeTag.localName().impl(), &iFrame_info);
@@ -557,7 +550,6 @@ const ClassInfo* JSHTMLElement::classInfo() const
         classInfoMap.set(labelTag.localName().impl(), &label_info);
         classInfoMap.set(legendTag.localName().impl(), &legend_info);
         classInfoMap.set(liTag.localName().impl(), &li_info);
-        classInfoMap.set(linkTag.localName().impl(), &link_info);
         classInfoMap.set(listingTag.localName().impl(), &pre_info);
         classInfoMap.set(mapTag.localName().impl(), &map_info);
         classInfoMap.set(marqueeTag.localName().impl(), &marquee_info);
@@ -572,7 +564,6 @@ const ClassInfo* JSHTMLElement::classInfo() const
         classInfoMap.set(qTag.localName().impl(), &q_info);
         classInfoMap.set(scriptTag.localName().impl(), &script_info);
         classInfoMap.set(selectTag.localName().impl(), &select_info);
-        classInfoMap.set(styleTag.localName().impl(), &style_info);
         classInfoMap.set(tableTag.localName().impl(), &table_info);
         classInfoMap.set(tbodyTag.localName().impl(), &tablesection_info);
         classInfoMap.set(tdTag.localName().impl(), &tablecell_info);
@@ -580,7 +571,6 @@ const ClassInfo* JSHTMLElement::classInfo() const
         classInfoMap.set(tfootTag.localName().impl(), &tablesection_info);
         classInfoMap.set(thTag.localName().impl(), &tablecell_info);
         classInfoMap.set(theadTag.localName().impl(), &tablesection_info);
-        classInfoMap.set(titleTag.localName().impl(), &title_info);
         classInfoMap.set(trTag.localName().impl(), &tr_info);
         classInfoMap.set(ulTag.localName().impl(), &ul_info);
         classInfoMap.set(aTag.localName().impl(), &a_info);
@@ -594,12 +584,7 @@ const ClassInfo* JSHTMLElement::classInfo() const
 }
 
 const JSHTMLElement::Accessors JSHTMLElement::html_accessors = { &JSHTMLElement::htmlGetter, &JSHTMLElement::htmlSetter };
-const JSHTMLElement::Accessors JSHTMLElement::head_accessors = { &JSHTMLElement::headGetter, &JSHTMLElement::headSetter };
-const JSHTMLElement::Accessors JSHTMLElement::link_accessors = { &JSHTMLElement::linkGetter, &JSHTMLElement::linkSetter };
-const JSHTMLElement::Accessors JSHTMLElement::title_accessors = { &JSHTMLElement::titleGetter, &JSHTMLElement::titleSetter };
-const JSHTMLElement::Accessors JSHTMLElement::base_accessors = { &JSHTMLElement::baseGetter, &JSHTMLElement::baseSetter };
 const JSHTMLElement::Accessors JSHTMLElement::isIndex_accessors = { &JSHTMLElement::isIndexGetter, &JSHTMLElement::isIndexSetter };
-const JSHTMLElement::Accessors JSHTMLElement::style_accessors = { &JSHTMLElement::styleGetter, &JSHTMLElement::styleSetter };
 const JSHTMLElement::Accessors JSHTMLElement::body_accessors = { &JSHTMLElement::bodyGetter, &JSHTMLElement::bodySetter };
 const JSHTMLElement::Accessors JSHTMLElement::form_accessors = { &JSHTMLElement::formGetter, &JSHTMLElement::formSetter };
 const JSHTMLElement::Accessors JSHTMLElement::select_accessors = { &JSHTMLElement::selectGetter, &JSHTMLElement::selectSetter };
@@ -655,7 +640,6 @@ const JSHTMLElement::Accessors* JSHTMLElement::accessors() const
         accessorMap.add(aTag.localName().impl(), &a_accessors);
         accessorMap.add(appletTag.localName().impl(), &applet_accessors);
         accessorMap.add(areaTag.localName().impl(), &area_accessors);
-        accessorMap.add(baseTag.localName().impl(), &base_accessors);
         accessorMap.add(basefontTag.localName().impl(), &baseFont_accessors);
         accessorMap.add(blockquoteTag.localName().impl(), &blockQuote_accessors); 
         accessorMap.add(bodyTag.localName().impl(), &body_accessors);
@@ -680,7 +664,6 @@ const JSHTMLElement::Accessors* JSHTMLElement::accessors() const
         accessorMap.add(h4Tag.localName().impl(), &heading_accessors);
         accessorMap.add(h5Tag.localName().impl(), &heading_accessors);
         accessorMap.add(h6Tag.localName().impl(), &heading_accessors);
-        accessorMap.add(headTag.localName().impl(), &head_accessors);
         accessorMap.add(hrTag.localName().impl(), &hr_accessors); 
         accessorMap.add(htmlTag.localName().impl(), &html_accessors);
         accessorMap.add(iframeTag.localName().impl(), &iFrame_accessors);
@@ -691,7 +674,6 @@ const JSHTMLElement::Accessors* JSHTMLElement::accessors() const
         accessorMap.add(labelTag.localName().impl(), &label_accessors);
         accessorMap.add(legendTag.localName().impl(), &legend_accessors);
         accessorMap.add(liTag.localName().impl(), &li_accessors);
-        accessorMap.add(linkTag.localName().impl(), &link_accessors);
         accessorMap.set(listingTag.localName().impl(), &pre_accessors);
         accessorMap.add(mapTag.localName().impl(), &map_accessors);
         accessorMap.add(marqueeTag.localName().impl(), &marquee_accessors);
@@ -706,7 +688,6 @@ const JSHTMLElement::Accessors* JSHTMLElement::accessors() const
         accessorMap.add(qTag.localName().impl(), &q_accessors);
         accessorMap.add(scriptTag.localName().impl(), &script_accessors);
         accessorMap.add(selectTag.localName().impl(), &select_accessors);
-        accessorMap.add(styleTag.localName().impl(), &style_accessors);
         accessorMap.add(tableTag.localName().impl(), &table_accessors);
         accessorMap.add(tbodyTag.localName().impl(), &tablesection_accessors);
         accessorMap.add(tdTag.localName().impl(), &tablecell_accessors);
@@ -714,7 +695,6 @@ const JSHTMLElement::Accessors* JSHTMLElement::accessors() const
         accessorMap.add(thTag.localName().impl(), &tablecell_accessors);
         accessorMap.add(theadTag.localName().impl(), &tablesection_accessors);
         accessorMap.add(tfootTag.localName().impl(), &tablesection_accessors);
-        accessorMap.add(titleTag.localName().impl(), &title_accessors);
         accessorMap.add(trTag.localName().impl(), &tr_accessors);
         accessorMap.add(ulTag.localName().impl(), &ul_accessors);
     }
@@ -1392,60 +1372,6 @@ JSValue *JSHTMLElement::htmlGetter(ExecState* exec, int token) const
     return jsUndefined();
 }
 
-JSValue *JSHTMLElement::headGetter(ExecState* exec, int token) const
-{
-    HTMLHeadElement& head = *static_cast<HTMLHeadElement*>(impl());
-    if (token == HeadProfile)
-        return jsString(head.profile());
-    return jsUndefined();
-}
-
-JSValue *JSHTMLElement::linkGetter(ExecState* exec, int token) const
-{
-    HTMLLinkElement& link = *static_cast<HTMLLinkElement*>(impl());
-    switch (token) {
-        case LinkDisabled:
-            return jsBoolean(link.disabled());
-        case LinkCharset:
-            return jsString(link.charset());
-        case LinkHref:
-            return jsString(link.href());
-        case LinkHrefLang:
-            return jsString(link.hreflang());
-        case LinkMedia:           
-            return jsString(link.media());
-        case LinkRel:             
-            return jsString(link.rel());
-        case LinkRev:            
-            return jsString(link.rev());
-        case LinkTarget:          
-            return jsString(link.target());
-        case LinkType:            
-            return jsString(link.type());
-        case LinkSheet:           
-            return toJS(exec, link.sheet());
-    }
-    return jsUndefined();
-}
-
-JSValue *JSHTMLElement::titleGetter(ExecState* exec, int token) const
-{
-    HTMLTitleElement& title = *static_cast<HTMLTitleElement*>(impl());
-    if (token == TitleText)
-        return jsString(title.text());
-    return jsUndefined();
-}
-
-JSValue *JSHTMLElement::baseGetter(ExecState* exec, int token) const
-{
-    HTMLBaseElement& base = *static_cast<HTMLBaseElement*>(impl());
-    switch (token) {
-        case BaseHref:            return jsString(base.href());
-        case BaseTarget:          return jsString(base.target());
-    }
-    return jsUndefined();
-}
-
 JSValue *JSHTMLElement::isIndexGetter(ExecState* exec, int token) const
 {
     HTMLIsIndexElement& isindex = *static_cast<HTMLIsIndexElement*>(impl());
@@ -1456,18 +1382,6 @@ JSValue *JSHTMLElement::isIndexGetter(ExecState* exec, int token) const
     return jsUndefined();
 }
 
-JSValue *JSHTMLElement::styleGetter(ExecState* exec, int token) const
-{
-    HTMLStyleElement& style = *static_cast<HTMLStyleElement*>(impl());
-    switch (token) {
-        case StyleDisabled:        return jsBoolean(style.disabled());
-        case StyleMedia:           return jsString(style.media());
-        case StyleType:            return jsString(style.type());
-        case StyleSheet:           return toJS(exec, style.sheet());
-    }
-    return jsUndefined();
-}
-
 JSValue *JSHTMLElement::bodyGetter(ExecState* exec, int token) const
 {
     HTMLBodyElement& body = *static_cast<HTMLBodyElement*>(impl());
@@ -2496,45 +2410,6 @@ void JSHTMLElement::htmlSetter(ExecState *exec, int token, JSValue *value, const
         head.setProfile(str);
 }
 
-void JSHTMLElement::headSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str)
-{
-    HTMLHeadElement &head = *static_cast<HTMLHeadElement*>(impl());
-    if (token == HeadProfile) 
-        head.setProfile(str);
-}
-
-void JSHTMLElement::linkSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str)
-{
-    HTMLLinkElement &link = *static_cast<HTMLLinkElement*>(impl());
-    switch (token) {
-        case LinkDisabled:        { link.setDisabled(value->toBoolean(exec)); return; }
-        case LinkCharset:         { link.setCharset(str); return; }
-        case LinkHref:            { link.setHref(str); return; }
-        case LinkHrefLang:        { link.setHreflang(str); return; }
-        case LinkMedia:           { link.setMedia(str); return; }
-        case LinkRel:             { link.setRel(str); return; }
-        case LinkRev:             { link.setRev(str); return; }
-        case LinkTarget:          { link.setTarget(str); return; }
-        case LinkType:            { link.setType(str); return; }
-    }
-}
-
-void JSHTMLElement::titleSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str)
-{
-     HTMLTitleElement& title = *static_cast<HTMLTitleElement*>(impl());
-     if (token == TitleText)
-        title.setText(str);
-}
-
-void JSHTMLElement::baseSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str)
-{
-    HTMLBaseElement& base = *static_cast<HTMLBaseElement*>(impl());
-    switch (token) {
-        case BaseHref:            { base.setHref(str); return; }
-        case BaseTarget:          { base.setTarget(str); return; }
-    }
-}
-
 void JSHTMLElement::isIndexSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str)
 {
     HTMLIsIndexElement& isindex = *static_cast<HTMLIsIndexElement*>(impl());
@@ -2542,16 +2417,6 @@ void JSHTMLElement::isIndexSetter(ExecState *exec, int token, JSValue *value, co
         isindex.setPrompt(str);
 }
 
-void JSHTMLElement::styleSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str)
-{
-    HTMLStyleElement& style = *static_cast<HTMLStyleElement*>(impl());
-    switch (token) {
-        case StyleDisabled:        { style.setDisabled(value->toBoolean(exec)); return; }
-        case StyleMedia:           { style.setMedia(str); return; }
-        case StyleType:            { style.setType(str); return; }
-    }
-}
-
 void JSHTMLElement::bodySetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str)
 {
     HTMLBodyElement& body = *static_cast<HTMLBodyElement*>(impl());
index 35e7151dd4eb14244d965ac209e62eeeecb3c1ab..6a7793561a09e88a82a7d6cdcb9abf5f32856648 100644 (file)
@@ -78,8 +78,7 @@ namespace KJS {
     virtual const ClassInfo* classInfo() const;
     static const ClassInfo info;
 
-    static const ClassInfo html_info, head_info, link_info, title_info,
-      base_info, isIndex_info, style_info, body_info, form_info,
+    static const ClassInfo html_info, isIndex_info, body_info, form_info,
       select_info, optGroup_info, option_info, input_info, textArea_info,
       button_info, label_info, fieldSet_info, legend_info, ul_info, ol_info,
       dl_info, dir_info, menu_info, li_info, div_info, p_info, heading_info,
@@ -94,8 +93,7 @@ namespace KJS {
     typedef void (JSHTMLElement::*SetterFunction)(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
     struct Accessors { GetterFunction m_getter; SetterFunction m_setter; };
     const Accessors* accessors() const;
-    static const Accessors html_accessors, head_accessors, link_accessors, title_accessors,
-      base_accessors, isIndex_accessors, style_accessors, body_accessors, form_accessors,
+    static const Accessors html_accessors, isIndex_accessors, body_accessors, form_accessors,
       select_accessors, optGroup_accessors, option_accessors, input_accessors, textArea_accessors,
       button_accessors, label_accessors, fieldSet_accessors, legend_accessors, ul_accessors, ol_accessors,
       dl_accessors, dir_accessors, menu_accessors, li_accessors, div_accessors, p_accessors, heading_accessors,
@@ -107,18 +105,8 @@ namespace KJS {
 
     JSValue *htmlGetter(ExecState* exec, int token) const;
     void  htmlSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
-    JSValue *headGetter(ExecState* exec, int token) const;
-    void  headSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
-    JSValue *linkGetter(ExecState* exec, int token) const;
-    void  linkSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
-    JSValue *titleGetter(ExecState* exec, int token) const;
-    void  titleSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
-    JSValue *baseGetter(ExecState* exec, int token) const;
-    void  baseSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
     JSValue *isIndexGetter(ExecState* exec, int token) const;
     void  isIndexSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
-    JSValue *styleGetter(ExecState* exec, int token) const;
-    void  styleSetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
     JSValue *bodyGetter(ExecState* exec, int token) const;
     void  bodySetter(ExecState *exec, int token, JSValue *value, const WebCore::String& str);
     JSValue *formGetter(ExecState* exec, int token) const;
diff --git a/WebCore/html/HTMLBaseElement.idl b/WebCore/html/HTMLBaseElement.idl
new file mode 100644 (file)
index 0000000..7e7da19
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+module html {
+
+    interface [LegacyParent=KJS::JSHTMLElement] HTMLBaseElement : HTMLElement {
+        attribute  DOMString            href;
+        attribute  DOMString            target;
+    };
+
+}
diff --git a/WebCore/html/HTMLHeadElement.idl b/WebCore/html/HTMLHeadElement.idl
new file mode 100644 (file)
index 0000000..c0e5982
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+module html {
+
+    interface [LegacyParent=KJS::JSHTMLElement] HTMLHeadElement : HTMLElement {
+        attribute  DOMString            profile;
+    };
+
+}
diff --git a/WebCore/html/HTMLLinkElement.idl b/WebCore/html/HTMLLinkElement.idl
new file mode 100644 (file)
index 0000000..ebb26bf
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+module html {
+
+    interface [LegacyParent=KJS::JSHTMLElement] HTMLLinkElement : HTMLElement {
+        attribute  boolean              disabled;
+        attribute  DOMString            charset;
+        attribute  DOMString            href;
+        attribute  DOMString            hreflang;
+        attribute  DOMString            media;
+        attribute  DOMString            rel;
+        attribute  DOMString            rev;
+        attribute  DOMString            target;
+        attribute  DOMString            type;
+        
+        // DOM Level 2 Style
+        readonly attribute StyleSheet   sheet;
+    };
+
+}
diff --git a/WebCore/html/HTMLStyleElement.idl b/WebCore/html/HTMLStyleElement.idl
new file mode 100644 (file)
index 0000000..e00a932
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+module html {
+
+    interface [LegacyParent=KJS::JSHTMLElement] HTMLStyleElement : HTMLElement {
+        attribute  boolean              disabled;
+        attribute  DOMString            media;
+        attribute  DOMString            type;
+        
+        // DOM Level 2 Style
+        readonly attribute StyleSheet   sheet;
+    };
+
+}
diff --git a/WebCore/html/HTMLTitleElement.idl b/WebCore/html/HTMLTitleElement.idl
new file mode 100644 (file)
index 0000000..a76b170
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+module html {
+
+    interface [LegacyParent=KJS::JSHTMLElement] HTMLTitleElement : HTMLElement {
+        attribute  DOMString            text;
+    };
+
+}