WebCore:
authorweinig <weinig@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 3 Sep 2006 02:10:16 +0000 (02:10 +0000)
committerweinig <weinig@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 3 Sep 2006 02:10:16 +0000 (02:10 +0000)
        Reviewed by Tim H.

        - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
          Auto-generate the Objective-C DOM CSS bindings

          Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
          DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
          DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
          DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.

          Splits DOMRGBColor into its own files.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCSS.h:
        * bindings/objc/DOMCSS.mm:
        (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
        (+[DOMCSSPrimitiveValue _valueWith:]):
        * bindings/objc/DOMCSSInternal.h:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMRGBColor.h: Added.
        * bindings/objc/DOMRGBColor.mm: Added.
        (getWrapperForRGB):
        (setWrapperForRGB):
        (removeWrapperForRGB):
        (-[DOMRGBColor dealloc]):
        (-[DOMRGBColor finalize]):
        (-[DOMRGBColor red]):
        (-[DOMRGBColor green]):
        (-[DOMRGBColor blue]):
        (-[DOMRGBColor alpha]):
        (-[DOMRGBColor color]):
        (-[DOMRGBColor _initWithRGB:WebCore::]):
        (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/CSSCharsetRule.idl: Added.
        * css/CSSFontFaceRule.idl: Added.
        * css/CSSImportRule.idl: Added.
        * css/CSSMediaRule.idl: Added.
        * css/CSSPageRule.idl: Added.
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl: Added.
        * css/CSSStyleSheet.idl: Added.
        * css/CSSUnknownRule.idl: Added.
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/RGBColor.idl: Added.
        * css/Rect.idl:
        * css/RectImpl.h:

WebKit:

        Reviewed by Tim H.

        - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
          Auto-generate the Objective-C DOM CSS bindings

        * MigrateHeaders.make:

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

28 files changed:
WebCore/ChangeLog
WebCore/DerivedSources.make
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/objc/DOMCSS.h
WebCore/bindings/objc/DOMCSS.mm
WebCore/bindings/objc/DOMCSSInternal.h
WebCore/bindings/objc/DOMExtensions.h
WebCore/bindings/objc/DOMInternal.h
WebCore/bindings/objc/DOMRGBColor.h [new file with mode: 0644]
WebCore/bindings/objc/DOMRGBColor.mm [new file with mode: 0644]
WebCore/bindings/scripts/CodeGeneratorObjC.pm
WebCore/css/CSSCharsetRule.idl [new file with mode: 0644]
WebCore/css/CSSFontFaceRule.idl [new file with mode: 0644]
WebCore/css/CSSImportRule.idl [new file with mode: 0644]
WebCore/css/CSSMediaRule.idl [new file with mode: 0644]
WebCore/css/CSSPageRule.idl [new file with mode: 0644]
WebCore/css/CSSRule.idl
WebCore/css/CSSStyleDeclaration.idl
WebCore/css/CSSStyleRule.idl [new file with mode: 0644]
WebCore/css/CSSStyleSheet.idl [new file with mode: 0644]
WebCore/css/CSSUnknownRule.idl [new file with mode: 0644]
WebCore/css/CSSValue.idl
WebCore/css/MediaList.idl
WebCore/css/RGBColor.idl [new file with mode: 0644]
WebCore/css/Rect.idl
WebCore/css/RectImpl.h
WebKit/ChangeLog
WebKit/MigrateHeaders.make

index b072f060ee6ba37acb7a71e8aeb99875f7f8a539..1c8b38b9a518902fb51f29b9e679dcd0764a9f66 100644 (file)
@@ -1,3 +1,57 @@
+2006-09-02  Sam Weinig  <sam.weinig@gmail.com>
+
+        Reviewed by Tim H.
+
+        - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
+          Auto-generate the Objective-C DOM CSS bindings
+
+          Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
+          DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
+          DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
+          DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.
+
+          Splits DOMRGBColor into its own files.
+
+        * DerivedSources.make:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/objc/DOMCSS.h:
+        * bindings/objc/DOMCSS.mm:
+        (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
+        (+[DOMCSSPrimitiveValue _valueWith:]):
+        * bindings/objc/DOMCSSInternal.h:
+        * bindings/objc/DOMExtensions.h:
+        * bindings/objc/DOMInternal.h:
+        * bindings/objc/DOMRGBColor.h: Added.
+        * bindings/objc/DOMRGBColor.mm: Added.
+        (getWrapperForRGB):
+        (setWrapperForRGB):
+        (removeWrapperForRGB):
+        (-[DOMRGBColor dealloc]):
+        (-[DOMRGBColor finalize]):
+        (-[DOMRGBColor red]):
+        (-[DOMRGBColor green]):
+        (-[DOMRGBColor blue]):
+        (-[DOMRGBColor alpha]):
+        (-[DOMRGBColor color]):
+        (-[DOMRGBColor _initWithRGB:WebCore::]):
+        (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
+        * bindings/scripts/CodeGeneratorObjC.pm:
+        * css/CSSCharsetRule.idl: Added.
+        * css/CSSFontFaceRule.idl: Added.
+        * css/CSSImportRule.idl: Added.
+        * css/CSSMediaRule.idl: Added.
+        * css/CSSPageRule.idl: Added.
+        * css/CSSRule.idl:
+        * css/CSSStyleDeclaration.idl:
+        * css/CSSStyleRule.idl: Added.
+        * css/CSSStyleSheet.idl: Added.
+        * css/CSSUnknownRule.idl: Added.
+        * css/CSSValue.idl:
+        * css/MediaList.idl:
+        * css/RGBColor.idl: Added.
+        * css/Rect.idl:
+        * css/RectImpl.h:
+
 2006-09-02  Graham Dennis  <graham.dennis@gmail.com>
 
         Reviewed by Justin.
index a7f9c803f99af3a03ef3161f3f5d7ae521ff6ed4..5c8c3cc92c4e56ca29071f17d3e67d5f6ffafb7f 100644 (file)
@@ -46,6 +46,22 @@ all : \
     CharsetData.cpp \
     ColorData.c \
     DocTypeStrings.cpp \
+    DOMCSSCharsetRule.h \
+    DOMCSSFontFaceRule.h \
+    DOMCSSImportRule.h \
+    DOMCSSMediaRule.h \
+    DOMCSSPageRule.h \
+    DOMCSSRule.h \
+    DOMCSSRuleList.h \
+    DOMCSSStyleDeclaration.h \
+    DOMCSSStyleRule.h \
+    DOMCSSUnknownRule.h \
+    DOMCSSValue.h \
+    DOMCSSPrimitiveValue.h \
+    DOMCSSValueList.h \
+    DOMCSSStyleSheet.h \
+    DOMCounter.h \
+    DOMRect.h \
     DOMAttr.h \
     DOMCDATASection.h \
     DOMCharacterData.h \
index 325d8b2392a159c84c51c87943427aec4b362dae..364b911f0637117c5742f27a3843112711ad9195 100644 (file)
                85031B4F0A44EFC700F992E0 /* UIEventWithKeyState.h in Headers */ = {isa = PBXBuildFile; fileRef = 85031B390A44EFC700F992E0 /* UIEventWithKeyState.h */; };
                85031B500A44EFC700F992E0 /* WheelEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 85031B3A0A44EFC700F992E0 /* WheelEvent.cpp */; };
                85031B510A44EFC700F992E0 /* WheelEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 85031B3B0A44EFC700F992E0 /* WheelEvent.h */; };
+               85032DD70AA8C9BE007D3B7D /* DOMCSSCharsetRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DC30AA8C9BE007D3B7D /* DOMCSSCharsetRule.h */; };
+               85032DD80AA8C9BE007D3B7D /* DOMCSSCharsetRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DC40AA8C9BE007D3B7D /* DOMCSSCharsetRule.mm */; };
+               85032DD90AA8C9BE007D3B7D /* DOMCSSFontFaceRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DC50AA8C9BE007D3B7D /* DOMCSSFontFaceRule.h */; };
+               85032DDA0AA8C9BE007D3B7D /* DOMCSSFontFaceRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DC60AA8C9BE007D3B7D /* DOMCSSFontFaceRule.mm */; };
+               85032DDB0AA8C9BE007D3B7D /* DOMCSSImportRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DC70AA8C9BE007D3B7D /* DOMCSSImportRule.h */; };
+               85032DDC0AA8C9BE007D3B7D /* DOMCSSImportRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DC80AA8C9BE007D3B7D /* DOMCSSImportRule.mm */; };
+               85032DDD0AA8C9BE007D3B7D /* DOMCSSMediaRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DC90AA8C9BE007D3B7D /* DOMCSSMediaRule.h */; };
+               85032DDE0AA8C9BE007D3B7D /* DOMCSSMediaRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DCA0AA8C9BE007D3B7D /* DOMCSSMediaRule.mm */; };
+               85032DDF0AA8C9BE007D3B7D /* DOMCSSPageRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DCB0AA8C9BE007D3B7D /* DOMCSSPageRule.h */; };
+               85032DE00AA8C9BE007D3B7D /* DOMCSSPageRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DCC0AA8C9BE007D3B7D /* DOMCSSPageRule.mm */; };
+               85032DE10AA8C9BE007D3B7D /* DOMCSSRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DCD0AA8C9BE007D3B7D /* DOMCSSRule.h */; };
+               85032DE20AA8C9BE007D3B7D /* DOMCSSRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DCE0AA8C9BE007D3B7D /* DOMCSSRule.mm */; };
+               85032DE30AA8C9BE007D3B7D /* DOMCSSRuleList.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DCF0AA8C9BE007D3B7D /* DOMCSSRuleList.h */; };
+               85032DE40AA8C9BE007D3B7D /* DOMCSSRuleList.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DD00AA8C9BE007D3B7D /* DOMCSSRuleList.mm */; };
+               85032DE50AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DD10AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.h */; };
+               85032DE60AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DD20AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.mm */; };
+               85032DE70AA8C9BE007D3B7D /* DOMCSSStyleRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DD30AA8C9BE007D3B7D /* DOMCSSStyleRule.h */; };
+               85032DE80AA8C9BE007D3B7D /* DOMCSSStyleRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DD40AA8C9BE007D3B7D /* DOMCSSStyleRule.mm */; };
+               85032DE90AA8C9BE007D3B7D /* DOMCSSUnknownRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 85032DD50AA8C9BE007D3B7D /* DOMCSSUnknownRule.h */; };
+               85032DEA0AA8C9BE007D3B7D /* DOMCSSUnknownRule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85032DD60AA8C9BE007D3B7D /* DOMCSSUnknownRule.mm */; };
                85089CC80A98C22600A275AA /* Comment.idl in Resources */ = {isa = PBXBuildFile; fileRef = 85089CC70A98C22600A275AA /* Comment.idl */; };
                85089CCA0A98C2AB00A275AA /* CDATASection.idl in Resources */ = {isa = PBXBuildFile; fileRef = 85089CC90A98C2AB00A275AA /* CDATASection.idl */; };
                85089CCC0A98C33A00A275AA /* EntityReference.idl in Resources */ = {isa = PBXBuildFile; fileRef = 85089CCB0A98C33A00A275AA /* EntityReference.idl */; };
                8575DF850AA6130E00F5DBB5 /* DOMHTMLHtmlElement.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85992EB40AA5069500AC0785 /* DOMHTMLHtmlElement.h */; };
                8575DF860AA6130E00F5DBB5 /* DOMHTMLLinkElement.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85992EB60AA5069500AC0785 /* DOMHTMLLinkElement.h */; };
                8575DF870AA6130E00F5DBB5 /* DOMHTMLTitleElement.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85992EB80AA5069500AC0785 /* DOMHTMLTitleElement.h */; };
