[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

ap at apple.com ap at apple.com
Wed Dec 22 16:24:48 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 31bdf571d51d86b5fd54990646e6ced30a8b436f
Author: ap at apple.com <ap at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 23 08:55:45 2010 +0000

            Reviewed by Darin Adler.
    
            https://bugs.webkit.org/show_bug.cgi?id=49860
            CSS style rules don't GC protect objects reachable as their properties
    
            Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
    
            * Android.jscbindings.mk:
            * CMakeLists.txt:
            * GNUmakefile.am:
            * WebCore.gypi:
            * WebCore.pro:
            * WebCore.vcproj/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            * bindings/js/JSBindingsAllInOne.cpp:
            Added new files, sorted appropriate sections for easier adding.
    
            * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
            (WebCore::JSCSSFontFaceRule::markChildren):
            * bindings/js/JSCSSImportRuleCustom.cpp: Added.
            (WebCore::JSCSSImportRule::markChildren):
            * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
            (WebCore::JSCSSMediaRule::markChildren):
            * bindings/js/JSCSSPageRuleCustom.cpp: Added.
            (WebCore::JSCSSPageRule::markChildren):
            * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
            (WebCore::JSCSSStyleRule::markChildren):
            * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
            (WebCore::JSWebKitCSSKeyframeRule::markChildren):
            * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
            (WebCore::JSWebKitCSSKeyframesRule::markChildren):
            Mark objects reachable through these ones.
    
            * css/CSSFontFaceRule.idl:
            * css/CSSImportRule.idl:
            * css/CSSMediaRule.idl:
            * css/CSSPageRule.idl:
            * css/CSSStyleRule.idl:
            * css/WebKitCSSKeyframeRule.idl:
            * css/WebKitCSSKeyframesRule.idl:
            Added CustomMarkFunction IDL attribute.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index c4ad1d0..18bfa41 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-11-22  Alexey Proskuryakov  <ap at apple.com>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=49860
+        CSS style rules don't GC protect objects reachable as their properties
+
+        * fast/dom/StyleSheet/gc-rule-children-wrappers-expected.txt: Added.
+        * fast/dom/StyleSheet/gc-rule-children-wrappers.html: Added.
+
 2010-11-23  Csaba Osztrogonác  <ossy at webkit.org>
 
         Unreviewed revert r72544 and r72530, because r72527 was reverted.
diff --git a/LayoutTests/fast/dom/StyleSheet/gc-rule-children-wrappers-expected.txt b/LayoutTests/fast/dom/StyleSheet/gc-rule-children-wrappers-expected.txt
new file mode 100644
index 0000000..dfd917f
--- /dev/null
+++ b/LayoutTests/fast/dom/StyleSheet/gc-rule-children-wrappers-expected.txt
@@ -0,0 +1,27 @@
+Test that custom properties on rule style declarations are not lost after GC
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.styleSheets[0].cssRules[0].type is CSSRule.IMPORT_RULE
+PASS document.styleSheets[0].cssRules[0].media.foo is 'bar'
+PASS document.styleSheets[0].cssRules[0].type is CSSRule.IMPORT_RULE
+PASS document.styleSheets[0].cssRules[0].styleSheet.foo is 'bar'
+PASS document.styleSheets[0].cssRules[1].type is CSSRule.STYLE_RULE
+PASS document.styleSheets[0].cssRules[1].style.foo is 'bar'
+PASS document.styleSheets[0].cssRules[2].type is CSSRule.FONT_FACE_RULE
+PASS document.styleSheets[0].cssRules[2].style.foo is 'bar'
+PASS document.styleSheets[0].cssRules[3].type is CSSRule.MEDIA_RULE
+PASS document.styleSheets[0].cssRules[3].cssRules.foo is 'bar'
+PASS document.styleSheets[0].cssRules[3].type is CSSRule.MEDIA_RULE
+PASS document.styleSheets[0].cssRules[3].media.foo is 'bar'
+PASS document.styleSheets[0].cssRules[4].type is CSSRule.WEBKIT_KEYFRAMES_RULE
+PASS document.styleSheets[0].cssRules[4].cssRules.foo is 'bar'
+PASS document.styleSheets[0].cssRules[4].cssRules[0].type is CSSRule.WEBKIT_KEYFRAME_RULE
+PASS document.styleSheets[0].cssRules[4].cssRules[0].style.foo is 'bar'
+PASS document.styleSheets[0].cssRules[5].type is CSSRule.PAGE_RULE
+PASS document.styleSheets[0].cssRules[5].style.foo is 'bar'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/StyleSheet/gc-rule-children-wrappers.html b/LayoutTests/fast/dom/StyleSheet/gc-rule-children-wrappers.html
new file mode 100644
index 0000000..2a12c91
--- /dev/null
+++ b/LayoutTests/fast/dom/StyleSheet/gc-rule-children-wrappers.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+
+<style>
+ at import url("data:text/css,* { color:black; }");
+
+* { color: black }
+
+ at font-face {
+    font-family: 'CustomName';
+    src: local('Courier');
+}
+
+ at media all {
+    * { color: black }
+}
+
+ at -webkit-keyframes test1 {
+    from { left: 10px; }
+    to { left: 20px; }
+}
+
+ at page { margin: 3cm; }
+</style>
+
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body style="color:black">
+<p id="description"></p>
+<div id="console"></div>
+<script>
+    description("Test that custom properties on rule style declarations are not lost after GC");
+
+    function test(expr, expectedType, testWhat)
+    {
+        shouldBe(expr + ".type", expectedType);
+        eval(expr + "." + testWhat).foo = "bar"
+        gc();
+        shouldBe(expr + "." + testWhat + ".foo", "'bar'");
+    }
+
+    test("document.styleSheets[0].cssRules[0]", "CSSRule.IMPORT_RULE", "media");
+    test("document.styleSheets[0].cssRules[0]", "CSSRule.IMPORT_RULE", "styleSheet");
+    test("document.styleSheets[0].cssRules[1]", "CSSRule.STYLE_RULE", "style");
+    test("document.styleSheets[0].cssRules[2]", "CSSRule.FONT_FACE_RULE", "style");
+    test("document.styleSheets[0].cssRules[3]", "CSSRule.MEDIA_RULE", "cssRules");
+    test("document.styleSheets[0].cssRules[3]", "CSSRule.MEDIA_RULE", "media");
+    test("document.styleSheets[0].cssRules[4]", "CSSRule.WEBKIT_KEYFRAMES_RULE", "cssRules");
+    test("document.styleSheets[0].cssRules[4].cssRules[0]", "CSSRule.WEBKIT_KEYFRAME_RULE", "style");
+    test("document.styleSheets[0].cssRules[5]", "CSSRule.PAGE_RULE", "style");
+
+    successfullyParsed = true;
+
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/WebCore/Android.jscbindings.mk b/WebCore/Android.jscbindings.mk
index 3d0d83e..653dfec 100644
--- a/WebCore/Android.jscbindings.mk
+++ b/WebCore/Android.jscbindings.mk
@@ -62,9 +62,14 @@ LOCAL_SRC_FILES += \
 	bindings/js/JSAttrCustom.cpp \
 	bindings/js/JSAudioConstructor.cpp \
 	bindings/js/JSCDATASectionCustom.cpp \
+	bindings/js/JSCSSFontFaceRuleCustom.cpp \
+	bindings/js/JSCSSImportRuleCustom.cpp \
+	bindings/js/JSCSSMediaRuleCustom.cpp \
+	bindings/js/JSCSSPageRuleCustom.cpp \
 	bindings/js/JSCSSRuleCustom.cpp \
 	bindings/js/JSCSSRuleListCustom.cpp \
 	bindings/js/JSCSSStyleDeclarationCustom.cpp \
+	bindings/js/JSCSSStyleRuleCustom.cpp \
 	bindings/js/JSCSSValueCustom.cpp \
 	bindings/js/JSCallbackData.cpp \
 	bindings/js/JSCanvasRenderingContext2DCustom.cpp \
@@ -88,9 +93,9 @@ LOCAL_SRC_FILES += \
 	bindings/js/JSDOMWindowBase.cpp \
 	bindings/js/JSDOMWindowCustom.cpp \
 	bindings/js/JSDOMWindowShell.cpp \
-	bindings/js/JSDatabaseCallback.cpp \
 	bindings/js/JSDataGridColumnListCustom.cpp \
 	bindings/js/JSDataGridDataSource.cpp \
+	bindings/js/JSDatabaseCallback.cpp \
 	bindings/js/JSDedicatedWorkerContextCustom.cpp \
 	bindings/js/JSDesktopNotificationsCustom.cpp \
 	bindings/js/JSDeviceMotionEventCustom.cpp \
@@ -159,6 +164,8 @@ LOCAL_SRC_FILES += \
 	bindings/js/JSTouchCustom.cpp \
 	bindings/js/JSTouchListCustom.cpp \
 	bindings/js/JSTreeWalkerCustom.cpp \
+	bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
+	bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
 	bindings/js/JSWebKitCSSMatrixCustom.cpp \
 	bindings/js/JSWebKitPointCustom.cpp \
 	bindings/js/JSWorkerContextBase.cpp \
diff --git a/WebCore/CMakeLists.txt b/WebCore/CMakeLists.txt
index 5890b05..09226cb 100644
--- a/WebCore/CMakeLists.txt
+++ b/WebCore/CMakeLists.txt
@@ -575,40 +575,47 @@ SET(WebCore_SOURCES
     bindings/js/DOMWrapperWorld.cpp
     bindings/js/GCController.cpp
     bindings/js/IDBBindingUtilities.cpp
-    bindings/js/JavaScriptCallFrame.cpp
     bindings/js/JSAttrCustom.cpp
+    bindings/js/JSCDATASectionCustom.cpp
+    bindings/js/JSCSSFontFaceRuleCustom.cpp
+    bindings/js/JSCSSImportRuleCustom.cpp
+    bindings/js/JSCSSMediaRuleCustom.cpp
+    bindings/js/JSCSSPageRuleCustom.cpp
+    bindings/js/JSCSSRuleCustom.cpp
+    bindings/js/JSCSSRuleListCustom.cpp
+    bindings/js/JSCSSStyleDeclarationCustom.cpp
+    bindings/js/JSCSSStyleRuleCustom.cpp
+    bindings/js/JSCSSValueCustom.cpp
     bindings/js/JSCallbackData.cpp
     bindings/js/JSCanvasRenderingContext2DCustom.cpp
     bindings/js/JSCanvasRenderingContextCustom.cpp
-    bindings/js/JSCDATASectionCustom.cpp
     bindings/js/JSClipboardCustom.cpp
     bindings/js/JSConsoleCustom.cpp
     bindings/js/JSCoordinatesCustom.cpp
-    bindings/js/JSCSSRuleCustom.cpp
-    bindings/js/JSCSSRuleListCustom.cpp
-    bindings/js/JSCSSStyleDeclarationCustom.cpp
-    bindings/js/JSCSSValueCustom.cpp
     bindings/js/JSCustomPositionCallback.cpp
     bindings/js/JSCustomPositionErrorCallback.cpp
     bindings/js/JSCustomSQLStatementErrorCallback.cpp
     bindings/js/JSCustomVoidCallback.cpp
     bindings/js/JSCustomXPathNSResolver.cpp
-    bindings/js/JSDataGridColumnListCustom.cpp
-    bindings/js/JSDataGridDataSource.cpp
-    bindings/js/JSDebugWrapperSet.cpp
-    bindings/js/JSDedicatedWorkerContextCustom.cpp
-    bindings/js/JSDeviceMotionEventCustom.cpp
-    bindings/js/JSDeviceOrientationEventCustom.cpp
-    bindings/js/JSDocumentCustom.cpp
     bindings/js/JSDOMApplicationCacheCustom.cpp
     bindings/js/JSDOMBinding.cpp
     bindings/js/JSDOMFormDataCustom.cpp
     bindings/js/JSDOMGlobalObject.cpp
+    bindings/js/JSDOMMimeTypeArrayCustom.cpp
+    bindings/js/JSDOMPluginArrayCustom.cpp
+    bindings/js/JSDOMPluginCustom.cpp
     bindings/js/JSDOMStringMapCustom.cpp
     bindings/js/JSDOMWindowBase.cpp
     bindings/js/JSDOMWindowCustom.cpp
     bindings/js/JSDOMWindowShell.cpp
     bindings/js/JSDOMWrapper.cpp
+    bindings/js/JSDataGridColumnListCustom.cpp
+    bindings/js/JSDataGridDataSource.cpp
+    bindings/js/JSDebugWrapperSet.cpp
+    bindings/js/JSDedicatedWorkerContextCustom.cpp
+    bindings/js/JSDeviceMotionEventCustom.cpp
+    bindings/js/JSDeviceOrientationEventCustom.cpp
+    bindings/js/JSDocumentCustom.cpp
     bindings/js/JSElementCustom.cpp
     bindings/js/JSEventCustom.cpp
     bindings/js/JSEventListener.cpp
@@ -617,9 +624,6 @@ SET(WebCore_SOURCES
     bindings/js/JSExceptionBase.cpp
     bindings/js/JSFileReaderCustom.cpp
     bindings/js/JSGeolocationCustom.cpp
-    bindings/js/JSHistoryCustom.cpp
-    bindings/js/JSIDBAnyCustom.cpp
-    bindings/js/JSIDBKeyCustom.cpp
     bindings/js/JSHTMLAllCollectionCustom.cpp
     bindings/js/JSHTMLAppletElementCustom.cpp
     bindings/js/JSHTMLCanvasElementCustom.cpp
@@ -638,6 +642,9 @@ SET(WebCore_SOURCES
     bindings/js/JSHTMLOutputElementCustom.cpp
     bindings/js/JSHTMLSelectElementCustom.cpp
     bindings/js/JSHTMLStyleElementCustom.cpp
+    bindings/js/JSHistoryCustom.cpp
+    bindings/js/JSIDBAnyCustom.cpp
+    bindings/js/JSIDBKeyCustom.cpp
     bindings/js/JSImageConstructor.cpp
     bindings/js/JSImageDataCustom.cpp
     bindings/js/JSInjectedScriptHostCustom.cpp
@@ -649,7 +656,6 @@ SET(WebCore_SOURCES
     bindings/js/JSMessageChannelCustom.cpp
     bindings/js/JSMessageEventCustom.cpp
     bindings/js/JSMessagePortCustom.cpp
-    bindings/js/JSDOMMimeTypeArrayCustom.cpp
     bindings/js/JSNamedNodeMapCustom.cpp
     bindings/js/JSNavigatorCustom.cpp
     bindings/js/JSNodeCustom.cpp
@@ -658,16 +664,14 @@ SET(WebCore_SOURCES
     bindings/js/JSNodeIteratorCustom.cpp
     bindings/js/JSNodeListCustom.cpp
     bindings/js/JSOptionConstructor.cpp
-    bindings/js/JSDOMPluginArrayCustom.cpp
-    bindings/js/JSDOMPluginCustom.cpp
     bindings/js/JSPluginElementFunctions.cpp
     bindings/js/JSPopStateEventCustom.cpp
     bindings/js/JSProcessingInstructionCustom.cpp
-    bindings/js/JSScriptProfileNodeCustom.cpp
-    bindings/js/JSSharedWorkerCustom.cpp
     bindings/js/JSSQLResultSetRowListCustom.cpp
     bindings/js/JSSQLTransactionCustom.cpp
     bindings/js/JSSQLTransactionSyncCustom.cpp
+    bindings/js/JSScriptProfileNodeCustom.cpp
+    bindings/js/JSSharedWorkerCustom.cpp
     bindings/js/JSStorageCustom.cpp
     bindings/js/JSStyleSheetCustom.cpp
     bindings/js/JSStyleSheetListCustom.cpp
@@ -675,6 +679,8 @@ SET(WebCore_SOURCES
     bindings/js/JSTouchCustom.cpp
     bindings/js/JSTouchListCustom.cpp
     bindings/js/JSTreeWalkerCustom.cpp
+    bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp
+    bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp
     bindings/js/JSWebKitCSSMatrixCustom.cpp
     bindings/js/JSWebKitPointCustom.cpp
     bindings/js/JSWebSocketCustom.cpp
@@ -685,6 +691,7 @@ SET(WebCore_SOURCES
     bindings/js/JSXMLHttpRequestCustom.cpp
     bindings/js/JSXMLHttpRequestUploadCustom.cpp
     bindings/js/JSXSLTProcessorCustom.cpp
+    bindings/js/JavaScriptCallFrame.cpp
     bindings/js/ScheduledAction.cpp
     bindings/js/ScriptCachedFrameData.cpp
     bindings/js/ScriptCallStackFactory.cpp
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1121a48..61216ac 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,47 @@
+2010-11-22  Alexey Proskuryakov  <ap at apple.com>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=49860
+        CSS style rules don't GC protect objects reachable as their properties
+
+        Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
+
+        * Android.jscbindings.mk:
+        * CMakeLists.txt:
+        * GNUmakefile.am:
+        * WebCore.gypi:
+        * WebCore.pro:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/JSBindingsAllInOne.cpp:
+        Added new files, sorted appropriate sections for easier adding.
+
+        * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
+        (WebCore::JSCSSFontFaceRule::markChildren):
+        * bindings/js/JSCSSImportRuleCustom.cpp: Added.
+        (WebCore::JSCSSImportRule::markChildren):
+        * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
+        (WebCore::JSCSSMediaRule::markChildren):
+        * bindings/js/JSCSSPageRuleCustom.cpp: Added.
+        (WebCore::JSCSSPageRule::markChildren):
+        * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
+        (WebCore::JSCSSStyleRule::markChildren):
+        * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
+        (WebCore::JSWebKitCSSKeyframeRule::markChildren):
+        * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
+        (WebCore::JSWebKitCSSKeyframesRule::markChildren):
+        Mark objects reachable through these ones.
+
+        * css/CSSFontFaceRule.idl:
+        * css/CSSImportRule.idl:
+        * css/CSSMediaRule.idl:
+        * css/CSSPageRule.idl:
+        * css/CSSStyleRule.idl:
+        * css/WebKitCSSKeyframeRule.idl:
+        * css/WebKitCSSKeyframesRule.idl:
+        Added CustomMarkFunction IDL attribute.
+
 2010-11-23  Helder Correia  <helder at sencha.com>
 
         Reviewed by Ariya Hidayat.
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index f196449..5870d94 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -662,25 +662,28 @@ webcore_sources += \
 	WebCore/bindings/js/GCController.cpp \
 	WebCore/bindings/js/GCController.h \
 	WebCore/bindings/js/IDBBindingUtilities.h \
-	WebCore/bindings/js/JavaScriptCallFrame.cpp \
-	WebCore/bindings/js/JavaScriptCallFrame.h \
 	WebCore/bindings/js/JSAttrCustom.cpp \
 	WebCore/bindings/js/JSAudioConstructor.cpp \
 	WebCore/bindings/js/JSAudioConstructor.h \
 	WebCore/bindings/js/JSBinding.h \
+	WebCore/bindings/js/JSCDATASectionCustom.cpp \
+	WebCore/bindings/js/JSCSSFontFaceRuleCustom.cpp \
+	WebCore/bindings/js/JSCSSImportRuleCustom.cpp \
+	WebCore/bindings/js/JSCSSMediaRuleCustom.cpp \
+	WebCore/bindings/js/JSCSSPageRuleCustom.cpp \
+	WebCore/bindings/js/JSCSSRuleCustom.cpp \
+	WebCore/bindings/js/JSCSSRuleListCustom.cpp \
+	WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp \
+	WebCore/bindings/js/JSCSSStyleDeclarationCustom.h \
+	WebCore/bindings/js/JSCSSStyleRuleCustom.cpp \
+	WebCore/bindings/js/JSCSSValueCustom.cpp \
 	WebCore/bindings/js/JSCallbackData.cpp \
 	WebCore/bindings/js/JSCallbackData.h \
 	WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp \
 	WebCore/bindings/js/JSCanvasRenderingContextCustom.cpp \
-	WebCore/bindings/js/JSCDATASectionCustom.cpp \
 	WebCore/bindings/js/JSClipboardCustom.cpp \
 	WebCore/bindings/js/JSConsoleCustom.cpp \
 	WebCore/bindings/js/JSCoordinatesCustom.cpp \
-	WebCore/bindings/js/JSCSSRuleCustom.cpp \
-	WebCore/bindings/js/JSCSSRuleListCustom.cpp \
-	WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp \
-	WebCore/bindings/js/JSCSSStyleDeclarationCustom.h \
-	WebCore/bindings/js/JSCSSValueCustom.cpp \
 	WebCore/bindings/js/JSCustomPositionCallback.cpp \
 	WebCore/bindings/js/JSCustomPositionCallback.h \
 	WebCore/bindings/js/JSCustomPositionErrorCallback.cpp \
@@ -690,17 +693,6 @@ webcore_sources += \
 	WebCore/bindings/js/JSCustomVoidCallback.h \
 	WebCore/bindings/js/JSCustomXPathNSResolver.cpp \
 	WebCore/bindings/js/JSCustomXPathNSResolver.h \
-	WebCore/bindings/js/JSDataGridColumnListCustom.cpp \
-	WebCore/bindings/js/JSDataGridDataSource.cpp \
-	WebCore/bindings/js/JSDataGridDataSource.h \
-	WebCore/bindings/js/JSDebugWrapperSet.cpp \
-	WebCore/bindings/js/JSDebugWrapperSet.h \
-	WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp \
-	WebCore/bindings/js/JSDeviceMotionEventCustom.cpp \
-	WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp \
-	WebCore/bindings/js/JSDirectoryEntryCustom.cpp \
-	WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp \
-	WebCore/bindings/js/JSDocumentCustom.cpp \
 	WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp \
 	WebCore/bindings/js/JSDOMBinding.cpp \
 	WebCore/bindings/js/JSDOMBinding.h \
@@ -720,6 +712,17 @@ webcore_sources += \
 	WebCore/bindings/js/JSDOMWindowShell.h \
 	WebCore/bindings/js/JSDOMWrapper.cpp \
 	WebCore/bindings/js/JSDOMWrapper.h \
+	WebCore/bindings/js/JSDataGridColumnListCustom.cpp \
+	WebCore/bindings/js/JSDataGridDataSource.cpp \
+	WebCore/bindings/js/JSDataGridDataSource.h \
+	WebCore/bindings/js/JSDebugWrapperSet.cpp \
+	WebCore/bindings/js/JSDebugWrapperSet.h \
+	WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp \
+	WebCore/bindings/js/JSDeviceMotionEventCustom.cpp \
+	WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp \
+	WebCore/bindings/js/JSDirectoryEntryCustom.cpp \
+	WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp \
+	WebCore/bindings/js/JSDocumentCustom.cpp \
 	WebCore/bindings/js/JSElementCustom.cpp \
 	WebCore/bindings/js/JSEntryCustom.cpp \
 	WebCore/bindings/js/JSEntrySyncCustom.cpp \
@@ -733,8 +736,6 @@ webcore_sources += \
 	WebCore/bindings/js/JSExceptionBase.h \
 	WebCore/bindings/js/JSFileReaderCustom.cpp \
 	WebCore/bindings/js/JSGeolocationCustom.cpp \
-	WebCore/bindings/js/JSHistoryCustom.cpp \
-	WebCore/bindings/js/JSHistoryCustom.h \
 	WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp \
 	WebCore/bindings/js/JSHTMLAppletElementCustom.cpp \
 	WebCore/bindings/js/JSHTMLAppletElementCustom.h \
@@ -758,6 +759,8 @@ webcore_sources += \
 	WebCore/bindings/js/JSHTMLSelectElementCustom.cpp \
 	WebCore/bindings/js/JSHTMLSelectElementCustom.h \
 	WebCore/bindings/js/JSHTMLStyleElementCustom.cpp \
+	WebCore/bindings/js/JSHistoryCustom.cpp \
+	WebCore/bindings/js/JSHistoryCustom.h \
 	WebCore/bindings/js/JSImageConstructor.cpp \
 	WebCore/bindings/js/JSImageConstructor.h \
 	WebCore/bindings/js/JSImageDataCustom.cpp \
@@ -789,22 +792,24 @@ webcore_sources += \
 	WebCore/bindings/js/JSPluginElementFunctions.h \
 	WebCore/bindings/js/JSPopStateEventCustom.cpp \
 	WebCore/bindings/js/JSProcessingInstructionCustom.cpp \
-	WebCore/bindings/js/JSScriptProfileNodeCustom.cpp \
-	WebCore/bindings/js/JSSharedWorkerCustom.cpp \
 	WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp \
 	WebCore/bindings/js/JSSQLTransactionCustom.cpp \
 	WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp \
+	WebCore/bindings/js/JSSVGElementInstanceCustom.cpp \
+	WebCore/bindings/js/JSSVGLengthCustom.cpp \
+	WebCore/bindings/js/JSSVGPathSegCustom.cpp \
+	WebCore/bindings/js/JSScriptProfileNodeCustom.cpp \
+	WebCore/bindings/js/JSSharedWorkerCustom.cpp \
 	WebCore/bindings/js/JSStorageCustom.cpp \
 	WebCore/bindings/js/JSStorageCustom.h \
 	WebCore/bindings/js/JSStyleSheetCustom.cpp \
 	WebCore/bindings/js/JSStyleSheetListCustom.cpp \
-	WebCore/bindings/js/JSSVGElementInstanceCustom.cpp \
-	WebCore/bindings/js/JSSVGLengthCustom.cpp \
-	WebCore/bindings/js/JSSVGPathSegCustom.cpp \
 	WebCore/bindings/js/JSTextCustom.cpp \
 	WebCore/bindings/js/JSTouchCustom.cpp \
 	WebCore/bindings/js/JSTouchListCustom.cpp \
 	WebCore/bindings/js/JSTreeWalkerCustom.cpp \
+	WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
+	WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
 	WebCore/bindings/js/JSWebKitCSSMatrixCustom.cpp \
 	WebCore/bindings/js/JSWebKitPointCustom.cpp \
 	WebCore/bindings/js/JSWebSocketCustom.cpp \
@@ -817,6 +822,8 @@ webcore_sources += \
 	WebCore/bindings/js/JSXMLHttpRequestCustom.cpp \
 	WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp \
 	WebCore/bindings/js/JSXSLTProcessorCustom.cpp \
+	WebCore/bindings/js/JavaScriptCallFrame.cpp \
+	WebCore/bindings/js/JavaScriptCallFrame.h \
 	WebCore/bindings/js/ScheduledAction.cpp \
 	WebCore/bindings/js/ScheduledAction.h \
 	WebCore/bindings/js/ScriptCachedFrameData.cpp \
@@ -851,12 +858,12 @@ webcore_sources += \
 	WebCore/bindings/js/ScriptWrappable.h \
 	WebCore/bindings/js/SerializedScriptValue.cpp \
 	WebCore/bindings/js/SerializedScriptValue.h \
-	WebCore/bindings/js/specialization/JSBindingState.cpp \
-	WebCore/bindings/js/specialization/JSBindingState.h \
 	WebCore/bindings/js/StringSourceProvider.h \
 	WebCore/bindings/js/WebCoreJSClientData.h \
 	WebCore/bindings/js/WorkerScriptController.cpp \
 	WebCore/bindings/js/WorkerScriptController.h \
+	WebCore/bindings/js/specialization/JSBindingState.cpp \
+	WebCore/bindings/js/specialization/JSBindingState.h \
 	WebCore/bindings/ScriptControllerBase.cpp \
 	WebCore/bindings/ScriptControllerBase.h \
 	WebCore/bridge/Bridge.h \
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index d255129..705103b 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -551,10 +551,15 @@
             'bindings/js/JSClipboardCustom.cpp',
             'bindings/js/JSConsoleCustom.cpp',
             'bindings/js/JSCoordinatesCustom.cpp',
+            'bindings/js/JSCSSFontFaceRuleCustom.cpp',
+            'bindings/js/JSCSSImportRuleCustom.cpp',
+            'bindings/js/JSCSSMediaRuleCustom.cpp',
+            'bindings/js/JSCSSPageRuleCustom.cpp',
             'bindings/js/JSCSSRuleCustom.cpp',
             'bindings/js/JSCSSRuleListCustom.cpp',
             'bindings/js/JSCSSStyleDeclarationCustom.cpp',
             'bindings/js/JSCSSStyleDeclarationCustom.h',
+            'bindings/js/JSCSSStyleRuleCustom.cpp',
             'bindings/js/JSCSSValueCustom.cpp',
             'bindings/js/JSCustomPositionCallback.cpp',
             'bindings/js/JSCustomPositionCallback.h',
@@ -683,6 +688,8 @@
             'bindings/js/JSTouchCustom.cpp',
             'bindings/js/JSTouchListCustom.cpp',
             'bindings/js/JSTreeWalkerCustom.cpp',
+            'bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp',
+            'bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp',
             'bindings/js/JSWebKitCSSMatrixCustom.cpp',
             'bindings/js/JSWebKitPointCustom.cpp',
             'bindings/js/JSWebSocketCustom.cpp',
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 95a4e5b..a980293 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -478,50 +478,60 @@ v8 {
         bindings/v8/V8WorkerContextErrorHandler.cpp
 } else {
     SOURCES += \
-        bindings/js/GCController.cpp \
+        bindings/ScriptControllerBase.cpp \
         bindings/js/DOMObjectHashTableMap.cpp \
         bindings/js/DOMWrapperWorld.cpp \
-        bindings/js/JSCallbackData.cpp \
+        bindings/js/GCController.cpp \
         bindings/js/JSAttrCustom.cpp \
         bindings/js/JSCDATASectionCustom.cpp \
-        bindings/js/JSCanvasRenderingContextCustom.cpp \
-        bindings/js/JSCanvasRenderingContext2DCustom.cpp \
-        bindings/js/JSClipboardCustom.cpp \
-        bindings/js/JSConsoleCustom.cpp \
+        bindings/js/JSCSSFontFaceRuleCustom.cpp \
+        bindings/js/JSCSSImportRuleCustom.cpp \
+        bindings/js/JSCSSMediaRuleCustom.cpp \
+        bindings/js/JSCSSPageRuleCustom.cpp \
         bindings/js/JSCSSRuleCustom.cpp \
         bindings/js/JSCSSRuleListCustom.cpp \
         bindings/js/JSCSSStyleDeclarationCustom.cpp \
+        bindings/js/JSCSSStyleRuleCustom.cpp \
         bindings/js/JSCSSValueCustom.cpp \
+        bindings/js/JSCallbackData.cpp \
+        bindings/js/JSCanvasRenderingContext2DCustom.cpp \
+        bindings/js/JSCanvasRenderingContextCustom.cpp \
+        bindings/js/JSClipboardCustom.cpp \
+        bindings/js/JSConsoleCustom.cpp \
         bindings/js/JSCoordinatesCustom.cpp \
         bindings/js/JSCustomPositionCallback.cpp \
         bindings/js/JSCustomPositionErrorCallback.cpp \
         bindings/js/JSCustomVoidCallback.cpp \
         bindings/js/JSCustomXPathNSResolver.cpp \
-        bindings/js/JSDataGridColumnListCustom.cpp \
-        bindings/js/JSDataGridDataSource.cpp \
-        bindings/js/JSDebugWrapperSet.cpp \
-        bindings/js/JSDesktopNotificationsCustom.cpp \
-        bindings/js/JSDeviceMotionEventCustom.cpp \
-        bindings/js/JSDeviceOrientationEventCustom.cpp \
-        bindings/js/JSDocumentCustom.cpp \
+        bindings/js/JSDOMBinding.cpp \
         bindings/js/JSDOMFormDataCustom.cpp \
         bindings/js/JSDOMGlobalObject.cpp \
+        bindings/js/JSDOMMimeTypeArrayCustom.cpp \
+        bindings/js/JSDOMPluginArrayCustom.cpp \
+        bindings/js/JSDOMPluginCustom.cpp \
         bindings/js/JSDOMStringMapCustom.cpp \
         bindings/js/JSDOMWindowBase.cpp \
         bindings/js/JSDOMWindowCustom.cpp \
         bindings/js/JSDOMWindowShell.cpp \
         bindings/js/JSDOMWrapper.cpp \
+        bindings/js/JSDataGridColumnListCustom.cpp \
+        bindings/js/JSDataGridDataSource.cpp \
+        bindings/js/JSDebugWrapperSet.cpp \
+        bindings/js/JSDesktopNotificationsCustom.cpp \
+        bindings/js/JSDeviceMotionEventCustom.cpp \
+        bindings/js/JSDeviceOrientationEventCustom.cpp \
+        bindings/js/JSDocumentCustom.cpp \
         bindings/js/JSElementCustom.cpp \
         bindings/js/JSEventCustom.cpp \
+        bindings/js/JSEventListener.cpp \
         bindings/js/JSEventSourceCustom.cpp \
         bindings/js/JSEventTarget.cpp \
         bindings/js/JSExceptionBase.cpp \
         bindings/js/JSFileReaderCustom.cpp \
         bindings/js/JSGeolocationCustom.cpp \
-        bindings/js/JSHistoryCustom.cpp \
+        bindings/js/JSHTMLAllCollectionCustom.cpp \
         bindings/js/JSHTMLAppletElementCustom.cpp \
         bindings/js/JSHTMLCanvasElementCustom.cpp \
-        bindings/js/JSHTMLAllCollectionCustom.cpp \
         bindings/js/JSHTMLCollectionCustom.cpp \
         bindings/js/JSHTMLDataGridElementCustom.cpp \
         bindings/js/JSHTMLDocumentCustom.cpp \
@@ -537,11 +547,18 @@ v8 {
         bindings/js/JSHTMLOutputElementCustom.cpp \
         bindings/js/JSHTMLSelectElementCustom.cpp \
         bindings/js/JSHTMLStyleElementCustom.cpp \
+        bindings/js/JSHistoryCustom.cpp \
         bindings/js/JSImageConstructor.cpp \
         bindings/js/JSImageDataCustom.cpp \
         bindings/js/JSInjectedScriptHostCustom.cpp \
         bindings/js/JSInspectorFrontendHostCustom.cpp \
+        bindings/js/JSLazyEventListener.cpp \
         bindings/js/JSLocationCustom.cpp \
+        bindings/js/JSMainThreadExecState.cpp \
+        bindings/js/JSMessageChannelCustom.cpp \
+        bindings/js/JSMessageEventCustom.cpp \
+        bindings/js/JSMessagePortCustom.cpp \
+        bindings/js/JSMessagePortCustom.h \
         bindings/js/JSNamedNodeMapCustom.cpp \
         bindings/js/JSNavigatorCustom.cpp  \
         bindings/js/JSNodeCustom.cpp \
@@ -550,6 +567,9 @@ v8 {
         bindings/js/JSNodeIteratorCustom.cpp \
         bindings/js/JSNodeListCustom.cpp \
         bindings/js/JSOptionConstructor.cpp \
+        bindings/js/JSPluginElementFunctions.cpp \
+        bindings/js/JSPopStateEventCustom.cpp \
+        bindings/js/JSProcessingInstructionCustom.cpp \
         bindings/js/JSScriptProfileNodeCustom.cpp \
         bindings/js/JSStyleSheetCustom.cpp \
         bindings/js/JSStyleSheetListCustom.cpp \
@@ -557,25 +577,14 @@ v8 {
         bindings/js/JSTouchCustom.cpp \
         bindings/js/JSTouchListCustom.cpp \
         bindings/js/JSTreeWalkerCustom.cpp \
+        bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
+        bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
         bindings/js/JSWebKitCSSMatrixCustom.cpp \
         bindings/js/JSWebKitPointCustom.cpp \
+        bindings/js/JSWorkerContextErrorHandler.cpp \
         bindings/js/JSXMLHttpRequestCustom.cpp \
         bindings/js/JSXMLHttpRequestUploadCustom.cpp \
-        bindings/js/JSDOMPluginCustom.cpp \
-        bindings/js/JSDOMPluginArrayCustom.cpp \
-        bindings/js/JSMessageChannelCustom.cpp \
-        bindings/js/JSMessageEventCustom.cpp \
-        bindings/js/JSMessagePortCustom.cpp \
-        bindings/js/JSMessagePortCustom.h \
-        bindings/js/JSDOMMimeTypeArrayCustom.cpp \
-        bindings/js/JSDOMBinding.cpp \
-        bindings/js/JSEventListener.cpp \
-        bindings/js/JSLazyEventListener.cpp \
-        bindings/js/JSMainThreadExecState.cpp \
-        bindings/js/JSPluginElementFunctions.cpp \
-        bindings/js/JSPopStateEventCustom.cpp \
-        bindings/js/JSProcessingInstructionCustom.cpp \
-        bindings/js/JSWorkerContextErrorHandler.cpp \
+        bindings/js/ScheduledAction.cpp \
         bindings/js/ScriptCachedFrameData.cpp \
         bindings/js/ScriptCallStackFactory.cpp \
         bindings/js/ScriptController.cpp \
@@ -587,23 +596,21 @@ v8 {
         bindings/js/ScriptProfile.cpp \
         bindings/js/ScriptState.cpp \
         bindings/js/ScriptValue.cpp \
-        bindings/js/ScheduledAction.cpp \
         bindings/js/SerializedScriptValue.cpp \
         bindings/js/specialization/JSBindingState.cpp \
-        bindings/ScriptControllerBase.cpp \
         bridge/IdentifierRep.cpp \
         bridge/NP_jsobject.cpp \
-        bridge/npruntime.cpp \
-        bridge/runtime_array.cpp \
-        bridge/runtime_method.cpp \
-        bridge/runtime_object.cpp \
-        bridge/runtime_root.cpp \
         bridge/c/CRuntimeObject.cpp \
         bridge/c/c_class.cpp \
         bridge/c/c_instance.cpp \
         bridge/c/c_runtime.cpp \
         bridge/c/c_utility.cpp \
-        bridge/jsc/BridgeJSC.cpp
+        bridge/jsc/BridgeJSC.cpp \
+        bridge/npruntime.cpp \
+        bridge/runtime_array.cpp \
+        bridge/runtime_method.cpp \
+        bridge/runtime_object.cpp \
+        bridge/runtime_root.cpp
 }
 
 SOURCES += \
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index 3f8c1b1..85db6fd 100755
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -54770,6 +54770,214 @@
 					</FileConfiguration>
 				</File>
 				<File
+					RelativePath="..\bindings\js\JSCSSFontFaceRuleCustom.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_All|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_LTCG|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\bindings\js\JSCSSImportRuleCustom.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_All|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_LTCG|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\bindings\js\JSCSSMediaRuleCustom.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_All|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_LTCG|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\bindings\js\JSCSSPageRuleCustom.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_All|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_LTCG|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
 					RelativePath="..\bindings\js\JSCSSRuleCustom.cpp"
 					>
 					<FileConfiguration
@@ -54926,6 +55134,58 @@
 					</FileConfiguration>
 				</File>
 				<File
+					RelativePath="..\bindings\js\JSCSSStyleRuleCustom.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_All|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_LTCG|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
 					RelativePath="..\bindings\js\JSCSSValueCustom.cpp"
 					>
 					<FileConfiguration
@@ -60662,6 +60922,110 @@
 					</FileConfiguration>
 				</File>
 				<File
+					RelativePath="..\bindings\js\JSWebKitCSSKeyframeRuleCustom.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_All|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_LTCG|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\bindings\js\JSWebKitCSSKeyframesRuleCustom.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_Cairo_CFLite|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug_All|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release_LTCG|Win32"
+						ExcludedFromBuild="true"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
 					RelativePath="..\bindings\js\JSWebKitCSSMatrixCustom.cpp"
 					>
 					<FileConfiguration
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 43d3743..52b8a1e 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -5391,6 +5391,13 @@
 		E1AD14211295EA6B00ACA989 /* JSHTMLEmbedElementCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = E1AD14201295EA6B00ACA989 /* JSHTMLEmbedElementCustom.h */; };
 		E1AD14231295EA7F00ACA989 /* JSHTMLInputElementCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = E1AD14221295EA7F00ACA989 /* JSHTMLInputElementCustom.h */; };
 		E1AD14251295EA9500ACA989 /* JSHTMLObjectElementCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = E1AD14241295EA9500ACA989 /* JSHTMLObjectElementCustom.h */; };
+		E1AD147C1297307E00ACA989 /* JSCSSImportRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1AD147B1297307E00ACA989 /* JSCSSImportRuleCustom.cpp */; };
+		E1AD14911297337400ACA989 /* JSCSSFontFaceRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1AD14901297337400ACA989 /* JSCSSFontFaceRuleCustom.cpp */; };
+		E1AD14A31297345300ACA989 /* JSCSSMediaRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1AD14A21297345300ACA989 /* JSCSSMediaRuleCustom.cpp */; };
+		E1AD14B5129734CA00ACA989 /* JSWebKitCSSKeyframesRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1AD14B4129734CA00ACA989 /* JSWebKitCSSKeyframesRuleCustom.cpp */; };
+		E1AD14C51297354900ACA989 /* JSWebKitCSSKeyframeRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1AD14C41297354900ACA989 /* JSWebKitCSSKeyframeRuleCustom.cpp */; };
+		E1AD14CD129735A400ACA989 /* JSCSSPageRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1AD14CC129735A400ACA989 /* JSCSSPageRuleCustom.cpp */; };
+		E1AD14E81297377400ACA989 /* JSCSSStyleRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1AD14E71297377400ACA989 /* JSCSSStyleRuleCustom.cpp */; };
 		E1ADECBF0E76ACF1004A1A5E /* MessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = E1ADECBD0E76ACF1004A1A5E /* MessagePort.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		E1ADECC00E76ACF1004A1A5E /* MessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1ADECBE0E76ACF1004A1A5E /* MessagePort.cpp */; };
 		E1ADECCE0E76AD8B004A1A5E /* MessageChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = E1ADECCC0E76AD8B004A1A5E /* MessageChannel.h */; };
