WebKit Bugzilla
Attachment 356352 Details for
Bug 191237
: Remove SVG properties tear-off objects
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
2-SVGPathSeg
SVGPathSeg.patch (text/plain), 96.37 KB, created by
Said Abou-Hallawa
on 2018-12-02 18:24:03 PST
(
hide
)
Description:
2-SVGPathSeg
Filename:
MIME Type:
Creator:
Said Abou-Hallawa
Created:
2018-12-02 18:24:03 PST
Size:
96.37 KB
patch
obsolete
>diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index b59afcd7e80..129018fbd61 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,101 @@ >+2018-12-02 Said Abou-Hallawa <sabouhallawa@apple.com> >+ >+ Remove SVG properties tear-off objects >+ https://bugs.webkit.org/show_bug.cgi?id=191237 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Make SVGPathSeg be a superclass of SVGProperty. The goal is to unify >+ how commitChange() is called among all the SVG properties. >+ >+ Introduce SVGPathSegValue which is a template class of SVGPathSeg with >+ a template parameter pack. The good thing about this class is >+ setArgument() will be only function which calls commitChange(). >+ >+ * WebCore.xcodeproj/project.pbxproj: >+ * svg/SVGPathSeg.h: >+ * svg/SVGPathSegArc.h: Removed. >+ * svg/SVGPathSegArcAbs.h: Removed. >+ * svg/SVGPathSegArcRel.h: Removed. >+ * svg/SVGPathSegClosePath.h: Removed. >+ * svg/SVGPathSegCurvetoCubic.h: Removed. >+ * svg/SVGPathSegCurvetoCubicAbs.h: Removed. >+ * svg/SVGPathSegCurvetoCubicRel.h: Removed. >+ * svg/SVGPathSegCurvetoCubicSmooth.h: Removed. >+ * svg/SVGPathSegCurvetoCubicSmoothAbs.h: Removed. >+ * svg/SVGPathSegCurvetoCubicSmoothRel.h: Removed. >+ * svg/SVGPathSegCurvetoQuadratic.h: Removed. >+ * svg/SVGPathSegCurvetoQuadraticAbs.h: Removed. >+ * svg/SVGPathSegCurvetoQuadraticRel.h: Removed. >+ * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h: Removed. >+ * svg/SVGPathSegCurvetoQuadraticSmoothRel.h: Removed. >+ * svg/SVGPathSegImpl.h: Added. >+ * svg/SVGPathSegLinetoAbs.h: Removed. >+ * svg/SVGPathSegLinetoHorizontal.h: Removed. >+ * svg/SVGPathSegLinetoHorizontalAbs.h: Removed. >+ * svg/SVGPathSegLinetoHorizontalRel.h: Removed. >+ * svg/SVGPathSegLinetoRel.h: Removed. >+ * svg/SVGPathSegLinetoVertical.h: Removed. >+ * svg/SVGPathSegLinetoVerticalAbs.h: Removed. >+ * svg/SVGPathSegLinetoVerticalRel.h: Removed. >+ * svg/SVGPathSegValue.h: Added. >+ (WebCore::SVGPathSegValue::create): >+ (WebCore::SVGPathSegValue::clone const): >+ (WebCore::SVGPathSegValue::SVGPathSegValue): >+ (WebCore::SVGPathSegValue::argument const): >+ (WebCore::SVGPathSegValue::setArgument): >+ (WebCore::SVGPathSegLinetoHorizontal::x const): >+ (WebCore::SVGPathSegLinetoHorizontal::setX): >+ (WebCore::SVGPathSegLinetoVertical::y const): >+ (WebCore::SVGPathSegLinetoVertical::setY): >+ (WebCore::SVGPathSegSingleCoordinate::x const): >+ (WebCore::SVGPathSegSingleCoordinate::setX): >+ (WebCore::SVGPathSegSingleCoordinate::y const): >+ (WebCore::SVGPathSegSingleCoordinate::setY): >+ (WebCore::SVGPathSegCurvetoQuadratic::x const): >+ (WebCore::SVGPathSegCurvetoQuadratic::setX): >+ (WebCore::SVGPathSegCurvetoQuadratic::y const): >+ (WebCore::SVGPathSegCurvetoQuadratic::setY): >+ (WebCore::SVGPathSegCurvetoQuadratic::x1 const): >+ (WebCore::SVGPathSegCurvetoQuadratic::setX1): >+ (WebCore::SVGPathSegCurvetoQuadratic::y1 const): >+ (WebCore::SVGPathSegCurvetoQuadratic::setY1): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::x const): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::setX): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::y const): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::setY): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::x2 const): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::setX2): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::y2 const): >+ (WebCore::SVGPathSegCurvetoCubicSmooth::setY2): >+ (WebCore::SVGPathSegCurvetoCubic::x const): >+ (WebCore::SVGPathSegCurvetoCubic::setX): >+ (WebCore::SVGPathSegCurvetoCubic::y const): >+ (WebCore::SVGPathSegCurvetoCubic::setY): >+ (WebCore::SVGPathSegCurvetoCubic::x1 const): >+ (WebCore::SVGPathSegCurvetoCubic::setX1): >+ (WebCore::SVGPathSegCurvetoCubic::y1 const): >+ (WebCore::SVGPathSegCurvetoCubic::setY1): >+ (WebCore::SVGPathSegCurvetoCubic::x2 const): >+ (WebCore::SVGPathSegCurvetoCubic::setX2): >+ (WebCore::SVGPathSegCurvetoCubic::y2 const): >+ (WebCore::SVGPathSegCurvetoCubic::setY2): >+ (WebCore::SVGPathSegArc::x const): >+ (WebCore::SVGPathSegArc::setX): >+ (WebCore::SVGPathSegArc::y const): >+ (WebCore::SVGPathSegArc::setY): >+ (WebCore::SVGPathSegArc::r1 const): >+ (WebCore::SVGPathSegArc::setR1): >+ (WebCore::SVGPathSegArc::r2 const): >+ (WebCore::SVGPathSegArc::setR2): >+ (WebCore::SVGPathSegArc::angle const): >+ (WebCore::SVGPathSegArc::setAngle): >+ (WebCore::SVGPathSegArc::largeArcFlag const): >+ (WebCore::SVGPathSegArc::setLargeArcFlag): >+ (WebCore::SVGPathSegArc::sweepFlag const): >+ (WebCore::SVGPathSegArc::setSweepFlag): >+ * svg/SVGPathSegWithContext.h: Removed. >+ > 2018-12-02 Said Abou-Hallawa <sabouhallawa@apple.com> > > Remove SVG properties tear-off objects >diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >index 6cdfa8efb4b..e484f51df7f 100644 >--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj >+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >@@ -233,7 +233,6 @@ > 081EBF3B0FD34F4100DA7559 /* SVGFilterBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 081EBF390FD34F4100DA7559 /* SVGFilterBuilder.h */; }; > 0823D159127AD6AC000EBC95 /* SVGAnimatedInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 0823D158127AD6AC000EBC95 /* SVGAnimatedInteger.h */; }; > 08250939128BD4D800E2ED8E /* SVGAnimatedTransformList.h in Headers */ = {isa = PBXBuildFile; fileRef = 08250938128BD4D800E2ED8E /* SVGAnimatedTransformList.h */; }; >- 082DE42D1292621600D923DF /* SVGPathSegWithContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 082DE42C1292621600D923DF /* SVGPathSegWithContext.h */; }; > 083DAEA70F01A7FB00342754 /* RenderTextControlMultiLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 083DAEA30F01A7FB00342754 /* RenderTextControlMultiLine.h */; }; > 083DAEA90F01A7FB00342754 /* RenderTextControlSingleLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 083DAEA50F01A7FB00342754 /* RenderTextControlSingleLine.h */; }; > 0845680812B90DA600960A9F /* FontMetrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 0845680712B90DA600960A9F /* FontMetrics.h */; settings = {ATTRIBUTES = (Private, ); }; }; >@@ -2443,22 +2442,6 @@ > 83B9687B19F8AB83004EF7AF /* StyleBuilderConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 83B9687919F8AB83004EF7AF /* StyleBuilderConverter.h */; }; > 83BB5C881D5D6F45005A71F4 /* AllDescendantsCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 83BB5C871D5D6F3A005A71F4 /* AllDescendantsCollection.h */; }; > 83C05A5B1A686212007E5DEA /* StylePropertyShorthandFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C05A591A686212007E5DEA /* StylePropertyShorthandFunctions.h */; }; >- 83C1D425178D5AB400141E68 /* SVGPathSegArcAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D413178D5AB400141E68 /* SVGPathSegArcAbs.h */; }; >- 83C1D426178D5AB400141E68 /* SVGPathSegArcRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D414178D5AB400141E68 /* SVGPathSegArcRel.h */; }; >- 83C1D427178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D415178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h */; }; >- 83C1D428178D5AB400141E68 /* SVGPathSegCurvetoCubicRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D416178D5AB400141E68 /* SVGPathSegCurvetoCubicRel.h */; }; >- 83C1D429178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D417178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothAbs.h */; }; >- 83C1D42A178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D418178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothRel.h */; }; >- 83C1D42B178D5AB400141E68 /* SVGPathSegCurvetoQuadraticAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D419178D5AB400141E68 /* SVGPathSegCurvetoQuadraticAbs.h */; }; >- 83C1D42C178D5AB500141E68 /* SVGPathSegCurvetoQuadraticRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D41A178D5AB400141E68 /* SVGPathSegCurvetoQuadraticRel.h */; }; >- 83C1D42D178D5AB500141E68 /* SVGPathSegCurvetoQuadraticSmoothAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D41B178D5AB400141E68 /* SVGPathSegCurvetoQuadraticSmoothAbs.h */; }; >- 83C1D42E178D5AB500141E68 /* SVGPathSegCurvetoQuadraticSmoothRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D41C178D5AB400141E68 /* SVGPathSegCurvetoQuadraticSmoothRel.h */; }; >- 83C1D42F178D5AB500141E68 /* SVGPathSegLinetoAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D41D178D5AB400141E68 /* SVGPathSegLinetoAbs.h */; }; >- 83C1D430178D5AB500141E68 /* SVGPathSegLinetoHorizontalAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D41E178D5AB400141E68 /* SVGPathSegLinetoHorizontalAbs.h */; }; >- 83C1D431178D5AB500141E68 /* SVGPathSegLinetoHorizontalRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D41F178D5AB400141E68 /* SVGPathSegLinetoHorizontalRel.h */; }; >- 83C1D432178D5AB500141E68 /* SVGPathSegLinetoRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D420178D5AB400141E68 /* SVGPathSegLinetoRel.h */; }; >- 83C1D433178D5AB500141E68 /* SVGPathSegLinetoVerticalAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D421178D5AB400141E68 /* SVGPathSegLinetoVerticalAbs.h */; }; >- 83C1D434178D5AB500141E68 /* SVGPathSegLinetoVerticalRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D422178D5AB400141E68 /* SVGPathSegLinetoVerticalRel.h */; }; > 83C1D435178D5AB500141E68 /* SVGPathSegMovetoAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D423178D5AB400141E68 /* SVGPathSegMovetoAbs.h */; }; > 83C1D436178D5AB500141E68 /* SVGPathSegMovetoRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D424178D5AB400141E68 /* SVGPathSegMovetoRel.h */; }; > 83C1F5941EDF69D300410D27 /* QualifiedNameCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1F5921EDF69D300410D27 /* QualifiedNameCache.h */; }; >@@ -3474,13 +3457,6 @@ > B2227A570D00BF220071B782 /* SVGParserUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278C10D00BF200071B782 /* SVGParserUtilities.h */; settings = {ATTRIBUTES = (Private, ); }; }; > B2227A590D00BF220071B782 /* SVGPathElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278C30D00BF200071B782 /* SVGPathElement.h */; }; > B2227A5B0D00BF220071B782 /* SVGPathSeg.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278C50D00BF200071B782 /* SVGPathSeg.h */; }; >- B2227A5E0D00BF220071B782 /* SVGPathSegArc.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278C80D00BF200071B782 /* SVGPathSegArc.h */; }; >- B2227A620D00BF220071B782 /* SVGPathSegClosePath.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278CC0D00BF200071B782 /* SVGPathSegClosePath.h */; }; >- B2227A650D00BF220071B782 /* SVGPathSegCurvetoCubic.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278CF0D00BF200071B782 /* SVGPathSegCurvetoCubic.h */; }; >- B2227A690D00BF220071B782 /* SVGPathSegCurvetoCubicSmooth.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278D30D00BF200071B782 /* SVGPathSegCurvetoCubicSmooth.h */; }; >- B2227A6D0D00BF220071B782 /* SVGPathSegCurvetoQuadratic.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278D70D00BF200071B782 /* SVGPathSegCurvetoQuadratic.h */; }; >- B2227A780D00BF220071B782 /* SVGPathSegLinetoHorizontal.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278E20D00BF200071B782 /* SVGPathSegLinetoHorizontal.h */; }; >- B2227A7D0D00BF220071B782 /* SVGPathSegLinetoVertical.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278E70D00BF200071B782 /* SVGPathSegLinetoVertical.h */; }; > B2227A810D00BF220071B782 /* SVGPathSegList.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278EB0D00BF200071B782 /* SVGPathSegList.h */; }; > B2227A880D00BF220071B782 /* SVGPatternElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278F20D00BF210071B782 /* SVGPatternElement.h */; }; > B2227A8C0D00BF220071B782 /* SVGPointList.h in Headers */ = {isa = PBXBuildFile; fileRef = B22278F60D00BF210071B782 /* SVGPointList.h */; }; >@@ -5553,7 +5529,6 @@ > 081EBF390FD34F4100DA7559 /* SVGFilterBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGFilterBuilder.h; sourceTree = "<group>"; }; > 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>"; }; > 083DAEA20F01A7FB00342754 /* RenderTextControlMultiLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderTextControlMultiLine.cpp; sourceTree = "<group>"; }; > 083DAEA30F01A7FB00342754 /* RenderTextControlMultiLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderTextControlMultiLine.h; sourceTree = "<group>"; }; > 083DAEA40F01A7FB00342754 /* RenderTextControlSingleLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderTextControlSingleLine.cpp; sourceTree = "<group>"; }; >@@ -9346,6 +9321,8 @@ > 72227A6C21B4B1F6008EC3E4 /* SVGPropertyOwner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPropertyOwner.h; sourceTree = "<group>"; }; > 72227A6D21B4B1F7008EC3E4 /* SVGValueProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGValueProperty.h; sourceTree = "<group>"; }; > 72227A6E21B4B302008EC3E4 /* SVGTransformValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTransformValue.h; sourceTree = "<group>"; }; >+ 72227A6F21B4C5FE008EC3E4 /* SVGPathSegImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegImpl.h; sourceTree = "<group>"; }; >+ 72227A7021B4C5FF008EC3E4 /* SVGPathSegValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegValue.h; sourceTree = "<group>"; }; > 724ED3291A3A7E5400F5F13C /* EXTBlendMinMax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EXTBlendMinMax.cpp; sourceTree = "<group>"; }; > 724ED32A1A3A7E5400F5F13C /* EXTBlendMinMax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EXTBlendMinMax.h; sourceTree = "<group>"; }; > 724ED32B1A3A7E5400F5F13C /* EXTBlendMinMax.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EXTBlendMinMax.idl; sourceTree = "<group>"; }; >@@ -10049,22 +10026,6 @@ > 83BB5C871D5D6F3A005A71F4 /* AllDescendantsCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllDescendantsCollection.h; sourceTree = "<group>"; }; > 83C05A581A686212007E5DEA /* StylePropertyShorthandFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StylePropertyShorthandFunctions.cpp; path = DerivedSources/WebCore/StylePropertyShorthandFunctions.cpp; sourceTree = BUILT_PRODUCTS_DIR; }; > 83C05A591A686212007E5DEA /* StylePropertyShorthandFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StylePropertyShorthandFunctions.h; path = DerivedSources/WebCore/StylePropertyShorthandFunctions.h; sourceTree = BUILT_PRODUCTS_DIR; }; >- 83C1D413178D5AB400141E68 /* SVGPathSegArcAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegArcAbs.h; sourceTree = "<group>"; }; >- 83C1D414178D5AB400141E68 /* SVGPathSegArcRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegArcRel.h; sourceTree = "<group>"; }; >- 83C1D415178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubicAbs.h; sourceTree = "<group>"; }; >- 83C1D416178D5AB400141E68 /* SVGPathSegCurvetoCubicRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubicRel.h; sourceTree = "<group>"; }; >- 83C1D417178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubicSmoothAbs.h; sourceTree = "<group>"; }; >- 83C1D418178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubicSmoothRel.h; sourceTree = "<group>"; }; >- 83C1D419178D5AB400141E68 /* SVGPathSegCurvetoQuadraticAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoQuadraticAbs.h; sourceTree = "<group>"; }; >- 83C1D41A178D5AB400141E68 /* SVGPathSegCurvetoQuadraticRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoQuadraticRel.h; sourceTree = "<group>"; }; >- 83C1D41B178D5AB400141E68 /* SVGPathSegCurvetoQuadraticSmoothAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoQuadraticSmoothAbs.h; sourceTree = "<group>"; }; >- 83C1D41C178D5AB400141E68 /* SVGPathSegCurvetoQuadraticSmoothRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoQuadraticSmoothRel.h; sourceTree = "<group>"; }; >- 83C1D41D178D5AB400141E68 /* SVGPathSegLinetoAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoAbs.h; sourceTree = "<group>"; }; >- 83C1D41E178D5AB400141E68 /* SVGPathSegLinetoHorizontalAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoHorizontalAbs.h; sourceTree = "<group>"; }; >- 83C1D41F178D5AB400141E68 /* SVGPathSegLinetoHorizontalRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoHorizontalRel.h; sourceTree = "<group>"; }; >- 83C1D420178D5AB400141E68 /* SVGPathSegLinetoRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoRel.h; sourceTree = "<group>"; }; >- 83C1D421178D5AB400141E68 /* SVGPathSegLinetoVerticalAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoVerticalAbs.h; sourceTree = "<group>"; }; >- 83C1D422178D5AB400141E68 /* SVGPathSegLinetoVerticalRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoVerticalRel.h; sourceTree = "<group>"; }; > 83C1D423178D5AB400141E68 /* SVGPathSegMovetoAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegMovetoAbs.h; sourceTree = "<group>"; }; > 83C1D424178D5AB400141E68 /* SVGPathSegMovetoRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegMovetoRel.h; sourceTree = "<group>"; }; > 83C1F5911EDF69D300410D27 /* QualifiedNameCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QualifiedNameCache.cpp; sourceTree = "<group>"; }; >@@ -12194,28 +12155,21 @@ > B22278C40D00BF200071B782 /* SVGPathElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathElement.idl; sourceTree = "<group>"; }; > B22278C50D00BF200071B782 /* SVGPathSeg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSeg.h; sourceTree = "<group>"; }; > B22278C60D00BF200071B782 /* SVGPathSeg.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSeg.idl; sourceTree = "<group>"; }; >- B22278C80D00BF200071B782 /* SVGPathSegArc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegArc.h; sourceTree = "<group>"; }; > B22278C90D00BF200071B782 /* SVGPathSegArcAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegArcAbs.idl; sourceTree = "<group>"; }; > B22278CA0D00BF200071B782 /* SVGPathSegArcRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegArcRel.idl; sourceTree = "<group>"; }; >- B22278CC0D00BF200071B782 /* SVGPathSegClosePath.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegClosePath.h; sourceTree = "<group>"; }; > B22278CD0D00BF200071B782 /* SVGPathSegClosePath.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegClosePath.idl; sourceTree = "<group>"; }; >- B22278CF0D00BF200071B782 /* SVGPathSegCurvetoCubic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubic.h; sourceTree = "<group>"; }; > B22278D00D00BF200071B782 /* SVGPathSegCurvetoCubicAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoCubicAbs.idl; sourceTree = "<group>"; }; > B22278D10D00BF200071B782 /* SVGPathSegCurvetoCubicRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoCubicRel.idl; sourceTree = "<group>"; }; >- B22278D30D00BF200071B782 /* SVGPathSegCurvetoCubicSmooth.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubicSmooth.h; sourceTree = "<group>"; }; > B22278D40D00BF200071B782 /* SVGPathSegCurvetoCubicSmoothAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoCubicSmoothAbs.idl; sourceTree = "<group>"; }; > B22278D50D00BF200071B782 /* SVGPathSegCurvetoCubicSmoothRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoCubicSmoothRel.idl; sourceTree = "<group>"; }; >- B22278D70D00BF200071B782 /* SVGPathSegCurvetoQuadratic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoQuadratic.h; sourceTree = "<group>"; }; > B22278D80D00BF200071B782 /* SVGPathSegCurvetoQuadraticAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoQuadraticAbs.idl; sourceTree = "<group>"; }; > B22278D90D00BF200071B782 /* SVGPathSegCurvetoQuadraticRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoQuadraticRel.idl; sourceTree = "<group>"; }; > B22278DC0D00BF200071B782 /* SVGPathSegCurvetoQuadraticSmoothAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoQuadraticSmoothAbs.idl; sourceTree = "<group>"; }; > B22278DD0D00BF200071B782 /* SVGPathSegCurvetoQuadraticSmoothRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegCurvetoQuadraticSmoothRel.idl; sourceTree = "<group>"; }; > B22278E00D00BF200071B782 /* SVGPathSegLinetoAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegLinetoAbs.idl; sourceTree = "<group>"; }; >- B22278E20D00BF200071B782 /* SVGPathSegLinetoHorizontal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoHorizontal.h; sourceTree = "<group>"; }; > B22278E30D00BF200071B782 /* SVGPathSegLinetoHorizontalAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegLinetoHorizontalAbs.idl; sourceTree = "<group>"; }; > B22278E40D00BF200071B782 /* SVGPathSegLinetoHorizontalRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegLinetoHorizontalRel.idl; sourceTree = "<group>"; }; > B22278E50D00BF200071B782 /* SVGPathSegLinetoRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegLinetoRel.idl; sourceTree = "<group>"; }; >- B22278E70D00BF200071B782 /* SVGPathSegLinetoVertical.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegLinetoVertical.h; sourceTree = "<group>"; }; > B22278E80D00BF200071B782 /* SVGPathSegLinetoVerticalAbs.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegLinetoVerticalAbs.idl; sourceTree = "<group>"; }; > B22278E90D00BF200071B782 /* SVGPathSegLinetoVerticalRel.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPathSegLinetoVerticalRel.idl; sourceTree = "<group>"; }; > B22278EB0D00BF200071B782 /* SVGPathSegList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGPathSegList.h; sourceTree = "<group>"; }; >@@ -23761,45 +23715,23 @@ > 8476C9EE11DF6A5800555B02 /* SVGPathParser.h */, > B22278C50D00BF200071B782 /* SVGPathSeg.h */, > B22278C60D00BF200071B782 /* SVGPathSeg.idl */, >- B22278C80D00BF200071B782 /* SVGPathSegArc.h */, >- 83C1D413178D5AB400141E68 /* SVGPathSegArcAbs.h */, > B22278C90D00BF200071B782 /* SVGPathSegArcAbs.idl */, >- 83C1D414178D5AB400141E68 /* SVGPathSegArcRel.h */, > B22278CA0D00BF200071B782 /* SVGPathSegArcRel.idl */, >- B22278CC0D00BF200071B782 /* SVGPathSegClosePath.h */, > B22278CD0D00BF200071B782 /* SVGPathSegClosePath.idl */, >- B22278CF0D00BF200071B782 /* SVGPathSegCurvetoCubic.h */, >- 83C1D415178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h */, > B22278D00D00BF200071B782 /* SVGPathSegCurvetoCubicAbs.idl */, >- 83C1D416178D5AB400141E68 /* SVGPathSegCurvetoCubicRel.h */, > B22278D10D00BF200071B782 /* SVGPathSegCurvetoCubicRel.idl */, >- B22278D30D00BF200071B782 /* SVGPathSegCurvetoCubicSmooth.h */, >- 83C1D417178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothAbs.h */, > B22278D40D00BF200071B782 /* SVGPathSegCurvetoCubicSmoothAbs.idl */, >- 83C1D418178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothRel.h */, > B22278D50D00BF200071B782 /* SVGPathSegCurvetoCubicSmoothRel.idl */, >- B22278D70D00BF200071B782 /* SVGPathSegCurvetoQuadratic.h */, >- 83C1D419178D5AB400141E68 /* SVGPathSegCurvetoQuadraticAbs.h */, > B22278D80D00BF200071B782 /* SVGPathSegCurvetoQuadraticAbs.idl */, >- 83C1D41A178D5AB400141E68 /* SVGPathSegCurvetoQuadraticRel.h */, > B22278D90D00BF200071B782 /* SVGPathSegCurvetoQuadraticRel.idl */, >- 83C1D41B178D5AB400141E68 /* SVGPathSegCurvetoQuadraticSmoothAbs.h */, > B22278DC0D00BF200071B782 /* SVGPathSegCurvetoQuadraticSmoothAbs.idl */, >- 83C1D41C178D5AB400141E68 /* SVGPathSegCurvetoQuadraticSmoothRel.h */, > B22278DD0D00BF200071B782 /* SVGPathSegCurvetoQuadraticSmoothRel.idl */, >- 83C1D41D178D5AB400141E68 /* SVGPathSegLinetoAbs.h */, >+ 72227A6F21B4C5FE008EC3E4 /* SVGPathSegImpl.h */, > B22278E00D00BF200071B782 /* SVGPathSegLinetoAbs.idl */, >- B22278E20D00BF200071B782 /* SVGPathSegLinetoHorizontal.h */, >- 83C1D41E178D5AB400141E68 /* SVGPathSegLinetoHorizontalAbs.h */, > B22278E30D00BF200071B782 /* SVGPathSegLinetoHorizontalAbs.idl */, >- 83C1D41F178D5AB400141E68 /* SVGPathSegLinetoHorizontalRel.h */, > B22278E40D00BF200071B782 /* SVGPathSegLinetoHorizontalRel.idl */, >- 83C1D420178D5AB400141E68 /* SVGPathSegLinetoRel.h */, > B22278E50D00BF200071B782 /* SVGPathSegLinetoRel.idl */, >- B22278E70D00BF200071B782 /* SVGPathSegLinetoVertical.h */, >- 83C1D421178D5AB400141E68 /* SVGPathSegLinetoVerticalAbs.h */, > B22278E80D00BF200071B782 /* SVGPathSegLinetoVerticalAbs.idl */, >- 83C1D422178D5AB400141E68 /* SVGPathSegLinetoVerticalRel.h */, > B22278E90D00BF200071B782 /* SVGPathSegLinetoVerticalRel.idl */, > 7C39C3701DDBA44000FEFB29 /* SVGPathSegList.cpp */, > B22278EB0D00BF200071B782 /* SVGPathSegList.h */, >@@ -23814,7 +23746,7 @@ > B22278EF0D00BF210071B782 /* SVGPathSegMovetoAbs.idl */, > 83C1D424178D5AB400141E68 /* SVGPathSegMovetoRel.h */, > B22278F00D00BF210071B782 /* SVGPathSegMovetoRel.idl */, >- 082DE42C1292621600D923DF /* SVGPathSegWithContext.h */, >+ 72227A7021B4C5FF008EC3E4 /* SVGPathSegValue.h */, > 84300BD7120C9AD40021954A /* SVGPathSource.h */, > 8419D2B7120E0C7600141F8F /* SVGPathStringBuilder.cpp */, > 8419D2B8120E0C7600141F8F /* SVGPathStringBuilder.h */, >@@ -31240,35 +31172,11 @@ > B2227A590D00BF220071B782 /* SVGPathElement.h in Headers */, > 8476C9F011DF6A5800555B02 /* SVGPathParser.h in Headers */, > B2227A5B0D00BF220071B782 /* SVGPathSeg.h in Headers */, >- B2227A5E0D00BF220071B782 /* SVGPathSegArc.h in Headers */, >- 83C1D425178D5AB400141E68 /* SVGPathSegArcAbs.h in Headers */, >- 83C1D426178D5AB400141E68 /* SVGPathSegArcRel.h in Headers */, >- B2227A620D00BF220071B782 /* SVGPathSegClosePath.h in Headers */, >- B2227A650D00BF220071B782 /* SVGPathSegCurvetoCubic.h in Headers */, >- 83C1D427178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h in Headers */, >- 83C1D428178D5AB400141E68 /* SVGPathSegCurvetoCubicRel.h in Headers */, >- B2227A690D00BF220071B782 /* SVGPathSegCurvetoCubicSmooth.h in Headers */, >- 83C1D429178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothAbs.h in Headers */, >- 83C1D42A178D5AB400141E68 /* SVGPathSegCurvetoCubicSmoothRel.h in Headers */, >- B2227A6D0D00BF220071B782 /* SVGPathSegCurvetoQuadratic.h in Headers */, >- 83C1D42B178D5AB400141E68 /* SVGPathSegCurvetoQuadraticAbs.h in Headers */, >- 83C1D42C178D5AB500141E68 /* SVGPathSegCurvetoQuadraticRel.h in Headers */, >- 83C1D42D178D5AB500141E68 /* SVGPathSegCurvetoQuadraticSmoothAbs.h in Headers */, >- 83C1D42E178D5AB500141E68 /* SVGPathSegCurvetoQuadraticSmoothRel.h in Headers */, >- 83C1D42F178D5AB500141E68 /* SVGPathSegLinetoAbs.h in Headers */, >- B2227A780D00BF220071B782 /* SVGPathSegLinetoHorizontal.h in Headers */, >- 83C1D430178D5AB500141E68 /* SVGPathSegLinetoHorizontalAbs.h in Headers */, >- 83C1D431178D5AB500141E68 /* SVGPathSegLinetoHorizontalRel.h in Headers */, >- 83C1D432178D5AB500141E68 /* SVGPathSegLinetoRel.h in Headers */, >- B2227A7D0D00BF220071B782 /* SVGPathSegLinetoVertical.h in Headers */, >- 83C1D433178D5AB500141E68 /* SVGPathSegLinetoVerticalAbs.h in Headers */, >- 83C1D434178D5AB500141E68 /* SVGPathSegLinetoVerticalRel.h in Headers */, > B2227A810D00BF220071B782 /* SVGPathSegList.h in Headers */, > 8476C9E611DF6A0B00555B02 /* SVGPathSegListBuilder.h in Headers */, > 84B6B978120F13E500B8EFAF /* SVGPathSegListSource.h in Headers */, > 83C1D435178D5AB500141E68 /* SVGPathSegMovetoAbs.h in Headers */, > 83C1D436178D5AB500141E68 /* SVGPathSegMovetoRel.h in Headers */, >- 082DE42D1292621600D923DF /* SVGPathSegWithContext.h in Headers */, > 84300BD8120C9AD40021954A /* SVGPathSource.h in Headers */, > 8419D2BA120E0C7600141F8F /* SVGPathStringBuilder.h in Headers */, > 84300BD6120C9AAC0021954A /* SVGPathStringSource.h in Headers */, >diff --git a/Source/WebCore/svg/SVGPathSeg.h b/Source/WebCore/svg/SVGPathSeg.h >index 22a4958b6ae..9c133700bac 100644 >--- a/Source/WebCore/svg/SVGPathSeg.h >+++ b/Source/WebCore/svg/SVGPathSeg.h >@@ -1,6 +1,7 @@ > /* > * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> > * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >+ * Copyright (C) 2018 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 >@@ -20,7 +21,7 @@ > > #pragma once > >-#include <wtf/RefCounted.h> >+#include "SVGProperty.h" > #include <wtf/text/WTFString.h> > > namespace WebCore { >@@ -48,15 +49,8 @@ enum SVGPathSegType { > PathSegCurveToQuadraticSmoothRel = 19 > }; > >-enum SVGPathSegRole { >- PathSegUnalteredRole = 0, >- PathSegNormalizedRole = 1, >- PathSegUndefinedRole = 2 >-}; >- >-class SVGPathSeg : public RefCounted<SVGPathSeg> { >+class SVGPathSeg : public SVGProperty { > public: >- SVGPathSeg() = default; > virtual ~SVGPathSeg() = default; > > // Forward declare these enums in the w3c naming scheme, for IDL generation >@@ -85,6 +79,10 @@ public: > > virtual unsigned short pathSegType() const = 0; > virtual String pathSegTypeAsLetter() const = 0; >+ virtual Ref<SVGPathSeg> clone() const = 0; >+ >+protected: >+ using SVGProperty::SVGProperty; > }; > > } // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegArc.h b/Source/WebCore/svg/SVGPathSegArc.h >deleted file mode 100644 >index a99b2a800f6..00000000000 >--- a/Source/WebCore/svg/SVGPathSegArc.h >+++ /dev/null >@@ -1,101 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegArc : public SVGPathSegWithContext { >-public: >- SVGPathSegArc(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag) >- : SVGPathSegWithContext(element, role) >- , m_x(x) >- , m_y(y) >- , m_r1(r1) >- , m_r2(r2) >- , m_angle(angle) >- , m_largeArcFlag(largeArcFlag) >- , m_sweepFlag(sweepFlag) >- { >- } >- >- float x() const { return m_x; } >- void setX(float x) >- { >- m_x = x; >- commitChange(); >- } >- >- float y() const { return m_y; } >- void setY(float y) >- { >- m_y = y; >- commitChange(); >- } >- >- float r1() const { return m_r1; } >- void setR1(float r1) >- { >- m_r1 = r1; >- commitChange(); >- } >- >- float r2() const { return m_r2; } >- void setR2(float r2) >- { >- m_r2 = r2; >- commitChange(); >- } >- >- float angle() const { return m_angle; } >- void setAngle(float angle) >- { >- m_angle = angle; >- commitChange(); >- } >- >- bool largeArcFlag() const { return m_largeArcFlag; } >- void setLargeArcFlag(bool largeArcFlag) >- { >- m_largeArcFlag = largeArcFlag; >- commitChange(); >- } >- >- bool sweepFlag() const { return m_sweepFlag; } >- void setSweepFlag(bool sweepFlag) >- { >- m_sweepFlag = sweepFlag; >- commitChange(); >- } >- >-private: >- float m_x; >- float m_y; >- float m_r1; >- float m_r2; >- float m_angle; >- >- bool m_largeArcFlag : 1; >- bool m_sweepFlag : 1; >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegArcAbs.h b/Source/WebCore/svg/SVGPathSegArcAbs.h >deleted file mode 100644 >index a3f755ece92..00000000000 >--- a/Source/WebCore/svg/SVGPathSegArcAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegArc.h" >- >-namespace WebCore { >- >-class SVGPathSegArcAbs final : public SVGPathSegArc { >-public: >- static Ref<SVGPathSegArcAbs> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag) >- { >- return adoptRef(*new SVGPathSegArcAbs(element, role, x, y, r1, r2, angle, largeArcFlag, sweepFlag)); >- } >- >-private: >- SVGPathSegArcAbs(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag) >- : SVGPathSegArc(element, role, x, y, r1, r2, angle, largeArcFlag, sweepFlag) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_ARC_ABS; } >- String pathSegTypeAsLetter() const final { return "A"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegArcRel.h b/Source/WebCore/svg/SVGPathSegArcRel.h >deleted file mode 100644 >index 5feec6799e7..00000000000 >--- a/Source/WebCore/svg/SVGPathSegArcRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegArc.h" >- >-namespace WebCore { >- >-class SVGPathSegArcRel final : public SVGPathSegArc { >-public: >- static Ref<SVGPathSegArcRel> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag) >- { >- return adoptRef(*new SVGPathSegArcRel(element, role, x, y, r1, r2, angle, largeArcFlag, sweepFlag)); >- } >- >-private: >- SVGPathSegArcRel(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag) >- : SVGPathSegArc(element, role, x, y, r1, r2, angle, largeArcFlag, sweepFlag) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_ARC_REL; } >- String pathSegTypeAsLetter() const final { return "a"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegClosePath.h b/Source/WebCore/svg/SVGPathSegClosePath.h >deleted file mode 100644 >index 917d72b68d9..00000000000 >--- a/Source/WebCore/svg/SVGPathSegClosePath.h >+++ /dev/null >@@ -1,44 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegClosePath final : public SVGPathSegWithContext { >-public: >- static Ref<SVGPathSegClosePath> create(const SVGPathElement& element, SVGPathSegRole role) >- { >- return adoptRef(*new SVGPathSegClosePath(element, role)); >- } >- >-private: >- SVGPathSegClosePath(const SVGPathElement& element, SVGPathSegRole role) >- : SVGPathSegWithContext(element, role) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CLOSEPATH; } >- String pathSegTypeAsLetter() const final { return "Z"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoCubic.h b/Source/WebCore/svg/SVGPathSegCurvetoCubic.h >deleted file mode 100644 >index d6b853cf229..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoCubic.h >+++ /dev/null >@@ -1,91 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoCubic : public SVGPathSegWithContext { >-public: >- SVGPathSegCurvetoCubic(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) >- : SVGPathSegWithContext(element, role) >- , m_x(x) >- , m_y(y) >- , m_x1(x1) >- , m_y1(y1) >- , m_x2(x2) >- , m_y2(y2) >- { >- } >- >- float x() const { return m_x; } >- void setX(float x) >- { >- m_x = x; >- commitChange(); >- } >- >- float y() const { return m_y; } >- void setY(float y) >- { >- m_y = y; >- commitChange(); >- } >- >- float x1() const { return m_x1; } >- void setX1(float x1) >- { >- m_x1 = x1; >- commitChange(); >- } >- >- float y1() const { return m_y1; } >- void setY1(float y1) >- { >- m_y1 = y1; >- commitChange(); >- } >- >- float x2() const { return m_x2; } >- void setX2(float x2) >- { >- m_x2 = x2; >- commitChange(); >- } >- >- float y2() const { return m_y2; } >- void setY2(float y2) >- { >- m_y2 = y2; >- commitChange(); >- } >- >-private: >- float m_x; >- float m_y; >- float m_x1; >- float m_y1; >- float m_x2; >- float m_y2; >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.h b/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.h >deleted file mode 100644 >index d4ff54c12c1..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegCurvetoCubic.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoCubicAbs final : public SVGPathSegCurvetoCubic { >-public: >- static Ref<SVGPathSegCurvetoCubicAbs> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) >- { >- return adoptRef(*new SVGPathSegCurvetoCubicAbs(element, role, x, y, x1, y1, x2, y2)); >- } >- >-private: >- SVGPathSegCurvetoCubicAbs(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) >- : SVGPathSegCurvetoCubic(element, role, x, y, x1, y1, x2, y2) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_ABS; } >- String pathSegTypeAsLetter() const final { return "C"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.h b/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.h >deleted file mode 100644 >index 78a2d4129b9..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegCurvetoCubic.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoCubicRel final : public SVGPathSegCurvetoCubic { >-public: >- static Ref<SVGPathSegCurvetoCubicRel> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) >- { >- return adoptRef(*new SVGPathSegCurvetoCubicRel(element, role, x, y, x1, y1, x2, y2)); >- } >- >-private: >- SVGPathSegCurvetoCubicRel(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) >- : SVGPathSegCurvetoCubic(element, role, x, y, x1, y1, x2, y2) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_REL; } >- String pathSegTypeAsLetter() const final { return "c"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h b/Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h >deleted file mode 100644 >index 4e6053280b3..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h >+++ /dev/null >@@ -1,73 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoCubicSmooth : public SVGPathSegWithContext { >-public: >- SVGPathSegCurvetoCubicSmooth(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x2, float y2) >- : SVGPathSegWithContext(element, role) >- , m_x(x) >- , m_y(y) >- , m_x2(x2) >- , m_y2(y2) >- { >- } >- >- float x() const { return m_x; } >- void setX(float x) >- { >- m_x = x; >- commitChange(); >- } >- >- float y() const { return m_y; } >- void setY(float y) >- { >- m_y = y; >- commitChange(); >- } >- >- float x2() const { return m_x2; } >- void setX2(float x2) >- { >- m_x2 = x2; >- commitChange(); >- } >- >- float y2() const { return m_y2; } >- void setY2(float y2) >- { >- m_y2 = y2; >- commitChange(); >- } >- >-private: >- float m_x; >- float m_y; >- float m_x2; >- float m_y2; >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.h b/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.h >deleted file mode 100644 >index 98dd74c3477..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegCurvetoCubicSmooth.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoCubicSmoothAbs final : public SVGPathSegCurvetoCubicSmooth { >-public: >- static Ref<SVGPathSegCurvetoCubicSmoothAbs> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x2, float y2) >- { >- return adoptRef(*new SVGPathSegCurvetoCubicSmoothAbs(element, role, x, y, x2, y2)); >- } >- >-private: >- SVGPathSegCurvetoCubicSmoothAbs(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x2, float y2) >- : SVGPathSegCurvetoCubicSmooth(element, role, x, y, x2, y2) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; } >- String pathSegTypeAsLetter() const final { return "S"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.h b/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.h >deleted file mode 100644 >index 1b5d0886101..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegCurvetoCubicSmooth.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoCubicSmoothRel final : public SVGPathSegCurvetoCubicSmooth { >-public: >- static Ref<SVGPathSegCurvetoCubicSmoothRel> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x2, float y2) >- { >- return adoptRef(*new SVGPathSegCurvetoCubicSmoothRel(element, role, x, y, x2, y2)); >- } >- >-private: >- SVGPathSegCurvetoCubicSmoothRel(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x2, float y2) >- : SVGPathSegCurvetoCubicSmooth(element, role, x, y, x2, y2) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_SMOOTH_REL; } >- String pathSegTypeAsLetter() const final { return "s"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h b/Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h >deleted file mode 100644 >index 99435e0a963..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h >+++ /dev/null >@@ -1,73 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoQuadratic : public SVGPathSegWithContext { >-public: >- SVGPathSegCurvetoQuadratic(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1) >- : SVGPathSegWithContext(element, role) >- , m_x(x) >- , m_y(y) >- , m_x1(x1) >- , m_y1(y1) >- { >- } >- >- float x() const { return m_x; } >- void setX(float x) >- { >- m_x = x; >- commitChange(); >- } >- >- float y() const { return m_y; } >- void setY(float y) >- { >- m_y = y; >- commitChange(); >- } >- >- float x1() const { return m_x1; } >- void setX1(float x1) >- { >- m_x1 = x1; >- commitChange(); >- } >- >- float y1() const { return m_y1; } >- void setY1(float y1) >- { >- m_y1 = y1; >- commitChange(); >- } >- >-private: >- float m_x; >- float m_y; >- float m_x1; >- float m_y1; >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.h b/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.h >deleted file mode 100644 >index dec36dbd06b..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegCurvetoQuadratic.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoQuadraticAbs final : public SVGPathSegCurvetoQuadratic { >-public: >- static Ref<SVGPathSegCurvetoQuadraticAbs> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1) >- { >- return adoptRef(*new SVGPathSegCurvetoQuadraticAbs(element, role, x, y, x1, y1)); >- } >- >-private: >- SVGPathSegCurvetoQuadraticAbs(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1) >- : SVGPathSegCurvetoQuadratic(element, role, x, y, x1, y1) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_ABS; } >- String pathSegTypeAsLetter() const final { return "Q"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.h b/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.h >deleted file mode 100644 >index 7a0ca059d86..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegCurvetoQuadratic.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoQuadraticRel final : public SVGPathSegCurvetoQuadratic { >-public: >- static Ref<SVGPathSegCurvetoQuadraticRel> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1) >- { >- return adoptRef(*new SVGPathSegCurvetoQuadraticRel(element, role, x, y, x1, y1)); >- } >- >-private: >- SVGPathSegCurvetoQuadraticRel(const SVGPathElement& element, SVGPathSegRole role, float x, float y, float x1, float y1) >- : SVGPathSegCurvetoQuadratic(element, role, x, y, x1, y1) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_REL; } >- String pathSegTypeAsLetter() const final { return "q"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.h b/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.h >deleted file mode 100644 >index 898fabb19f2..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoQuadraticSmoothAbs final : public SVGPathSegSingleCoordinate { >-public: >- static Ref<SVGPathSegCurvetoQuadraticSmoothAbs> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- { >- return adoptRef(*new SVGPathSegCurvetoQuadraticSmoothAbs(element, role, x, y)); >- } >- >-private: >- SVGPathSegCurvetoQuadraticSmoothAbs(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- : SVGPathSegSingleCoordinate(element, role, x, y) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; } >- String pathSegTypeAsLetter() const final { return "T"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.h b/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.h >deleted file mode 100644 >index e97a10d2b6d..00000000000 >--- a/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegCurvetoQuadraticSmoothRel final : public SVGPathSegSingleCoordinate { >-public: >- static Ref<SVGPathSegCurvetoQuadraticSmoothRel> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- { >- return adoptRef(*new SVGPathSegCurvetoQuadraticSmoothRel(element, role, x, y)); >- } >- >-private: >- SVGPathSegCurvetoQuadraticSmoothRel(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- : SVGPathSegSingleCoordinate(element, role, x, y) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; } >- String pathSegTypeAsLetter() const final { return "t"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegImpl.h b/Source/WebCore/svg/SVGPathSegImpl.h >index 8b137891791..2fa225a32de 100644 >--- a/Source/WebCore/svg/SVGPathSegImpl.h >+++ b/Source/WebCore/svg/SVGPathSegImpl.h >@@ -1 +1,223 @@ >+/* >+ * Copyright (C) 2018 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY >+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR >+ * 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. >+ */ > >+#pragma once >+ >+#include "SVGPathSegValue.h" >+ >+namespace WebCore { >+ >+class SVGPathSegClosePath final : public SVGPathSeg { >+public: >+ static Ref<SVGPathSegClosePath> create() { return adoptRef(*new SVGPathSegClosePath()); } >+private: >+ using SVGPathSeg::SVGPathSeg; >+ unsigned short pathSegType() const final { return PATHSEG_CLOSEPATH; } >+ String pathSegTypeAsLetter() const final { return "Z"; } >+ Ref<SVGPathSeg> clone() const final { return adoptRef(*new SVGPathSegClosePath()); } >+}; >+ >+class SVGPathSegLinetoHorizontalAbs final : public SVGPathSegLinetoHorizontal { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegLinetoHorizontalAbs>; >+private: >+ using SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal; >+ unsigned short pathSegType() const final { return PATHSEG_LINETO_HORIZONTAL_ABS; } >+ String pathSegTypeAsLetter() const final { return "H"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegLinetoHorizontalAbs>(); } >+}; >+ >+class SVGPathSegLinetoHorizontalRel final : public SVGPathSegLinetoHorizontal { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegLinetoHorizontalRel>; >+private: >+ using SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal; >+ unsigned short pathSegType() const final { return PATHSEG_LINETO_HORIZONTAL_REL; } >+ String pathSegTypeAsLetter() const final { return "h"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegLinetoHorizontalRel>(); } >+}; >+ >+class SVGPathSegLinetoVerticalAbs final : public SVGPathSegLinetoVertical { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegLinetoVerticalAbs>; >+private: >+ using SVGPathSegLinetoVertical::SVGPathSegLinetoVertical; >+ unsigned short pathSegType() const final { return PATHSEG_LINETO_VERTICAL_ABS; } >+ String pathSegTypeAsLetter() const final { return "V"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegLinetoVerticalAbs>(); } >+}; >+ >+ >+class SVGPathSegLinetoVerticalRel final : public SVGPathSegLinetoVertical { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegLinetoVerticalRel>; >+private: >+ using SVGPathSegLinetoVertical::SVGPathSegLinetoVertical; >+ unsigned short pathSegType() const final { return PATHSEG_LINETO_VERTICAL_REL; } >+ String pathSegTypeAsLetter() const final { return "v"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegLinetoVerticalRel>(); } >+}; >+ >+class SVGPathSegMovetoAbs final : public SVGPathSegSingleCoordinate { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegMovetoAbs>; >+private: >+ using SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate; >+ unsigned short pathSegType() const final { return PATHSEG_MOVETO_ABS; } >+ String pathSegTypeAsLetter() const final { return "M"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegMovetoAbs>(); } >+}; >+ >+class SVGPathSegMovetoRel final : public SVGPathSegSingleCoordinate { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegMovetoRel>; >+private: >+ using SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate; >+ unsigned short pathSegType() const final { return PATHSEG_MOVETO_REL; } >+ String pathSegTypeAsLetter() const final { return "m"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegMovetoRel>(); } >+}; >+ >+class SVGPathSegLinetoAbs final : public SVGPathSegSingleCoordinate { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegLinetoAbs>; >+private: >+ using SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate; >+ unsigned short pathSegType() const final { return PATHSEG_LINETO_ABS; } >+ String pathSegTypeAsLetter() const final { return "L"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegLinetoAbs>(); } >+}; >+ >+class SVGPathSegLinetoRel final : public SVGPathSegSingleCoordinate { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegLinetoRel>; >+private: >+ using SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate; >+ unsigned short pathSegType() const final { return PATHSEG_LINETO_REL; } >+ String pathSegTypeAsLetter() const final { return "l"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegLinetoRel>(); } >+}; >+ >+class SVGPathSegCurvetoQuadraticAbs final : public SVGPathSegCurvetoQuadratic { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoQuadraticAbs>; >+private: >+ using SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_ABS; } >+ String pathSegTypeAsLetter() const final { return "Q"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoQuadraticAbs>(); } >+}; >+ >+class SVGPathSegCurvetoQuadraticRel final : public SVGPathSegCurvetoQuadratic { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoQuadraticRel>; >+private: >+ using SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_REL; } >+ String pathSegTypeAsLetter() const final { return "q"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoQuadraticRel>(); } >+}; >+ >+class SVGPathSegCurvetoCubicAbs final : public SVGPathSegCurvetoCubic { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoCubicAbs>; >+private: >+ using SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_ABS; } >+ String pathSegTypeAsLetter() const final { return "C"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoCubicAbs>(); } >+}; >+ >+class SVGPathSegCurvetoCubicRel final : public SVGPathSegCurvetoCubic { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoCubicRel>; >+private: >+ using SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_REL; } >+ String pathSegTypeAsLetter() const final { return "c"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoCubicRel>(); } >+}; >+ >+class SVGPathSegArcAbs final : public SVGPathSegArc { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegArcAbs>; >+private: >+ using SVGPathSegArc::SVGPathSegArc; >+ unsigned short pathSegType() const final { return PATHSEG_ARC_ABS; } >+ String pathSegTypeAsLetter() const final { return "A"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegArcAbs>(); } >+}; >+ >+class SVGPathSegArcRel final : public SVGPathSegArc { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegArcRel>; >+private: >+ using SVGPathSegArc::SVGPathSegArc; >+ unsigned short pathSegType() const final { return PATHSEG_ARC_REL; } >+ String pathSegTypeAsLetter() const final { return "a"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegArcRel>(); } >+}; >+ >+class SVGPathSegCurvetoQuadraticSmoothAbs final : public SVGPathSegSingleCoordinate { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoQuadraticSmoothAbs>; >+private: >+ using SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; } >+ String pathSegTypeAsLetter() const final { return "T"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoQuadraticSmoothAbs>(); } >+}; >+ >+class SVGPathSegCurvetoQuadraticSmoothRel final : public SVGPathSegSingleCoordinate { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoQuadraticSmoothRel>; >+private: >+ using SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; } >+ String pathSegTypeAsLetter() const final { return "t"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoQuadraticSmoothRel>(); } >+}; >+ >+class SVGPathSegCurvetoCubicSmoothAbs final : public SVGPathSegCurvetoCubicSmooth { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoCubicSmoothAbs>; >+private: >+ using SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; } >+ String pathSegTypeAsLetter() const final { return "S"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoCubicSmoothAbs>(); } >+}; >+ >+class SVGPathSegCurvetoCubicSmoothRel final : public SVGPathSegCurvetoCubicSmooth { >+public: >+ constexpr static auto create = SVGPathSegValue::create<SVGPathSegCurvetoCubicSmoothRel>; >+private: >+ using SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth; >+ unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_SMOOTH_REL; } >+ String pathSegTypeAsLetter() const final { return "s"; } >+ Ref<SVGPathSeg> clone() const final { return SVGPathSegValue::clone<SVGPathSegCurvetoCubicSmoothRel>(); } >+}; >+ >+} >diff --git a/Source/WebCore/svg/SVGPathSegLinetoAbs.h b/Source/WebCore/svg/SVGPathSegLinetoAbs.h >deleted file mode 100644 >index 2addfaaffc1..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoAbs final : public SVGPathSegSingleCoordinate { >-public: >- static Ref<SVGPathSegLinetoAbs> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- { >- return adoptRef(*new SVGPathSegLinetoAbs(element, role, x, y)); >- } >- >-private: >- SVGPathSegLinetoAbs(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- : SVGPathSegSingleCoordinate(element, role, x, y) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_LINETO_ABS; } >- String pathSegTypeAsLetter() const final { return "L"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegLinetoHorizontal.h b/Source/WebCore/svg/SVGPathSegLinetoHorizontal.h >deleted file mode 100644 >index 479845d5dfb..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoHorizontal.h >+++ /dev/null >@@ -1,46 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoHorizontal : public SVGPathSegWithContext { >-public: >- SVGPathSegLinetoHorizontal(const SVGPathElement& element, SVGPathSegRole role, float x) >- : SVGPathSegWithContext(element, role) >- , m_x(x) >- { >- } >- >- float x() const { return m_x; } >- void setX(float x) >- { >- m_x = x; >- commitChange(); >- } >- >-private: >- float m_x; >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.h b/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.h >deleted file mode 100644 >index f0457c11f25..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegLinetoHorizontal.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoHorizontalAbs final : public SVGPathSegLinetoHorizontal { >-public: >- static Ref<SVGPathSegLinetoHorizontalAbs> create(const SVGPathElement& element, SVGPathSegRole role, float x) >- { >- return adoptRef(*new SVGPathSegLinetoHorizontalAbs(element, role, x)); >- } >- >-private: >- SVGPathSegLinetoHorizontalAbs(const SVGPathElement& element, SVGPathSegRole role, float x) >- : SVGPathSegLinetoHorizontal(element, role, x) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_LINETO_HORIZONTAL_ABS; } >- String pathSegTypeAsLetter() const final { return "H"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.h b/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.h >deleted file mode 100644 >index c0622ac0391..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegLinetoHorizontal.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoHorizontalRel final : public SVGPathSegLinetoHorizontal { >-public: >- static Ref<SVGPathSegLinetoHorizontalRel> create(const SVGPathElement& element, SVGPathSegRole role, float x) >- { >- return adoptRef(*new SVGPathSegLinetoHorizontalRel(element, role, x)); >- } >- >-private: >- SVGPathSegLinetoHorizontalRel(const SVGPathElement& element, SVGPathSegRole role, float x) >- : SVGPathSegLinetoHorizontal(element, role, x) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_LINETO_HORIZONTAL_REL; } >- String pathSegTypeAsLetter() const final { return "h"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegLinetoRel.h b/Source/WebCore/svg/SVGPathSegLinetoRel.h >deleted file mode 100644 >index dcdf4838ac3..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoRel final : public SVGPathSegSingleCoordinate { >-public: >- static Ref<SVGPathSegLinetoRel> create(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- { >- return adoptRef(*new SVGPathSegLinetoRel(element, role, x, y)); >- } >- >-private: >- SVGPathSegLinetoRel(const SVGPathElement& element, SVGPathSegRole role, float x, float y) >- : SVGPathSegSingleCoordinate(element, role, x, y) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_LINETO_REL; } >- String pathSegTypeAsLetter() const final { return "l"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegLinetoVertical.h b/Source/WebCore/svg/SVGPathSegLinetoVertical.h >deleted file mode 100644 >index 9d24d77dfb0..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoVertical.h >+++ /dev/null >@@ -1,46 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@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. >- */ >- >-#pragma once >- >-#include "SVGPathSegWithContext.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoVertical : public SVGPathSegWithContext { >-public: >- SVGPathSegLinetoVertical(const SVGPathElement& element, SVGPathSegRole role, float y) >- : SVGPathSegWithContext(element, role) >- , m_y(y) >- { >- } >- >- float y() const { return m_y; } >- void setY(float y) >- { >- m_y = y; >- commitChange(); >- } >- >-private: >- float m_y; >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.h b/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.h >deleted file mode 100644 >index d859a51edfa..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegLinetoVertical.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoVerticalAbs final : public SVGPathSegLinetoVertical { >-public: >- static Ref<SVGPathSegLinetoVerticalAbs> create(const SVGPathElement& element, SVGPathSegRole role, float y) >- { >- return adoptRef(*new SVGPathSegLinetoVerticalAbs(element, role, y)); >- } >- >-private: >- SVGPathSegLinetoVerticalAbs(const SVGPathElement& element, SVGPathSegRole role, float y) >- : SVGPathSegLinetoVertical(element, role, y) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_LINETO_VERTICAL_ABS; } >- String pathSegTypeAsLetter() const final { return "V"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.h b/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.h >deleted file mode 100644 >index c180c7eda4b..00000000000 >--- a/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.h >+++ /dev/null >@@ -1,45 +0,0 @@ >-/* >- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> >- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> >- * Copyright (C) 2013 Samsung Electronics. 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. >- */ >- >-#pragma once >- >-#include "SVGPathSegLinetoVertical.h" >- >-namespace WebCore { >- >-class SVGPathSegLinetoVerticalRel final : public SVGPathSegLinetoVertical { >-public: >- static Ref<SVGPathSegLinetoVerticalRel> create(const SVGPathElement& element, SVGPathSegRole role, float y) >- { >- return adoptRef(*new SVGPathSegLinetoVerticalRel(element, role, y)); >- } >- >-private: >- SVGPathSegLinetoVerticalRel(const SVGPathElement& element, SVGPathSegRole role, float y) >- : SVGPathSegLinetoVertical(element, role, y) >- { >- } >- >- unsigned short pathSegType() const final { return PATHSEG_LINETO_VERTICAL_REL; } >- String pathSegTypeAsLetter() const final { return "v"; } >-}; >- >-} // namespace WebCore >diff --git a/Source/WebCore/svg/SVGPathSegValue.h b/Source/WebCore/svg/SVGPathSegValue.h >index 8b137891791..4f77faef620 100644 >--- a/Source/WebCore/svg/SVGPathSegValue.h >+++ b/Source/WebCore/svg/SVGPathSegValue.h >@@ -1 +1,191 @@ >+/* >+ * Copyright (C) 2018 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY >+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR >+ * 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. >+ */ > >+#pragma once >+ >+#include "SVGPathSeg.h" >+ >+namespace WebCore { >+ >+template<class... Arguments> >+class SVGPathSegValue : public SVGPathSeg { >+public: >+ template<typename PathSegType> >+ static Ref<PathSegType> create(Arguments... arguments) >+ { >+ return adoptRef(*new PathSegType(std::forward<Arguments>(arguments)...)); >+ } >+ >+ template<typename PathSegType> >+ Ref<PathSegType> clone() const >+ { >+ return adoptRef(*new PathSegType(m_arguments)); >+ } >+ >+ SVGPathSegValue(Arguments... arguments) >+ : m_arguments(std::forward<Arguments>(arguments)...) >+ { >+ } >+ >+ SVGPathSegValue(const std::tuple<Arguments...>& arguments) >+ : m_arguments(arguments) >+ { >+ } >+ >+protected: >+ template<size_t I> >+ const auto& argument() const >+ { >+ return std::get<I>(m_arguments); >+ } >+ >+ template<size_t I, typename ArgumentValue> >+ void setArgument(ArgumentValue value) >+ { >+ std::get<I>(m_arguments) = value; >+ commitChange(); >+ } >+ >+ std::tuple<Arguments...> m_arguments; >+}; >+ >+class SVGPathSegLinetoHorizontal : public SVGPathSegValue<float> { >+public: >+ float x() const { return argument<0>(); } >+ void setX(float x) { setArgument<0>(x); } >+ >+private: >+ using SVGPathSegValue::SVGPathSegValue; >+}; >+ >+class SVGPathSegLinetoVertical : public SVGPathSegValue<float> { >+public: >+ float y() const { return argument<0>(); } >+ void setY(float x) { setArgument<0>(x); } >+ >+private: >+ using SVGPathSegValue::SVGPathSegValue; >+}; >+ >+class SVGPathSegSingleCoordinate : public SVGPathSegValue<float, float> { >+public: >+ float x() const { return argument<0>(); } >+ void setX(float x) { setArgument<0>(x); } >+ >+ float y() const { return argument<1>(); } >+ void setY(float y) { setArgument<1>(y); } >+ >+private: >+ using SVGPathSegValue::SVGPathSegValue; >+}; >+ >+class SVGPathSegCurvetoQuadratic : public SVGPathSegValue<float, float, float, float> { >+public: >+ float x() const { return argument<0>(); } >+ void setX(float x) { setArgument<0>(x); } >+ >+ float y() const { return argument<1>(); } >+ void setY(float y) { setArgument<1>(y); } >+ >+ float x1() const { return argument<2>(); } >+ void setX1(float x) { setArgument<2>(x); } >+ >+ float y1() const { return argument<3>(); } >+ void setY1(float y) { setArgument<3>(y); } >+ >+private: >+ using SVGPathSegValue::SVGPathSegValue; >+}; >+ >+class SVGPathSegCurvetoCubicSmooth : public SVGPathSegValue<float, float, float, float> { >+public: >+ float x() const { return argument<0>(); } >+ void setX(float x) { setArgument<0>(x); } >+ >+ float y() const { return argument<1>(); } >+ void setY(float y) { setArgument<1>(y); } >+ >+ float x2() const { return argument<2>(); } >+ void setX2(float x) { setArgument<2>(x); } >+ >+ float y2() const { return argument<3>(); } >+ void setY2(float y) { setArgument<3>(y); } >+ >+private: >+ using SVGPathSegValue::SVGPathSegValue; >+}; >+ >+class SVGPathSegCurvetoCubic : public SVGPathSegValue<float, float, float, float, float, float> { >+public: >+ float x() const { return argument<0>(); } >+ void setX(float x) { setArgument<0>(x); } >+ >+ float y() const { return argument<1>(); } >+ void setY(float y) { setArgument<1>(y); } >+ >+ float x1() const { return argument<2>(); } >+ void setX1(float x) { setArgument<2>(x); } >+ >+ float y1() const { return argument<3>(); } >+ void setY1(float y) { setArgument<3>(y); } >+ >+ float x2() const { return argument<4>(); } >+ void setX2(float x) { setArgument<4>(x); } >+ >+ float y2() const { return argument<5>(); } >+ void setY2(float y) { setArgument<5>(y); } >+ >+private: >+ using SVGPathSegValue::SVGPathSegValue; >+}; >+ >+class SVGPathSegArc : public SVGPathSegValue<float, float, float, float, float, bool, bool> { >+public: >+ float x() const { return argument<0>(); } >+ void setX(float x) { setArgument<0>(x); } >+ >+ float y() const { return argument<1>(); } >+ void setY(float y) { setArgument<1>(y); } >+ >+ float r1() const { return argument<2>(); } >+ void setR1(float r1) { setArgument<2>(r1); } >+ >+ float r2() const { return argument<3>(); } >+ void setR2(float r2) { setArgument<3>(r2); } >+ >+ float angle() const { return argument<4>(); } >+ void setAngle(float angle) { setArgument<4>(angle); } >+ >+ bool largeArcFlag() const { return argument<5>(); } >+ void setLargeArcFlag(bool largeArcFlag) { setArgument<5>(largeArcFlag); } >+ >+ bool sweepFlag() const { return argument<6>(); } >+ void setSweepFlag(bool sweepFlag) { setArgument<6>(sweepFlag); } >+ >+private: >+ using SVGPathSegValue::SVGPathSegValue; >+}; >+ >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 191237
:
353808
|
353812
|
353815
|
353817
|
353818
|
353820
|
353824
|
353825
|
355382
|
355386
|
355388
|
355393
|
355568
|
355574
|
355575
|
355577
|
355580
|
355582
|
355585
|
355666
|
355672
|
355693
|
355699
|
355711
|
355752
|
355777
|
355820
|
356333
|
356334
|
356338
|
356340
|
356342
|
356344
|
356346
|
356351
|
356352
|
356358
|
356360
|
356380
|
356497
|
356500
|
356507
|
356579
|
356607
|
356728
|
356729
|
356730
|
356731
|
356732
|
356733
|
356752
|
356810
|
356811
|
356879
|
356880
|
356881
|
356882
|
356883
|
356884
|
356885
|
356887
|
356888
|
356889
|
356892
|
356895
|
356896
|
359721
|
359735
|
359747
|
363581
|
363595
|
363613
|
363690
|
364172
|
364180
|
366512
|
366557
|
366636