+               858C381C0AA8E29600B187A4 /* DOMCSSValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 858C381A0AA8E29600B187A4 /* DOMCSSValue.h */; };
+               858C381D0AA8E29600B187A4 /* DOMCSSValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858C381B0AA8E29600B187A4 /* DOMCSSValue.mm */; };
+               858C382C0AA8E40500B187A4 /* DOMCSSPrimitiveValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 858C382A0AA8E40500B187A4 /* DOMCSSPrimitiveValue.h */; };
+               858C382D0AA8E40500B187A4 /* DOMCSSPrimitiveValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858C382B0AA8E40500B187A4 /* DOMCSSPrimitiveValue.mm */; };
+               858C383C0AA8ED8200B187A4 /* DOMCSSValueList.h in Headers */ = {isa = PBXBuildFile; fileRef = 858C383A0AA8ED8200B187A4 /* DOMCSSValueList.h */; };
+               858C383D0AA8ED8200B187A4 /* DOMCSSValueList.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858C383B0AA8ED8200B187A4 /* DOMCSSValueList.mm */; };
+               858C38A50AA8F20400B187A4 /* DOMCounter.h in Headers */ = {isa = PBXBuildFile; fileRef = 858C38A10AA8F20400B187A4 /* DOMCounter.h */; };
+               858C38A60AA8F20400B187A4 /* DOMCounter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858C38A20AA8F20400B187A4 /* DOMCounter.mm */; };
+               858C38A70AA8F20400B187A4 /* DOMRect.h in Headers */ = {isa = PBXBuildFile; fileRef = 858C38A30AA8F20400B187A4 /* DOMRect.h */; };
+               858C38A80AA8F20400B187A4 /* DOMRect.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858C38A40AA8F20400B187A4 /* DOMRect.mm */; };
+               858C39280AA8FF9D00B187A4 /* DOMCSSStyleSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = 858C39260AA8FF9D00B187A4 /* DOMCSSStyleSheet.h */; };
+               858C39290AA8FF9D00B187A4 /* DOMCSSStyleSheet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858C39270AA8FF9D00B187A4 /* DOMCSSStyleSheet.mm */; };
+               858C395F0AA902A900B187A4 /* DOMRGBColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 858C395D0AA902A900B187A4 /* DOMRGBColor.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               858C39600AA902A900B187A4 /* DOMRGBColor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858C395E0AA902A900B187A4 /* DOMRGBColor.mm */; };
+               858C39B80AA905EF00B187A4 /* DOMCSSValue.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 858C381A0AA8E29600B187A4 /* DOMCSSValue.h */; };
+               858C39B90AA905EF00B187A4 /* DOMCSSPrimitiveValue.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 858C382A0AA8E40500B187A4 /* DOMCSSPrimitiveValue.h */; };
+               858C39BA0AA905EF00B187A4 /* DOMCSSValueList.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 858C383A0AA8ED8200B187A4 /* DOMCSSValueList.h */; };
+               858C39BB0AA905EF00B187A4 /* DOMCounter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 858C38A10AA8F20400B187A4 /* DOMCounter.h */; };
+               858C39BC0AA905EF00B187A4 /* DOMRect.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 858C38A30AA8F20400B187A4 /* DOMRect.h */; };
+               858C39BD0AA905EF00B187A4 /* DOMCSSStyleSheet.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 858C39260AA8FF9D00B187A4 /* DOMCSSStyleSheet.h */; };
                85992EBA0AA5069500AC0785 /* DOMHTMLHeadElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 85992EB20AA5069500AC0785 /* DOMHTMLHeadElement.h */; settings = {ATTRIBUTES = (); }; };
                85992EBB0AA5069500AC0785 /* DOMHTMLHeadElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85992EB30AA5069500AC0785 /* DOMHTMLHeadElement.mm */; };
                85992EBC0AA5069500AC0785 /* DOMHTMLHtmlElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 85992EB40AA5069500AC0785 /* DOMHTMLHtmlElement.h */; settings = {ATTRIBUTES = (); }; };
                85F32B430AA6401A00FF3184 /* DOMHTMLTextAreaElement.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85F32AEA0AA63B8700FF3184 /* DOMHTMLTextAreaElement.h */; };
                85F56A7A0A98CE3700ADB60A /* DOMProcessingInstruction.h in Headers */ = {isa = PBXBuildFile; fileRef = 85F56A780A98CE3700ADB60A /* DOMProcessingInstruction.h */; settings = {ATTRIBUTES = (); }; };
                85F56A7B0A98CE3700ADB60A /* DOMProcessingInstruction.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85F56A790A98CE3700ADB60A /* DOMProcessingInstruction.mm */; };
+               85F74E010AA8DF8C000DC284 /* DOMCSSCharsetRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DC30AA8C9BE007D3B7D /* DOMCSSCharsetRule.h */; };
+               85F74E020AA8DF8C000DC284 /* DOMCSSFontFaceRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DC50AA8C9BE007D3B7D /* DOMCSSFontFaceRule.h */; };
+               85F74E030AA8DF8C000DC284 /* DOMCSSImportRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DC70AA8C9BE007D3B7D /* DOMCSSImportRule.h */; };
+               85F74E040AA8DF8C000DC284 /* DOMCSSMediaRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DC90AA8C9BE007D3B7D /* DOMCSSMediaRule.h */; };
+               85F74E050AA8DF8C000DC284 /* DOMCSSPageRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DCB0AA8C9BE007D3B7D /* DOMCSSPageRule.h */; };
+               85F74E060AA8DF8C000DC284 /* DOMCSSRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DCD0AA8C9BE007D3B7D /* DOMCSSRule.h */; };
+               85F74E070AA8DF8C000DC284 /* DOMCSSRuleList.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DCF0AA8C9BE007D3B7D /* DOMCSSRuleList.h */; };
+               85F74E080AA8DF8C000DC284 /* DOMCSSStyleDeclaration.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DD10AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.h */; };
+               85F74E090AA8DF8C000DC284 /* DOMCSSStyleRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DD30AA8C9BE007D3B7D /* DOMCSSStyleRule.h */; };
+               85F74E0A0AA8DF8C000DC284 /* DOMCSSUnknownRule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85032DD50AA8C9BE007D3B7D /* DOMCSSUnknownRule.h */; };
                93032CC809AEC34300F82A18 /* PathCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93032CC709AEC34300F82A18 /* PathCG.cpp */; };
                93032CCA09AEC34B00F82A18 /* Path.h in Headers */ = {isa = PBXBuildFile; fileRef = 93032CC909AEC34B00F82A18 /* Path.h */; };
                9305B24D098F1B6B00C28855 /* Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9305B24C098F1B6B00C28855 /* Timer.h */; };
                                1C11CCC50AA6093700DADB20 /* DOMCharacterData.h in CopyFiles */,
                                1C11CCC60AA6093700DADB20 /* DOMDocumentFragment.h in CopyFiles */,
                                1C11CCC70AA6093700DADB20 /* DOMCDATASection.h in CopyFiles */,