@@ -11452,6 +11459,13 @@
 		E1AD14201295EA6B00ACA989 /* JSHTMLEmbedElementCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLEmbedElementCustom.h; sourceTree = "<group>"; };
 		E1AD14221295EA7F00ACA989 /* JSHTMLInputElementCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLInputElementCustom.h; sourceTree = "<group>"; };
 		E1AD14241295EA9500ACA989 /* JSHTMLObjectElementCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLObjectElementCustom.h; sourceTree = "<group>"; };
+		E1AD147B1297307E00ACA989 /* JSCSSImportRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSImportRuleCustom.cpp; sourceTree = "<group>"; };
+		E1AD14901297337400ACA989 /* JSCSSFontFaceRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSFontFaceRuleCustom.cpp; sourceTree = "<group>"; };
+		E1AD14A21297345300ACA989 /* JSCSSMediaRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSMediaRuleCustom.cpp; sourceTree = "<group>"; };
+		E1AD14B4129734CA00ACA989 /* JSWebKitCSSKeyframesRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitCSSKeyframesRuleCustom.cpp; sourceTree = "<group>"; };
+		E1AD14C41297354900ACA989 /* JSWebKitCSSKeyframeRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitCSSKeyframeRuleCustom.cpp; sourceTree = "<group>"; };
+		E1AD14CC129735A400ACA989 /* JSCSSPageRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSPageRuleCustom.cpp; sourceTree = "<group>"; };
+		E1AD14E71297377400ACA989 /* JSCSSStyleRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSStyleRuleCustom.cpp; sourceTree = "<group>"; };
 		E1ADECBD0E76ACF1004A1A5E /* MessagePort.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MessagePort.h; sourceTree = "<group>"; };
 		E1ADECBE0E76ACF1004A1A5E /* MessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MessagePort.cpp; sourceTree = "<group>"; };
 		E1ADECC60E76AD1F004A1A5E /* MessagePort.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MessagePort.idl; sourceTree = "<group>"; };
@@ -17031,9 +17045,14 @@
 				BCA83E510D7CE205003421A8 /* JSClipboardCustom.cpp */,
 				C0DFC86F0DB6841A003EAE7C /* JSConsoleCustom.cpp */,
 				FE700DD00F92D81A008E2BFE /* JSCoordinatesCustom.cpp */,
