[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
zimmermann at webkit.org
zimmermann at webkit.org
Wed Dec 22 16:11:17 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 2b8142ace582b1ec09b58250be408d6fd9b978b9
Author: zimmermann at webkit.org <zimmermann at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Nov 19 13:58:10 2010 +0000
2010-11-19 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Andreas Kling.
Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
https://bugs.webkit.org/show_bug.cgi?id=49796
Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
* GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSSVGContextCache.h: Removed.
* bindings/js/JSSVGPODListCustom.h: Removed.
* bindings/js/JSSVGPODTypeWrapper.h: Removed.
* bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed.
* bindings/v8/V8Proxy.h: Ditto.
* bindings/v8/V8SVGPODTypeWrapper.h: Removed.
* svg/DeprecatedSVGAnimatedProperty.h: Removed.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
* svg/DeprecatedSVGAnimatedTemplate.h: Removed.
* svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
* svg/SVGList.h: Removed.
* svg/SVGListTraits.h: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ce15192..0ac1f13 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,30 @@
+2010-11-19 Nikolas Zimmermann <nzimmermann at rim.com>
+
+ Reviewed by Andreas Kling.
+
+ Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
+ https://bugs.webkit.org/show_bug.cgi?id=49796
+
+ Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
+
+ * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * bindings/js/JSSVGContextCache.h: Removed.
+ * bindings/js/JSSVGPODListCustom.h: Removed.
+ * bindings/js/JSSVGPODTypeWrapper.h: Removed.
+ * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed.
+ * bindings/v8/V8Proxy.h: Ditto.
+ * bindings/v8/V8SVGPODTypeWrapper.h: Removed.
+ * svg/DeprecatedSVGAnimatedProperty.h: Removed.
+ * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
+ * svg/DeprecatedSVGAnimatedTemplate.h: Removed.
+ * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
+ * svg/SVGList.h: Removed.
+ * svg/SVGListTraits.h: Removed.
+
2010-11-19 Alexander Pavlov <apavlov at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index 4a82421..e8eb386 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -794,12 +794,9 @@ webcore_sources += \
WebCore/bindings/js/JSStorageCustom.h \
WebCore/bindings/js/JSStyleSheetCustom.cpp \
WebCore/bindings/js/JSStyleSheetListCustom.cpp \
- WebCore/bindings/js/JSSVGContextCache.h \
WebCore/bindings/js/JSSVGElementInstanceCustom.cpp \
WebCore/bindings/js/JSSVGLengthCustom.cpp \
WebCore/bindings/js/JSSVGPathSegCustom.cpp \
- WebCore/bindings/js/JSSVGPODListCustom.h \
- WebCore/bindings/js/JSSVGPODTypeWrapper.h \
WebCore/bindings/js/JSTextCustom.cpp \
WebCore/bindings/js/JSTouchCustom.cpp \
WebCore/bindings/js/JSTouchListCustom.cpp \
@@ -3033,9 +3030,6 @@ webcore_sources += \
WebCore/svg/animation/SVGSMILElement.h \
WebCore/svg/ColorDistance.cpp \
WebCore/svg/ColorDistance.h \
- WebCore/svg/DeprecatedSVGAnimatedProperty.h \
- WebCore/svg/DeprecatedSVGAnimatedPropertyTraits.h \
- WebCore/svg/DeprecatedSVGAnimatedTemplate.h \
WebCore/svg/ElementTimeControl.h \
WebCore/svg/GradientAttributes.h \
WebCore/svg/graphics/filters/SVGFEImage.cpp \
@@ -3223,8 +3217,6 @@ webcore_sources += \
WebCore/svg/SVGLinearGradientElement.h \
WebCore/svg/SVGLineElement.cpp \
WebCore/svg/SVGLineElement.h \
- WebCore/svg/SVGList.h \
- WebCore/svg/SVGListTraits.h \
WebCore/svg/SVGLocatable.cpp \
WebCore/svg/SVGLocatable.h \
WebCore/svg/SVGMarkerElement.cpp \
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index 1feebfb..af782a6 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -674,13 +674,10 @@
'bindings/js/JSStorageCustom.h',
'bindings/js/JSStyleSheetCustom.cpp',
'bindings/js/JSStyleSheetListCustom.cpp',
- 'bindings/js/JSSVGContextCache.h',
'bindings/js/JSSVGElementInstanceCustom.cpp',
'bindings/js/JSSVGLengthCustom.cpp',
'bindings/js/JSSVGPathSegCustom.cpp',
'bindings/js/JSSVGPathSegListCustom.cpp',
- 'bindings/js/JSSVGPODListCustom.h',
- 'bindings/js/JSSVGPODTypeWrapper.h',
'bindings/js/JSTextCustom.cpp',
'bindings/js/JSTouchCustom.cpp',
'bindings/js/JSTouchListCustom.cpp',
@@ -946,7 +943,6 @@
'bindings/v8/V8NodeFilterCondition.h',
'bindings/v8/V8Proxy.cpp',
'bindings/v8/V8Proxy.h',
- 'bindings/v8/V8SVGPODTypeWrapper.h',
'bindings/v8/V8Utilities.cpp',
'bindings/v8/V8Utilities.h',
'bindings/v8/V8WorkerContextErrorHandler.cpp',
@@ -3986,9 +3982,6 @@
'svg/properties/SVGTransformListPropertyTearOff.h',
'svg/ColorDistance.cpp',
'svg/ColorDistance.h',
- 'svg/DeprecatedSVGAnimatedProperty.h',
- 'svg/DeprecatedSVGAnimatedPropertyTraits.h',
- 'svg/DeprecatedSVGAnimatedTemplate.h',
'svg/ElementTimeControl.h',
'svg/GradientAttributes.h',
'svg/LinearGradientAttributes.h',
@@ -4149,8 +4142,6 @@
'svg/SVGLineElement.h',
'svg/SVGLinearGradientElement.cpp',
'svg/SVGLinearGradientElement.h',
- 'svg/SVGList.h',
- 'svg/SVGListTraits.h',
'svg/SVGLocatable.cpp',
'svg/SVGLocatable.h',
'svg/SVGMPathElement.cpp',
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 2ec9144..6714893 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -1435,7 +1435,6 @@ v8 {
bindings/v8/V8NPObject.h \
bindings/v8/V8NPUtils.h \
bindings/v8/V8Proxy.h \
- bindings/v8/V8SVGPODTypeWrapper.h \
bindings/v8/V8Utilities.h \
bindings/v8/V8WorkerContextEventListener.h \
bindings/v8/WorkerContextExecutionProxy.h \
@@ -2351,9 +2350,6 @@ HEADERS += \
svg/animation/SMILTime.h \
svg/animation/SVGSMILElement.h \
svg/ColorDistance.h \
- svg/DeprecatedSVGAnimatedProperty.h \
- svg/DeprecatedSVGAnimatedPropertyTraits.h \
- svg/DeprecatedSVGAnimatedTemplate.h \
svg/graphics/filters/SVGFEImage.h \
svg/graphics/filters/SVGFilterBuilder.h \
svg/graphics/filters/SVGFilter.h \
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index b21942b..494a65d 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -60286,10 +60286,6 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\bindings\js\JSSVGContextCache.h"
- >
- </File>
- <File
RelativePath="..\bindings\js\JSSVGElementInstanceCustom.cpp"
>
<FileConfiguration
@@ -60498,14 +60494,6 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\bindings\js\JSSVGPODListCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSSVGPODTypeWrapper.h"
- >
- </File>
- <File
RelativePath="..\bindings\js\JSTextCustom.cpp"
>
<FileConfiguration
@@ -62399,14 +62387,6 @@
>
</File>
<File
- RelativePath="..\svg\SVGList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGListTraits.h"
- >
- </File>
- <File
RelativePath="..\svg\SVGLocatable.h"
>
</File>
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index c29b41d..c3266a1 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -83,9 +83,6 @@
0818AEE20EDB86BC00647B66 /* WMLEventHandlingElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0818AEE00EDB86BC00647B66 /* WMLEventHandlingElement.cpp */; };
0818AEE30EDB86BC00647B66 /* WMLEventHandlingElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 0818AEE10EDB86BC00647B66 /* WMLEventHandlingElement.h */; };
081AA8DA1111237E002AB06E /* SVGElementRareData.h in Headers */ = {isa = PBXBuildFile; fileRef = 081AA8D91111237E002AB06E /* SVGElementRareData.h */; };
- 081CDFB8126ECFDB00D215CA /* DeprecatedSVGAnimatedProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 081CDFB5126ECFDB00D215CA /* DeprecatedSVGAnimatedProperty.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 081CDFB9126ECFDB00D215CA /* DeprecatedSVGAnimatedPropertyTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = 081CDFB6126ECFDB00D215CA /* DeprecatedSVGAnimatedPropertyTraits.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 081CDFBA126ECFDB00D215CA /* DeprecatedSVGAnimatedTemplate.h in Headers */ = {isa = PBXBuildFile; fileRef = 081CDFB7126ECFDB00D215CA /* DeprecatedSVGAnimatedTemplate.h */; settings = {ATTRIBUTES = (Private, ); }; };
081CDFBF126ECFE800D215CA /* SVGAnimatedPropertySynchronizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 081CDFBE126ECFE800D215CA /* SVGAnimatedPropertySynchronizer.h */; settings = {ATTRIBUTES = (Private, ); }; };
081D81310EE0E74D00D73689 /* WMLTimerElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 081D812F0EE0E74D00D73689 /* WMLTimerElement.cpp */; };
081D81320EE0E74D00D73689 /* WMLTimerElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 081D81300EE0E74D00D73689 /* WMLTimerElement.h */; };
@@ -98,7 +95,6 @@
0823D159127AD6AC000EBC95 /* SVGAnimatedInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 0823D158127AD6AC000EBC95 /* SVGAnimatedInteger.h */; settings = {ATTRIBUTES = (Private, ); }; };
08250939128BD4D800E2ED8E /* SVGAnimatedTransformList.h in Headers */ = {isa = PBXBuildFile; fileRef = 08250938128BD4D800E2ED8E /* SVGAnimatedTransformList.h */; settings = {ATTRIBUTES = (Private, ); }; };
082DE42D1292621600D923DF /* SVGPathSegWithContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 082DE42C1292621600D923DF /* SVGPathSegWithContext.h */; };
- 082FCAC4110927CE00CC4821 /* JSSVGContextCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 082FCAC3110927CE00CC4821 /* JSSVGContextCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
083192AA112B43050083C3B9 /* RenderSVGResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 083192A7112B43050083C3B9 /* RenderSVGResource.h */; };
083192AB112B43050083C3B9 /* RenderSVGResourceMasker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 083192A8112B43050083C3B9 /* RenderSVGResourceMasker.cpp */; };
083192AC112B43050083C3B9 /* RenderSVGResourceMasker.h in Headers */ = {isa = PBXBuildFile; fileRef = 083192A9112B43050083C3B9 /* RenderSVGResourceMasker.h */; };
@@ -169,7 +165,6 @@
08744BAA0EDB7D86004C9E63 /* WMLOnEventElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08744BA90EDB7D86004C9E63 /* WMLOnEventElement.cpp */; };
08744BAE0EDB7D92004C9E63 /* WMLOnEventElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 08744BAD0EDB7D92004C9E63 /* WMLOnEventElement.h */; };
087B84961272CEC800A14417 /* SVGAnimatedAngle.h in Headers */ = {isa = PBXBuildFile; fileRef = 087B84951272CEC700A14417 /* SVGAnimatedAngle.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 087D97BF10FB8D7700C00874 /* JSSVGPODListCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = 087D97BE10FB8D7700C00874 /* JSSVGPODListCustom.h */; };
087FFA0F0EFF3ED3009DBD88 /* WMLInsertedLegendElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 087FFA0D0EFF3ED3009DBD88 /* WMLInsertedLegendElement.cpp */; };
087FFA100EFF3ED3009DBD88 /* WMLInsertedLegendElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 087FFA0E0EFF3ED3009DBD88 /* WMLInsertedLegendElement.h */; };
08807B760ED709AB003F6975 /* WMLGoElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08807B6A0ED709AB003F6975 /* WMLGoElement.cpp */; };
@@ -3966,7 +3961,6 @@
B0149E8011A4B21500196A7B /* ImageResizerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = B0149E7C11A4B21500196A7B /* ImageResizerThread.h */; };
B20111070AB7740500DB0E68 /* JSSVGAElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B20111050AB7740500DB0E68 /* JSSVGAElement.cpp */; };
B20111080AB7740500DB0E68 /* JSSVGAElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B20111060AB7740500DB0E68 /* JSSVGAElement.h */; };
- B21127A60B3186770009BE53 /* JSSVGPODTypeWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = B21127A50B3186770009BE53 /* JSSVGPODTypeWrapper.h */; };
B22279620D00BF220071B782 /* ColorDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */; };
B22279630D00BF220071B782 /* ColorDistance.h in Headers */ = {isa = PBXBuildFile; fileRef = B22277CC0D00BF1F0071B782 /* ColorDistance.h */; };
B22279640D00BF220071B782 /* GradientAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = B22277CD0D00BF1F0071B782 /* GradientAttributes.h */; };
@@ -4094,8 +4088,6 @@
B2227A390D00BF220071B782 /* SVGLinearGradientElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278A30D00BF200071B782 /* SVGLinearGradientElement.h */; };
B2227A3B0D00BF220071B782 /* SVGLineElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22278A50D00BF200071B782 /* SVGLineElement.cpp */; };
B2227A3C0D00BF220071B782 /* SVGLineElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278A60D00BF200071B782 /* SVGLineElement.h */; };
- B2227A3E0D00BF220071B782 /* SVGList.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278A80D00BF200071B782 /* SVGList.h */; settings = {ATTRIBUTES = (Private, ); }; };
- B2227A3F0D00BF220071B782 /* SVGListTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278A90D00BF200071B782 /* SVGListTraits.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2227A400D00BF220071B782 /* SVGLocatable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22278AA0D00BF200071B782 /* SVGLocatable.cpp */; };
B2227A410D00BF220071B782 /* SVGLocatable.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278AB0D00BF200071B782 /* SVGLocatable.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2227A430D00BF220071B782 /* SVGMarkerElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22278AD0D00BF200071B782 /* SVGMarkerElement.cpp */; };
@@ -6122,9 +6114,6 @@
0818AEE00EDB86BC00647B66 /* WMLEventHandlingElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLEventHandlingElement.cpp; sourceTree = "<group>"; };
0818AEE10EDB86BC00647B66 /* WMLEventHandlingElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLEventHandlingElement.h; sourceTree = "<group>"; };
081AA8D91111237E002AB06E /* SVGElementRareData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGElementRareData.h; sourceTree = "<group>"; };
- 081CDFB5126ECFDB00D215CA /* DeprecatedSVGAnimatedProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeprecatedSVGAnimatedProperty.h; sourceTree = "<group>"; };
- 081CDFB6126ECFDB00D215CA /* DeprecatedSVGAnimatedPropertyTraits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeprecatedSVGAnimatedPropertyTraits.h; sourceTree = "<group>"; };
- 081CDFB7126ECFDB00D215CA /* DeprecatedSVGAnimatedTemplate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeprecatedSVGAnimatedTemplate.h; sourceTree = "<group>"; };
081CDFBE126ECFE800D215CA /* SVGAnimatedPropertySynchronizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedPropertySynchronizer.h; sourceTree = "<group>"; };
081D812F0EE0E74D00D73689 /* WMLTimerElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLTimerElement.cpp; sourceTree = "<group>"; };
081D81300EE0E74D00D73689 /* WMLTimerElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLTimerElement.h; sourceTree = "<group>"; };
@@ -6137,7 +6126,6 @@
0823D158127AD6AC000EBC95 /* SVGAnimatedInteger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedInteger.h; sourceTree = "<group>"; };
08250938128BD4D800E2ED8E /* SVGAnimatedTransformList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedTransformList.h; sourceTree = "<group>"; };
082DE42C1292621600D923DF /* SVGPathSegWithContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegWithContext.h; sourceTree = "<group>"; };
- 082FCAC3110927CE00CC4821 /* JSSVGContextCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSVGContextCache.h; sourceTree = "<group>"; };
083192A7112B43050083C3B9 /* RenderSVGResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSVGResource.h; sourceTree = "<group>"; };
083192A8112B43050083C3B9 /* RenderSVGResourceMasker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGResourceMasker.cpp; sourceTree = "<group>"; };
083192A9112B43050083C3B9 /* RenderSVGResourceMasker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSVGResourceMasker.h; sourceTree = "<group>"; };
@@ -6206,7 +6194,6 @@
08744BA90EDB7D86004C9E63 /* WMLOnEventElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLOnEventElement.cpp; sourceTree = "<group>"; };
08744BAD0EDB7D92004C9E63 /* WMLOnEventElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLOnEventElement.h; sourceTree = "<group>"; };
087B84951272CEC700A14417 /* SVGAnimatedAngle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedAngle.h; sourceTree = "<group>"; };
- 087D97BE10FB8D7700C00874 /* JSSVGPODListCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSVGPODListCustom.h; sourceTree = "<group>"; };
087FFA0D0EFF3ED3009DBD88 /* WMLInsertedLegendElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLInsertedLegendElement.cpp; sourceTree = "<group>"; };
087FFA0E0EFF3ED3009DBD88 /* WMLInsertedLegendElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLInsertedLegendElement.h; sourceTree = "<group>"; };
08807B6A0ED709AB003F6975 /* WMLGoElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLGoElement.cpp; sourceTree = "<group>"; };
@@ -9817,7 +9804,6 @@
B0149E7C11A4B21500196A7B /* ImageResizerThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageResizerThread.h; sourceTree = "<group>"; };
B20111050AB7740500DB0E68 /* JSSVGAElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGAElement.cpp; sourceTree = "<group>"; };
B20111060AB7740500DB0E68 /* JSSVGAElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGAElement.h; sourceTree = "<group>"; };
- B21127A50B3186770009BE53 /* JSSVGPODTypeWrapper.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGPODTypeWrapper.h; sourceTree = "<group>"; };
B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ColorDistance.cpp; sourceTree = "<group>"; };
B22277CC0D00BF1F0071B782 /* ColorDistance.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ColorDistance.h; sourceTree = "<group>"; };
B22277CD0D00BF1F0071B782 /* GradientAttributes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GradientAttributes.h; sourceTree = "<group>"; };
@@ -10017,8 +10003,6 @@
B22278A50D00BF200071B782 /* SVGLineElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGLineElement.cpp; sourceTree = "<group>"; };
B22278A60D00BF200071B782 /* SVGLineElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGLineElement.h; sourceTree = "<group>"; };
B22278A70D00BF200071B782 /* SVGLineElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGLineElement.idl; sourceTree = "<group>"; };
- B22278A80D00BF200071B782 /* SVGList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGList.h; sourceTree = "<group>"; };
- B22278A90D00BF200071B782 /* SVGListTraits.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGListTraits.h; sourceTree = "<group>"; };
B22278AA0D00BF200071B782 /* SVGLocatable.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGLocatable.cpp; sourceTree = "<group>"; };
B22278AB0D00BF200071B782 /* SVGLocatable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGLocatable.h; sourceTree = "<group>"; };
B22278AC0D00BF200071B782 /* SVGLocatable.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGLocatable.idl; sourceTree = "<group>"; };
@@ -16069,9 +16053,6 @@
081CDFBD126ECFE800D215CA /* properties */,
B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */,
B22277CC0D00BF1F0071B782 /* ColorDistance.h */,
- 081CDFB5126ECFDB00D215CA /* DeprecatedSVGAnimatedProperty.h */,
- 081CDFB6126ECFDB00D215CA /* DeprecatedSVGAnimatedPropertyTraits.h */,
- 081CDFB7126ECFDB00D215CA /* DeprecatedSVGAnimatedTemplate.h */,
E415F1830D9A1A830033CE97 /* ElementTimeControl.h */,
E415F10C0D9A05870033CE97 /* ElementTimeControl.idl */,
B22277CD0D00BF1F0071B782 /* GradientAttributes.h */,
@@ -16310,8 +16291,6 @@
B22278A50D00BF200071B782 /* SVGLineElement.cpp */,
B22278A60D00BF200071B782 /* SVGLineElement.h */,
B22278A70D00BF200071B782 /* SVGLineElement.idl */,
- B22278A80D00BF200071B782 /* SVGList.h */,
- B22278A90D00BF200071B782 /* SVGListTraits.h */,
B22278AA0D00BF200071B782 /* SVGLocatable.cpp */,
B22278AB0D00BF200071B782 /* SVGLocatable.h */,
B22278AC0D00BF200071B782 /* SVGLocatable.idl */,
@@ -16921,7 +16900,6 @@
93B70D4F09EB0C7C009D8468 /* JSPluginElementFunctions.cpp */,
93B70D5009EB0C7C009D8468 /* JSPluginElementFunctions.h */,
14CD8D81106B529000A46D23 /* JSSharedWorkerCustom.cpp */,
- B21127A50B3186770009BE53 /* JSSVGPODTypeWrapper.h */,
E1C36D320EB0A094007410BC /* JSWorkerContextBase.cpp */,
E1C36D330EB0A094007410BC /* JSWorkerContextBase.h */,
F3D461461161D53200CA0D09 /* JSWorkerContextErrorHandler.cpp */,
@@ -17109,11 +17087,9 @@
51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */,
BC98A27C0C0C9950004BEBF7 /* JSStyleSheetCustom.cpp */,
A84EBD770CB8C89200079609 /* JSStyleSheetListCustom.cpp */,
- 082FCAC3110927CE00CC4821 /* JSSVGContextCache.h */,
08A48A6D0E86CF6D00E225DD /* JSSVGElementInstanceCustom.cpp */,
08E4FE450E2BD41400F4CAE0 /* JSSVGLengthCustom.cpp */,
B2C96D8C0B3AF2B7005E80EC /* JSSVGPathSegCustom.cpp */,
- 087D97BE10FB8D7700C00874 /* JSSVGPODListCustom.h */,
1A2C40AA0DEB55AA005AF19E /* JSTextCustom.cpp */,
516BB7920CE91E6800512F79 /* JSTreeWalkerCustom.cpp */,
49EECF7710508D9C00099FAB /* JSUint16ArrayCustom.cpp */,
@@ -18722,9 +18698,6 @@
93309DE1099E64920056E581 /* DeleteSelectionCommand.h in Headers */,
93F1998208245E59001E9ABC /* DeprecatedPtrList.h in Headers */,
93F1996D08245E59001E9ABC /* DeprecatedPtrListImpl.h in Headers */,
- 081CDFB8126ECFDB00D215CA /* DeprecatedSVGAnimatedProperty.h in Headers */,
- 081CDFB9126ECFDB00D215CA /* DeprecatedSVGAnimatedPropertyTraits.h in Headers */,
- 081CDFBA126ECFDB00D215CA /* DeprecatedSVGAnimatedTemplate.h in Headers */,
31FB1A57120A5D0600DC02A0 /* DeviceMotionClient.h in Headers */,
31FB1A59120A5D0600DC02A0 /* DeviceMotionController.h in Headers */,
31FB1A5B120A5D0600DC02A0 /* DeviceMotionData.h in Headers */,
@@ -20200,7 +20173,6 @@
B2FA3D5B0AB75A6F000E5AC4 /* JSSVGClipPathElement.h in Headers */,
B2FA3D5D0AB75A6F000E5AC4 /* JSSVGColor.h in Headers */,
B2FA3D5F0AB75A6F000E5AC4 /* JSSVGComponentTransferFunctionElement.h in Headers */,
- 082FCAC4110927CE00CC4821 /* JSSVGContextCache.h in Headers */,
B2FA3D610AB75A6F000E5AC4 /* JSSVGCursorElement.h in Headers */,
B2FA3D630AB75A6F000E5AC4 /* JSSVGDefsElement.h in Headers */,
B2FA3D650AB75A6F000E5AC4 /* JSSVGDescElement.h in Headers */,
@@ -20283,8 +20255,6 @@
B2FA3DDD0AB75A6F000E5AC4 /* JSSVGPathSegMovetoAbs.h in Headers */,
B2FA3DDF0AB75A6F000E5AC4 /* JSSVGPathSegMovetoRel.h in Headers */,
B2FA3DE10AB75A6F000E5AC4 /* JSSVGPatternElement.h in Headers */,
- 087D97BF10FB8D7700C00874 /* JSSVGPODListCustom.h in Headers */,
- B21127A60B3186770009BE53 /* JSSVGPODTypeWrapper.h in Headers */,
8542A7950AE5C94100DF58DF /* JSSVGPoint.h in Headers */,
B2FA3DE30AB75A6F000E5AC4 /* JSSVGPointList.h in Headers */,
B2FA3DE60AB75A6F000E5AC4 /* JSSVGPolygonElement.h in Headers */,
@@ -20969,10 +20939,8 @@
B2227A360D00BF220071B782 /* SVGLengthList.h in Headers */,
B2227A390D00BF220071B782 /* SVGLinearGradientElement.h in Headers */,
B2227A3C0D00BF220071B782 /* SVGLineElement.h in Headers */,
- B2227A3E0D00BF220071B782 /* SVGList.h in Headers */,
0810764412828556007C63BA /* SVGListProperty.h in Headers */,
088A0E09126EF1DB00978F7A /* SVGListPropertyTearOff.h in Headers */,
- B2227A3F0D00BF220071B782 /* SVGListTraits.h in Headers */,
B2227A410D00BF220071B782 /* SVGLocatable.h in Headers */,
08385FF610F0186000BFE07B /* SVGMarkerData.h in Headers */,
B2227A440D00BF220071B782 /* SVGMarkerElement.h in Headers */,
diff --git a/WebCore/bindings/js/JSSVGContextCache.h b/WebCore/bindings/js/JSSVGContextCache.h
deleted file mode 100644
index 75ed324..0000000
--- a/WebCore/bindings/js/JSSVGContextCache.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- Copyright (C) Research In Motion Limited 2009-2010. All rights reserved.
-
- 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., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef JSSVGContextCache_h
-#define JSSVGContextCache_h
-
-#if ENABLE(SVG)
-#include "SVGElement.h"
-#include <wtf/StdLibExtras.h>
-
-namespace WebCore {
-
-class DOMObject;
-
-class JSSVGContextCache : public Noncopyable {
-public:
- typedef HashMap<DOMObject*, SVGElement*> WrapperMap;
-
- static WrapperMap& wrapperMap()
- {
- DEFINE_STATIC_LOCAL(WrapperMap, s_wrapperMap, ());
- return s_wrapperMap;
- }
-
- static void addWrapper(DOMObject* wrapper, SVGElement* context)
- {
- ASSERT(wrapper);
- ASSERT(context);
-
- pair<WrapperMap::iterator, bool> result = wrapperMap().add(wrapper, context);
- if (result.second) {
- WrapperMap::iterator& it = result.first;
- ASSERT_UNUSED(it, it->second == context);
- }
- }
-
- static void forgetWrapper(DOMObject* wrapper)
- {
- ASSERT(wrapper);
-
- WrapperMap& map = wrapperMap();
- WrapperMap::iterator it = map.find(wrapper);
- if (it == map.end())
- return;
-
- map.remove(it);
- }
-
- static void propagateSVGDOMChange(DOMObject* wrapper, const QualifiedName& attributeName)
- {
- WrapperMap& map = wrapperMap();
- WrapperMap::iterator it = map.find(wrapper);
- if (it == map.end())
- return;
-
- SVGElement* context = it->second;
- ASSERT(context);
-
- context->svgAttributeChanged(attributeName);
- }
-
- static SVGElement* svgContextForDOMObject(DOMObject* wrapper)
- {
- ASSERT(wrapper);
-
- WrapperMap& map = wrapperMap();
- WrapperMap::iterator it = map.find(wrapper);
- if (it == map.end())
- return 0;
-
- SVGElement* context = it->second;
- ASSERT(context);
- return context;
- }
-
-};
-
-}
-
-#endif
-#endif
diff --git a/WebCore/bindings/js/JSSVGPODListCustom.h b/WebCore/bindings/js/JSSVGPODListCustom.h
deleted file mode 100644
index c2af93f..0000000
--- a/WebCore/bindings/js/JSSVGPODListCustom.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (C) Research In Motion Limited 2010. All rights reserved.
- * Copyright (C) 2007, 2008 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2008 Apple Inc. All rights reserved.
- *
- * 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., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef JSSVGPODListCustom_h
-#define JSSVGPODListCustom_h
-
-#include "JSSVGContextCache.h"
-#include "JSSVGPODTypeWrapper.h"
-#include "SVGList.h"
-
-namespace WebCore {
-
-namespace JSSVGPODListCustom {
-
-// Helper structure only containing public typedefs, as C++ does not allow templatized typedefs
-template<typename PODType>
-struct JSSVGPODListTraits {
- typedef SVGPODListItem<PODType> PODListItem;
- typedef SVGList<RefPtr<PODListItem> > PODList;
- typedef PODType (*ConversionCallback)(JSC::JSValue);
-};
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue finishGetter(JSC::ExecState* exec, ExceptionCode& ec, JSPODListType* wrapper,
- PassRefPtr<typename JSSVGPODListTraits<PODType>::PODListItem> item)
-{
- if (ec) {
- setDOMException(exec, ec);
- return JSC::jsUndefined();
- }
-
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
-
- SVGElement* context = JSSVGContextCache::svgContextForDOMObject(wrapper);
- return toJS(exec, wrapper->globalObject(),
- JSSVGPODTypeWrapperCreatorForList<PODType>::create(item.get(), listImp->associatedAttributeName()).get(), context);
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue finishSetter(JSC::ExecState* exec, ExceptionCode& ec, JSPODListType* wrapper,
- PassRefPtr<typename JSSVGPODListTraits<PODType>::PODListItem> item)
-{
- if (ec) {
- setDOMException(exec, ec);
- return JSC::jsUndefined();
- }
-
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
-
- const QualifiedName& attributeName = listImp->associatedAttributeName();
- JSSVGContextCache::propagateSVGDOMChange(wrapper, attributeName);
-
- SVGElement* context = JSSVGContextCache::svgContextForDOMObject(wrapper);
- return toJS(exec, wrapper->globalObject(),
- JSSVGPODTypeWrapperCreatorForList<PODType>::create(item.get(), attributeName).get(), context);
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue finishSetterReadOnlyResult(JSC::ExecState* exec, ExceptionCode& ec, JSPODListType* wrapper,
- PassRefPtr<typename JSSVGPODListTraits<PODType>::PODListItem> item)
-{
- if (ec) {
- setDOMException(exec, ec);
- return JSC::jsUndefined();
- }
-
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- JSSVGContextCache::propagateSVGDOMChange(wrapper, listImp->associatedAttributeName());
- return toJS(exec, wrapper->globalObject(),
- JSSVGStaticPODTypeWrapper<PODType>::create(*item).get(), 0 /* no context on purpose */);
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue clear(JSPODListType* wrapper, JSC::ExecState* exec,
- typename JSSVGPODListTraits<PODType>::ConversionCallback)
-{
- ExceptionCode ec = 0;
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- listImp->clear(ec);
-
- if (ec)
- setDOMException(exec, ec);
- else
- JSSVGContextCache::propagateSVGDOMChange(wrapper, listImp->associatedAttributeName());
-
- return JSC::jsUndefined();
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue initialize(JSPODListType* wrapper, JSC::ExecState* exec,
- typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
-{
- ExceptionCode ec = 0;
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->initialize(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), ec));
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue getItem(JSPODListType* wrapper, JSC::ExecState* exec,
- typename JSSVGPODListTraits<PODType>::ConversionCallback)
-{
- bool indexOk = false;
- unsigned index = finiteInt32Value(exec->argument(0), exec, indexOk);
- if (!indexOk) {
- setDOMException(exec, TYPE_MISMATCH_ERR);
- return JSC::jsUndefined();
- }
-
- ExceptionCode ec = 0;
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- return finishGetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->getItem(index, ec));
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue insertItemBefore(JSPODListType* wrapper, JSC::ExecState* exec,
- typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
-{
- bool indexOk = false;
- unsigned index = finiteInt32Value(exec->argument(1), exec, indexOk);
- if (!indexOk) {
- setDOMException(exec, TYPE_MISMATCH_ERR);
- return JSC::jsUndefined();
- }
-
- ExceptionCode ec = 0;
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->insertItemBefore(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), index, ec));
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue replaceItem(JSPODListType* wrapper, JSC::ExecState* exec,
- typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
-{
- bool indexOk = false;
- unsigned index = finiteInt32Value(exec->argument(1), exec, indexOk);
- if (!indexOk) {
- setDOMException(exec, TYPE_MISMATCH_ERR);
- return JSC::jsUndefined();
- }
-
- ExceptionCode ec = 0;
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->replaceItem(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), index, ec));
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue removeItem(JSPODListType* wrapper, JSC::ExecState* exec,
- typename JSSVGPODListTraits<PODType>::ConversionCallback)
-{
- bool indexOk = false;
- unsigned index = finiteInt32Value(exec->argument(0), exec, indexOk);
- if (!indexOk) {
- setDOMException(exec, TYPE_MISMATCH_ERR);
- return JSC::jsUndefined();
- }
-
- ExceptionCode ec = 0;
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- return finishSetterReadOnlyResult<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->removeItem(index, ec));
-}
-
-template<typename JSPODListType, typename PODType>
-static JSC::JSValue appendItem(JSPODListType* wrapper, JSC::ExecState* exec,
- typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
-{
- ExceptionCode ec = 0;
- typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
- return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->appendItem(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), ec));
-}
-
-}
-
-}
-
-#endif
diff --git a/WebCore/bindings/js/JSSVGPODTypeWrapper.h b/WebCore/bindings/js/JSSVGPODTypeWrapper.h
deleted file mode 100644
index 2329365..0000000
--- a/WebCore/bindings/js/JSSVGPODTypeWrapper.h
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- * Copyright (C) 2006, 2008 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2008 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 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.
- */
-
-#ifndef JSSVGPODTypeWrapper_h
-#define JSSVGPODTypeWrapper_h
-
-#if ENABLE(SVG)
-#include "JSSVGContextCache.h"
-#include "SVGElement.h"
-#include <wtf/StdLibExtras.h>
-
-namespace WebCore {
-
-class DOMObject;
-
-template<typename PODType>
-class JSSVGPODTypeWrapper : public RefCounted<JSSVGPODTypeWrapper<PODType> > {
-public:
- virtual ~JSSVGPODTypeWrapper() { }
-
- virtual operator PODType() = 0;
- virtual void commitChange(PODType, DOMObject*) = 0;
-};
-
-// This file contains JS wrapper objects for SVG datatypes, that are passed around by value
-// in WebCore/svg (aka. 'POD types'). For instance SVGMatrix is mapped to AffineTransform, and
-// passed around as const reference. SVG DOM demands these objects to be "live", changes to any
-// of the writable attributes of SVGMatrix need to be reflected in the object which exposed the
-// SVGMatrix object (i.e. 'someElement.transform.matrix.a = 50.0', in that case 'SVGTransform').
-// The SVGTransform class stores its "AffineTransform m_matrix" object on the stack. If it would
-// be stored as pointer we could just build an auto-generated JSSVG* wrapper object around it
-// and all changes to that object would automatically affect the AffineTransform* object stored
-// in the SVGTransform object. For the sake of efficiency and memory we don't pass around any
-// primitive values as pointers, so a custom JS wrapper object is needed for all SVG types, that
-// are internally represented by POD types (SVGRect <-> FloatRect, SVGPoint <-> FloatPoint, ...).
-// Those custom wrappers are called JSSVGPODTypeWrapper and are capable of updating the POD types
-// by taking function pointers to the getter & setter functions of the "creator object", the object
-// which exposed a SVG POD type. For example, the JSSVGPODTypeWrapper object wrapping a SVGMatrix
-// object takes (SVGTransform*, &SVGTransform::matrix, &SVGTransform::setMatrix). A JS call like
-// "someElement.transform.matrix.a = 50.0' causes the JSSVGMatrix object to call SVGTransform::setMatrix,
-// method, which in turn notifies 'someElement' that the 'SVGNames::transformAttr' has changed.
-// That's a short sketch of our SVG DOM implementation.
-
-// Represents a JS wrapper object for SVGAnimated* classes, exposing SVG POD types that contain writable properties
-// (Two cases: SVGAnimatedLength exposing SVGLength, SVGAnimatedRect exposing SVGRect)
-
-#if COMPILER(MSVC)
-// GetterMethod and SetterMethod are each 12 bytes. We have to pack to a size
-// greater than or equal to that to avoid an alignment warning (C4121). 16 is
-// the next-largest size allowed for packing, so we use that.
-#pragma pack(push, 16)
-#endif
-template<typename PODType, typename PODTypeCreator>
-class JSSVGDynamicPODTypeWrapper : public JSSVGPODTypeWrapper<PODType> {
-public:
- typedef PODType (PODTypeCreator::*GetterMethod)() const;
- typedef void (PODTypeCreator::*SetterMethod)(const PODType&);
-
- static PassRefPtr<JSSVGDynamicPODTypeWrapper> create(PassRefPtr<PODTypeCreator> creator, GetterMethod getter, SetterMethod setter)
- {
- return adoptRef(new JSSVGDynamicPODTypeWrapper(creator, getter, setter));
- }
-
- virtual operator PODType()
- {
- return (m_creator.get()->*m_getter)();
- }
-
- virtual void commitChange(PODType type, DOMObject* wrapper)
- {
- (m_creator.get()->*m_setter)(type);
- JSSVGContextCache::propagateSVGDOMChange(wrapper, m_creator->associatedAttributeName());
- }
-
-private:
- JSSVGDynamicPODTypeWrapper(PassRefPtr<PODTypeCreator> creator, GetterMethod getter, SetterMethod setter)
- : m_creator(creator)
- , m_getter(getter)
- , m_setter(setter)
- {
- ASSERT(m_creator);
- ASSERT(m_getter);
- ASSERT(m_setter);
- }
-
- virtual ~JSSVGDynamicPODTypeWrapper();
-
- // Update callbacks
- RefPtr<PODTypeCreator> m_creator;
- GetterMethod m_getter;
- SetterMethod m_setter;
-};
-#if COMPILER(MSVC)
-#pragma pack(pop)
-#endif
-
-// Represents a JS wrapper object for SVG POD types (not for SVGAnimated* classes). Any modification to the SVG POD
-// types don't cause any updates unlike JSSVGDynamicPODTypeWrapper. This class is used for return values (ie. getBBox())
-// and for properties where SVG specification explicitly states, that the contents of the POD type are immutable.
-
-template<typename PODType>
-class JSSVGStaticPODTypeWrapper : public JSSVGPODTypeWrapper<PODType> {
-public:
- static PassRefPtr<JSSVGStaticPODTypeWrapper> create(PODType type)
- {
- return adoptRef(new JSSVGStaticPODTypeWrapper(type));
- }
-
- virtual operator PODType()
- {
- return m_podType;
- }
-
- virtual void commitChange(PODType type, DOMObject*)
- {
- m_podType = type;
- }
-
-protected:
- JSSVGStaticPODTypeWrapper(PODType type)
- : m_podType(type)
- {
- }
-
- PODType m_podType;
-};
-
-template<typename PODType, typename ParentTypeArg>
-class JSSVGStaticPODTypeWrapperWithPODTypeParent : public JSSVGStaticPODTypeWrapper<PODType> {
-public:
- typedef JSSVGPODTypeWrapper<ParentTypeArg> ParentType;
-
- static PassRefPtr<JSSVGStaticPODTypeWrapperWithPODTypeParent> create(PODType type, PassRefPtr<ParentType> parent)
- {
- return adoptRef(new JSSVGStaticPODTypeWrapperWithPODTypeParent(type, parent));
- }
-
- virtual void commitChange(PODType type, DOMObject* wrapper)
- {
- JSSVGStaticPODTypeWrapper<PODType>::commitChange(type, wrapper);
- m_parentType->commitChange(ParentTypeArg(type), wrapper);
- }
-
-private:
- JSSVGStaticPODTypeWrapperWithPODTypeParent(PODType type, PassRefPtr<ParentType> parent)
- : JSSVGStaticPODTypeWrapper<PODType>(type)
- , m_parentType(parent)
- {
- }
-
- RefPtr<ParentType> m_parentType;
-};
-
-#if COMPILER(MSVC)
-// GetterMethod and SetterMethod are each 12 bytes. We have to pack to a size
-// greater than or equal to that to avoid an alignment warning (C4121). 16 is
-// the next-largest size allowed for packing, so we use that.
-#pragma pack(push, 16)
-#endif
-template<typename PODType, typename ParentType>
-class JSSVGStaticPODTypeWrapperWithParent : public JSSVGPODTypeWrapper<PODType> {
-public:
- typedef PODType (ParentType::*GetterMethod)() const;
- typedef void (ParentType::*SetterMethod)(const PODType&);
-
- static PassRefPtr<JSSVGStaticPODTypeWrapperWithParent> create(PassRefPtr<ParentType> parent, GetterMethod getter, SetterMethod setter)
- {
- return adoptRef(new JSSVGStaticPODTypeWrapperWithParent(parent, getter, setter));
- }
-
- virtual operator PODType()
- {
- return (m_parent.get()->*m_getter)();
- }
-
- virtual void commitChange(PODType type, DOMObject*)
- {
- (m_parent.get()->*m_setter)(type);
- }
-
-private:
- JSSVGStaticPODTypeWrapperWithParent(PassRefPtr<ParentType> parent, GetterMethod getter, SetterMethod setter)
- : m_parent(parent)
- , m_getter(getter)
- , m_setter(setter)
- {
- ASSERT(m_parent);
- ASSERT(m_getter);
- ASSERT(m_setter);
- }
-
- // Update callbacks
- RefPtr<ParentType> m_parent;
- GetterMethod m_getter;
- SetterMethod m_setter;
-};
-
-template<typename PODType>
-class SVGPODListItem;
-
-// Just like JSSVGDynamicPODTypeWrapper, but only used for SVGList* objects wrapping around POD values.
-
-template<typename PODType>
-class JSSVGPODTypeWrapperCreatorForList : public JSSVGPODTypeWrapper<PODType> {
-public:
- typedef SVGPODListItem<PODType> PODListItemPtrType;
-
- typedef PODType (SVGPODListItem<PODType>::*GetterMethod)() const;
- typedef void (SVGPODListItem<PODType>::*SetterMethod)(const PODType&);
-
- static PassRefPtr<JSSVGPODTypeWrapperCreatorForList> create(PassRefPtr<PODListItemPtrType> creator, const QualifiedName& attributeName)
- {
- return adoptRef(new JSSVGPODTypeWrapperCreatorForList(creator, attributeName));
- }
-
- virtual operator PODType()
- {
- return (m_creator.get()->*m_getter)();
- }
-
- virtual void commitChange(PODType type, DOMObject* wrapper)
- {
- if (!m_setter)
- return;
-
- (m_creator.get()->*m_setter)(type);
- JSSVGContextCache::propagateSVGDOMChange(wrapper, m_associatedAttributeName);
- }
-
-private:
- JSSVGPODTypeWrapperCreatorForList(PassRefPtr<PODListItemPtrType> creator, const QualifiedName& attributeName)
- : m_creator(creator)
- , m_getter(&PODListItemPtrType::value)
- , m_setter(&PODListItemPtrType::setValue)
- , m_associatedAttributeName(attributeName)
- {
- ASSERT(m_creator);
- ASSERT(m_getter);
- ASSERT(m_setter);
- }
-
- // Update callbacks
- RefPtr<PODListItemPtrType> m_creator;
- GetterMethod m_getter;
- SetterMethod m_setter;
- const QualifiedName& m_associatedAttributeName;
-};
-
-// Caching facilities
-template<typename PODType, typename PODTypeCreator>
-struct PODTypeWrapperCacheInfo {
- typedef PODType (PODTypeCreator::*GetterMethod)() const;
- typedef void (PODTypeCreator::*SetterMethod)(const PODType&);
-
- // Empty value
- PODTypeWrapperCacheInfo()
- : creator(0)
- , getter(0)
- , setter(0)
- {
- }
-
- // Deleted value
- PODTypeWrapperCacheInfo(WTF::HashTableDeletedValueType)
- : creator(reinterpret_cast<PODTypeCreator*>(-1))
- , getter(0)
- , setter(0)
- {
- }
- bool isHashTableDeletedValue() const
- {
- return creator == reinterpret_cast<PODTypeCreator*>(-1);
- }
-
- PODTypeWrapperCacheInfo(PODTypeCreator* _creator, GetterMethod _getter, SetterMethod _setter)
- : creator(_creator)
- , getter(_getter)
- , setter(_setter)
- {
- ASSERT(creator);
- ASSERT(getter);
- }
-
- bool operator==(const PODTypeWrapperCacheInfo& other) const
- {
- return creator == other.creator && getter == other.getter && setter == other.setter;
- }
-
- PODTypeCreator* creator;
- GetterMethod getter;
- SetterMethod setter;
-};
-#if COMPILER(MSVC)
-#pragma pack(pop)
-#endif
-
-template<typename PODType, typename PODTypeCreator>
-struct PODTypeWrapperCacheInfoHash {
- typedef PODTypeWrapperCacheInfo<PODType, PODTypeCreator> CacheInfo;
-
- static unsigned hash(const CacheInfo& info)
- {
- return WTF::StringHasher::createBlobHash<sizeof(CacheInfo)>(&info);
- }
-
- static bool equal(const CacheInfo& a, const CacheInfo& b)
- {
- return a == b;
- }
-
- static const bool safeToCompareToEmptyOrDeleted = true;
-};
-
-template<typename PODType, typename PODTypeCreator>
-struct PODTypeWrapperCacheInfoTraits : WTF::GenericHashTraits<PODTypeWrapperCacheInfo<PODType, PODTypeCreator> > {
- typedef PODTypeWrapperCacheInfo<PODType, PODTypeCreator> CacheInfo;
-
- static const bool emptyValueIsZero = true;
- static const bool needsDestruction = false;
-
- static const CacheInfo& emptyValue()
- {
- DEFINE_STATIC_LOCAL(CacheInfo, key, ());
- return key;
- }
-
- static void constructDeletedValue(CacheInfo& slot)
- {
- new (&slot) CacheInfo(WTF::HashTableDeletedValue);
- }
-
- static bool isDeletedValue(const CacheInfo& value)
- {
- return value.isHashTableDeletedValue();
- }
-};
-
-// Used for dynamic read-write attributes
-template<typename PODType, typename PODTypeCreator>
-class JSSVGDynamicPODTypeWrapperCache {
-public:
- typedef PODType (PODTypeCreator::*GetterMethod)() const;
- typedef void (PODTypeCreator::*SetterMethod)(const PODType&);
-
- typedef PODTypeWrapperCacheInfo<PODType, PODTypeCreator> CacheInfo;
- typedef PODTypeWrapperCacheInfoHash<PODType, PODTypeCreator> CacheInfoHash;
- typedef PODTypeWrapperCacheInfoTraits<PODType, PODTypeCreator> CacheInfoTraits;
-
- typedef JSSVGPODTypeWrapper<PODType> WrapperBase;
- typedef JSSVGDynamicPODTypeWrapper<PODType, PODTypeCreator> Wrapper;
- typedef HashMap<CacheInfo, Wrapper*, CacheInfoHash, CacheInfoTraits> WrapperMap;
-
- static WrapperMap& wrapperMap()
- {
- DEFINE_STATIC_LOCAL(WrapperMap, s_wrapperMap, ());
- return s_wrapperMap;
- }
-
- static PassRefPtr<WrapperBase> lookupOrCreateWrapper(PODTypeCreator* creator, GetterMethod getter, SetterMethod setter)
- {
- CacheInfo info(creator, getter, setter);
- pair<typename WrapperMap::iterator, bool> result = wrapperMap().add(info, 0);
- if (!result.second) // pre-existing entry
- return result.first->second;
-
- RefPtr<Wrapper> wrapper = Wrapper::create(creator, getter, setter);
- result.first->second = wrapper.get();
- return wrapper.release();
- }
-
- static void forgetWrapper(PODTypeCreator* creator, GetterMethod getter, SetterMethod setter)
- {
- CacheInfo info(creator, getter, setter);
- wrapperMap().remove(info);
- }
-};
-
-template<typename PODType, typename PODTypeCreator>
-JSSVGDynamicPODTypeWrapper<PODType, PODTypeCreator>::~JSSVGDynamicPODTypeWrapper()
-{
- JSSVGDynamicPODTypeWrapperCache<PODType, PODTypeCreator>::forgetWrapper(m_creator.get(), m_getter, m_setter);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(SVG)
-#endif // JSSVGPODTypeWrapper_h
diff --git a/WebCore/bindings/v8/V8Proxy.cpp b/WebCore/bindings/v8/V8Proxy.cpp
index 7b596c8..35da008 100644
--- a/WebCore/bindings/v8/V8Proxy.cpp
+++ b/WebCore/bindings/v8/V8Proxy.cpp
@@ -43,7 +43,6 @@
#include "Page.h"
#include "PageGroup.h"
#include "PlatformBridge.h"
-#include "SVGElement.h"
#include "ScriptController.h"
#include "Settings.h"
#include "StorageNamespace.h"
@@ -123,42 +122,6 @@ void batchConfigureConstants(v8::Handle<v8::FunctionTemplate> functionDescriptor
typedef HashMap<Node*, v8::Object*> DOMNodeMap;
typedef HashMap<void*, v8::Object*> DOMObjectMap;
-
-#if ENABLE(SVG)
-// Map of SVG objects with contexts to their contexts
-static HashMap<void*, SVGElement*>& svgObjectToContextMap()
-{
- typedef HashMap<void*, SVGElement*> SvgObjectToContextMap;
- DEFINE_STATIC_LOCAL(SvgObjectToContextMap, staticSvgObjectToContextMap, ());
- return staticSvgObjectToContextMap;
-}
-
-void V8Proxy::setSVGContext(void* object, SVGElement* context)
-{
- if (!object)
- return;
-
- SVGElement* oldContext = svgObjectToContextMap().get(object);
-
- if (oldContext == context)
- return;
-
- if (oldContext)
- oldContext->deref();
-
- if (context)
- context->ref();
-
- svgObjectToContextMap().set(object, context);
-}
-
-SVGElement* V8Proxy::svgContext(void* object)
-{
- return svgObjectToContextMap().get(object);
-}
-
-#endif
-
typedef HashMap<int, v8::FunctionTemplate*> FunctionTemplateMap;
bool AllowAllocation::m_current = false;
diff --git a/WebCore/bindings/v8/V8Proxy.h b/WebCore/bindings/v8/V8Proxy.h
index 80d4691..e5a17af 100644
--- a/WebCore/bindings/v8/V8Proxy.h
+++ b/WebCore/bindings/v8/V8Proxy.h
@@ -58,7 +58,6 @@ namespace WebCore {
class DOMWindow;
class Frame;
class Node;
- class SVGElement;
class ScriptExecutionContext;
class V8EventListener;
class V8IsolatedContext;
@@ -159,40 +158,6 @@ namespace WebCore {
// and clears all timeouts on the DOM window.
void disconnectFrame();
-#if ENABLE(SVG)
- static void setSVGContext(void*, SVGElement*);
- static SVGElement* svgContext(void*);
-
- // These helper functions are required in case we are given a PassRefPtr
- // to a (possibly) newly created object and must prevent its reference
- // count from dropping to zero as would happen in code like
- //
- // V8Proxy::setSVGContext(imp->getNewlyCreatedObject().get(), context);
- // foo(imp->getNewlyCreatedObject().get());
- //
- // In the above two lines each time getNewlyCreatedObject() is called it
- // creates a new object because we don't ref() it. (So our attemts to
- // associate a context with it fail.) Such code should be rewritten to
- //
- // foo(V8Proxy::withSVGContext(imp->getNewlyCreatedObject(), context).get());
- //
- // where PassRefPtr::~PassRefPtr() is invoked only after foo() is
- // called.
- template <typename T>
- static PassRefPtr<T> withSVGContext(PassRefPtr<T> object, SVGElement* context)
- {
- setSVGContext(object.get(), context);
- return object;
- }
-
- template <typename T>
- static T* withSVGContext(T* object, SVGElement* context)
- {
- setSVGContext(object, context);
- return object;
- }
-#endif
-
void finishedWithEvent(Event*) { }
// Evaluate JavaScript in a new isolated world. The script gets its own
diff --git a/WebCore/bindings/v8/V8SVGPODTypeWrapper.h b/WebCore/bindings/v8/V8SVGPODTypeWrapper.h
deleted file mode 100644
index c044a06..0000000
--- a/WebCore/bindings/v8/V8SVGPODTypeWrapper.h
+++ /dev/null
@@ -1,416 +0,0 @@
-/*
- * Copyright (C) 2006, 2008 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2008, 2009 Google. 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 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.
- */
-
-#ifndef V8SVGPODTypeWrapper_h
-#define V8SVGPODTypeWrapper_h
-
-#if ENABLE(SVG)
-
-#include <utility>
-
-#include "SVGElement.h"
-#include "SVGList.h"
-#include "V8Proxy.h"
-
-#include <wtf/Assertions.h>
-#include <wtf/HashFunctions.h>
-#include <wtf/HashMap.h>
-#include <wtf/RefCounted.h>
-#include <wtf/StdLibExtras.h>
-
-namespace WebCore {
-
-template<typename PODType>
-class V8SVGPODTypeWrapper : public RefCounted<V8SVGPODTypeWrapper<PODType> > {
-public:
- V8SVGPODTypeWrapper() { }
- virtual ~V8SVGPODTypeWrapper() { }
- virtual operator PODType() = 0;
- virtual void commitChange(PODType, SVGElement*) = 0;
-
- static V8SVGPODTypeWrapper<PODType>* toNative(v8::Handle<v8::Object> object)
- {
- return reinterpret_cast<V8SVGPODTypeWrapper<PODType>*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
- }
-};
-
-template<typename PODType>
-class V8SVGPODTypeWrapperCreatorForList : public V8SVGPODTypeWrapper<PODType> {
-public:
- typedef SVGPODListItem<PODType> PODListItemPtrType;
-
- typedef PODType (SVGPODListItem<PODType>::*GetterMethod)() const;
- typedef void (SVGPODListItem<PODType>::*SetterMethod)(const PODType&);
-
- static PassRefPtr<V8SVGPODTypeWrapperCreatorForList> create(PassRefPtr<PODListItemPtrType> creator, const QualifiedName& attributeName)
- {
- return adoptRef(new V8SVGPODTypeWrapperCreatorForList(creator, attributeName));
- }
-
- virtual ~V8SVGPODTypeWrapperCreatorForList() { }
-
- // Getter wrapper
- virtual operator PODType() { return (m_creator.get()->*m_getter)(); }
-
- // Setter wrapper
- virtual void commitChange(PODType type, SVGElement* context)
- {
- if (!m_setter)
- return;
-
- (m_creator.get()->*m_setter)(type);
-
- if (context)
- context->svgAttributeChanged(m_associatedAttributeName);
- }
-
-private:
- V8SVGPODTypeWrapperCreatorForList(PassRefPtr<PODListItemPtrType> creator, const QualifiedName& attributeName)
- : m_creator(creator)
- , m_getter(&SVGPODListItem<PODType>::value)
- , m_setter(&SVGPODListItem<PODType>::setValue)
- , m_associatedAttributeName(attributeName)
- {
- ASSERT(m_creator);
- ASSERT(m_getter);
- ASSERT(m_setter);
- }
-
- // Update callbacks
- RefPtr<SVGPODListItem<PODType> > m_creator;
- GetterMethod m_getter;
- SetterMethod m_setter;
- const QualifiedName& m_associatedAttributeName;
-};
-
-template<typename PODType>
-class V8SVGStaticPODTypeWrapper : public V8SVGPODTypeWrapper<PODType> {
-public:
- static PassRefPtr<V8SVGStaticPODTypeWrapper> create(PODType type)
- {
- return adoptRef(new V8SVGStaticPODTypeWrapper(type));
- }
-
- virtual ~V8SVGStaticPODTypeWrapper() { }
-
- // Getter wrapper
- virtual operator PODType() { return m_podType; }
-
- // Setter wrapper
- virtual void commitChange(PODType type, SVGElement*)
- {
- m_podType = type;
- }
-
-protected:
- V8SVGStaticPODTypeWrapper(PODType type)
- : m_podType(type)
- {
- }
-
- PODType m_podType;
-};
-
-template<typename PODType, typename ParentTypeArg>
-class V8SVGStaticPODTypeWrapperWithPODTypeParent : public V8SVGStaticPODTypeWrapper<PODType> {
-public:
- typedef V8SVGPODTypeWrapper<ParentTypeArg> ParentType;
-
- static PassRefPtr<V8SVGStaticPODTypeWrapperWithPODTypeParent> create(PODType type, PassRefPtr<ParentType> parent)
- {
- return adoptRef(new V8SVGStaticPODTypeWrapperWithPODTypeParent(type, parent));
- }
-
- virtual void commitChange(PODType type, SVGElement* context)
- {
- V8SVGStaticPODTypeWrapper<PODType>::commitChange(type, context);
- m_parentType->commitChange(ParentTypeArg(type), context);
- }
-
-private:
- V8SVGStaticPODTypeWrapperWithPODTypeParent(PODType type, PassRefPtr<ParentType> parent)
- : V8SVGStaticPODTypeWrapper<PODType>(type)
- , m_parentType(parent)
- {
- }
-
- RefPtr<ParentType> m_parentType;
-};
-
-template<typename PODType, typename ParentType>
-class V8SVGStaticPODTypeWrapperWithParent : public V8SVGPODTypeWrapper<PODType> {
-public:
- typedef PODType (ParentType::*GetterMethod)() const;
- typedef void (ParentType::*SetterMethod)(const PODType&);
-
- static PassRefPtr<V8SVGStaticPODTypeWrapperWithParent> create(PassRefPtr<ParentType> parent, GetterMethod getter, SetterMethod setter)
- {
- return adoptRef(new V8SVGStaticPODTypeWrapperWithParent(parent, getter, setter));
- }
-
- virtual operator PODType()
- {
- return (m_parent.get()->*m_getter)();
- }
-
- virtual void commitChange(PODType type, SVGElement* context)
- {
- (m_parent.get()->*m_setter)(type);
- }
-
-private:
- V8SVGStaticPODTypeWrapperWithParent(PassRefPtr<ParentType> parent, GetterMethod getter, SetterMethod setter)
- : m_parent(parent)
- , m_getter(getter)
- , m_setter(setter)
- {
- ASSERT(m_parent);
- ASSERT(m_getter);
- ASSERT(m_setter);
- }
-
- RefPtr<ParentType> m_parent;
- GetterMethod m_getter;
- SetterMethod m_setter;
-};
-
-template<typename PODType, typename PODTypeCreator>
-class V8SVGDynamicPODTypeWrapper : public V8SVGPODTypeWrapper<PODType> {
-public:
- typedef PODType (PODTypeCreator::*GetterMethod)() const;
- typedef void (PODTypeCreator::*SetterMethod)(const PODType&);
- typedef void (*CacheRemovalCallback)(V8SVGPODTypeWrapper<PODType>*);
-
- static PassRefPtr<V8SVGDynamicPODTypeWrapper> create(PassRefPtr<PODTypeCreator> creator, GetterMethod getter, SetterMethod setter, CacheRemovalCallback cacheRemovalCallback)
- {
- return adoptRef(new V8SVGDynamicPODTypeWrapper(creator, getter, setter, cacheRemovalCallback));
- }
-
- virtual ~V8SVGDynamicPODTypeWrapper() {
- ASSERT(m_cacheRemovalCallback);
-
- (*m_cacheRemovalCallback)(this);
- }
-
- // Getter wrapper
- virtual operator PODType() { return (m_creator.get()->*m_getter)(); }
-
- // Setter wrapper
- virtual void commitChange(PODType type, SVGElement* context)
- {
- (m_creator.get()->*m_setter)(type);
-
- if (context)
- context->svgAttributeChanged(m_creator->associatedAttributeName());
- }
-
-private:
- V8SVGDynamicPODTypeWrapper(PassRefPtr<PODTypeCreator> creator, GetterMethod getter, SetterMethod setter, CacheRemovalCallback cacheRemovalCallback)
- : m_creator(creator)
- , m_getter(getter)
- , m_setter(setter)
- , m_cacheRemovalCallback(cacheRemovalCallback)
- {
- ASSERT(m_creator); // |creator|'s pointer was taken by m_creator.
- ASSERT(getter);
- ASSERT(setter);
- ASSERT(cacheRemovalCallback);
- }
-
- // Update callbacks
- RefPtr<PODTypeCreator> m_creator;
- GetterMethod m_getter;
- SetterMethod m_setter;
- CacheRemovalCallback m_cacheRemovalCallback;
-};
-
-// Caching facilities
-template<typename PODType, typename PODTypeCreator>
-struct PODTypeWrapperCacheInfo {
- typedef PODType (PODTypeCreator::*GetterMethod)() const;
- typedef void (PODTypeCreator::*SetterMethod)(const PODType&);
-
- // Empty value
- PODTypeWrapperCacheInfo()
- : creator(0)
- , getter(0)
- , setter(0)
- , fieldHash(0)
- { }
-
- // Deleted value
- explicit PODTypeWrapperCacheInfo(WTF::HashTableDeletedValueType)
- : creator(reinterpret_cast<PODTypeCreator*>(-1))
- , getter(0)
- , setter(0)
- , fieldHash(0)
- {
- }
-
- bool isHashTableDeletedValue() const
- {
- return creator == reinterpret_cast<PODTypeCreator*>(-1);
- }
-
- PODTypeWrapperCacheInfo(PODTypeCreator* _creator, GetterMethod _getter, SetterMethod _setter, unsigned _fieldHash)
- : creator(_creator)
- , getter(_getter)
- , setter(_setter)
- , fieldHash(_fieldHash)
- {
- ASSERT(creator);
- ASSERT(getter);
- }
-
- bool operator==(const PODTypeWrapperCacheInfo& other) const
- {
- return creator == other.creator && fieldHash == other.fieldHash && getter == other.getter && setter == other.setter;
- }
-
- PODTypeCreator* creator;
- GetterMethod getter;
- SetterMethod setter;
- unsigned fieldHash;
-};
-
-template<typename PODType, typename PODTypeCreator>
-struct PODTypeWrapperCacheInfoHash {
- static unsigned hash(const PODTypeWrapperCacheInfo<PODType, PODTypeCreator>& info)
- {
- // We can't hash member function pointers, but we have enough material
- // to hash the pointer and field identifier, and on a collision
- // operator== will still differentiate the member function pointers.
- return WTF::PairHash<void*, unsigned>::hash(std::pair<void*, unsigned>(info.creator, info.fieldHash));
- }
-
- static bool equal(const PODTypeWrapperCacheInfo<PODType, PODTypeCreator>& a, const PODTypeWrapperCacheInfo<PODType, PODTypeCreator>& b)
- {
- return a == b;
- }
-
- static const bool safeToCompareToEmptyOrDeleted = true;
-};
-
-template<typename PODType, typename PODTypeCreator>
-struct PODTypeWrapperCacheInfoTraits : WTF::GenericHashTraits<PODTypeWrapperCacheInfo<PODType, PODTypeCreator> > {
- typedef PODTypeWrapperCacheInfo<PODType, PODTypeCreator> CacheInfo;
-
- static const bool emptyValueIsZero = true;
- static const bool needsDestruction = false;
-
- static const CacheInfo& emptyValue()
- {
- DEFINE_STATIC_LOCAL(CacheInfo, key, ());
- return key;
- }
-
- static void constructDeletedValue(CacheInfo& slot)
- {
- new (&slot) CacheInfo(WTF::HashTableDeletedValue);
- }
-
- static bool isDeletedValue(const CacheInfo& value)
- {
- return value.isHashTableDeletedValue();
- }
-};
-
-template<typename PODType, typename PODTypeCreator>
-class V8SVGDynamicPODTypeWrapperCache {
-public:
- typedef PODType (PODTypeCreator::*GetterMethod)() const;
- typedef void (PODTypeCreator::*SetterMethod)(const PODType&);
-
- typedef PODTypeWrapperCacheInfo<PODType, PODTypeCreator> CacheInfo;
- typedef PODTypeWrapperCacheInfoHash<PODType, PODTypeCreator> CacheInfoHash;
- typedef PODTypeWrapperCacheInfoTraits<PODType, PODTypeCreator> CacheInfoTraits;
-
- typedef V8SVGPODTypeWrapper<PODType> WrapperBase;
- typedef V8SVGDynamicPODTypeWrapper<PODType, PODTypeCreator> DynamicWrapper;
-
- typedef HashMap<CacheInfo, DynamicWrapper*, CacheInfoHash, CacheInfoTraits> DynamicWrapperHashMap;
- typedef typename DynamicWrapperHashMap::const_iterator DynamicWrapperHashMapIterator;
-
- static DynamicWrapperHashMap& dynamicWrapperHashMap()
- {
- DEFINE_STATIC_LOCAL(DynamicWrapperHashMap, dynamicWrapperHashMap, ());
- return dynamicWrapperHashMap;
- }
-
- // Used for readwrite attributes only
- static PassRefPtr<WrapperBase> lookupOrCreateWrapper(PODTypeCreator* creator, GetterMethod getter, SetterMethod setter, unsigned fieldHash)
- {
- DynamicWrapperHashMap& map(dynamicWrapperHashMap());
- CacheInfo info(creator, getter, setter, fieldHash);
-
- if (map.contains(info))
- return map.get(info);
-
- RefPtr<DynamicWrapper> wrapper = V8SVGDynamicPODTypeWrapper<PODType, PODTypeCreator>::create(creator, getter, setter, forgetWrapper);
- map.set(info, wrapper.get());
- return wrapper.release();
- }
-
- static void forgetWrapper(V8SVGPODTypeWrapper<PODType>* wrapper)
- {
- DynamicWrapperHashMap& map(dynamicWrapperHashMap());
-
- DynamicWrapperHashMapIterator it = map.begin();
- DynamicWrapperHashMapIterator end = map.end();
-
- for (; it != end; ++it) {
- if (it->second != wrapper)
- continue;
-
- // It's guaranteed that there's just one object we need to take care of.
- map.remove(it->first);
- break;
- }
- }
-};
-
-class V8SVGPODTypeUtil {
-public:
- template <class P>
- static P toSVGPODType(WrapperTypeInfo* info, v8::Handle<v8::Value> object, bool& ok);
-};
-
-template <class P>
-P V8SVGPODTypeUtil::toSVGPODType(WrapperTypeInfo* info, v8::Handle<v8::Value> object, bool& ok)
-{
- if (!V8DOMWrapper::isWrapperOfType(object, info)) {
- ok = false;
- return P();
- }
- ok = true;
- return *V8SVGPODTypeWrapper<P>::toNative(v8::Handle<v8::Object>::Cast(object));
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(SVG)
-#endif // V8SVGPODTypeWrapper_h
diff --git a/WebCore/svg/DeprecatedSVGAnimatedProperty.h b/WebCore/svg/DeprecatedSVGAnimatedProperty.h
deleted file mode 100644
index e2f2af7..0000000
--- a/WebCore/svg/DeprecatedSVGAnimatedProperty.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright (C) 2008 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved.
- *
- * 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., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef DeprecatedSVGAnimatedProperty_h
-#define DeprecatedSVGAnimatedProperty_h
-
-#if ENABLE(SVG)
-#include "SVGAnimatedPropertySynchronizer.h"
-#include "DeprecatedSVGAnimatedPropertyTraits.h"
-#include "DeprecatedSVGAnimatedTemplate.h"
-
-namespace WebCore {
-
-template<typename AnimatedType>
-class DeprecatedSVGAnimatedProperty;
-
-template<typename AnimatedType>
-class DeprecatedSVGAnimatedPropertyTearOff : public DeprecatedSVGAnimatedTemplate<AnimatedType> {
-public:
- typedef typename DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::PassType PassType;
- typedef typename DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::ReturnType ReturnType;
-
- typedef DeprecatedSVGAnimatedPropertyTearOff<AnimatedType> Self;
- typedef DeprecatedSVGAnimatedProperty<AnimatedType> Creator;
-
- static PassRefPtr<Self> create(Creator& creator, SVGElement* contextElement)
- {
- return adoptRef(new Self(creator, contextElement));
- }
-
- virtual void setBaseVal(PassType type)
- {
- m_creator.setBaseValue(type);
- m_contextElement->invalidateSVGAttributes();
- }
-
- virtual void setAnimVal(PassType type)
- {
- m_creator.setValue(type);
- m_contextElement->invalidateSVGAttributes();
- }
-
- virtual ReturnType baseVal() const { return m_creator.baseValue(); }
- virtual ReturnType animVal() const { return m_creator.value(); }
- virtual const QualifiedName& associatedAttributeName() const { return m_creator.associatedAttributeName(); }
-
-private:
- DeprecatedSVGAnimatedPropertyTearOff(Creator& creator, SVGElement* contextElement)
- : m_creator(creator)
- , m_contextElement(contextElement)
- {
- m_creator.setShouldSynchronize(true);
- }
-
- virtual ~DeprecatedSVGAnimatedPropertyTearOff()
- {
- m_creator.setShouldSynchronize(false);
- }
-
- Creator& m_creator;
- RefPtr<SVGElement> m_contextElement;
-};
-
-template<typename AnimatedType>
-class DeprecatedSVGAnimatedProperty {
-public:
- virtual ~DeprecatedSVGAnimatedProperty() { }
-
- typedef typename DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::PassType PassType;
- typedef typename DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::ReturnType ReturnType;
- typedef typename DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::StoredType StoredType;
-
- DeprecatedSVGAnimatedProperty()
- : m_value(DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::null())
- , m_shouldSynchronize(false)
- {
- }
-
- template<typename ConstructorParameterOne>
- DeprecatedSVGAnimatedProperty(const ConstructorParameterOne& value1)
- : m_value(value1)
- , m_shouldSynchronize(false)
- {
- }
-
- template<typename ConstructorParameterOne, typename ConstructorParameterTwo>
- DeprecatedSVGAnimatedProperty(const ConstructorParameterOne& value1, const ConstructorParameterTwo& value2)
- : m_value(value1, value2)
- , m_shouldSynchronize(false)
- {
- }
-
- ReturnType value() const { return DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::toReturnType(m_value); }
- ReturnType baseValue() const { return DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::toReturnType(m_value); }
-
- void setValue(PassType type) { m_value = type; }
- void setBaseValue(PassType type) { m_value = type; }
-
- bool shouldSynchronize() const { return m_shouldSynchronize; }
- void setShouldSynchronize(bool value) { m_shouldSynchronize = value; }
-
- virtual const QualifiedName& associatedAttributeName() const = 0;
-
-protected:
- StoredType m_value;
- bool m_shouldSynchronize;
-};
-
-};
-
-// Helper macro used within DECLARE_ANIMATED_PROPERTY below
-#define DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, AnimatedType, UpperProperty) \
-class DeprecatedSVGAnimatedProperty##UpperProperty : public DeprecatedSVGAnimatedProperty<AnimatedType> { \
-public: \
- DeprecatedSVGAnimatedProperty##UpperProperty() \
- : DeprecatedSVGAnimatedProperty<AnimatedType>() \
- { \
- } \
- \
- template<typename ConstructorParameterOne> \
- DeprecatedSVGAnimatedProperty##UpperProperty(const ConstructorParameterOne& value1) \
- : DeprecatedSVGAnimatedProperty<AnimatedType>(value1) \
- { \
- } \
- \
- template<typename ConstructorParameterOne, typename ConstructorParameterTwo> \
- DeprecatedSVGAnimatedProperty##UpperProperty(const ConstructorParameterOne& value1, const ConstructorParameterTwo& value2) \
- : DeprecatedSVGAnimatedProperty<AnimatedType>(value1, value2) \
- { \
- } \
- \
- void synchronize(SVGElement* contextElement) \
- { \
- ASSERT(m_shouldSynchronize); \
- AtomicString value(DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::toString(baseValue())); \
- SVGAnimatedPropertySynchronizer<IsDerivedFromSVGElement<OwnerType>::value>::synchronize(contextElement, DOMAttribute, value); \
- } \
- \
- virtual const QualifiedName& associatedAttributeName() const \
- { \
- return DOMAttribute; \
- } \
-}
-
-// Helper macro shared by DECLARE_ANIMATED_PROPERTY / DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS
-#define DECLARE_ANIMATED_PROPERTY_SHARED(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, AnimatedType, UpperProperty, LowerProperty) \
-private: \
- typedef DeprecatedSVGAnimatedPropertyTearOff<AnimatedType> DeprecatedSVGAnimatedPropertyTearOff##UpperProperty; \
- DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, AnimatedType, UpperProperty); \
- DeprecatedSVGAnimatedProperty##UpperProperty m_##LowerProperty; \
- \
-public: \
- DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::ReturnType LowerProperty() const \
- { \
- return m_##LowerProperty.value(); \
- } \
- \
- DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::ReturnType LowerProperty##BaseValue() const \
- { \
- return m_##LowerProperty.baseValue(); \
- } \
- \
- void set##UpperProperty(DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::PassType type) \
- { \
- m_##LowerProperty.setValue(type); \
- SVGElement* contextElement = GetOwnerElementForType<OwnerType, IsDerivedFromSVGElement<OwnerType>::value>::ownerElement(this); \
- contextElement->invalidateSVGAttributes(); \
- } \
- \
- void set##UpperProperty##BaseValue(DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::PassType type) \
- { \
- m_##LowerProperty.setBaseValue(type); \
- SVGElement* contextElement = GetOwnerElementForType<OwnerType, IsDerivedFromSVGElement<OwnerType>::value>::ownerElement(this); \
- contextElement->invalidateSVGAttributes(); \
- } \
- \
- void synchronize##UpperProperty() \
- { \
- if (!m_##LowerProperty.shouldSynchronize()) \
- return; \
- SVGElement* contextElement = GetOwnerElementForType<OwnerType, IsDerivedFromSVGElement<OwnerType>::value>::ownerElement(this); \
- m_##LowerProperty.synchronize(contextElement); \
- } \
- \
- PassRefPtr<DeprecatedSVGAnimatedPropertyTearOff##UpperProperty> LowerProperty##Animated() \
- { \
- SVGElement* contextElement = GetOwnerElementForType<OwnerType, IsDerivedFromSVGElement<OwnerType>::value>::ownerElement(this); \
- return lookupOrCreateWrapper<AnimatedType, DeprecatedSVGAnimatedPropertyTearOff##UpperProperty>(contextElement, m_##LowerProperty, DOMAttribute); \
- }
-
-// Used for SVG DOM properties that map exactly to one XML DOM attribute
-#define DECLARE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, AnimatedType, UpperProperty, LowerProperty) \
-DECLARE_ANIMATED_PROPERTY_SHARED(OwnerType, DOMAttribute, DOMAttribute.localName(), AnimatedType, UpperProperty, LowerProperty)
-
-// Used for the rare case multiple SVG DOM properties that map to the same XML dom attribute
-#define DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, AnimatedType, UpperProperty, LowerProperty) \
-DECLARE_ANIMATED_PROPERTY_SHARED(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, AnimatedType, UpperProperty, LowerProperty)
-
-#endif
-#endif
diff --git a/WebCore/svg/DeprecatedSVGAnimatedPropertyTraits.h b/WebCore/svg/DeprecatedSVGAnimatedPropertyTraits.h
deleted file mode 100644
index 3e31095..0000000
--- a/WebCore/svg/DeprecatedSVGAnimatedPropertyTraits.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) Research In Motion Limited 2010. All rights reserved.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann at kde.org>
- *
- * 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., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef DeprecatedSVGAnimatedPropertyTraits_h
-#define DeprecatedSVGAnimatedPropertyTraits_h
-
-#if ENABLE(SVG)
-
-// FIXME: Remove this file!
-namespace WebCore {
-
-template<typename Type>
-struct DeprecatedSVGAnimatedPropertyTraits : public Noncopyable { };
-
-}
-
-#endif
-#endif
diff --git a/WebCore/svg/DeprecatedSVGAnimatedTemplate.h b/WebCore/svg/DeprecatedSVGAnimatedTemplate.h
deleted file mode 100644
index 7021d12..0000000
--- a/WebCore/svg/DeprecatedSVGAnimatedTemplate.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2004, 2005 Rob Buis <buis at kde.org>
- *
- * 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., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef DeprecatedSVGAnimatedTemplate_h
-#define DeprecatedSVGAnimatedTemplate_h
-
-#if ENABLE(SVG)
-#include "DeprecatedSVGAnimatedPropertyTraits.h"
-#include "QualifiedName.h"
-#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-
-// FIXME: Remove this file!
-namespace WebCore {
-
- class SVGElement;
-
- struct DeprecatedSVGAnimatedTypeWrapperKey {
- // Empty value
- DeprecatedSVGAnimatedTypeWrapperKey()
- : element(0)
- , attributeName(0)
- { }
-
- // Deleted value
- DeprecatedSVGAnimatedTypeWrapperKey(WTF::HashTableDeletedValueType)
- : element(reinterpret_cast<SVGElement*>(-1))
- {
- }
-
- bool isHashTableDeletedValue() const
- {
- return element == reinterpret_cast<SVGElement*>(-1);
- }
-
- DeprecatedSVGAnimatedTypeWrapperKey(const SVGElement* _element, const AtomicString& _attributeName)
- : element(_element)
- , attributeName(_attributeName.impl())
- {
- ASSERT(element);
- ASSERT(attributeName);
- }
-
- bool operator==(const DeprecatedSVGAnimatedTypeWrapperKey& other) const
- {
- return element == other.element && attributeName == other.attributeName;
- }
-
- const SVGElement* element;
- AtomicStringImpl* attributeName;
- };
-
- struct DeprecatedSVGAnimatedTypeWrapperKeyHash {
- static unsigned hash(const DeprecatedSVGAnimatedTypeWrapperKey& key)
- {
- return WTF::StringHasher::createBlobHash<sizeof(DeprecatedSVGAnimatedTypeWrapperKey)>(&key);
- }
-
- static bool equal(const DeprecatedSVGAnimatedTypeWrapperKey& a, const DeprecatedSVGAnimatedTypeWrapperKey& b)
- {
- return a == b;
- }
-
- static const bool safeToCompareToEmptyOrDeleted = true;
- };
-
- struct DeprecatedSVGAnimatedTypeWrapperKeyHashTraits : WTF::GenericHashTraits<DeprecatedSVGAnimatedTypeWrapperKey> {
- static const bool emptyValueIsZero = true;
-
- static void constructDeletedValue(DeprecatedSVGAnimatedTypeWrapperKey& slot)
- {
- new (&slot) DeprecatedSVGAnimatedTypeWrapperKey(WTF::HashTableDeletedValue);
- }
-
- static bool isDeletedValue(const DeprecatedSVGAnimatedTypeWrapperKey& value)
- {
- return value.isHashTableDeletedValue();
- }
- };
-
- template<typename AnimatedType>
- class DeprecatedSVGAnimatedTemplate : public RefCounted<DeprecatedSVGAnimatedTemplate<AnimatedType> > {
- public:
- typedef typename DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::PassType PassType;
- typedef typename DeprecatedSVGAnimatedPropertyTraits<AnimatedType>::ReturnType ReturnType;
-
- virtual ~DeprecatedSVGAnimatedTemplate() { forgetWrapper(this); }
-
- virtual ReturnType baseVal() const = 0;
- virtual void setBaseVal(PassType) = 0;
-
- virtual ReturnType animVal() const = 0;
- virtual void setAnimVal(PassType) = 0;
-
- virtual const QualifiedName& associatedAttributeName() const = 0;
-
- typedef HashMap<DeprecatedSVGAnimatedTypeWrapperKey, DeprecatedSVGAnimatedTemplate<AnimatedType>*, DeprecatedSVGAnimatedTypeWrapperKeyHash, DeprecatedSVGAnimatedTypeWrapperKeyHashTraits > ElementToWrapperMap;
- typedef typename ElementToWrapperMap::const_iterator ElementToWrapperMapIterator;
-
- static ElementToWrapperMap* wrapperCache()
- {
- static ElementToWrapperMap* s_wrapperCache = new ElementToWrapperMap;
- return s_wrapperCache;
- }
-
- static void forgetWrapper(DeprecatedSVGAnimatedTemplate<AnimatedType>* wrapper)
- {
- ElementToWrapperMap* cache = wrapperCache();
- ElementToWrapperMapIterator itr = cache->begin();
- ElementToWrapperMapIterator end = cache->end();
- for (; itr != end; ++itr) {
- if (itr->second == wrapper) {
- cache->remove(itr->first);
- break;
- }
- }
- }
- };
-
- template<typename AnimatedType>
- class DeprecatedSVGAnimatedProperty;
-
- template<typename AnimatedType, typename AnimatedTearOff>
- PassRefPtr<AnimatedTearOff> lookupOrCreateWrapper(SVGElement* element, DeprecatedSVGAnimatedProperty<AnimatedType>& creator, const QualifiedName& attrName)
- {
- DeprecatedSVGAnimatedTypeWrapperKey key(element, attrName.localName());
- RefPtr<AnimatedTearOff> wrapper = static_cast<AnimatedTearOff*>(AnimatedTearOff::wrapperCache()->get(key));
-
- if (!wrapper) {
- wrapper = AnimatedTearOff::create(creator, element);
- AnimatedTearOff::wrapperCache()->set(key, wrapper.get());
- }
-
- return wrapper.release();
- }
-
-}
-
-#endif
-#endif
diff --git a/WebCore/svg/SVGElement.h b/WebCore/svg/SVGElement.h
index 96e7fd7..0af041f 100644
--- a/WebCore/svg/SVGElement.h
+++ b/WebCore/svg/SVGElement.h
@@ -110,8 +110,5 @@ namespace WebCore {
}
-// This file needs to be included after the SVGElement declaration
-#include "DeprecatedSVGAnimatedProperty.h" // NOLINT
-
#endif
#endif
diff --git a/WebCore/svg/SVGList.h b/WebCore/svg/SVGList.h
deleted file mode 100644
index 6ae5191..0000000
--- a/WebCore/svg/SVGList.h
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2004, 2005 Rob Buis <buis at kde.org>
- *
- * 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., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef SVGList_h
-#define SVGList_h
-
-#if ENABLE(SVG)
-#include "ExceptionCode.h"
-#include "SVGListTraits.h"
-
-#include <wtf/RefCounted.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
- class QualifiedName;
-
- template<typename Item>
- struct SVGListTypeOperations {
- static Item nullItem()
- {
- return SVGListTraits<UsesDefaultInitializer<Item>::value, Item>::nullItem();
- }
- static bool isNull(const Item& it)
- {
- return SVGListTraits<UsesDefaultInitializer<Item>::value, Item>::isNull(it);
- }
- };
-
- template<typename Item>
- class SVGList : public RefCounted<SVGList<Item> > {
- private:
- typedef SVGListTypeOperations<Item> TypeOperations;
-
- public:
- virtual ~SVGList() { }
-
- const QualifiedName& associatedAttributeName() const { return m_associatedAttributeName; }
-
- unsigned int numberOfItems() const { return m_vector.size(); }
- void clear(ExceptionCode &) { m_vector.clear(); }
-
- Item initialize(Item newItem, ExceptionCode& ec)
- {
- if (TypeOperations::isNull(newItem)) {
- ec = TYPE_MISMATCH_ERR;
- return TypeOperations::nullItem();
- }
- clear(ec);
- return appendItem(newItem, ec);
- }
-
- Item getFirst() const
- {
- ExceptionCode ec = 0;
- return getItem(0, ec);
- }
-
- Item getLast() const
- {
- ExceptionCode ec = 0;
- return getItem(m_vector.size() - 1, ec);
- }
-
- Item getItem(unsigned int index, ExceptionCode& ec)
- {
- if (index >= m_vector.size()) {
- ec = INDEX_SIZE_ERR;
- return TypeOperations::nullItem();
- }
-
- return m_vector.at(index);
- }
-
- const Item getItem(unsigned int index, ExceptionCode& ec) const
- {
- if (index >= m_vector.size()) {
- ec = INDEX_SIZE_ERR;
- return TypeOperations::nullItem();
- }
-
- return m_vector[index];
- }
-
- Item insertItemBefore(Item newItem, unsigned int index, ExceptionCode& ec)
- {
- if (TypeOperations::isNull(newItem)) {
- ec = TYPE_MISMATCH_ERR;
- return TypeOperations::nullItem();
- }
-
- if (index < m_vector.size()) {
- m_vector.insert(index, newItem);
- } else {
- m_vector.append(newItem);
- }
- return newItem;
- }
-
- Item replaceItem(Item newItem, unsigned int index, ExceptionCode& ec)
- {
- if (index >= m_vector.size()) {
- ec = INDEX_SIZE_ERR;
- return TypeOperations::nullItem();
- }
-
- if (TypeOperations::isNull(newItem)) {
- ec = TYPE_MISMATCH_ERR;
- return TypeOperations::nullItem();
- }
-
- m_vector[index] = newItem;
- return newItem;
- }
-
- Item removeItem(unsigned int index, ExceptionCode& ec)
- {
- if (index >= m_vector.size()) {
- ec = INDEX_SIZE_ERR;
- return TypeOperations::nullItem();
- }
-
- Item item = m_vector[index];
- m_vector.remove(index);
- return item;
- }
-
- Item appendItem(Item newItem, ExceptionCode& ec)
- {
- if (TypeOperations::isNull(newItem)) {
- ec = TYPE_MISMATCH_ERR;
- return TypeOperations::nullItem();
- }
-
- m_vector.append(newItem);
- return newItem;
- }
-
- protected:
- SVGList(const QualifiedName& attributeName)
- : m_associatedAttributeName(attributeName)
- {
- }
-
- private:
- Vector<Item> m_vector;
- const QualifiedName& m_associatedAttributeName;
- };
-
- template<typename Item>
- class SVGPODListItem : public RefCounted<SVGPODListItem<Item> > {
- public:
- static PassRefPtr<SVGPODListItem> create() { return adoptRef(new SVGPODListItem); }
- static PassRefPtr<SVGPODListItem> copy(const Item& item) { return adoptRef(new SVGPODListItem(item)); }
-
- operator Item&() { return m_item; }
- operator const Item&() const { return m_item; }
-
- // Updating facilities, used by JSSVGPODTypeWrapperCreatorForList
- Item value() const { return m_item; }
- void setValue(const Item& newItem) { m_item = newItem; }
-
- private:
- SVGPODListItem() : m_item() { }
- SVGPODListItem(const Item& item) : RefCounted<SVGPODListItem<Item> >(), m_item(item) { }
-
- Item m_item;
- };
-
- template<typename Item>
- class SVGPODList : public SVGList<RefPtr<SVGPODListItem<Item> > > {
- public:
- Item initialize(Item newItem, ExceptionCode& ec)
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::initialize(SVGPODListItem<Item>::copy(newItem), ec).get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- Item getFirst() const
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::getFirst().get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- Item getLast() const
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::getLast().get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- Item getItem(unsigned int index, ExceptionCode& ec)
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::getItem(index, ec).get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- const Item getItem(unsigned int index, ExceptionCode& ec) const
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::getItem(index, ec).get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- Item insertItemBefore(Item newItem, unsigned int index, ExceptionCode& ec)
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::insertItemBefore(SVGPODListItem<Item>::copy(newItem), index, ec).get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- Item replaceItem(Item newItem, unsigned int index, ExceptionCode& ec)
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::replaceItem(SVGPODListItem<Item>::copy(newItem), index, ec).get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- Item removeItem(unsigned int index, ExceptionCode& ec)
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::removeItem(index, ec).get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- Item appendItem(Item newItem, ExceptionCode& ec)
- {
- SVGPODListItem<Item>* ptr(SVGList<RefPtr<SVGPODListItem<Item> > >::appendItem(SVGPODListItem<Item>::copy(newItem), ec).get());
- if (!ptr)
- return Item();
-
- return static_cast<const Item&>(*ptr);
- }
-
- protected:
- SVGPODList(const QualifiedName& attributeName)
- : SVGList<RefPtr<SVGPODListItem<Item> > >(attributeName) { }
- };
-
-} // namespace WebCore
-
-#endif // ENABLE(SVG)
-#endif // SVGList_h
diff --git a/WebCore/svg/SVGListTraits.h b/WebCore/svg/SVGListTraits.h
deleted file mode 100644
index 0f60c75..0000000
--- a/WebCore/svg/SVGListTraits.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2006 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2006 Apple Inc. All rights reserved.
- *
- * 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., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef SVGListTraits_h
-#define SVGListTraits_h
-
-#if ENABLE(SVG)
-
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-
- template<typename Item> struct UsesDefaultInitializer { static const bool value = true; };
- template<> struct UsesDefaultInitializer<double> { static const bool value = false; };
- template<> struct UsesDefaultInitializer<float> { static const bool value = false; };
-
- template<bool usesDefaultInitializer, typename Item>
- struct SVGListTraits { };
-
- template<typename ItemPtr>
- struct SVGListTraits<true, ItemPtr*> {
- static ItemPtr* nullItem() { return 0; }
- static bool isNull(ItemPtr* it) { return !it; }
- };
-
- template<typename ItemPtr>
- struct SVGListTraits<true, RefPtr<ItemPtr> > {
- static RefPtr<ItemPtr> nullItem() { return 0; }
- static bool isNull(const RefPtr<ItemPtr>& it) { return !it; }
- };
-
- template<typename Item>
- struct SVGListTraits<true, Item> {
- static Item nullItem() { return Item(); }
- static bool isNull(Item it) { return !it; }
- };
-
- template<>
- struct SVGListTraits<false, double> {
- static double nullItem() { return 0.0; }
- static bool isNull(double) { return false; }
- };
-
- template<>
- struct SVGListTraits<false, float> {
- static float nullItem() { return 0; }
- static bool isNull(float) { return false; }
- };
-
-
-} // namespace WebCore
-
-#endif // SVG_SUPPORT
-#endif // SVGListTraits_h
-
-// vim:ts=4:noet
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list