+                               858C39B80AA905EF00B187A4 /* DOMCSSValue.h in CopyFiles */,
+                               858C39B90AA905EF00B187A4 /* DOMCSSPrimitiveValue.h in CopyFiles */,
+                               858C39BA0AA905EF00B187A4 /* DOMCSSValueList.h in CopyFiles */,
+                               858C39BB0AA905EF00B187A4 /* DOMCounter.h in CopyFiles */,
+                               858C39BC0AA905EF00B187A4 /* DOMRect.h in CopyFiles */,
+                               858C39BD0AA905EF00B187A4 /* DOMCSSStyleSheet.h in CopyFiles */,
+                               85F74E010AA8DF8C000DC284 /* DOMCSSCharsetRule.h in CopyFiles */,
+                               85F74E020AA8DF8C000DC284 /* DOMCSSFontFaceRule.h in CopyFiles */,
+                               85F74E030AA8DF8C000DC284 /* DOMCSSImportRule.h in CopyFiles */,
+                               85F74E040AA8DF8C000DC284 /* DOMCSSMediaRule.h in CopyFiles */,
+                               85F74E050AA8DF8C000DC284 /* DOMCSSPageRule.h in CopyFiles */,
+                               85F74E060AA8DF8C000DC284 /* DOMCSSRule.h in CopyFiles */,
+                               85F74E070AA8DF8C000DC284 /* DOMCSSRuleList.h in CopyFiles */,
+                               85F74E080AA8DF8C000DC284 /* DOMCSSStyleDeclaration.h in CopyFiles */,
+                               85F74E090AA8DF8C000DC284 /* DOMCSSStyleRule.h in CopyFiles */,
+                               85F74E0A0AA8DF8C000DC284 /* DOMCSSUnknownRule.h in CopyFiles */,
                                1C11CCC80AA6093700DADB20 /* DOMHTMLElement.h in CopyFiles */,
                                1C11CCBA0AA6093700DADB20 /* DOMHTMLCollection.h in CopyFiles */,
                                1C11CCBB0AA6093700DADB20 /* DOMHTMLFormElement.h in CopyFiles */,
                85031B390A44EFC700F992E0 /* UIEventWithKeyState.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UIEventWithKeyState.h; sourceTree = "<group>"; };
                85031B3A0A44EFC700F992E0 /* WheelEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WheelEvent.cpp; sourceTree = "<group>"; };
                85031B3B0A44EFC700F992E0 /* WheelEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WheelEvent.h; sourceTree = "<group>"; };
+               85032DC30AA8C9BE007D3B7D /* DOMCSSCharsetRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSCharsetRule.h; sourceTree = "<group>"; };
+               85032DC40AA8C9BE007D3B7D /* DOMCSSCharsetRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSCharsetRule.mm; sourceTree = "<group>"; };
+               85032DC50AA8C9BE007D3B7D /* DOMCSSFontFaceRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSFontFaceRule.h; sourceTree = "<group>"; };
+               85032DC60AA8C9BE007D3B7D /* DOMCSSFontFaceRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSFontFaceRule.mm; sourceTree = "<group>"; };
+               85032DC70AA8C9BE007D3B7D /* DOMCSSImportRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSImportRule.h; sourceTree = "<group>"; };
+               85032DC80AA8C9BE007D3B7D /* DOMCSSImportRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSImportRule.mm; sourceTree = "<group>"; };
+               85032DC90AA8C9BE007D3B7D /* DOMCSSMediaRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSMediaRule.h; sourceTree = "<group>"; };
+               85032DCA0AA8C9BE007D3B7D /* DOMCSSMediaRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSMediaRule.mm; sourceTree = "<group>"; };
+               85032DCB0AA8C9BE007D3B7D /* DOMCSSPageRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSPageRule.h; sourceTree = "<group>"; };
+               85032DCC0AA8C9BE007D3B7D /* DOMCSSPageRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSPageRule.mm; sourceTree = "<group>"; };
+               85032DCD0AA8C9BE007D3B7D /* DOMCSSRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSRule.h; sourceTree = "<group>"; };
+               85032DCE0AA8C9BE007D3B7D /* DOMCSSRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSRule.mm; sourceTree = "<group>"; };
+               85032DCF0AA8C9BE007D3B7D /* DOMCSSRuleList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSRuleList.h; sourceTree = "<group>"; };
+               85032DD00AA8C9BE007D3B7D /* DOMCSSRuleList.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSRuleList.mm; sourceTree = "<group>"; };
+               85032DD10AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSStyleDeclaration.h; sourceTree = "<group>"; };
+               85032DD20AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSStyleDeclaration.mm; sourceTree = "<group>"; };
+               85032DD30AA8C9BE007D3B7D /* DOMCSSStyleRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSStyleRule.h; sourceTree = "<group>"; };
+               85032DD40AA8C9BE007D3B7D /* DOMCSSStyleRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSStyleRule.mm; sourceTree = "<group>"; };
+               85032DD50AA8C9BE007D3B7D /* DOMCSSUnknownRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSUnknownRule.h; sourceTree = "<group>"; };
+               85032DD60AA8C9BE007D3B7D /* DOMCSSUnknownRule.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSUnknownRule.mm; sourceTree = "<group>"; };
                85089CC70A98C22600A275AA /* Comment.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Comment.idl; sourceTree = "<group>"; };
                85089CC90A98C2AB00A275AA /* CDATASection.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CDATASection.idl; sourceTree = "<group>"; };
                85089CCB0A98C33A00A275AA /* EntityReference.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = EntityReference.idl; sourceTree = "<group>"; };
                856C89FB0A90F068005C687B /* DOMNode.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMNode.mm; sourceTree = "<group>"; };
                856C8AE20A912649005C687B /* DOMObject.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMObject.h; sourceTree = "<group>"; };
                856C8AE30A912649005C687B /* DOMObject.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMObject.mm; sourceTree = "<group>"; };
+               858C381A0AA8E29600B187A4 /* DOMCSSValue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSValue.h; sourceTree = "<group>"; };
+               858C381B0AA8E29600B187A4 /* DOMCSSValue.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSValue.mm; sourceTree = "<group>"; };
+               858C382A0AA8E40500B187A4 /* DOMCSSPrimitiveValue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSPrimitiveValue.h; sourceTree = "<group>"; };
+               858C382B0AA8E40500B187A4 /* DOMCSSPrimitiveValue.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSPrimitiveValue.mm; sourceTree = "<group>"; };
+               858C383A0AA8ED8200B187A4 /* DOMCSSValueList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSValueList.h; sourceTree = "<group>"; };
+               858C383B0AA8ED8200B187A4 /* DOMCSSValueList.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSValueList.mm; sourceTree = "<group>"; };
+               858C38A10AA8F20400B187A4 /* DOMCounter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCounter.h; sourceTree = "<group>"; };
+               858C38A20AA8F20400B187A4 /* DOMCounter.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCounter.mm; sourceTree = "<group>"; };
+               858C38A30AA8F20400B187A4 /* DOMRect.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMRect.h; sourceTree = "<group>"; };
+               858C38A40AA8F20400B187A4 /* DOMRect.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMRect.mm; sourceTree = "<group>"; };
+               858C38EF0AA8FDD100B187A4 /* RGBColor.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = RGBColor.idl; sourceTree = "<group>"; };
+               858C39100AA8FF0000B187A4 /* CSSStyleSheet.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSStyleSheet.idl; sourceTree = "<group>"; };
+               858C39260AA8FF9D00B187A4 /* DOMCSSStyleSheet.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMCSSStyleSheet.h; sourceTree = "<group>"; };
+               858C39270AA8FF9D00B187A4 /* DOMCSSStyleSheet.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCSSStyleSheet.mm; sourceTree = "<group>"; };
+               858C395D0AA902A900B187A4 /* DOMRGBColor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMRGBColor.h; sourceTree = "<group>"; };
+               858C395E0AA902A900B187A4 /* DOMRGBColor.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMRGBColor.mm; sourceTree = "<group>"; };
                85992EB20AA5069500AC0785 /* DOMHTMLHeadElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMHTMLHeadElement.h; sourceTree = "<group>"; };
                85992EB30AA5069500AC0785 /* DOMHTMLHeadElement.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMHTMLHeadElement.mm; sourceTree = "<group>"; };
                85992EB40AA5069500AC0785 /* DOMHTMLHtmlElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMHTMLHtmlElement.h; sourceTree = "<group>"; };
                85BA4D080AA688680088052D /* DOMHTMLOListElement.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMHTMLOListElement.mm; sourceTree = "<group>"; };
                85BA4D090AA688680088052D /* DOMHTMLUListElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMHTMLUListElement.h; sourceTree = "<group>"; };
                85BA4D0A0AA688680088052D /* DOMHTMLUListElement.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMHTMLUListElement.mm; sourceTree = "<group>"; };
+               85C56C5B0AA87AFD00D95755 /* MediaList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = MediaList.idl; sourceTree = "<group>"; };
+               85C56CA10AA89AB400D95755 /* CSSStyleRule.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSStyleRule.idl; sourceTree = "<group>"; };
+               85C56CA20AA89C1000D95755 /* CSSMediaRule.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSMediaRule.idl; sourceTree = "<group>"; };
+               85C56CA30AA89CA400D95755 /* CSSFontFaceRule.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSFontFaceRule.idl; sourceTree = "<group>"; };
+               85C56CA60AA89D5F00D95755 /* CSSPageRule.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSPageRule.idl; sourceTree = "<group>"; };
+               85C56CA90AA89E6600D95755 /* CSSImportRule.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSImportRule.idl; sourceTree = "<group>"; };
+               85C56CAC0AA89F8E00D95755 /* CSSCharsetRule.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSCharsetRule.idl; sourceTree = "<group>"; };
+               85C56CAD0AA89FE000D95755 /* CSSUnknownRule.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSUnknownRule.idl; sourceTree = "<group>"; };
                85CA96B60A9621A600690CCF /* DOMEntity.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMEntity.h; sourceTree = "<group>"; };
                85CA96B70A9621A600690CCF /* DOMEntity.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMEntity.mm; sourceTree = "<group>"; };
                85CA96E80A9624E900690CCF /* DOMNotation.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMNotation.h; sourceTree = "<group>"; };
                        name = Core;
                        sourceTree = "<group>";
                };
-               85992FC20AA5DD4600AC0785 /* HTML */ = {
+               858C39510AA9024C00B187A4 /* CSS */ = {
                        isa = PBXGroup;
                        children = (
-                               852B9E830AA79C47002ADA6E /* DOMHTMLAppletElement.h */,
-                               852B9E840AA79C47002ADA6E /* DOMHTMLAppletElement.mm */,
-                               85992FBE0AA5DD4000AC0785 /* DOMHTMLDocument.h */,
-                               85992FBF0AA5DD4000AC0785 /* DOMHTMLDocument.mm */,
-                               852B9E850AA79C47002ADA6E /* DOMHTMLOptionElement.h */,
-                               852B9E860AA79C47002ADA6E /* DOMHTMLOptionElement.mm */,
+                               858C395D0AA902A900B187A4 /* DOMRGBColor.h */,
+                               858C395E0AA902A900B187A4 /* DOMRGBColor.mm */,
                        );
-                       name = HTML;
+                       name = CSS;
                        sourceTree = "<group>";
                };
-               85B232260A8BF3A100FDF47B /* Derived Sources */ = {
+               85967D9F0AA8BB59005FEDEE /* Core */ = {
                        isa = PBXGroup;
                        children = (
                                85D389B00A991A7F00282145 /* DOMAttr.h */,
                                85F56A790A98CE3700ADB60A /* DOMProcessingInstruction.mm */,
                                85ACA99A0A9B575900671E90 /* DOMText.h */,
                                85ACA99B0A9B575900671E90 /* DOMText.mm */,
+                       );
+                       name = Core;
+                       sourceTree = "<group>";
+               };
+               85967DCA0AA8BF0F005FEDEE /* CSS */ = {
+                       isa = PBXGroup;
+                       children = (
+                               85032DC30AA8C9BE007D3B7D /* DOMCSSCharsetRule.h */,
+                               85032DC40AA8C9BE007D3B7D /* DOMCSSCharsetRule.mm */,
+                               85032DC50AA8C9BE007D3B7D /* DOMCSSFontFaceRule.h */,
+                               85032DC60AA8C9BE007D3B7D /* DOMCSSFontFaceRule.mm */,
+                               85032DC70AA8C9BE007D3B7D /* DOMCSSImportRule.h */,
+                               85032DC80AA8C9BE007D3B7D /* DOMCSSImportRule.mm */,
+                               85032DC90AA8C9BE007D3B7D /* DOMCSSMediaRule.h */,
+                               85032DCA0AA8C9BE007D3B7D /* DOMCSSMediaRule.mm */,
+                               85032DCB0AA8C9BE007D3B7D /* DOMCSSPageRule.h */,
+                               85032DCC0AA8C9BE007D3B7D /* DOMCSSPageRule.mm */,
+                               858C382A0AA8E40500B187A4 /* DOMCSSPrimitiveValue.h */,
+                               858C382B0AA8E40500B187A4 /* DOMCSSPrimitiveValue.mm */,
+                               85032DCD0AA8C9BE007D3B7D /* DOMCSSRule.h */,
+                               85032DCE0AA8C9BE007D3B7D /* DOMCSSRule.mm */,
+                               85032DCF0AA8C9BE007D3B7D /* DOMCSSRuleList.h */,
+                               85032DD00AA8C9BE007D3B7D /* DOMCSSRuleList.mm */,
+                               85032DD10AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.h */,
+                               85032DD20AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.mm */,
+                               85032DD30AA8C9BE007D3B7D /* DOMCSSStyleRule.h */,
+                               85032DD40AA8C9BE007D3B7D /* DOMCSSStyleRule.mm */,
+                               858C39260AA8FF9D00B187A4 /* DOMCSSStyleSheet.h */,
+                               858C39270AA8FF9D00B187A4 /* DOMCSSStyleSheet.mm */,
+                               858C381A0AA8E29600B187A4 /* DOMCSSValue.h */,
+                               858C381B0AA8E29600B187A4 /* DOMCSSValue.mm */,
+                               858C383A0AA8ED8200B187A4 /* DOMCSSValueList.h */,
+                               858C383B0AA8ED8200B187A4 /* DOMCSSValueList.mm */,
+                               85032DD50AA8C9BE007D3B7D /* DOMCSSUnknownRule.h */,
+                               85032DD60AA8C9BE007D3B7D /* DOMCSSUnknownRule.mm */,
+                               858C38A10AA8F20400B187A4 /* DOMCounter.h */,
+                               858C38A20AA8F20400B187A4 /* DOMCounter.mm */,
+                               858C38A30AA8F20400B187A4 /* DOMRect.h */,
+                               858C38A40AA8F20400B187A4 /* DOMRect.mm */,
+                       );
+                       name = CSS;
+                       sourceTree = "<group>";
+               };
+               85992FC20AA5DD4600AC0785 /* HTML */ = {
+                       isa = PBXGroup;
+                       children = (
+                               852B9E830AA79C47002ADA6E /* DOMHTMLAppletElement.h */,
+                               852B9E840AA79C47002ADA6E /* DOMHTMLAppletElement.mm */,
+                               85992FBE0AA5DD4000AC0785 /* DOMHTMLDocument.h */,
+                               85992FBF0AA5DD4000AC0785 /* DOMHTMLDocument.mm */,
+                               852B9E850AA79C47002ADA6E /* DOMHTMLOptionElement.h */,
+                               852B9E860AA79C47002ADA6E /* DOMHTMLOptionElement.mm */,
+                       );
+                       name = HTML;
+                       sourceTree = "<group>";
+               };
+               85B232260A8BF3A100FDF47B /* Derived Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               85967D9F0AA8BB59005FEDEE /* Core */,
+                               85967DCA0AA8BF0F005FEDEE /* CSS */,
+                               85C56D030AA8BAA700D95755 /* HTML */,
+                       );
+                       name = "Derived Sources";
+                       path = DerivedSources/WebCore;
+                       sourceTree = BUILT_PRODUCTS_DIR;
+               };
+               85C56D030AA8BAA700D95755 /* HTML */ = {
+                       isa = PBXGroup;
+                       children = (
                                85DF81210AA7787200486AD7 /* DOMHTMLAnchorElement.h */,
                                85DF81220AA7787200486AD7 /* DOMHTMLAnchorElement.mm */,
                                85ECBEDD0AA7626800544F0B /* DOMHTMLAreaElement.h */,
                                85BA4D090AA688680088052D /* DOMHTMLUListElement.h */,
                                85BA4D0A0AA688680088052D /* DOMHTMLUListElement.mm */,
                        );
-                       name = "Derived Sources";
-                       path = DerivedSources/WebCore;
-                       sourceTree = BUILT_PRODUCTS_DIR;
+                       name = HTML;
+                       sourceTree = "<group>";
                };
                93032CCC09AEC36200F82A18 /* cg */ = {
                        isa = PBXGroup;
                        children = (
                                85B232260A8BF3A100FDF47B /* Derived Sources */,
                                854F12AC0A8EBC18000940B5 /* Core */,
+                               858C39510AA9024C00B187A4 /* CSS */,
                                85992FC20AA5DD4600AC0785 /* HTML */,
                                859B7FB90A8D288800A5F1EA /* CodeGeneratorObjC.pm */,
                                BC1A3797097C715F0019F3D8 /* DOM.h */,
                                A80E6CBB0A1989CA007FB8C5 /* CSSBorderImageValue.cpp */,
                                A80E6CDD0A1989CA007FB8C5 /* CSSBorderImageValue.h */,
                                A80E6CCF0A1989CA007FB8C5 /* CSSCharsetRule.h */,
+                               85C56CAC0AA89F8E00D95755 /* CSSCharsetRule.idl */,
                                BCEA477C097CAAC80094C9E4 /* CSSComputedStyleDeclaration.cpp */,
                                BCEA477D097CAAC80094C9E4 /* CSSComputedStyleDeclaration.h */,
                                A80E6CBD0A1989CA007FB8C5 /* CSSFontFaceRule.cpp */,
                                A80E6CD30A1989CA007FB8C5 /* CSSFontFaceRule.h */,
+                               85C56CA30AA89CA400D95755 /* CSSFontFaceRule.idl */,
                                BCEA477E097CAAC80094C9E4 /* CSSGrammar.y */,
                                BCEA4785097CAAC80094C9E4 /* csshelper.cpp */,
                                BCEA4786097CAAC80094C9E4 /* csshelper.h */,
                                A80E6CD00A1989CA007FB8C5 /* CSSImageValue.h */,
                                A80E6CC10A1989CA007FB8C5 /* CSSImportRule.cpp */,
                                A80E6CCC0A1989CA007FB8C5 /* CSSImportRule.h */,
+                               85C56CA90AA89E6600D95755 /* CSSImportRule.idl */,
                                A80E6CC60A1989CA007FB8C5 /* CSSInheritedValue.cpp */,
                                A80E6CD70A1989CA007FB8C5 /* CSSInheritedValue.h */,
                                A80E6CD80A1989CA007FB8C5 /* CSSInitialValue.cpp */,
                                A80E6CDE0A1989CA007FB8C5 /* CSSInitialValue.h */,
                                A80E6CD20A1989CA007FB8C5 /* CSSMediaRule.cpp */,
                                A80E6CD90A1989CA007FB8C5 /* CSSMediaRule.h */,
+                               85C56CA20AA89C1000D95755 /* CSSMediaRule.idl */,
                                A80E6DF90A199067007FB8C5 /* CSSMutableStyleDeclaration.cpp */,
                                A80E6DFA0A199067007FB8C5 /* CSSMutableStyleDeclaration.h */,
                                A80E73470A199C77007FB8C5 /* CSSNamespace.h */,
                                A80E6CCB0A1989CA007FB8C5 /* CSSPageRule.cpp */,
                                A80E6CD60A1989CA007FB8C5 /* CSSPageRule.h */,
+                               85C56CA60AA89D5F00D95755 /* CSSPageRule.idl */,
                                BCEA4787097CAAC80094C9E4 /* cssparser.cpp */,
                                BCEA4788097CAAC80094C9E4 /* cssparser.h */,
                                A80E6CDB0A1989CA007FB8C5 /* CSSPrimitiveValue.cpp */,
                                142011AE0A003117008303F9 /* CSSStyleDeclaration.idl */,
                                A80E6CC50A1989CA007FB8C5 /* CSSStyleRule.cpp */,
                                A80E6CE20A1989CA007FB8C5 /* CSSStyleRule.h */,
+                               85C56CA10AA89AB400D95755 /* CSSStyleRule.idl */,
                                BCEA478A097CAAC80094C9E4 /* cssstyleselector.cpp */,
                                BCEA478B097CAAC80094C9E4 /* cssstyleselector.h */,
                                A8EA80000A19516E00A8EF5F /* CSSStyleSheet.cpp */,
                                A8EA7FFF0A19516E00A8EF5F /* CSSStyleSheet.h */,
+                               858C39100AA8FF0000B187A4 /* CSSStyleSheet.idl */,
                                A80E6CCE0A1989CA007FB8C5 /* CSSUnknownRule.h */,
+                               85C56CAD0AA89FE000D95755 /* CSSUnknownRule.idl */,
                                A80E6CC40A1989CA007FB8C5 /* CSSValue.h */,
                                14CF787109F587CA00EB3665 /* CSSValue.idl */,
                                BCEA478C097CAAC80094C9E4 /* CSSValueKeywords.in */,
                                4E1959200A39DABA00220FE5 /* MediaFeatureNames.h */,
                                A8EA80010A19516E00A8EF5F /* MediaList.cpp */,
                                A8EA80060A19516E00A8EF5F /* MediaList.h */,
+                               85C56C5B0AA87AFD00D95755 /* MediaList.idl */,
                                4E1959230A39DACC00220FE5 /* MediaQuery.cpp */,
                                4E1959240A39DACC00220FE5 /* MediaQuery.h */,
                                4E1959250A39DACC00220FE5 /* MediaQueryEvaluator.cpp */,
                                4E1959280A39DACC00220FE5 /* MediaQueryExp.h */,
                                A80E6CD10A1989CA007FB8C5 /* Pair.h */,
                                93CA4C9F09DF93FA00DF8677 /* quirks.css */,
+                               858C38EF0AA8FDD100B187A4 /* RGBColor.idl */,
                                A80E79960A19BD21007FB8C5 /* Rect.idl */,
                                A80E6CE00A1989CA007FB8C5 /* RectImpl.h */,
                                A80E6CCA0A1989CA007FB8C5 /* ShadowValue.cpp */,
                                852B9E870AA79C47002ADA6E /* DOMHTMLAppletElement.h in Headers */,
                                852B9E890AA79C47002ADA6E /* DOMHTMLOptionElement.h in Headers */,
                                1A98955D0AA78149005EF5EF /* CString.h in Headers */,
+                               85032DD70AA8C9BE007D3B7D /* DOMCSSCharsetRule.h in Headers */,
+                               85032DD90AA8C9BE007D3B7D /* DOMCSSFontFaceRule.h in Headers */,
+                               85032DDB0AA8C9BE007D3B7D /* DOMCSSImportRule.h in Headers */,
+                               85032DDD0AA8C9BE007D3B7D /* DOMCSSMediaRule.h in Headers */,
+                               85032DDF0AA8C9BE007D3B7D /* DOMCSSPageRule.h in Headers */,
+                               85032DE10AA8C9BE007D3B7D /* DOMCSSRule.h in Headers */,
+                               85032DE30AA8C9BE007D3B7D /* DOMCSSRuleList.h in Headers */,
+                               85032DE50AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.h in Headers */,
+                               85032DE70AA8C9BE007D3B7D /* DOMCSSStyleRule.h in Headers */,
+                               85032DE90AA8C9BE007D3B7D /* DOMCSSUnknownRule.h in Headers */,
+                               858C381C0AA8E29600B187A4 /* DOMCSSValue.h in Headers */,
+                               858C382C0AA8E40500B187A4 /* DOMCSSPrimitiveValue.h in Headers */,
+                               858C383C0AA8ED8200B187A4 /* DOMCSSValueList.h in Headers */,
+                               858C38A50AA8F20400B187A4 /* DOMCounter.h in Headers */,
+                               858C38A70AA8F20400B187A4 /* DOMRect.h in Headers */,
+                               858C39280AA8FF9D00B187A4 /* DOMCSSStyleSheet.h in Headers */,
+                               858C395F0AA902A900B187A4 /* DOMRGBColor.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                852B9E8A0AA79C47002ADA6E /* DOMHTMLOptionElement.mm in Sources */,
                                1A98955C0AA78149005EF5EF /* CString.cpp in Sources */,
                                1A98956B0AA78F80005EF5EF /* KURLCFNet.cpp in Sources */,
+                               85032DD80AA8C9BE007D3B7D /* DOMCSSCharsetRule.mm in Sources */,
+                               85032DDA0AA8C9BE007D3B7D /* DOMCSSFontFaceRule.mm in Sources */,
+                               85032DDC0AA8C9BE007D3B7D /* DOMCSSImportRule.mm in Sources */,
+                               85032DDE0AA8C9BE007D3B7D /* DOMCSSMediaRule.mm in Sources */,
+                               85032DE00AA8C9BE007D3B7D /* DOMCSSPageRule.mm in Sources */,
+                               85032DE20AA8C9BE007D3B7D /* DOMCSSRule.mm in Sources */,
+                               85032DE40AA8C9BE007D3B7D /* DOMCSSRuleList.mm in Sources */,
+                               85032DE60AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.mm in Sources */,
+                               85032DE80AA8C9BE007D3B7D /* DOMCSSStyleRule.mm in Sources */,
+                               85032DEA0AA8C9BE007D3B7D /* DOMCSSUnknownRule.mm in Sources */,
+                               858C381D0AA8E29600B187A4 /* DOMCSSValue.mm in Sources */,
+                               858C382D0AA8E40500B187A4 /* DOMCSSPrimitiveValue.mm in Sources */,
+                               858C383D0AA8ED8200B187A4 /* DOMCSSValueList.mm in Sources */,
+                               858C38A60AA8F20400B187A4 /* DOMCounter.mm in Sources */,
+                               858C38A80AA8F20400B187A4 /* DOMRect.mm in Sources */,
+                               858C39290AA8FF9D00B187A4 /* DOMCSSStyleSheet.mm in Sources */,
+                               858C39600AA902A900B187A4 /* DOMRGBColor.mm in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index ced4eb9ae0778afe586f4cf17cca138066e2db85..c6dcbc9976d6ac94f83eb751463469d4bda04063 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 #import <WebCore/DOMObject.h>
 #import <WebCore/DOMStylesheets.h>
 
-@class DOMCounter;
-@class DOMCSSRule;
-@class DOMCSSStyleDeclaration;
-@class DOMCSSStyleSheet;
-@class DOMCSSValue;
-@class DOMRect;
-@class DOMRGBColor;
+#import <WebCore/DOMCSSCharsetRule.h>
+#import <WebCore/DOMCSSFontFaceRule.h>
+#import <WebCore/DOMCSSImportRule.h>
+#import <WebCore/DOMCSSMediaRule.h>
+#import <WebCore/DOMCSSPageRule.h>
+#import <WebCore/DOMCSSPrimitiveValue.h>
+#import <WebCore/DOMCSSRule.h>
+#import <WebCore/DOMCSSRuleList.h>
+#import <WebCore/DOMCSSStyleDeclaration.h>
+#import <WebCore/DOMCSSStyleRule.h>
+#import <WebCore/DOMCSSStyleSheet.h>
+#import <WebCore/DOMCSSUnknownRule.h>
+#import <WebCore/DOMCSSValue.h>
+#import <WebCore/DOMCSSValueList.h>
+#import <WebCore/DOMCounter.h>
+#import <WebCore/DOMRGBColor.h>
+#import <WebCore/DOMRect.h>
 
 @interface DOMDocument (DOMViewCSS)
 - (DOMCSSStyleDeclaration *)getComputedStyle:(DOMElement *)elt :(NSString *)pseudoElt;
 @end
 
-@interface DOMCSSRuleList : DOMObject
-- (unsigned)length;
-- (DOMCSSRule *)item:(unsigned)index;
-@end
-
-enum {
-    // DOMCSSRule RuleType
-    DOM_UNKNOWN_RULE               = 0,
-    DOM_STYLE_RULE                 = 1,
-    DOM_CHARSET_RULE               = 2,
-    DOM_IMPORT_RULE                = 3,
-    DOM_MEDIA_RULE                 = 4,
-    DOM_FONT_FACE_RULE             = 5,
-    DOM_PAGE_RULE                  = 6
-};
-
-@interface DOMCSSRule : DOMObject
-- (unsigned short)type;
-- (NSString *)cssText;
-- (void)setCssText:(NSString *)cssText;
-- (DOMCSSStyleSheet *)parentStyleSheet;
-- (DOMCSSRule *)parentRule;
-@end
-
-@interface DOMCSSStyleRule : DOMCSSRule
-- (NSString *)selectorText;
-- (void)setSelectorText:(NSString *)selectorText;
-- (DOMCSSStyleDeclaration *)style;
-@end
-
-@interface DOMCSSMediaRule : DOMCSSRule
-- (DOMMediaList *)media;
-- (DOMCSSRuleList *)cssRules;
-- (unsigned)insertRule:(NSString *)rule :(unsigned)index;
-- (void)deleteRule:(unsigned)index;
-@end
-
-@interface DOMCSSFontFaceRule : DOMCSSRule
-- (DOMCSSStyleDeclaration *)style;
-@end
-
-@interface DOMCSSPageRule : DOMCSSRule
-- (NSString *)selectorText;
-- (void)setSelectorText:(NSString *)selectorText;
-- (DOMCSSStyleDeclaration *)style;
-@end
-
-@interface DOMCSSImportRule : DOMCSSRule
-- (DOMMediaList *)media;
-- (NSString *)href;
-- (DOMCSSStyleSheet *)styleSheet;
-@end
-
-@interface DOMCSSCharsetRule : DOMCSSRule
-- (NSString *)encoding;
-@end
-
-@interface DOMCSSUnknownRule : DOMCSSRule
-@end
-
-@interface DOMCSSStyleDeclaration : DOMObject
-- (NSString *)cssText;
-- (void)setCssText:(NSString *)cssText;
-- (NSString *)getPropertyValue:(NSString *)propertyName;
-- (DOMCSSValue *)getPropertyCSSValue:(NSString *)propertyName;
-- (NSString *)removeProperty:(NSString *)propertyName;
-- (NSString *)getPropertyPriority:(NSString *)propertyName;
-- (void)setProperty:(NSString *)propertyName :(NSString *)value :(NSString *)priority;
-- (unsigned)length;
-- (NSString *)item:(unsigned)index;
-- (DOMCSSRule *)parentRule;
-@end
-
-enum {
-    // DOMCSSValue UnitTypes
-    DOM_CSS_INHERIT = 0,
-    DOM_CSS_PRIMITIVE_VALUE = 1,
-    DOM_CSS_VALUE_LIST = 2,
-    DOM_CSS_CUSTOM = 3
-};
-
-@interface DOMCSSValue : DOMObject
-- (NSString *)cssText;
-- (void)setCssText:(NSString *)cssText;
-- (unsigned short)cssValueType;
-@end
-
-enum {
-    // DOMCSSPrimitiveValue UnitTypes
-    DOM_CSS_UNKNOWN                    = 0,
-    DOM_CSS_NUMBER                     = 1,
-    DOM_CSS_PERCENTAGE                 = 2,
-    DOM_CSS_EMS                        = 3,
-    DOM_CSS_EXS                        = 4,
-    DOM_CSS_PX                         = 5,
-    DOM_CSS_CM                         = 6,
-    DOM_CSS_MM                         = 7,
-    DOM_CSS_IN                         = 8,
-    DOM_CSS_PT                         = 9,
-    DOM_CSS_PC                         = 10,
-    DOM_CSS_DEG                        = 11,
-    DOM_CSS_RAD                        = 12,
-    DOM_CSS_GRAD                       = 13,
-    DOM_CSS_MS                         = 14,
-    DOM_CSS_S                          = 15,
-    DOM_CSS_HZ                         = 16,
-    DOM_CSS_KHZ                        = 17,
-    DOM_CSS_DIMENSION                  = 18,
-    DOM_CSS_STRING                     = 19,
-    DOM_CSS_URI                        = 20,
-    DOM_CSS_IDENT                      = 21,
-    DOM_CSS_ATTR                       = 22,
-    DOM_CSS_COUNTER                    = 23,
-    DOM_CSS_RECT                       = 24,
-    DOM_CSS_RGBCOLOR                   = 25
-};
-
-@interface DOMCSSPrimitiveValue : DOMCSSValue
-- (unsigned short)primitiveType;
-- (void)setFloatValue:(unsigned short)unitType :(float)floatValue;
-- (float)getFloatValue:(unsigned short)unitType;
-- (void)setStringValue:(unsigned short)stringType :(NSString *)stringValue;
-- (NSString *)getStringValue;
-- (DOMCounter *)getCounterValue;
-- (DOMRect *)getRectValue;
-- (DOMRGBColor *)getRGBColorValue;
-@end
-
-@interface DOMCSSValueList : DOMCSSValue
-- (unsigned)length;
-- (DOMCSSValue *)item:(unsigned)index;
-@end
-
-@interface DOMRGBColor : DOMObject
-- (DOMCSSPrimitiveValue *)red;
-- (DOMCSSPrimitiveValue *)green;
-- (DOMCSSPrimitiveValue *)blue;
-@end
-
-@interface DOMRect : DOMObject
-- (DOMCSSPrimitiveValue *)top;
-- (DOMCSSPrimitiveValue *)right;
-- (DOMCSSPrimitiveValue *)bottom;
-- (DOMCSSPrimitiveValue *)left;
-@end
-
-@interface DOMCounter : DOMObject
-- (NSString *)identifier;
-- (NSString *)listStyle;
-- (NSString *)separator;
-@end
-
 @interface DOMCSSStyleDeclaration (DOMCSS2Properties)
 - (NSString *)azimuth;
 - (void)setAzimuth:(NSString *)azimuth;
@@ -440,10 +299,3 @@ enum {
 - (NSString *)zIndex;
 - (void)setZIndex:(NSString *)zIndex;
 @end
-
-@interface DOMCSSStyleSheet : DOMStyleSheet
-- (DOMCSSRule *)ownerRule;
-- (DOMCSSRuleList *)cssRules;
-- (unsigned)insertRule:(NSString *)rule :(unsigned)index;
-- (void)deleteRule:(unsigned)index;
-@end
index 729ea86524d51e70d4ccc5db4fa5dcf2753b711e..82f137344666e9e456a0f0b5fb4439534dde5604 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2004-2006 Apple Computer, Inc.  All rights reserved.
  * Copyright (C) 2006 James G. Speth (speth@end.com)
+ * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -223,45 +224,11 @@ typedef DOMWindow AbstractView;
 //------------------------------------------------------------------------------------------
 // DOMCSSStyleSheet
 
-@implementation DOMCSSStyleSheet
-
-- (CSSStyleSheet *)_CSSStyleSheet
-{
-    return DOM_cast<CSSStyleSheet*>(_internal);
-}
-
-- (DOMCSSRule *)ownerRule
-{
-    return [DOMCSSRule _ruleWith:[self _CSSStyleSheet]->ownerRule()];
-}
-
-- (DOMCSSRuleList *)cssRules
-{
-    return [DOMCSSRuleList _ruleListWith:[self _CSSStyleSheet]->cssRules()];
-}
-
-- (unsigned)insertRule:(NSString *)rule :(unsigned)index
-{
-    ExceptionCode ec;
-    unsigned result = [self _CSSStyleSheet]->insertRule(rule, index, ec);
-    raiseOnDOMError(ec);
-    return result;
-}
-
-- (void)deleteRule:(unsigned)index
-{
-    ExceptionCode ec;
-    [self _CSSStyleSheet]->deleteRule(index, ec);
-    raiseOnDOMError(ec);
-}
-
-@end
-
 @implementation DOMCSSStyleSheet (WebCoreInternal)
 
 + (DOMCSSStyleSheet *)_CSSStyleSheetWith:(CSSStyleSheet *)impl
 {
-    return (DOMCSSStyleSheet *)[DOMStyleSheet _DOMStyleSheetWith:impl];
+    return static_cast<DOMCSSStyleSheet*>([DOMStyleSheet _DOMStyleSheetWith:impl]);
 }
 
 @end
@@ -359,41 +326,6 @@ typedef DOMWindow AbstractView;
 //------------------------------------------------------------------------------------------
 // DOMCSSRuleList
 
-@implementation DOMCSSRuleList
-
-- (void)dealloc
-{
-    if (_internal) {
-        DOM_cast<CSSRuleList*>(_internal)->deref();
-    }
-    [super dealloc];
-}
-
-- (void)finalize
-{
-    if (_internal) {
-        DOM_cast<CSSRuleList*>(_internal)->deref();
-    }
-    [super finalize];
-}
-
-- (CSSRuleList *)_ruleList
-{
-    return DOM_cast<CSSRuleList*>(_internal);
-}
-
-- (unsigned)length
-{
-    return [self _ruleList]->length();
-}
-
-- (DOMCSSRule *)item:(unsigned)index
-{
-    return [DOMCSSRule _ruleWith:[self _ruleList]->item(index)];
-}
-
-@end
-
 @implementation DOMCSSRuleList (WebCoreInternal)
 
 - (id)_initWithRuleList:(CSSRuleList *)impl
@@ -420,59 +352,10 @@ typedef DOMWindow AbstractView;
 
 @end
 
+
 //------------------------------------------------------------------------------------------
 // DOMCSSRule
 
-@implementation DOMCSSRule
-
-- (void)dealloc
-{
-    if (_internal) {
-        DOM_cast<CSSRule*>(_internal)->deref();
-    }
-    [super dealloc];
-}
-
-- (void)finalize
-{
-    if (_internal) {
-        DOM_cast<CSSRule*>(_internal)->deref();
-    }
-    [super finalize];
-}
-
-- (CSSRule *)_rule
-{
-    return DOM_cast<CSSRule*>(_internal);
-}
-
-- (unsigned short)type
-{
-    return [self _rule]->type();
-}
-
-- (NSString *)cssText
-{
-    return [self _rule]->cssText();
-}
-
-- (void)setCssText:(NSString *)cssText
-{
-    [self _rule]->setCssText(cssText);
-}
-
-- (DOMCSSStyleSheet *)parentStyleSheet
-{
-    return [DOMCSSStyleSheet _CSSStyleSheetWith:[self _rule]->parentStyleSheet()];
-}
-
-- (DOMCSSRule *)parentRule
-{
-    return [DOMCSSRule _ruleWith:[self _rule]->parentRule()];
-}
-
-@end
-
 @implementation DOMCSSRule (WebCoreInternal)
 
 - (id)_initWithRule:(CSSRule *)impl
@@ -523,220 +406,11 @@ typedef DOMWindow AbstractView;
 
 @end
 
-//------------------------------------------------------------------------------------------
-// DOMCSSStyleRule
-
-@implementation DOMCSSStyleRule
-
-- (CSSStyleRule *)_styleRule
-{
-    return static_cast<CSSStyleRule*>(DOM_cast<CSSRule*>(_internal));
-}
-
-- (NSString *)selectorText
-{
-    return [self _styleRule]->selectorText();
-}
-
-- (void)setSelectorText:(NSString *)selectorText
-{
-    [self _styleRule]->setSelectorText(selectorText);
-}
-
-- (DOMCSSStyleDeclaration *)style
-{
-    return [DOMCSSStyleDeclaration _styleDeclarationWith:[self _styleRule]->style()];
-}
-
-@end
-
-//------------------------------------------------------------------------------------------
-// DOMCSSMediaRule
-
-@implementation DOMCSSMediaRule
-
-- (CSSMediaRule *)_mediaRule
-{
-    return static_cast<CSSMediaRule*>(DOM_cast<CSSRule*>(_internal));
-}
-
-- (DOMMediaList *)media
-{
-    return [DOMMediaList _mediaListWith:[self _mediaRule]->media()];
-}
-
-- (DOMCSSRuleList *)cssRules
-{
-    return [DOMCSSRuleList _ruleListWith:[self _mediaRule]->cssRules()];
-}
-
-- (unsigned)insertRule:(NSString *)rule :(unsigned)index
-{
-    return [self _mediaRule]->insertRule(rule, index);
-}
-
-- (void)deleteRule:(unsigned)index
-{
-    [self _mediaRule]->deleteRule(index);
-}
-
-@end
-
-//------------------------------------------------------------------------------------------
-// DOMCSSFontFaceRule
-
-@implementation DOMCSSFontFaceRule
-
-- (CSSFontFaceRule *)_fontFaceRule
-{
-    return static_cast<CSSFontFaceRule*>(DOM_cast<CSSRule*>(_internal));
-}
-
-- (DOMCSSStyleDeclaration *)style
-{
-    return [DOMCSSStyleDeclaration _styleDeclarationWith:[self _fontFaceRule]->style()];
-}
-
-@end
-
-//------------------------------------------------------------------------------------------
-// DOMCSSPageRule
-
-@implementation DOMCSSPageRule
-
-- (CSSPageRule *)_pageRule
-{
-    return static_cast<CSSPageRule*>(DOM_cast<CSSRule*>(_internal));
-}
-
-- (NSString *)selectorText
-{
-    return [self _pageRule]->selectorText();
-}
-
-- (void)setSelectorText:(NSString *)selectorText
-{
-    [self _pageRule]->setSelectorText(selectorText);
-}
-
-- (DOMCSSStyleDeclaration *)style
-{
-    return [DOMCSSStyleDeclaration _styleDeclarationWith:[self _pageRule]->style()];
-}
-
-@end
-
-//------------------------------------------------------------------------------------------
-// DOMCSSImportRule
-
-@implementation DOMCSSImportRule
-
-- (CSSImportRule *)_importRule
-{
-    return static_cast<CSSImportRule*>(DOM_cast<CSSRule*>(_internal));
-}
-
-- (DOMMediaList *)media
-{
-    return [DOMMediaList _mediaListWith:[self _importRule]->media()];
-}
-
-- (NSString *)href
-{
-    return [self _importRule]->href();
-}
-
-- (DOMCSSStyleSheet *)styleSheet
-{
-    return [DOMCSSStyleSheet _CSSStyleSheetWith:[self _importRule]->styleSheet()];
-}
-
-@end
-
-//------------------------------------------------------------------------------------------
-// DOMCSSCharsetRule
-
-@implementation DOMCSSCharsetRule
-
-- (CSSCharsetRule *)_importRule
-{
-    return static_cast<CSSCharsetRule*>(DOM_cast<CSSRule*>(_internal));
-}
-
-- (NSString *)encoding
-{
-    return [self _importRule]->encoding();
-}
-
-@end
-
-//------------------------------------------------------------------------------------------
-// DOMCSSUnknownRule
-
-@implementation DOMCSSUnknownRule
-
-@end
 
 //------------------------------------------------------------------------------------------
 // DOMCSSStyleDeclaration
 
-@implementation DOMCSSStyleDeclaration
-
-- (void)dealloc
-{
-    if (_internal) {
-        DOM_cast<CSSStyleDeclaration*>(_internal)->deref();
-    }
-    [super dealloc];
-}
-
-- (void)finalize
-{
-    if (_internal) {
-        DOM_cast<CSSStyleDeclaration*>(_internal)->deref();
-    }
-    [super finalize];
-}
-
-- (NSString *)description
-{
-    return [NSString stringWithFormat:@"DOMCSSStyleDeclaration: %@", [self cssText]];
-}
-
-- (NSString *)cssText
-{
-    return [self _styleDeclaration]->cssText();
-}
-
-- (void)setCssText:(NSString *)cssText
-{
-    ExceptionCode ec;
-    [self _styleDeclaration]->setCssText(cssText, ec);
-    raiseOnDOMError(ec);
-}
-
-- (NSString *)getPropertyValue:(NSString *)propertyName
-{
-    return [self _styleDeclaration]->getPropertyValue(propertyName);
-}
-
-- (DOMCSSValue *)getPropertyCSSValue:(NSString *)propertyName
-{
-    return [DOMCSSValue _valueWith:[self _styleDeclaration]->getPropertyCSSValue(propertyName).get()];
-}
-
-- (NSString *)removeProperty:(NSString *)propertyName
-{
-    ExceptionCode ec = 0;
-    String result = [self _styleDeclaration]->removeProperty(propertyName, ec);
-    raiseOnDOMError(ec);
-    return result;
-}
-
-- (NSString *)getPropertyPriority:(NSString *)propertyName
-{
-    return [self _styleDeclaration]->getPropertyPriority(propertyName);
-}
+@implementation DOMCSSStyleDeclaration (DOMCSSStyleDeclarationExtensions)
 
 - (NSString *)getPropertyShorthand:(NSString *)propertyName
 {
@@ -748,28 +422,6 @@ typedef DOMWindow AbstractView;
     return [self _styleDeclaration]->isPropertyImplicit(propertyName);
 }
 
-- (void)setProperty:(NSString *)propertyName :(NSString *)value :(NSString *)priority
-{
-    ExceptionCode ec;
-    [self _styleDeclaration]->setProperty(propertyName, value, priority, ec);
-    raiseOnDOMError(ec);
-}
-
-- (unsigned)length
-{
-    return [self _styleDeclaration]->length();
-}
-
-- (NSString *)item:(unsigned)index
-{
-    return [self _styleDeclaration]->item(index);
-}
-
-- (DOMCSSRule *)parentRule
-{
-    return [DOMCSSRule _ruleWith:[self _styleDeclaration]->parentRule()];
-}
-
 @end
 
 @implementation DOMCSSStyleDeclaration (WebCoreInternal)
@@ -806,46 +458,6 @@ typedef DOMWindow AbstractView;
 //------------------------------------------------------------------------------------------
 // DOMCSSValue
 
-@implementation DOMCSSValue
-
-- (void)dealloc
-{
-    if (_internal) {
-        DOM_cast<CSSValue*>(_internal)->deref();
-    }
-    [super dealloc];
-}
-
-- (void)finalize
-{
-    if (_internal) {
-        DOM_cast<CSSValue*>(_internal)->deref();
-    }
-    [super finalize];
-}
-
-- (CSSValue *)_value
-{
-    return DOM_cast<CSSValue*>(_internal);
-}
-
-- (NSString *)cssText
-{
-    return [self _value]->cssText();
-}
-
-- (void)setCssText:(NSString *)cssText
-{
-    [self _value]->setCssText(cssText);
-}
-
-- (unsigned short)cssValueType
-{
-    return [self _value]->cssValueType();
-}
-
-@end
-
 @implementation DOMCSSValue (WebCoreInternal)
 
 - (id)_initWithValue:(CSSValue *)impl
@@ -887,201 +499,23 @@ typedef DOMWindow AbstractView;
 
 @end
 
+
 //------------------------------------------------------------------------------------------
 // DOMCSSPrimitiveValue
 
-@implementation DOMCSSPrimitiveValue
+@implementation DOMCSSPrimitiveValue (WebCoreInternal)
 
 + (DOMCSSPrimitiveValue *)_valueWith:(CSSValue *)impl
 {
-    return (DOMCSSPrimitiveValue *)([DOMCSSValue _valueWith: impl]);
-}
-
-- (CSSPrimitiveValue *)_primitiveValue
-{
-    return static_cast<CSSPrimitiveValue*>(DOM_cast<CSSValue*>(_internal));
-}
-
-- (unsigned short)primitiveType
-{
-    return [self _primitiveValue]->primitiveType();
-}
-
-- (void)setFloatValue:(unsigned short)unitType :(float)floatValue
-{
-    ExceptionCode ec;
-    [self _primitiveValue]->setFloatValue(unitType, floatValue, ec);
-    raiseOnDOMError(ec);
-}
-
-- (float)getFloatValue:(unsigned short)unitType
-{
-    return [self _primitiveValue]->getFloatValue(unitType);
-}
-
-- (void)setStringValue:(unsigned short)stringType :(NSString *)stringValue
-{
-    ExceptionCode ec;
-    String string(stringValue);
-    [self _primitiveValue]->setStringValue(stringType, string, ec);
-    raiseOnDOMError(ec);
-}
-
-- (NSString *)getStringValue
-{
-    return String([self _primitiveValue]->getStringValue());
-}
-
-- (DOMCounter *)getCounterValue
-{
-    return [DOMCounter _counterWith:[self _primitiveValue]->getCounterValue()];
-}
-
-- (DOMRect *)getRectValue
-{
-    return [DOMRect _rectWith:[self _primitiveValue]->getRectValue()];
-}
-
-- (DOMRGBColor *)getRGBColorValue
-{
-    return [DOMRGBColor _RGBColorWithRGB:[self _primitiveValue]->getRGBColorValue()];
+    return static_cast<DOMCSSPrimitiveValue*>([DOMCSSValue _valueWith:impl]);
 }
 
 @end
 
-//------------------------------------------------------------------------------------------
-// DOMCSSValueList
-
-@implementation DOMCSSValueList
-
-- (CSSValueList *)_valueList
-{
-    return static_cast<CSSValueList*>(DOM_cast<CSSValue*>(_internal));
-}
-
-- (unsigned)length
-{
-    return [self _valueList]->length();
-}
-
-- (DOMCSSValue *)item:(unsigned)index
-{
-    return [DOMCSSValue _valueWith:[self _valueList]->item(index)];
-}
-
-@end
 
 //------------------------------------------------------------------------------------------
 // DOMRGBColor
 
-static CFMutableDictionaryRef wrapperCache = NULL;
-
-id getWrapperForRGB(RGBA32 value)
-{
-    if (!wrapperCache)
-        return nil;
-    return (id)CFDictionaryGetValue(wrapperCache, reinterpret_cast<const void*>(value));
-}
-
-void setWrapperForRGB(id wrapper, RGBA32 value)
-{
-    if (!wrapperCache) {
-        // No need to retain/free either impl key, or id value.  Items will be removed
-        // from the cache in dealloc methods.
-        wrapperCache = CFDictionaryCreateMutable(NULL, 0, NULL, NULL);
-    }
-    CFDictionarySetValue(wrapperCache, reinterpret_cast<const void*>(value), wrapper);
-}
-
-void removeWrapperForRGB(RGBA32 value)
-{
-    if (!wrapperCache)
-        return;
-    CFDictionaryRemoveValue(wrapperCache, reinterpret_cast<const void*>(value));
-}
-
-@implementation DOMRGBColor
-
-- (void)dealloc
-{
-    removeWrapperForRGB(reinterpret_cast<uintptr_t>(_internal));
-    [super dealloc];
-}
-
-- (void)finalize
-{
-    removeWrapperForRGB(reinterpret_cast<uintptr_t>(_internal));
-    [super finalize];
-}
-
-- (DOMCSSPrimitiveValue *)red
-{
-    RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
-    int value = (rgb >> 16) & 0xFF;
-    return [DOMCSSPrimitiveValue _valueWith:new CSSPrimitiveValue(value, CSSPrimitiveValue::CSS_NUMBER)];
-}
-
-- (DOMCSSPrimitiveValue *)green
-{
-    RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
-    int value = (rgb >> 8) & 0xFF;
-    return [DOMCSSPrimitiveValue _valueWith:new CSSPrimitiveValue(value, CSSPrimitiveValue::CSS_NUMBER)];
-}
-
-- (DOMCSSPrimitiveValue *)blue
-{
-    RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
-    int value = rgb & 0xFF;
-    return [DOMCSSPrimitiveValue _valueWith:new CSSPrimitiveValue(value, CSSPrimitiveValue::CSS_NUMBER)];
-}
-
-- (id)copyWithZone:(NSZone *)zone
-{
-    return [self retain];
-}
-
-@end
-
-@implementation DOMRGBColor (WebCoreInternal)
-
-- (id)_initWithRGB:(RGBA32)value
-{
-    [super _init];
-    _internal = reinterpret_cast<DOMObjectInternal*>(value);
-    setWrapperForRGB(self, value);
-    return self;
-}
-
-+ (DOMRGBColor *)_RGBColorWithRGB:(RGBA32)value
-{
-    id cachedInstance;
-    cachedInstance = getWrapperForRGB(value);
-    if (cachedInstance)
-        return [[cachedInstance retain] autorelease];
-    
-    return [[[self alloc] _initWithRGB:value] autorelease];
-}
-
-@end
-
-@implementation DOMRGBColor (DOMRGBColorExtensions)
-
-- (DOMCSSPrimitiveValue *)alpha
-{
-    RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
-    float value = (float)Color(rgb).alpha() / 0xFF;
-    return [DOMCSSPrimitiveValue _valueWith:new CSSPrimitiveValue(value, CSSPrimitiveValue::CSS_NUMBER)];
-    
-}
-
-- (NSColor *)color
-{
-    RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
-    return nsColor(Color(rgb));
-}
-
-@end
-
 @implementation DOMRGBColor (WebPrivate)
 
 - (NSColor *)_color
@@ -1095,56 +529,6 @@ void removeWrapperForRGB(RGBA32 value)
 //------------------------------------------------------------------------------------------
 // DOMRect
 
-@implementation DOMRect
-
-- (void)dealloc
-{
-    if (_internal) {
-        DOM_cast<RectImpl*>(_internal)->deref();
-    }
-    [super dealloc];
-}
-
-- (void)finalize
-{
-    if (_internal) {
-        DOM_cast<RectImpl*>(_internal)->deref();
-    }
-    [super finalize];
-}
-
-- (RectImpl *)_rect
-{
-    return DOM_cast<RectImpl*>(_internal);
-}
-
-- (DOMCSSPrimitiveValue *)top
-{
-    return [DOMCSSPrimitiveValue _valueWith:[self _rect]->top()];
-}
-
-- (DOMCSSPrimitiveValue *)right
-{
-    return [DOMCSSPrimitiveValue _valueWith:[self _rect]->right()];
-}
-
-- (DOMCSSPrimitiveValue *)bottom
-{
-    return [DOMCSSPrimitiveValue _valueWith:[self _rect]->bottom()];
-}
-
-- (DOMCSSPrimitiveValue *)left
-{
-    return [DOMCSSPrimitiveValue _valueWith:[self _rect]->left()];
-}
-
-- (id)copyWithZone:(NSZone *)zone
-{
-    return [self retain];
-}
-
-@end
-
 @implementation DOMRect (WebCoreInternal)
 
 - (id)_initWithRect:(RectImpl *)impl
@@ -1174,51 +558,6 @@ void removeWrapperForRGB(RGBA32 value)
 //------------------------------------------------------------------------------------------
 // DOMCounter
 
-@implementation DOMCounter
-
-- (void)dealloc
-{
-    if (_internal) {
-        DOM_cast<Counter*>(_internal)->deref();
-    }
-    [super dealloc];
-}
-
-- (void)finalize
-{
-    if (_internal) {
-        DOM_cast<Counter*>(_internal)->deref();
-    }
-    [super finalize];
-}
-
-- (Counter *)_counter
-{
-    return DOM_cast<Counter*>(_internal);
-}
-
-- (NSString *)identifier
-{
-    return [self _counter]->identifier();
-}
-
-- (NSString *)listStyle
-{
-    return [self _counter]->listStyle();
-}
-
-- (NSString *)separator
-{
-    return [self _counter]->separator();
-}
-
-- (id)copyWithZone:(NSZone *)zone
-{
-    return [self retain];
-}
-
-@end
-
 @implementation DOMCounter (WebCoreInternal)
 
 - (id)_initWithCounter:(Counter *)impl
index b2693b0b6507b4b1d491e86ac4938f69614a10b8..2fce81af534d7feb8a0f8c2d2676170926fe742b 100644 (file)
 #import "DOMCSS.h"
 #import "Color.h"
 
+#import "DOMCSSPrimitiveValue.h"
+#import "DOMCSSRule.h"
+#import "DOMCSSRuleList.h"
+#import "DOMCSSStyleDeclaration.h"
+#import "DOMCSSStyleSheet.h"
+#import "DOMCSSValue.h"
+#import "DOMCounter.h"
+#import "DOMRGBColor.h"
+#import "DOMRect.h"
+
 namespace WebCore {
-    class StyleSheet;
-    class MediaList;
-    class CSSRuleList;
     class CSSRule;
+    class CSSRuleList;
+    class CSSStyleDeclaration;
+    class CSSStyleSheet;
     class CSSValue;
-    class RectImpl;
     class Counter;
+    class MediaList;
+    class RectImpl;
+    class StyleSheet;
 }
 
 @interface DOMStyleSheet (WebCoreInternal)
@@ -72,3 +84,12 @@ namespace WebCore {
 @interface DOMCounter (WebCoreInternal)
 + (DOMCounter *)_counterWith:(WebCore::Counter *)impl;
 @end
+
+@interface DOMCSSStyleDeclaration (WebCoreInternal)
++ (DOMCSSStyleDeclaration *)_styleDeclarationWith:(WebCore::CSSStyleDeclaration *)impl;
+- (WebCore::CSSStyleDeclaration *)_styleDeclaration;
+@end
+
+@interface DOMCSSStyleSheet (WebCoreInternal)
++ (DOMCSSStyleSheet *)_CSSStyleSheetWith:(WebCore::CSSStyleSheet *)impl;
+@end
index 068e7580206f75f6271e1669024b048771a4ed5b..f03702f7f64de159fa7d691b6efac594fce6428e 100644 (file)
@@ -26,6 +26,7 @@
 
 #import <WebCore/DOMAttr.h>
 #import <WebCore/DOMCSS.h>
+#import <WebCore/DOMCSSStyleDeclaration.h>
 #import <WebCore/DOMDOMImplementation.h>
 #import <WebCore/DOMDocument.h>
 #import <WebCore/DOMElement.h>
 #import <WebCore/DOMHTMLLinkElement.h>
 #import <WebCore/DOMHTMLObjectElement.h>
 #import <WebCore/DOMNode.h>
+#import <WebCore/DOMRGBColor.h>
 #import <WebCore/DOMRange.h>
 
-@class NSColor;
 @class NSImage;
-@class DOMHTMLCollection;
 
 @interface DOMDocument (DOMDocumentCSSExtensions)
 - (DOMCSSStyleDeclaration *)createCSSStyleDeclaration;
 - (void)setWidth:(int)width;
 @end
 
-@interface DOMRGBColor (DOMRGBColorExtensions)
-- (DOMCSSPrimitiveValue *)alpha;
-- (NSColor *)color;
-@end
-
 @interface DOMCSSStyleDeclaration (DOMCSSStyleDeclarationExtensions)
 - (NSString *)getPropertyShorthand:(NSString *)propertyName;
 - (BOOL)isPropertyImplicit:(NSString *)propertyName;
index 8bcd3bb214a1b0eef601b08cd27dc492b4675a66..a5fbbd5a0fd02180062ed7346f9347f4f7319196 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #import "DOM.h"
+#import "DOMCSSInternal.h"
 
 #import "DOMAttr.h"
 #import "DOMCDATASection.h"
@@ -46,8 +47,6 @@
 namespace WebCore {
     class Attr;
     class CDATASection;
-    class CSSStyleDeclaration;
-    class CSSStyleSheet;
     class Comment;
     class DOMImplementationFront;
     class Document;
@@ -150,19 +149,10 @@ namespace WebCore {
 + (DOMTreeWalker *)_treeWalkerWith:(WebCore::TreeWalker *)impl filter:(id <DOMNodeFilter>)filter;
 @end
 
-@interface DOMCSSStyleDeclaration (WebCoreInternal)
-+ (DOMCSSStyleDeclaration *)_styleDeclarationWith:(WebCore::CSSStyleDeclaration *)impl;
-- (WebCore::CSSStyleDeclaration *)_styleDeclaration;
-@end
-
 @interface DOMStyleSheetList (WebCoreInternal)
 + (DOMStyleSheetList *)_styleSheetListWith:(WebCore::StyleSheetList *)impl;
 @end
 
-@interface DOMCSSStyleSheet (WebCoreInternal)
-+ (DOMCSSStyleSheet *)_CSSStyleSheetWith:(WebCore::CSSStyleSheet *)impl;
-@end
-
 @interface DOMNodeFilter : DOMObject <DOMNodeFilter>
 + (DOMNodeFilter *)_nodeFilterWith:(WebCore::NodeFilter *)impl;
 @end
diff --git a/WebCore/bindings/objc/DOMRGBColor.h b/WebCore/bindings/objc/DOMRGBColor.h
new file mode 100644 (file)
index 0000000..e3b6732
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2004-2006 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#import <WebCore/DOMObject.h>
+
+@class DOMCSSPrimitiveValue;
+
+@interface DOMRGBColor : DOMObject
+- (DOMCSSPrimitiveValue *)red;
+- (DOMCSSPrimitiveValue *)green;
+- (DOMCSSPrimitiveValue *)blue;
+@end
+
+@interface DOMRGBColor (DOMRGBColorExtensions)
+- (DOMCSSPrimitiveValue *)alpha;
+- (NSColor *)color;
+@end
diff --git a/WebCore/bindings/objc/DOMRGBColor.mm b/WebCore/bindings/objc/DOMRGBColor.mm
new file mode 100644 (file)
index 0000000..1c9bfe5
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2004-2006 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "DOMRGBColor.h"
+
+#import "DOMInternal.h"
+#import "DOMCSSInternal.h"
+#import <wtf/GetPtr.h>
+#import "Color.h"
+#import "DOMCSSPrimitiveValue.h"
+#import "CSSPrimitiveValue.h"
+
+static CFMutableDictionaryRef wrapperCache = NULL;
+
+id getWrapperForRGB(WebCore::RGBA32 value)
+{
+    if (!wrapperCache)
+        return nil;
+    return (id)CFDictionaryGetValue(wrapperCache, reinterpret_cast<const void*>(value));
+}
+
+void setWrapperForRGB(id wrapper, WebCore::RGBA32 value)
+{
+    if (!wrapperCache) {
+        // No need to retain/free either impl key, or id value.  Items will be removed
+        // from the cache in dealloc methods.
+        wrapperCache = CFDictionaryCreateMutable(NULL, 0, NULL, NULL);
+    }
+    CFDictionarySetValue(wrapperCache, reinterpret_cast<const void*>(value), wrapper);
+}
+
+void removeWrapperForRGB(WebCore::RGBA32 value)
+{
+    if (!wrapperCache)
+        return;
+    CFDictionaryRemoveValue(wrapperCache, reinterpret_cast<const void*>(value));
+}
+
+
+@implementation DOMRGBColor
+
+- (void)dealloc
+{
+    removeWrapperForRGB(reinterpret_cast<uintptr_t>(_internal));
+    [super dealloc];
+}
+
+- (void)finalize
+{
+    removeWrapperForRGB(reinterpret_cast<uintptr_t>(_internal));
+    [super finalize];
+}
+
+- (DOMCSSPrimitiveValue *)red
+{
+    WebCore::RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
+    int value = (rgb >> 16) & 0xFF;
+    return [DOMCSSPrimitiveValue _valueWith:new WebCore::CSSPrimitiveValue(value, WebCore::CSSPrimitiveValue::CSS_NUMBER)];
+}
+
+- (DOMCSSPrimitiveValue *)green
+{
+    WebCore::RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
+    int value = (rgb >> 8) & 0xFF;
+    return [DOMCSSPrimitiveValue _valueWith:new WebCore::CSSPrimitiveValue(value, WebCore::CSSPrimitiveValue::CSS_NUMBER)];
+}
+
+- (DOMCSSPrimitiveValue *)blue
+{
+    WebCore::RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
+    int value = rgb & 0xFF;
+    return [DOMCSSPrimitiveValue _valueWith:new WebCore::CSSPrimitiveValue(value, WebCore::CSSPrimitiveValue::CSS_NUMBER)];
+}
+
+@end
+
+@implementation DOMRGBColor (DOMRGBColorExtensions)
+
+- (DOMCSSPrimitiveValue *)alpha
+{
+    WebCore::RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
+    float value = static_cast<float>(WebCore::Color(rgb).alpha()) / 0xFF;
+    return [DOMCSSPrimitiveValue _valueWith:new WebCore::CSSPrimitiveValue(value, WebCore::CSSPrimitiveValue::CSS_NUMBER)];
+    
+}
+
+- (NSColor *)color
+{
+    WebCore::RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
+    return nsColor(WebCore::Color(rgb));
+}
+
+@end
+
+@implementation DOMRGBColor (WebCoreInternal)
+
+- (id)_initWithRGB:(WebCore::RGBA32)value
+{
+    [super _init];
+    _internal = reinterpret_cast<DOMObjectInternal*>(value);
+    setWrapperForRGB(self, value);
+    return self;
+}
+
++ (DOMRGBColor *)_RGBColorWithRGB:(WebCore::RGBA32)value
+{
+    id cachedInstance;
+    cachedInstance = getWrapperForRGB(value);
+    if (cachedInstance)
+        return [[cachedInstance retain] autorelease];
+    
+    return [[[self alloc] _initWithRGB:value] autorelease];
+}
+
+@end
index 7160379846240f16227e2edea18646a1a4e862e7..fc7ae1d6177f8d4d09fc42ab19511fe144a0734c 100644 (file)
@@ -201,13 +201,17 @@ sub GetClassName
 sub GetImplClassName
 {
     my $name = $codeGenerator->StripModule(shift);
-    
+
     # special cases
     if ($name eq "DOMImplementation") {
-        return "WebCore::DOMImplementationFront";
+        return "DOMImplementationFront";
+    }
+
+    if ($name eq "Rect") {
+        return "RectImpl";
     }
 
-    return "WebCore::" . $name;
+    return $name;
 }
 
 sub GetParentImplClassName
@@ -254,7 +258,7 @@ sub GetObjCTypeMaker
         return "";
     }
 
-    if ($type eq "DOMRGBColor") {
+    if ($type eq "RGBColor") {
         return "_RGBColorWithRGB";
     }
 
@@ -278,6 +282,14 @@ sub GetObjCTypeMaker
         $typeMaker = "styleDeclaration";
     } elsif ($type eq "CSSStyleSheet") {
         $typeMaker = "CSSStyleSheet";
+    } elsif ($type eq "CSSRule") {
+        $typeMaker = "rule";
+    } elsif ($type eq "CSSRuleList") {
+        $typeMaker = "ruleList";
+    } elsif ($type eq "CSSValue") {
+        $typeMaker = "value";
+    } elsif ($type eq "CSSPrimitiveValue") {
+        $typeMaker = "value";
     } elsif ($type eq "DOMImplementation") {
         $typeMaker = "DOMImplementation";
     } elsif ($type eq "CDATASection") {
@@ -340,29 +352,14 @@ sub AddIncludesForType
     }
 
     # Temp DOMCSS.h
-    if ($type eq "Counter"
-            or $type eq "MediaList"
-            or $type eq "CSSStyleSheet") {
-        $implIncludes{"DOMCSS.h"} = 1;
-        $implIncludes{"$type.h"} = 1;
+    if ($type eq "Rect") {
+        $implIncludes{"DOMRect.h"} = 1;
+        $implIncludes{"RectImpl.h"} = 1;
         return;
     }
-    if ($type eq "CSSStyleDeclaration") {
-        $implIncludes{"DOMCSS.h"} = 1;
-        $implIncludes{"$type.h"} = 1;
-        $implIncludes{"CSSMutableStyleDeclaration.h"} = 1;
-        return;
-    }
-    if ($type eq "RGBColor" or $type eq "Rect") {
-        $implIncludes{"DOMCSS.h"} = 1;
-        return;
-    }
-
-    # Temp DOMHTML.h
-    if ($type eq "HTMLDocument") {
-        $implIncludes{"DOMHTML.h"} = 1;
-        $implIncludes{"DOMHTMLInternal.h"} = 1;
-        $implIncludes{"$type.h"} = 1;
+    if ($type eq "RGBColor") {
+        $implIncludes{"DOMRGBColor.h"} = 1;
+        $implIncludes{"Color.h"} = 1;
         return;
     }
 
@@ -374,9 +371,11 @@ sub AddIncludesForType
         return;
     }
 
-    # Temp DOMStyleSheets.h
-    if ($type eq "StyleSheetList") {
-        $implIncludes{"DOMStyleSheets.h"} = 1;
+    # Temp DOMStylesheets.h
+    if ($type eq "StyleSheet"
+            or $type eq "StyleSheetList"
+            or $type eq "MediaList") {
+        $implIncludes{"DOMStylesheets.h"} = 1;
         $implIncludes{"$type.h"} = 1;
         return;
     }
@@ -404,6 +403,13 @@ sub AddIncludesForType
         $implIncludes{"DOMImplementationFront.h"} = 1;
     }
 
+    # FIXME: for some reason it won't compile without both CSSStyleDeclaration.h
+    # and CSSMutableStyleDeclaration.h
+    if ($type eq "CSSStyleDeclaration") {
+        $implIncludes{"CSSMutableStyleDeclaration.h"} = 1;
+    }
+
+
     # Add type specific internal types.
     $implIncludes{"DOMHTMLInternal.h"} = 1 if ($type =~ /^HTML/);
 
@@ -434,7 +440,11 @@ sub GenerateHeader
     @headerContentHeader = split("\r", $headerLicenceTemplate);
 
     # - INCLUDES -
-    push(@headerContentHeader, "\n#import <WebCore/$parentClassName.h> // parent class\n\n");
+    if ($parentClassName eq "DOMStyleSheet") {
+        push(@headerContentHeader, "\n#import <WebCore/DOMStylesheets.h> // parent class\n\n");
+    } else {
+        push(@headerContentHeader, "\n#import <WebCore/$parentClassName.h> // parent class\n\n");
+    }
 
     # - Add constants.
     if ($numConstants > 0) {
@@ -451,9 +461,9 @@ sub GenerateHeader
         my $combinedConstants = join(",\n", @headerConstants);
 
         # FIXME: the formatting of the enums should line up the equal signs.
-        push(@headerContent, "\nenum {\n");
+        push(@headerContent, "enum {\n");
         push(@headerContent, $combinedConstants);
-        push(@headerContent, "\n};\n");        
+        push(@headerContent, "\n};\n\n");        
     }
     
     # - Begin @interface 
@@ -583,11 +593,7 @@ sub GenerateImplementation
         }
 
         # include Implementation class
-        push(@implContentHeader, "#import \"$interfaceName.h\" // implementation class\n");
-        if ($interfaceName eq "DOMImplementation") {
-            # FIXME: needed until we can remove DOMImplementationFront
-            push(@implContentHeader, "#import \"DOMImplementationFront.h\"\n");
-        }
+        push(@implContentHeader, "#import \"$implClassName.h\" // implementation class\n");
     }
 
     @implContent = ();
@@ -596,6 +602,9 @@ sub GenerateImplementation
     push(@implContent, "\@implementation $className\n\n");
 
     if ($hasFunctionsOrAttributes) {
+        # Add namespace to implementation class name 
+        $implClassName = "WebCore::" . $implClassName;
+
         if ($parentImplClassName eq "Object") {
             # Only generate 'dealloc' and 'finalize' methods for direct subclasses of DOMObject.
 
@@ -614,11 +623,15 @@ sub GenerateImplementation
             push(@implContent, "        IMPL->deref();\n");
             push(@implContent, "    [super finalize];\n");
             push(@implContent, "}\n\n");
+            
+        } elsif ($interfaceName eq "CSSStyleSheet") {
+            # Special case for CSSStyleSheet
+            push(@implContent, "#define IMPL reinterpret_cast<WebCore::CSSStyleSheet*>(_internal)\n\n");
         } else {
             my $internalBaseType;
-            if ($interfaceName =~ /^CSS.+Value$/) {
+            if ($parentImplClassName eq "CSSValue") {
                 $internalBaseType = "WebCore::CSSValue"
-            } elsif ($interfaceName =~ /^CSS.+Rule$/) {
+            } elsif ($parentImplClassName eq "CSSRule") {
                 $internalBaseType = "WebCore::CSSRule"
             } else {
                 $internalBaseType = "WebCore::Node"
@@ -854,8 +867,13 @@ sub GenerateImplementation
                     }
 
                     # Surround getter with TypeMaker
-                    $functionContentHead = "[$returnTypeClass $typeMaker:WTF::getPtr(" . $functionContentHead;
-                    $functionContentTail .= ")]";
+                    if ($returnTypeClass eq "DOMRGBColor") {
+                        $functionContentHead = "[$returnTypeClass $typeMaker:" . $functionContentHead;
+                        $functionContentTail .= "]";
+                    } else {
+                        $functionContentHead = "[$returnTypeClass $typeMaker:WTF::getPtr(" . $functionContentHead;
+                        $functionContentTail .= ")]";
+                    }
                 }
 
                 my $content = "";
diff --git a/WebCore/css/CSSCharsetRule.idl b/WebCore/css/CSSCharsetRule.idl
new file mode 100644 (file)
index 0000000..36673e6
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSCharsetRule : CSSRule {
+
+        // FIXME: the DOM spec says that this attribute
+        // should not be readonly.  The correct declaration
+        // is commented out below.
+        readonly attribute DOMString        encoding;
+               /*attribute DOMString        encoding
+                    setter raises(DOMException);*/
+
+    };
+
+}
diff --git a/WebCore/css/CSSFontFaceRule.idl b/WebCore/css/CSSFontFaceRule.idl
new file mode 100644 (file)
index 0000000..6a98c42
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSFontFaceRule : CSSRule {
+        readonly attribute CSSStyleDeclaration  style;
+    };
+
+}
diff --git a/WebCore/css/CSSImportRule.idl b/WebCore/css/CSSImportRule.idl
new file mode 100644 (file)
index 0000000..e54f535
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSImportRule : CSSRule {
+        readonly attribute DOMString        href;
+        readonly attribute stylesheets::MediaList  media;
+        readonly attribute CSSStyleSheet    styleSheet;
+    };
+
+}
diff --git a/WebCore/css/CSSMediaRule.idl b/WebCore/css/CSSMediaRule.idl
new file mode 100644 (file)
index 0000000..8d673c7
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSMediaRule : CSSRule {
+
+        readonly attribute stylesheets::MediaList  media;
+        readonly attribute CSSRuleList      cssRules;
+        
+        // FIXME: the DOM spec says that this can raise an exeception.
+        unsigned long      insertRule(in DOMString rule, 
+                                      in unsigned long index)
+            /*raises(DOMException)*/;
+            
+        // FIXME: the DOM spec says that this can raise an exeception.
+        void               deleteRule(in unsigned long index)
+            /*raises(DOMException)*/;
+
+    };
+
+}
diff --git a/WebCore/css/CSSPageRule.idl b/WebCore/css/CSSPageRule.idl
new file mode 100644 (file)
index 0000000..58b330f
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSPageRule : CSSRule {
+
+                 // FIXME: DOM spec says that this can raise an
+                 // exception on setting.
+                 attribute DOMString        selectorText
+                     /*setter raises(DOMException)*/;
+
+        readonly attribute CSSStyleDeclaration  style;
+
+    };
+
+}
index 56648d732f5593fd6f20d2b47c6e212bc2f15969..6ecef94daf13d7f01a31b5ac75557c14be560b79 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -30,5 +31,16 @@ module css {
         const unsigned short MEDIA_RULE = 4;
         const unsigned short FONT_FACE_RULE = 5;
         const unsigned short PAGE_RULE = 6;
+
+        readonly attribute [Exclude=JS] unsigned short   type;
+        
+                 // FIXME: DOM spec says that this can raise an
+                 // exception on setting.
+                 attribute [Exclude=JS] DOMString        cssText
+                     /*setter raises (DOMException)*/;
+
+        readonly attribute [Exclude=JS] CSSStyleSheet    parentStyleSheet;
+        readonly attribute [Exclude=JS] CSSRule          parentRule;
+
     };
 }