+				E1AD14901297337400ACA989 /* JSCSSFontFaceRuleCustom.cpp */,
+				E1AD147B1297307E00ACA989 /* JSCSSImportRuleCustom.cpp */,
+				E1AD14A21297345300ACA989 /* JSCSSMediaRuleCustom.cpp */,
+				E1AD14CC129735A400ACA989 /* JSCSSPageRuleCustom.cpp */,
 				BC46C1ED0C0DDBDF0020CFC3 /* JSCSSRuleCustom.cpp */,
 				9392262E10321084006E7D5D /* JSCSSRuleListCustom.cpp */,
 				BC5825F20C0B89380053F1B5 /* JSCSSStyleDeclarationCustom.cpp */,
+				E1AD14E71297377400ACA989 /* JSCSSStyleRuleCustom.cpp */,
 				BC20FB7E0C0E8E6C00D1447F /* JSCSSValueCustom.cpp */,
 				BC77D1510FF19C730070887B /* JSDataGridColumnListCustom.cpp */,
 				4162A453101145E300DFF3ED /* JSDedicatedWorkerContextCustom.cpp */,
@@ -17122,6 +17141,8 @@
 				49EECF7610508D9C00099FAB /* JSUint32ArrayCustom.cpp */,
 				49EECF7510508D9C00099FAB /* JSUint8ArrayCustom.cpp */,
 				49EED14C1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp */,