index 4450fd3165ec2b3c3bae2716db7bef0442dcbbcd..7479e5eaf18df66fd1f205e450f1bd8b457d7c1c 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -21,6 +22,24 @@ module css {
 
     // Introduced in DOM Level 2:
     interface [LegacyParent=KJS::DOMCSSStyleDeclaration, GenerateConstructor] CSSStyleDeclaration {
+
+                 attribute [Exclude=JS] DOMString        cssText
+                     setter raises(DOMException);
+
+        [Exclude=JS] DOMString          getPropertyValue(in DOMString propertyName);
+        [Exclude=JS] CSSValue           getPropertyCSSValue(in DOMString propertyName);
+        [Exclude=JS] DOMString          removeProperty(in DOMString propertyName)
+            raises(DOMException);
+        [Exclude=JS] DOMString          getPropertyPriority(in DOMString propertyName);
+        [Exclude=JS] void               setProperty(in DOMString propertyName, 
+                                                    in DOMString value, 
+                                                    in DOMString priority)
+            raises(DOMException);
+
+        readonly attribute [Exclude=JS] unsigned long    length;
+        [Exclude=JS] DOMString          item(in unsigned long index);
+        readonly attribute [Exclude=JS] CSSRule          parentRule;
+
     };
-  
+
 }