+				E1AD14C41297354900ACA989 /* JSWebKitCSSKeyframeRuleCustom.cpp */,
+				E1AD14B4129734CA00ACA989 /* JSWebKitCSSKeyframesRuleCustom.cpp */,
 				BC275B7C11C5D23500C9206C /* JSWebKitCSSMatrixCustom.cpp */,
 				BC275B7811C5D1C300C9206C /* JSWebKitPointCustom.cpp */,
 				518A34C61026C8C9001B6896 /* JSWebSocketCustom.cpp */,
@@ -23888,6 +23909,13 @@
 				E1AD12D61295D0BD00ACA989 /* JSProcessingInstructionCustom.cpp in Sources */,
 				E1AD139B1295D92600ACA989 /* JSHTMLLinkElementCustom.cpp in Sources */,
 				E1AD139E1295D96100ACA989 /* JSHTMLStyleElementCustom.cpp in Sources */,
+				E1AD147C1297307E00ACA989 /* JSCSSImportRuleCustom.cpp in Sources */,
+				E1AD14911297337400ACA989 /* JSCSSFontFaceRuleCustom.cpp in Sources */,
+				E1AD14A31297345300ACA989 /* JSCSSMediaRuleCustom.cpp in Sources */,
+				E1AD14B5129734CA00ACA989 /* JSWebKitCSSKeyframesRuleCustom.cpp in Sources */,
+				E1AD14C51297354900ACA989 /* JSWebKitCSSKeyframeRuleCustom.cpp in Sources */,
+				E1AD14CD129735A400ACA989 /* JSCSSPageRuleCustom.cpp in Sources */,
+				E1AD14E81297377400ACA989 /* JSCSSStyleRuleCustom.cpp in Sources */,
 				D3A94A38122DABAC00A37BBC /* MediaQueryList.cpp in Sources */,
 				D3A94A46122DC40F00A37BBC /* JSMediaQueryList.cpp in Sources */,
 				D3AA10F3123A98AA0092152B /* MediaQueryMatcher.cpp in Sources */,