diff --git a/WebCore/css/CSSStyleRule.idl b/WebCore/css/CSSStyleRule.idl
new file mode 100644 (file)
index 0000000..e2c32a4
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSStyleRule : CSSRule {
+
+                 // FIXME: DOM spec says that this can raise an
+                 // exception on setting.
+                 attribute DOMString            selectorText
+                     /*setter raises(DOMException)*/;
+
+        readonly attribute CSSStyleDeclaration  style;
+
+    };
+
+}
diff --git a/WebCore/css/CSSStyleSheet.idl b/WebCore/css/CSSStyleSheet.idl
new file mode 100644 (file)
index 0000000..da74b90
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSStyleSheet : stylesheets::StyleSheet {
+
+        readonly attribute CSSRule          ownerRule;
+        readonly attribute CSSRuleList      cssRules;
+        unsigned long      insertRule(in DOMString rule, 
+                                      in unsigned long index)
+            raises(DOMException);
+        void               deleteRule(in unsigned long index)
+            raises(DOMException);
+
+    };
+
+}
diff --git a/WebCore/css/CSSUnknownRule.idl b/WebCore/css/CSSUnknownRule.idl
new file mode 100644 (file)
index 0000000..23ca919
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface CSSUnknownRule : CSSRule {
+    };
+
+}
index 2dd3a6d5fd77fe767ea3c9c9a7a7e610b224bc6e..60b3a5f8e6cd688d238cfcc7d45031bace8f8826 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
 module css {
 
     interface [LegacyParent=KJS::DOMCSSValue, GenerateConstructor] CSSValue {
-        const unsigned short CSS_INHERIT = 0;
+
+        // UnitTypes
+        const unsigned short CSS_INHERIT         = 0;
         const unsigned short CSS_PRIMITIVE_VALUE = 1;
-        const unsigned short CSS_VALUE_LIST = 2;
-        const unsigned short CSS_CUSTOM = 3;
+        const unsigned short CSS_VALUE_LIST      = 2;
+        const unsigned short CSS_CUSTOM          = 3;
+
+                 // FIXME: DOM spec says that this can raise an
+                 // exception on setting.
+                 attribute [Exclude=JS] DOMString        cssText
+                     /*setter raises(DOMException)*/;
+
+        readonly attribute [Exclude=JS] unsigned short   cssValueType;
+
     };
 
 }