diff --git a/WebCore/bindings/js/JSBindingsAllInOne.cpp b/WebCore/bindings/js/JSBindingsAllInOne.cpp
index 0fa16c5..7fc5740 100644
--- a/WebCore/bindings/js/JSBindingsAllInOne.cpp
+++ b/WebCore/bindings/js/JSBindingsAllInOne.cpp
@@ -32,9 +32,14 @@
 #include "JSAudioConstructor.cpp"
 #include "JSBindingState.cpp"
 #include "JSCDATASectionCustom.cpp"
+#include "JSCSSFontFaceRuleCustom.cpp"
+#include "JSCSSImportRuleCustom.cpp"
+#include "JSCSSMediaRuleCustom.cpp"
+#include "JSCSSPageRuleCustom.cpp"
 #include "JSCSSRuleCustom.cpp"
 #include "JSCSSRuleListCustom.cpp"
 #include "JSCSSStyleDeclarationCustom.cpp"
+#include "JSCSSStyleRuleCustom.cpp"
 #include "JSCSSValueCustom.cpp"
 #include "JSCallbackData.cpp"
 #include "JSCanvasRenderingContext2DCustom.cpp"
@@ -51,6 +56,9 @@
 #include "JSDOMBinding.cpp"
 #include "JSDOMFormDataCustom.cpp"
 #include "JSDOMGlobalObject.cpp"
+#include "JSDOMMimeTypeArrayCustom.cpp"
+#include "JSDOMPluginArrayCustom.cpp"
+#include "JSDOMPluginCustom.cpp"
 #include "JSDOMStringMapCustom.cpp"
 #include "JSDOMWindowBase.cpp"
 #include "JSDOMWindowCustom.cpp"
@@ -100,7 +108,6 @@
 #include "JSMessageChannelCustom.cpp"
 #include "JSMessageEventCustom.cpp"
 #include "JSMessagePortCustom.cpp"
-#include "JSDOMMimeTypeArrayCustom.cpp"
 #include "JSNamedNodeMapCustom.cpp"
 #include "JSNavigatorCustom.cpp"
 #include "JSNodeCustom.cpp"
@@ -109,8 +116,6 @@
 #include "JSNodeIteratorCustom.cpp"
 #include "JSNodeListCustom.cpp"
 #include "JSOptionConstructor.cpp"
-#include "JSDOMPluginArrayCustom.cpp"
-#include "JSDOMPluginCustom.cpp"
 #include "JSPluginElementFunctions.cpp"
 #include "JSPopStateEventCustom.cpp"
 #include "JSProcessingInstructionCustom.cpp"
@@ -129,6 +134,8 @@
 #include "JSTouchCustom.cpp"
 #include "JSTouchListCustom.cpp"
 #include "JSTreeWalkerCustom.cpp"