index 2557e6002fe58969637d1f8122f5f0029b2d102e..cb5010f78051197e7f22927b0cf9a34944dced97 100644 (file)
@@ -27,14 +27,16 @@ module stylesheets {
 
     // Introduced in DOM Level 2:
     interface MediaList {
-                 attribute DOMString        mediaText
-                                            setter raises(DOMException);
 
-        readonly attribute unsigned long    length;
-        DOMString          item(in unsigned long index);
-        void               deleteMedium(in DOMString oldMedium)
-                                            raises(DOMException);
-        void               appendMedium(in DOMString newMedium)
-                                            raises(DOMException);
+                 attribute DOMString mediaText
+                     setter raises(DOMException);
+        readonly attribute unsigned long length;
+
+        DOMString item(in unsigned long index);
+        void deleteMedium(in DOMString oldMedium)
+            raises(DOMException);
+        void appendMedium(in DOMString newMedium)
+            raises(DOMException);
+
     };
 }
diff --git a/WebCore/css/RGBColor.idl b/WebCore/css/RGBColor.idl
new file mode 100644 (file)
index 0000000..79b1db8
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 css {
+
+    // Introduced in DOM Level 2:
+    interface RGBColor {
+        readonly attribute CSSPrimitiveValue  red;
+        readonly attribute CSSPrimitiveValue  green;
+        readonly attribute CSSPrimitiveValue  blue;
+    };
+
+}
index cbc7f48dfc096e33fb7bd46f437ed14304af44ef..290dabb886d1eac15064a6c16c4f4dd44a889273 100644 (file)
  */
 
 module css {
+
     interface Rect {
         readonly attribute CSSPrimitiveValue  top;
         readonly attribute CSSPrimitiveValue  right;
         readonly attribute CSSPrimitiveValue  bottom;
         readonly attribute CSSPrimitiveValue  left;
     };
+
 }