+#include "JSWebKitCSSKeyframeRuleCustom.cpp"
+#include "JSWebKitCSSKeyframesRuleCustom.cpp"
 #include "JSWebKitCSSMatrixCustom.cpp"
 #include "JSWebKitPointCustom.cpp"
 #include "JSWebSocketCustom.cpp"
diff --git a/WebCore/bindings/js/JSCSSFontFaceRuleCustom.cpp b/WebCore/bindings/js/JSCSSFontFaceRuleCustom.cpp
new file mode 100644
index 0000000..a08c180
--- /dev/null
+++ b/WebCore/bindings/js/JSCSSFontFaceRuleCustom.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
+ */
+
+#include "config.h"
+#include "JSCSSFontFaceRule.h"
+
+#include "CSSFontFaceRule.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSCSSFontFaceRule::markChildren(MarkStack& markStack)
+{
+    Base::markChildren(markStack);
+
+    if (CSSMutableStyleDeclaration* style = static_cast<CSSFontFaceRule*>(impl())->style())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), style);
+}
+
+}
diff --git a/WebCore/bindings/js/JSCSSImportRuleCustom.cpp b/WebCore/bindings/js/JSCSSImportRuleCustom.cpp
new file mode 100644
index 0000000..3db517d
--- /dev/null
+++ b/WebCore/bindings/js/JSCSSImportRuleCustom.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
+ */
+
+#include "config.h"
+#include "JSCSSImportRule.h"
+
+#include "CSSImportRule.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSCSSImportRule::markChildren(MarkStack& markStack)
+{
+    Base::markChildren(markStack);
+
+    if (CSSStyleSheet* sheet = static_cast<CSSImportRule*>(impl())->styleSheet())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), sheet);
+
+    if (MediaList* media = static_cast<CSSImportRule*>(impl())->media())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), media);
+}
+
+}
diff --git a/WebCore/bindings/js/JSCSSMediaRuleCustom.cpp b/WebCore/bindings/js/JSCSSMediaRuleCustom.cpp
new file mode 100644
index 0000000..b5230fc
--- /dev/null
+++ b/WebCore/bindings/js/JSCSSMediaRuleCustom.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
+ */
+
+#include "config.h"
+#include "JSCSSMediaRule.h"
+
+#include "CSSMediaRule.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSCSSMediaRule::markChildren(MarkStack& markStack)
+{
+    Base::markChildren(markStack);
+
+    if (MediaList* media = static_cast<CSSMediaRule*>(impl())->media())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), media);
+
+    if (CSSRuleList* rules = static_cast<CSSMediaRule*>(impl())->cssRules())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), rules);
+}
+
+}
diff --git a/WebCore/bindings/js/JSCSSPageRuleCustom.cpp b/WebCore/bindings/js/JSCSSPageRuleCustom.cpp
new file mode 100644
index 0000000..c7ac04b
--- /dev/null
+++ b/WebCore/bindings/js/JSCSSPageRuleCustom.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
+ */
+
+#include "config.h"
+#include "JSCSSPageRule.h"
+
+#include "CSSPageRule.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSCSSPageRule::markChildren(MarkStack& markStack)
+{
+    Base::markChildren(markStack);
+
+    if (CSSMutableStyleDeclaration* style = static_cast<CSSPageRule*>(impl())->style())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), style);
+}
+
+}
diff --git a/WebCore/bindings/js/JSCSSStyleRuleCustom.cpp b/WebCore/bindings/js/JSCSSStyleRuleCustom.cpp
new file mode 100644
index 0000000..61745ec
--- /dev/null
+++ b/WebCore/bindings/js/JSCSSStyleRuleCustom.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
+ */
+
+#include "config.h"
+#include "JSCSSStyleRule.h"
+
+#include "CSSStyleRule.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSCSSStyleRule::markChildren(MarkStack& markStack)
+{
+    Base::markChildren(markStack);
+
+    if (CSSMutableStyleDeclaration* style = static_cast<CSSStyleRule*>(impl())->style())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), style);
+}
+
+}
diff --git a/WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp b/WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp
new file mode 100644
index 0000000..0eaebf1
--- /dev/null
+++ b/WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
+ */
+
+#include "config.h"
+#include "JSWebKitCSSKeyframeRule.h"
+
+#include "WebKitCSSKeyframeRule.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSWebKitCSSKeyframeRule::markChildren(MarkStack& markStack)
+{
+    Base::markChildren(markStack);
+
+    if (CSSMutableStyleDeclaration* style = static_cast<WebKitCSSKeyframeRule*>(impl())->style())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), style);
+}
+
+}
diff --git a/WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp b/WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp
new file mode 100644
index 0000000..b590b6a
--- /dev/null
+++ b/WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * 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 INC. AND ITS CONTRIBUTORS ``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 INC. OR ITS 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.
+ */
+
+#include "config.h"
+#include "JSWebKitCSSKeyframesRule.h"
+
+#include "WebKitCSSKeyframesRule.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSWebKitCSSKeyframesRule::markChildren(MarkStack& markStack)
+{
+    Base::markChildren(markStack);
+
+    if (CSSRuleList* rules = static_cast<WebKitCSSKeyframesRule*>(impl())->cssRules())
+        markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), rules);
+}
+
+}
diff --git a/WebCore/css/CSSFontFaceRule.idl b/WebCore/css/CSSFontFaceRule.idl
index bd38a61..b9355a1 100644
--- a/WebCore/css/CSSFontFaceRule.idl
+++ b/WebCore/css/CSSFontFaceRule.idl
@@ -21,7 +21,7 @@
 module css {
 
     // Introduced in DOM Level 2:
-    interface CSSFontFaceRule : CSSRule {
+    interface [CustomMarkFunction] CSSFontFaceRule : CSSRule {
         readonly attribute CSSStyleDeclaration style;
     };
 
diff --git a/WebCore/css/CSSImportRule.idl b/WebCore/css/CSSImportRule.idl
index 05654fe..5ffdee0 100644
--- a/WebCore/css/CSSImportRule.idl
+++ b/WebCore/css/CSSImportRule.idl
@@ -21,7 +21,7 @@
 module css {
 
     // Introduced in DOM Level 2:
-    interface CSSImportRule : CSSRule {
+    interface [CustomMarkFunction] CSSImportRule : CSSRule {
         readonly attribute [ConvertNullStringTo=Null] DOMString href;
         readonly attribute MediaList media;
         readonly attribute CSSStyleSheet styleSheet;
diff --git a/WebCore/css/CSSMediaRule.idl b/WebCore/css/CSSMediaRule.idl
index 4b75f49..a58020a 100644
--- a/WebCore/css/CSSMediaRule.idl
+++ b/WebCore/css/CSSMediaRule.idl
@@ -21,7 +21,7 @@
 module css {
 
     // Introduced in DOM Level 2:
-    interface CSSMediaRule : CSSRule {
+    interface [CustomMarkFunction] CSSMediaRule : CSSRule {
         readonly attribute MediaList media;
         readonly attribute CSSRuleList cssRules;
         
diff --git a/WebCore/css/CSSPageRule.idl b/WebCore/css/CSSPageRule.idl
index 989fd8d..709222b 100644
--- a/WebCore/css/CSSPageRule.idl
+++ b/WebCore/css/CSSPageRule.idl
@@ -21,7 +21,7 @@
 module css {
 
     // Introduced in DOM Level 2:
-    interface CSSPageRule : CSSRule {
+    interface [CustomMarkFunction] CSSPageRule : CSSRule {
 
                  attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString selectorText;
 
diff --git a/WebCore/css/CSSStyleRule.idl b/WebCore/css/CSSStyleRule.idl
index 4abfbfc..342aedd 100644
--- a/WebCore/css/CSSStyleRule.idl
+++ b/WebCore/css/CSSStyleRule.idl
@@ -21,7 +21,7 @@
 module css {
 
     // Introduced in DOM Level 2:
-    interface CSSStyleRule : CSSRule {
+    interface [CustomMarkFunction] CSSStyleRule : CSSRule {
 
                  attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString selectorText;
 
diff --git a/WebCore/css/WebKitCSSKeyframeRule.idl b/WebCore/css/WebKitCSSKeyframeRule.idl
index f6eac77..901b72a 100644
--- a/WebCore/css/WebKitCSSKeyframeRule.idl
+++ b/WebCore/css/WebKitCSSKeyframeRule.idl
@@ -29,7 +29,7 @@
 module css {
 
     // Introduced in DOM Level ?:
-    interface WebKitCSSKeyframeRule : CSSRule {
+    interface [CustomMarkFunction] WebKitCSSKeyframeRule : CSSRule {
 
         attribute DOMString keyText;
         readonly attribute CSSStyleDeclaration style;
diff --git a/WebCore/css/WebKitCSSKeyframesRule.idl b/WebCore/css/WebKitCSSKeyframesRule.idl
index c40aff9..f97a2fe 100644
--- a/WebCore/css/WebKitCSSKeyframesRule.idl
+++ b/WebCore/css/WebKitCSSKeyframesRule.idl
@@ -30,6 +30,7 @@ module css {
 
     // Introduced in DOM Level ?:
     interface [
+        CustomMarkFunction,
         HasIndexGetter
     ] WebKitCSSKeyframesRule : CSSRule {
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list