index e8d33412aef004e1189b8160499b657aabd89044..9b614ce168aced53886293105964529c37132c1e 100644 (file)
@@ -26,6 +26,7 @@
 #include "Shared.h"
 #include "CSSPrimitiveValue.h"
 #include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
 
 namespace WebCore {
 
index eeb1fb3d43520f7ec3881ff542e539b043e65b5b..c45c5626461b86e18fec3918753443680ca8b6b5 100644 (file)
@@ -1,3 +1,12 @@
+2006-09-02  Sam Weinig  <sam.weinig@gmail.com>
+
+        Reviewed by Tim H.
+
+        - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
+          Auto-generate the Objective-C DOM CSS bindings
+
+        * MigrateHeaders.make:
+
 2006-09-01  MorganL  <morlmor@yahoo.com>
 
         Reviewed by Darin. Updated/landed by Adam.
index 36d8ffe31d25d87e76d80333affdcd1de972ebc5..ed447b9abc1e113e8a28943e26d699a2aab89fd1 100644 (file)
@@ -32,9 +32,24 @@ all : \
     DOMAttr.h \
     DOMCDATASection.h \
     DOMCSS.h \
+    DOMCSSCharsetRule.h \
+    DOMCSSFontFaceRule.h \
+    DOMCSSImportRule.h \
+    DOMCSSMediaRule.h \
+    DOMCSSPageRule.h \
+    DOMCSSPrimitiveValue.h \
+    DOMCSSRule.h \
+    DOMCSSRuleList.h \
+    DOMCSSStyleDeclaration.h \
+    DOMCSSStyleRule.h \
+    DOMCSSStyleSheet.h \
+    DOMCSSUnknownRule.h \
+    DOMCSSValue.h \
+    DOMCSSValueList.h \
     DOMCharacterData.h \
     DOMComment.h \
     DOMCore.h \
+    DOMCounter.h \
     DOMDOMImplementation.h \
     DOMDocument.h \
     DOMDocumentFragment.h \
@@ -109,7 +124,9 @@ all : \
     DOMObject.h \
     DOMPrivate.h \
     DOMProcessingInstruction.h \
+    DOMRGBColor.h \
     DOMRange.h \
+    DOMRect.h \
     DOMStylesheets.h \
     DOMText.h \
     DOMTraversal.h \