Log Message
Add initial support for generating the StyleBuilder from CSSPropertyNames.in https://bugs.webkit.org/show_bug.cgi?id=137910
Reviewed by Andreas Kling. Add initial support for generating the StyleBuilder from CSSPropertyNames.in. This is a first step towards getting rid of the legacy DeprecatedStyleBuilder class and having everything defined in one place (CSSPropertyNames.in). This patch updates makeprop.pl script to generate a StyleBuilder.cpp file that generate a the StyleBuilder::applyProperty() method implementation using a huge switch statement for all the CSS properties. With this patch, we are now generating the new StyleBuilder code for all the "simple" CSS properties (i.e. those that were using ApplyPropertyDefault<> in DeprecatedStyleBuilder.cpp). I am using a "NewStyleBuilder" option in CSSPropertyNames.in for properties that we generate to help with improving incrementally the generator. Once we are able to generate all properties, this transition option will do away and become the default. By default, the generator will make an educated guess for the type name, the getter, the setter and the initial function of each property. For example, for the border-collapse property, it will use: - TypeName: EBorderCollapse (i.e. 'E' + PropertyId) - Getter: borderCollapse() (i.e. PropertyId with first letter lowercased) - Setter: setBorderCollapse() (i.e. 'set' + PropertyId) - Initial: initialBorderCollapse() (i.e. 'initial' + PropertyId) This works for most properties. For properties that need special-casing, developers can use the following options in CSSPropertyNames.in: - TypeName: Overrides the type name - Getter: Overrides the getter name - Setter: Overrides the setter name - Initial: Overrides the initial function name - NameForMethods: Overrides the Getter / Setter / Initial function names. For e.g. "NameForMethods=OverflowWrap" will use "overflowWrap() / setOverflowWrap() / initialOverflowWrap()". The patch is inspired by the following Blink revision by <[email protected]>: https://src.chromium.org/viewvc/blink?view=rev&revision=150424 No new tests, no behavior change. * CMakeLists.txt: * DerivedSources.make: * WebCore.vcxproj/WebCore.vcxproj: * WebCore.vcxproj/WebCore.vcxproj.filters: * WebCore.xcodeproj/project.pbxproj: * css/CSSPropertyNames.in: * css/DeprecatedStyleBuilder.cpp: (WebCore::ApplyPropertyVerticalAlign::createHandler): (WebCore::ApplyPropertyDisplay::applyInitialValue): (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): * css/StyleBuilder.h: Added. * css/StyleResolver.cpp: (WebCore::StyleResolver::adjustRenderStyle): (WebCore::StyleResolver::applyProperty): * css/makeprop.pl: * rendering/style/RenderStyle.h: Move the initialXXX() methods that were in NonInheritedFlags to RenderStyle class, with the other initialXXX() methods to facilitate code generation. * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::StyleMultiColData): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
Modified Paths
- trunk/Source/WebCore/CMakeLists.txt
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/DerivedSources.make
- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
- trunk/Source/WebCore/css/CSSPropertyNames.in
- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp
- trunk/Source/WebCore/css/StyleResolver.cpp
- trunk/Source/WebCore/css/makeprop.pl
- trunk/Source/WebCore/rendering/style/RenderStyle.h
- trunk/Source/WebCore/rendering/style/StyleMultiColData.cpp
- trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
Added Paths
Diff
Modified: trunk/Source/WebCore/CMakeLists.txt (175051 => 175052)
--- trunk/Source/WebCore/CMakeLists.txt 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/CMakeLists.txt 2014-10-22 16:56:36 UTC (rev 175052)
@@ -3244,7 +3244,7 @@
# Generate CSS property names
add_custom_command(
- OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.gperf
+ OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp
MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeprop.pl
DEPENDS ${WebCore_CSS_PROPERTY_NAMES}
WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
@@ -3252,6 +3252,7 @@
COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/makeprop.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}"
VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp)
+list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.cpp CSSPropertyNames.h)
Modified: trunk/Source/WebCore/ChangeLog (175051 => 175052)
--- trunk/Source/WebCore/ChangeLog 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/ChangeLog 2014-10-22 16:56:36 UTC (rev 175052)
@@ -1,3 +1,76 @@
+2014-10-22 Chris Dumez <[email protected]>
+
+ Add initial support for generating the StyleBuilder from CSSPropertyNames.in
+ https://bugs.webkit.org/show_bug.cgi?id=137910
+
+ Reviewed by Andreas Kling.
+
+ Add initial support for generating the StyleBuilder from
+ CSSPropertyNames.in. This is a first step towards getting rid of the
+ legacy DeprecatedStyleBuilder class and having everything defined in one
+ place (CSSPropertyNames.in).
+
+ This patch updates makeprop.pl script to generate a StyleBuilder.cpp
+ file that generate a the StyleBuilder::applyProperty() method
+ implementation using a huge switch statement for all the CSS
+ properties. With this patch, we are now generating the new StyleBuilder
+ code for all the "simple" CSS properties (i.e. those that were using
+ ApplyPropertyDefault<> in DeprecatedStyleBuilder.cpp). I am using a
+ "NewStyleBuilder" option in CSSPropertyNames.in for properties that
+ we generate to help with improving incrementally the generator. Once
+ we are able to generate all properties, this transition option will
+ do away and become the default.
+
+ By default, the generator will make an educated guess for the type
+ name, the getter, the setter and the initial function of each property.
+ For example, for the border-collapse property, it will use:
+ - TypeName: EBorderCollapse (i.e. 'E' + PropertyId)
+ - Getter: borderCollapse() (i.e. PropertyId with first letter lowercased)
+ - Setter: setBorderCollapse() (i.e. 'set' + PropertyId)
+ - Initial: initialBorderCollapse() (i.e. 'initial' + PropertyId)
+
+ This works for most properties. For properties that need
+ special-casing, developers can use the following options in
+ CSSPropertyNames.in:
+ - TypeName: Overrides the type name
+ - Getter: Overrides the getter name
+ - Setter: Overrides the setter name
+ - Initial: Overrides the initial function name
+ - NameForMethods: Overrides the Getter / Setter / Initial function
+ names. For e.g. "NameForMethods=OverflowWrap" will use
+ "overflowWrap() / setOverflowWrap() / initialOverflowWrap()".
+
+ The patch is inspired by the following Blink revision by
+ <[email protected]>:
+ https://src.chromium.org/viewvc/blink?view=rev&revision=150424
+
+ No new tests, no behavior change.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSPropertyNames.in:
+ * css/DeprecatedStyleBuilder.cpp:
+ (WebCore::ApplyPropertyVerticalAlign::createHandler):
+ (WebCore::ApplyPropertyDisplay::applyInitialValue):
+ (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
+ * css/StyleBuilder.h: Added.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::adjustRenderStyle):
+ (WebCore::StyleResolver::applyProperty):
+ * css/makeprop.pl:
+ * rendering/style/RenderStyle.h:
+ Move the initialXXX() methods that were in NonInheritedFlags to
+ RenderStyle class, with the other initialXXX() methods to facilitate
+ code generation.
+
+ * rendering/style/StyleMultiColData.cpp:
+ (WebCore::StyleMultiColData::StyleMultiColData):
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+
2014-10-22 Carlos Garcia Campos <[email protected]>
Unreviewed. Fix GStreamer debug build after r175050.
Modified: trunk/Source/WebCore/DerivedSources.make (175051 => 175052)
--- trunk/Source/WebCore/DerivedSources.make 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/DerivedSources.make 2014-10-22 16:56:36 UTC (rev 175052)
@@ -784,6 +784,7 @@
SVGNames.cpp \
SelectorPseudoClassAndCompatibilityElementMap.cpp \
SelectorPseudoElementTypeMap.cpp \
+ StyleBuilder.cpp \
UserAgentStyleSheets.h \
WebKitFontFamilyNames.cpp \
WebKitFontFamilyNames.h \
@@ -820,7 +821,7 @@
WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/SVGCSSPropertyNames.in
WEBCORE_CSS_VALUE_KEYWORDS := $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/SVGCSSValueKeywords.in
-CSSPropertyNames.h : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl bindings/scripts/preprocessor.pm $(PLATFORM_FEATURE_DEFINES)
+CSSPropertyNames.h StyleBuilder.cpp : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl bindings/scripts/preprocessor.pm $(PLATFORM_FEATURE_DEFINES)
$(PERL) -pe '' $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
$(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(FEATURE_DEFINES)"
Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (175051 => 175052)
--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2014-10-22 16:56:36 UTC (rev 175052)
@@ -285,6 +285,7 @@
<ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\HTTPHeaderNames.cpp" />
<ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\SelectorPseudoClassAndCompatibilityElementMap.cpp" />
<ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\SelectorPseudoElementTypeMap.cpp" />
+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\StyleBuilder.cpp" />
<ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSANGLEInstancedArrays.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (175051 => 175052)
--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2014-10-22 16:56:36 UTC (rev 175052)
@@ -5194,6 +5194,9 @@
<ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\SelectorPseudoElementTypeMap.cpp">
<Filter>DerivedSources</Filter>
</ClCompile>
+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\StyleBuilder.cpp">
+ <Filter>DerivedSources</Filter>
+ </ClCompile>
<ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\EventFactory.cpp">
<Filter>DerivedSources</Filter>
</ClCompile>
@@ -15440,4 +15443,4 @@
<Filter>platform\win</Filter>
</MASM>
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (175051 => 175052)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2014-10-22 16:56:36 UTC (rev 175052)
@@ -2482,6 +2482,8 @@
832B843619D8E57400B26055 /* SVGAnimateElementBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 832B843519D8E57400B26055 /* SVGAnimateElementBase.cpp */; };
836FBCEA178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836FBCE9178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp */; };
836FBCEC178C117F00B21A15 /* SVGAnimatedProperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */; };
+ 8386A96D19F61B2E00E1EC4A /* StyleBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */; };
+ 8386A97019F61E4F00E1EC4A /* StyleBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8386A96E19F61E4F00E1EC4A /* StyleBuilder.cpp */; };
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 */; };
@@ -9640,6 +9642,8 @@
832B843519D8E57400B26055 /* SVGAnimateElementBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimateElementBase.cpp; sourceTree = "<group>"; };
836FBCE9178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedTypeAnimator.cpp; sourceTree = "<group>"; };
836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedProperty.cpp; sourceTree = "<group>"; };
+ 8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleBuilder.h; sourceTree = "<group>"; };
+ 8386A96E19F61E4F00E1EC4A /* StyleBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleBuilder.cpp; path = StyleBuilder.cpp; sourceTree = "<group>"; };
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>"; };
@@ -16251,6 +16255,7 @@
B562DB5F17D3CD560010AF96 /* SVGElementTypeHelpers.h */,
656581E809D1508D000E61D7 /* SVGNames.cpp */,
656581E909D1508D000E61D7 /* SVGNames.h */,
+ 8386A96E19F61E4F00E1EC4A /* StyleBuilder.cpp */,
CDAB6D2F17C9259500C60B34 /* UserAgentScripts.h */,
CDAB6D3017C9259500C60B34 /* UserAgentScriptsData.cpp */,
656581AE09D14EE6000E61D7 /* UserAgentStyleSheets.h */,
@@ -22206,6 +22211,7 @@
3FFFF9A6159D9A550020BBD5 /* WebKitCSSViewportRule.cpp */,
3FFFF9A7159D9A550020BBD5 /* WebKitCSSViewportRule.h */,
3F2B33E3165ABD3500E3987C /* WebKitCSSViewportRule.idl */,
+ 8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */,
);
path = css;
sourceTree = "<group>";
@@ -23363,6 +23369,7 @@
A172182619DE183F00464D17 /* _UIHighlightViewSPI.h in Headers */,
CD5596921475B678001D0BD0 /* AudioFileReaderIOS.h in Headers */,
FD3160BF12B0272A00C1A359 /* AudioFileReaderMac.h in Headers */,
+ 8386A96D19F61B2E00E1EC4A /* StyleBuilder.h in Headers */,
FDE2D55B159E66EB00DCCCF8 /* AudioIOCallback.h in Headers */,
FD31601012B0267600C1A359 /* AudioListener.h in Headers */,
FD31601312B0267600C1A359 /* AudioNode.h in Headers */,
@@ -27396,6 +27403,7 @@
CD2F4A2718D8A3490063746D /* AudioHardwareListenerMac.cpp in Sources */,
4167EBF5102962BA003D252A /* DefaultSharedWorkerRepository.cpp in Sources */,
1AF4CEE918BC350100BC2D34 /* DefaultVisitedLinkStore.cpp in Sources */,
+ 8386A97019F61E4F00E1EC4A /* StyleBuilder.cpp in Sources */,
FD31602B12B0267600C1A359 /* DelayDSPKernel.cpp in Sources */,
FD31602D12B0267600C1A359 /* DelayNode.cpp in Sources */,
FD31603012B0267600C1A359 /* DelayProcessor.cpp in Sources */,
Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (175051 => 175052)
--- trunk/Source/WebCore/css/CSSPropertyNames.in 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in 2014-10-22 16:56:36 UTC (rev 175052)
@@ -39,7 +39,7 @@
line-height [Inherited]
// Keep this in between the highest priority props and the lower ones.
--webkit-ruby-position [Inherited]
+-webkit-ruby-position [Inherited, NewStyleBuilder, TypeName=RubyPosition]
// The remaining properties are listed in alphabetical order
background
@@ -63,9 +63,9 @@
-webkit-border-bottom-left-radius = border-bottom-left-radius
border-bottom-right-radius
-webkit-border-bottom-right-radius = border-bottom-right-radius
-border-bottom-style
+border-bottom-style [NewStyleBuilder, TypeName=EBorderStyle, Initial=initialBorderStyle]
border-bottom-width
-border-collapse [Inherited]
+border-collapse [Inherited, NewStyleBuilder]
border-color
border-image
border-image-outset
@@ -75,12 +75,12 @@
border-image-width
border-left
border-left-color
-border-left-style
+border-left-style [NewStyleBuilder, TypeName=EBorderStyle, Initial=initialBorderStyle]
border-left-width
border-radius
border-right
border-right-color
-border-right-style
+border-right-style [NewStyleBuilder, TypeName=EBorderStyle, Initial=initialBorderStyle]
border-right-width
border-spacing [Inherited]
border-style
@@ -90,17 +90,17 @@
-webkit-border-top-left-radius = border-top-left-radius
border-top-right-radius
-webkit-border-top-right-radius = border-top-right-radius
-border-top-style
+border-top-style [NewStyleBuilder, TypeName=EBorderStyle, Initial=initialBorderStyle]
border-top-width
border-width
bottom
box-shadow
-box-sizing
+box-sizing [NewStyleBuilder]
// -webkit-box-sizing worked in Safari 4 and earlier.
-webkit-box-sizing = box-sizing
-caption-side [Inherited]
+caption-side [Inherited, NewStyleBuilder]
-epub-caption-side = caption-side
-clear
+clear [NewStyleBuilder]
clip
-webkit-clip-path
content
@@ -108,16 +108,16 @@
counter-reset
cursor [Inherited]
#if defined(ENABLE_CURSOR_VISIBILITY) && ENABLE_CURSOR_VISIBILITY
--webkit-cursor-visibility [Inherited]
+-webkit-cursor-visibility [Inherited, NewStyleBuilder, TypeName=CursorVisibility]
#endif
-empty-cells [Inherited]
-float
+empty-cells [Inherited, NewStyleBuilder, TypeName=EEmptyCell]
+float [NewStyleBuilder, TypeName=EFloat, NameForMethods=Floating]
font-stretch
height
#if defined(ENABLE_CSS_IMAGE_ORIENTATION) && ENABLE_CSS_IMAGE_ORIENTATION
-image-orientation [Inherited]
+image-orientation [Inherited, NewStyleBuilder, TypeName=ImageOrientationEnum]
#endif
-image-rendering [Inherited]
+image-rendering [Inherited, NewStyleBuilder]
#if defined(ENABLE_CSS_IMAGE_RESOLUTION) && ENABLE_CSS_IMAGE_RESOLUTION
image-resolution [Inherited]
#endif
@@ -125,8 +125,8 @@
letter-spacing [Inherited]
list-style [Inherited]
list-style-image [Inherited]
-list-style-position [Inherited]
-list-style-type [Inherited]
+list-style-position [Inherited, NewStyleBuilder]
+list-style-type [Inherited, NewStyleBuilder]
margin
margin-bottom
margin-left
@@ -136,8 +136,8 @@
max-width
min-height
min-width
-object-fit
-opacity
+object-fit [NewStyleBuilder, TypeName=ObjectFit]
+opacity [NewStyleBuilder, TypeName=float]
// Honor -webkit-opacity as a synonym for opacity. This was the only syntax that worked in Safari 1.1,
// and may be in use on some websites and widgets.
-webkit-opacity = opacity
@@ -148,29 +148,29 @@
outline-style
outline-width
overflow
-overflow-wrap
-overflow-x
-overflow-y
+overflow-wrap [NewStyleBuilder]
+overflow-x [NewStyleBuilder, TypeName=EOverflow]
+overflow-y [NewStyleBuilder, TypeName=EOverflow]
padding
padding-bottom
padding-left
padding-right
padding-top
page
-page-break-after
-page-break-before
-page-break-inside
+page-break-after [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
+page-break-before [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
+page-break-inside [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
paint-order
-pointer-events [Inherited]
-position
+pointer-events [Inherited, NewStyleBuilder]
+position [NewStyleBuilder]
quotes [Inherited]
resize [Inherited]
right
size
src
-speak [Inherited]
-table-layout
-tab-size [Inherited]
+speak [Inherited, NewStyleBuilder]
+table-layout [NewStyleBuilder]
+tab-size [Inherited, NewStyleBuilder, TypeName=unsigned]
text-align [Inherited]
text-decoration
text-indent [Inherited]
@@ -179,14 +179,14 @@
text-line-through-mode
text-line-through-style
text-line-through-width
-text-overflow
+text-overflow [NewStyleBuilder, TypeName=TextOverflow]
text-overline
text-overline-color
text-overline-mode
text-overline-style
text-overline-width
text-shadow [Inherited]
-text-transform [Inherited]
+text-transform [Inherited, NewStyleBuilder]
-epub-text-transform = text-transform
text-underline
text-underline-color
@@ -200,17 +200,17 @@
transition-property
transition-timing-function
-unicode-bidi
+unicode-bidi [NewStyleBuilder]
unicode-range
vertical-align
-visibility [Inherited]
-white-space [Inherited]
+visibility [Inherited, NewStyleBuilder]
+white-space [Inherited, NewStyleBuilder]
widows [Inherited]
width
-word-break [Inherited]
+word-break [Inherited, NewStyleBuilder]
-epub-word-break = word-break
word-spacing [Inherited]
-word-wrap [Inherited]
+word-wrap [Inherited, NewStyleBuilder=EOverflowWrap, NameForMethods=OverflowWrap]
z-index
-webkit-alt
-webkit-animation
@@ -222,9 +222,9 @@
-webkit-animation-name
-webkit-animation-play-state
-webkit-animation-timing-function
--webkit-appearance
+-webkit-appearance [NewStyleBuilder, TypeName=ControlPart]
-webkit-aspect-ratio [Inherited]
--webkit-backface-visibility
+-webkit-backface-visibility [NewStyleBuilder]
-webkit-background-clip
-webkit-background-composite
-webkit-background-origin
@@ -244,7 +244,7 @@
-webkit-border-end-color
-webkit-border-end-style
-webkit-border-end-width
--webkit-border-fit
+-webkit-border-fit [NewStyleBuilder]
-webkit-border-horizontal-spacing [Inherited]
-webkit-border-image
// -webkit-border-radius differs from border-radius only in the interpretation of
@@ -256,64 +256,64 @@
-webkit-border-start-style
-webkit-border-start-width
-webkit-border-vertical-spacing [Inherited]
--webkit-box-align
--webkit-box-direction [Inherited]
--webkit-box-flex
--webkit-box-flex-group
--webkit-box-lines
--webkit-box-ordinal-group
--webkit-box-orient
--webkit-box-pack
+-webkit-box-align [NewStyleBuilder, TypeName=EBoxAlignment]
+-webkit-box-direction [Inherited, NewStyleBuilder]
+-webkit-box-flex [NewStyleBuilder, TypeName=float]
+-webkit-box-flex-group [NewStyleBuilder, TypeName=unsigned]
+-webkit-box-lines [NewStyleBuilder]
+-webkit-box-ordinal-group [NewStyleBuilder, TypeName=unsigned]
+-webkit-box-orient [NewStyleBuilder]
+-webkit-box-pack [NewStyleBuilder]
-webkit-box-reflect
// -webkit-box-shadow differs from box-shadow in its treatement of blur radii > 8px.
// Let -webkit-box-shadow blur radius be w_r and box-shadow blur radius be b_r. For
// w_r > 8px, b_r = 8 + 4 * sqrt((w_r - 8) / 2).
-webkit-box-shadow
--webkit-color-correction [Inherited]
--webkit-column-axis
--webkit-column-break-after
--webkit-column-break-before
--webkit-column-break-inside
+-webkit-color-correction [Inherited, NewStyleBuilder, TypeName=ColorSpace, NameForMethods=ColorSpace]
+-webkit-column-axis [NewStyleBuilder, TypeName=ColumnAxis]
+-webkit-column-break-after [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
+-webkit-column-break-before [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
+-webkit-column-break-inside [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
-webkit-column-count
--webkit-column-fill
+-webkit-column-fill [NewStyleBuilder, TypeName=ColumnFill]
-webkit-column-gap
--webkit-column-progression
+-webkit-column-progression [NewStyleBuilder, TypeName=ColumnProgression]
-webkit-column-rule
-webkit-column-rule-color
--webkit-column-rule-style
+-webkit-column-rule-style [NewStyleBuilder, TypeName=EBorderStyle, Initial=initialBorderStyle]
-webkit-column-rule-width
--webkit-column-span
+-webkit-column-span [NewStyleBuilder, TypeName=ColumnSpan]
-webkit-column-width
-webkit-columns
#if defined(ENABLE_CSS_BOX_DECORATION_BREAK) && ENABLE_CSS_BOX_DECORATION_BREAK
--webkit-box-decoration-break
+-webkit-box-decoration-break [NewStyleBuilder]
#endif
#if defined(ENABLE_CSS_COMPOSITING) && ENABLE_CSS_COMPOSITING
-mix-blend-mode
-isolation
+mix-blend-mode [NewStyleBuilder, TypeName=BlendMode, NameForMethods=BlendMode]
+isolation [NewStyleBuilder, TypeName=Isolation]
#endif
-webkit-filter
-align-content
+align-content [NewStyleBuilder]
-webkit-align-content = align-content
-align-items
+align-items [NewStyleBuilder]
-webkit-align-items = align-items
-align-self
+align-self [NewStyleBuilder, TypeName=EAlignItems]
-webkit-align-self = align-self
flex
-webkit-flex = flex
flex-basis
-webkit-flex-basis = flex-basis
-flex-direction
+flex-direction [NewStyleBuilder]
-webkit-flex-direction = flex-direction
flex-flow
-webkit-flex-flow = flex-flow
-flex-grow
+flex-grow [NewStyleBuilder, TypeName=float]
-webkit-flex-grow = flex-grow
-flex-shrink
+flex-shrink [NewStyleBuilder, TypeName=float]
-webkit-flex-shrink = flex-shrink
-flex-wrap
+flex-wrap [NewStyleBuilder]
-webkit-flex-wrap = flex-wrap
-justify-content
+justify-content [NewStyleBuilder]
-webkit-justify-content = justify-content
-webkit-justify-self
-webkit-font-size-delta
@@ -338,32 +338,32 @@
-webkit-hyphenate-limit-after [Inherited]
-webkit-hyphenate-limit-before [Inherited]
-webkit-hyphenate-limit-lines [Inherited]
--webkit-hyphens [Inherited]
+-webkit-hyphens [Inherited, NewStyleBuilder, TypeName=Hyphens]
-epub-hyphens = -webkit-hyphens
-webkit-initial-letter
-webkit-line-box-contain [Inherited]
--webkit-line-align [Inherited]
--webkit-line-break [Inherited]
--webkit-line-clamp
+-webkit-line-align [Inherited, NewStyleBuilder, TypeName=LineAlign]
+-webkit-line-break [Inherited, NewStyleBuilder, TypeName=LineBreak]
+-webkit-line-clamp [NewStyleBuilder, TypeName=LineClampValue]
-webkit-line-grid [Inherited]
--webkit-line-snap [Inherited]
+-webkit-line-snap [Inherited, NewStyleBuilder, TypeName=LineSnap]
-webkit-logical-width
-webkit-logical-height
--webkit-margin-after-collapse
--webkit-margin-before-collapse
--webkit-margin-bottom-collapse
--webkit-margin-top-collapse
+-webkit-margin-after-collapse [NewStyleBuilder, TypeName=EMarginCollapse]
+-webkit-margin-before-collapse [NewStyleBuilder, TypeName=EMarginCollapse]
+-webkit-margin-bottom-collapse [NewStyleBuilder, TypeName=EMarginCollapse, NameForMethods=MarginAfterCollapse]
+-webkit-margin-top-collapse [NewStyleBuilder, TypeName=EMarginCollapse, NameForMethods=MarginBeforeCollapse]
-webkit-margin-collapse
-webkit-margin-after
-webkit-margin-before
-webkit-margin-end
-webkit-margin-start
-webkit-marquee
--webkit-marquee-direction
+-webkit-marquee-direction [NewStyleBuilder]
-webkit-marquee-increment
-webkit-marquee-repetition
-webkit-marquee-speed
--webkit-marquee-style
+-webkit-marquee-style [NewStyleBuilder, TypeName=EMarqueeBehavior, NameForMethods=MarqueeBehavior]
-webkit-mask
-webkit-mask-box-image
-webkit-mask-box-image-outset
@@ -387,8 +387,8 @@
-webkit-max-logical-height
-webkit-min-logical-width
-webkit-min-logical-height
--webkit-nbsp-mode [Inherited]
-order
+-webkit-nbsp-mode [Inherited, NewStyleBuilder, TypeName=ENBSPMode, Setter=setNBSPMode, Initial=initialNBSPMode]
+order [NewStyleBuilder, TypeName=int]
-webkit-order = order
-webkit-padding-after
-webkit-padding-before
@@ -398,8 +398,8 @@
-webkit-perspective-origin
-webkit-perspective-origin-x
-webkit-perspective-origin-y
--webkit-print-color-adjust [Inherited]
--webkit-rtl-ordering [Inherited]
+-webkit-print-color-adjust [Inherited, NewStyleBuilder, TypeName=PrintColorAdjust]
+-webkit-rtl-ordering [Inherited, NewStyleBuilder, TypeName=Order, Setter=setRTLOrdering, Initial=initialRTLOrdering]
#if defined(ENABLE_CSS_SCROLL_SNAP)
-webkit-scroll-snap-points-x
-webkit-scroll-snap-points-y
@@ -407,15 +407,15 @@
-webkit-scroll-snap-destination
-webkit-scroll-snap-coordinate
#endif
--webkit-text-combine [Inherited]
+-webkit-text-combine [Inherited, NewStyleBuilder, TypeName=TextCombine]
-epub-text-combine = -webkit-text-combine
#if defined(ENABLE_CSS3_TEXT) && ENABLE_CSS3_TEXT
--webkit-text-align-last [Inherited]
--webkit-text-justify [Inherited]
+-webkit-text-align-last [Inherited, NewStyleBuilder, TypeName=TextAlignLast]
+-webkit-text-justify [Inherited, NewStyleBuilder, TypeName=TextJustify]
#endif
-webkit-text-decoration
-webkit-text-decoration-line
--webkit-text-decoration-style
+-webkit-text-decoration-style [NewStyleBuilder, TypeName=TextDecorationStyle]
-webkit-text-decoration-color
-webkit-text-decoration-skip [Inherited]
-webkit-text-underline-position [Inherited]
@@ -432,7 +432,7 @@
-epub-text-emphasis-style = -webkit-text-emphasis-style
text-emphasis-style = -webkit-text-emphasis-style
-webkit-text-fill-color [Inherited]
--webkit-text-security [Inherited]
+-webkit-text-security [Inherited, NewStyleBuilder]
-webkit-text-stroke [Inherited]
-webkit-text-stroke-color [Inherited]
-webkit-text-stroke-width [Inherited]
@@ -441,22 +441,22 @@
-webkit-transform-origin-x
-webkit-transform-origin-y
-webkit-transform-origin-z
--webkit-transform-style
+-webkit-transform-style [NewStyleBuilder, TypeName=ETransformStyle3D, NameForMethods=TransformStyle3D]
-webkit-transition
-webkit-transition-delay
-webkit-transition-duration
-webkit-transition-property
-webkit-transition-timing-function
--webkit-user-drag
--webkit-user-modify [Inherited]
--webkit-user-select [Inherited]
+-webkit-user-drag [NewStyleBuilder]
+-webkit-user-modify [Inherited, NewStyleBuilder]
+-webkit-user-select [Inherited, NewStyleBuilder]
#if defined(ENABLE_CSS_REGIONS) && ENABLE_CSS_REGIONS
-webkit-flow-into
-webkit-flow-from
--webkit-region-fragment
--webkit-region-break-after
--webkit-region-break-before
--webkit-region-break-inside
+-webkit-region-fragment [NewStyleBuilder, TypeName=RegionFragment]
+-webkit-region-break-after [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
+-webkit-region-break-before [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
+-webkit-region-break-inside [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
#endif
#if defined(ENABLE_CSS_SHAPES) && ENABLE_CSS_SHAPES
-webkit-shape-outside
Modified: trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp (175051 => 175052)
--- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp 2014-10-22 16:56:36 UTC (rev 175052)
@@ -1975,7 +1975,7 @@
static PropertyHandler createHandler()
{
- PropertyHandler handler = ApplyPropertyDefaultBase<EVerticalAlign, &RenderStyle::verticalAlign, EVerticalAlign, &RenderStyle::setVerticalAlign, EVerticalAlign, &RenderStyle::NonInheritedFlags::initialVerticalAlign>::createHandler();
+ PropertyHandler handler = ApplyPropertyDefaultBase<EVerticalAlign, &RenderStyle::verticalAlign, EVerticalAlign, &RenderStyle::setVerticalAlign, EVerticalAlign, &RenderStyle::initialVerticalAlign>::createHandler();
return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
}
};
@@ -2099,7 +2099,7 @@
static void applyInitialValue(CSSPropertyID, StyleResolver* styleResolver)
{
- styleResolver->style()->setDisplay(RenderStyle::NonInheritedFlags::initialDisplay());
+ styleResolver->style()->setDisplay(RenderStyle::initialDisplay());
}
static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
@@ -2358,29 +2358,21 @@
setPropertyHandler(CSSPropertyBorderBottomColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::borderBottomColor, &RenderStyle::setBorderBottomColor, &RenderStyle::setVisitedLinkBorderBottomColor, &RenderStyle::color>::createHandler());
setPropertyHandler(CSSPropertyBorderBottomLeftRadius, ApplyPropertyBorderRadius<&RenderStyle::borderBottomLeftRadius, &RenderStyle::setBorderBottomLeftRadius, &RenderStyle::initialBorderRadius>::createHandler());
setPropertyHandler(CSSPropertyBorderBottomRightRadius, ApplyPropertyBorderRadius<&RenderStyle::borderBottomRightRadius, &RenderStyle::setBorderBottomRightRadius, &RenderStyle::initialBorderRadius>::createHandler());
- setPropertyHandler(CSSPropertyBorderBottomStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::borderBottomStyle, EBorderStyle, &RenderStyle::setBorderBottomStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
setPropertyHandler(CSSPropertyBorderBottomWidth, ApplyPropertyComputeLength<float, &RenderStyle::borderBottomWidth, &RenderStyle::setBorderBottomWidth, &RenderStyle::initialBorderWidth, NormalDisabled, ThicknessEnabled>::createHandler());
- setPropertyHandler(CSSPropertyBorderCollapse, ApplyPropertyDefault<EBorderCollapse, &RenderStyle::borderCollapse, EBorderCollapse, &RenderStyle::setBorderCollapse, EBorderCollapse, &RenderStyle::initialBorderCollapse>::createHandler());
setPropertyHandler(CSSPropertyBorderImageOutset, ApplyPropertyBorderImageModifier<BorderImage, Outset>::createHandler());
setPropertyHandler(CSSPropertyBorderImageRepeat, ApplyPropertyBorderImageModifier<BorderImage, Repeat>::createHandler());
setPropertyHandler(CSSPropertyBorderImageSlice, ApplyPropertyBorderImageModifier<BorderImage, Slice>::createHandler());
setPropertyHandler(CSSPropertyBorderImageSource, ApplyPropertyBorderImageSource<CSSPropertyBorderImageSource, &RenderStyle::borderImageSource, &RenderStyle::setBorderImageSource, &RenderStyle::initialBorderImageSource>::createHandler());
setPropertyHandler(CSSPropertyBorderImageWidth, ApplyPropertyBorderImageModifier<BorderImage, Width>::createHandler());
setPropertyHandler(CSSPropertyBorderLeftColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::borderLeftColor, &RenderStyle::setBorderLeftColor, &RenderStyle::setVisitedLinkBorderLeftColor, &RenderStyle::color>::createHandler());
- setPropertyHandler(CSSPropertyBorderLeftStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::borderLeftStyle, EBorderStyle, &RenderStyle::setBorderLeftStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
setPropertyHandler(CSSPropertyBorderLeftWidth, ApplyPropertyComputeLength<float, &RenderStyle::borderLeftWidth, &RenderStyle::setBorderLeftWidth, &RenderStyle::initialBorderWidth, NormalDisabled, ThicknessEnabled>::createHandler());
setPropertyHandler(CSSPropertyBorderRightColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::borderRightColor, &RenderStyle::setBorderRightColor, &RenderStyle::setVisitedLinkBorderRightColor, &RenderStyle::color>::createHandler());
- setPropertyHandler(CSSPropertyBorderRightStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::borderRightStyle, EBorderStyle, &RenderStyle::setBorderRightStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
setPropertyHandler(CSSPropertyBorderRightWidth, ApplyPropertyComputeLength<float, &RenderStyle::borderRightWidth, &RenderStyle::setBorderRightWidth, &RenderStyle::initialBorderWidth, NormalDisabled, ThicknessEnabled>::createHandler());
setPropertyHandler(CSSPropertyBorderTopColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::borderTopColor, &RenderStyle::setBorderTopColor, &RenderStyle::setVisitedLinkBorderTopColor, &RenderStyle::color>::createHandler());
setPropertyHandler(CSSPropertyBorderTopLeftRadius, ApplyPropertyBorderRadius<&RenderStyle::borderTopLeftRadius, &RenderStyle::setBorderTopLeftRadius, &RenderStyle::initialBorderRadius>::createHandler());
setPropertyHandler(CSSPropertyBorderTopRightRadius, ApplyPropertyBorderRadius<&RenderStyle::borderTopRightRadius, &RenderStyle::setBorderTopRightRadius, &RenderStyle::initialBorderRadius>::createHandler());
- setPropertyHandler(CSSPropertyBorderTopStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::borderTopStyle, EBorderStyle, &RenderStyle::setBorderTopStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
setPropertyHandler(CSSPropertyBorderTopWidth, ApplyPropertyComputeLength<float, &RenderStyle::borderTopWidth, &RenderStyle::setBorderTopWidth, &RenderStyle::initialBorderWidth, NormalDisabled, ThicknessEnabled>::createHandler());
setPropertyHandler(CSSPropertyBottom, ApplyPropertyLength<&RenderStyle::bottom, &RenderStyle::setBottom, &RenderStyle::initialOffset, AutoEnabled>::createHandler());
- setPropertyHandler(CSSPropertyBoxSizing, ApplyPropertyDefault<EBoxSizing, &RenderStyle::boxSizing, EBoxSizing, &RenderStyle::setBoxSizing, EBoxSizing, &RenderStyle::initialBoxSizing>::createHandler());
- setPropertyHandler(CSSPropertyCaptionSide, ApplyPropertyDefault<ECaptionSide, &RenderStyle::captionSide, ECaptionSide, &RenderStyle::setCaptionSide, ECaptionSide, &RenderStyle::initialCaptionSide>::createHandler());
- setPropertyHandler(CSSPropertyClear, ApplyPropertyDefault<EClear, &RenderStyle::clear, EClear, &RenderStyle::setClear, EClear, &RenderStyle::NonInheritedFlags::initialClear>::createHandler());
setPropertyHandler(CSSPropertyClip, ApplyPropertyClip::createHandler());
setPropertyHandler(CSSPropertyColor, ApplyPropertyColor<InheritFromParent, &RenderStyle::color, &RenderStyle::setColor, &RenderStyle::setVisitedLinkColor, &RenderStyle::invalidColor, RenderStyle::initialColor>::createHandler());
setPropertyHandler(CSSPropertyCounterIncrement, ApplyPropertyCounter<Increment>::createHandler());
@@ -2388,18 +2380,12 @@
setPropertyHandler(CSSPropertyCursor, ApplyPropertyCursor::createHandler());
setPropertyHandler(CSSPropertyDirection, ApplyPropertyDirection<&RenderStyle::direction, &RenderStyle::setDirection, RenderStyle::initialDirection>::createHandler());
setPropertyHandler(CSSPropertyDisplay, ApplyPropertyDisplay::createHandler());
- setPropertyHandler(CSSPropertyEmptyCells, ApplyPropertyDefault<EEmptyCell, &RenderStyle::emptyCells, EEmptyCell, &RenderStyle::setEmptyCells, EEmptyCell, &RenderStyle::initialEmptyCells>::createHandler());
- setPropertyHandler(CSSPropertyFloat, ApplyPropertyDefault<EFloat, &RenderStyle::floating, EFloat, &RenderStyle::setFloating, EFloat, &RenderStyle::NonInheritedFlags::initialFloating>::createHandler());
setPropertyHandler(CSSPropertyFontFamily, ApplyPropertyFontFamily::createHandler());
setPropertyHandler(CSSPropertyFontSize, ApplyPropertyFontSize::createHandler());
setPropertyHandler(CSSPropertyFontStyle, ApplyPropertyFont<FontItalic, &FontDescription::italic, &FontDescription::setItalic, FontItalicOff>::createHandler());
setPropertyHandler(CSSPropertyFontVariant, ApplyPropertyFont<FontSmallCaps, &FontDescription::smallCaps, &FontDescription::setSmallCaps, FontSmallCapsOff>::createHandler());
setPropertyHandler(CSSPropertyFontWeight, ApplyPropertyFontWeight::createHandler());
setPropertyHandler(CSSPropertyHeight, ApplyPropertyLength<&RenderStyle::height, &RenderStyle::setHeight, &RenderStyle::initialSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled, NoneDisabled, UndefinedDisabled>::createHandler());
-#if ENABLE(CSS_IMAGE_ORIENTATION)
- setPropertyHandler(CSSPropertyImageOrientation, ApplyPropertyDefault<ImageOrientationEnum, &RenderStyle::imageOrientation, ImageOrientationEnum, &RenderStyle::setImageOrientation, ImageOrientationEnum, &RenderStyle::initialImageOrientation>::createHandler());
-#endif
- setPropertyHandler(CSSPropertyImageRendering, ApplyPropertyDefault<EImageRendering, &RenderStyle::imageRendering, EImageRendering, &RenderStyle::setImageRendering, EImageRendering, &RenderStyle::initialImageRendering>::createHandler());
#if ENABLE(CSS_IMAGE_RESOLUTION)
setPropertyHandler(CSSPropertyImageResolution, ApplyPropertyImageResolution::createHandler());
#endif
@@ -2412,8 +2398,6 @@
setPropertyHandler(CSSPropertyLineHeight, ApplyPropertyLineHeight::createHandler());
#endif
setPropertyHandler(CSSPropertyListStyleImage, ApplyPropertyStyleImage<&RenderStyle::listStyleImage, &RenderStyle::setListStyleImage, &RenderStyle::initialListStyleImage, CSSPropertyListStyleImage>::createHandler());
- setPropertyHandler(CSSPropertyListStylePosition, ApplyPropertyDefault<EListStylePosition, &RenderStyle::listStylePosition, EListStylePosition, &RenderStyle::setListStylePosition, EListStylePosition, &RenderStyle::initialListStylePosition>::createHandler());
- setPropertyHandler(CSSPropertyListStyleType, ApplyPropertyDefault<EListStyleType, &RenderStyle::listStyleType, EListStyleType, &RenderStyle::setListStyleType, EListStyleType, &RenderStyle::initialListStyleType>::createHandler());
setPropertyHandler(CSSPropertyMarginBottom, ApplyPropertyLength<&RenderStyle::marginBottom, &RenderStyle::setMarginBottom, &RenderStyle::initialMargin, AutoEnabled>::createHandler());
setPropertyHandler(CSSPropertyMarginLeft, ApplyPropertyLength<&RenderStyle::marginLeft, &RenderStyle::setMarginLeft, &RenderStyle::initialMargin, AutoEnabled>::createHandler());
setPropertyHandler(CSSPropertyMarginRight, ApplyPropertyLength<&RenderStyle::marginRight, &RenderStyle::setMarginRight, &RenderStyle::initialMargin, AutoEnabled>::createHandler());
@@ -2422,50 +2406,28 @@
setPropertyHandler(CSSPropertyMaxWidth, ApplyPropertyLength<&RenderStyle::maxWidth, &RenderStyle::setMaxWidth, &RenderStyle::initialMaxSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneEnabled, UndefinedEnabled>::createHandler());
setPropertyHandler(CSSPropertyMinHeight, ApplyPropertyLength<&RenderStyle::minHeight, &RenderStyle::setMinHeight, &RenderStyle::initialMinSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled>::createHandler());
setPropertyHandler(CSSPropertyMinWidth, ApplyPropertyLength<&RenderStyle::minWidth, &RenderStyle::setMinWidth, &RenderStyle::initialMinSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled>::createHandler());
- setPropertyHandler(CSSPropertyObjectFit, ApplyPropertyDefault<ObjectFit, &RenderStyle::objectFit, ObjectFit, &RenderStyle::setObjectFit, ObjectFit, &RenderStyle::initialObjectFit>::createHandler());
- setPropertyHandler(CSSPropertyOpacity, ApplyPropertyDefault<float, &RenderStyle::opacity, float, &RenderStyle::setOpacity, float, &RenderStyle::initialOpacity>::createHandler());
setPropertyHandler(CSSPropertyOrphans, ApplyPropertyAuto<short, &RenderStyle::orphans, &RenderStyle::setOrphans, &RenderStyle::hasAutoOrphans, &RenderStyle::setHasAutoOrphans>::createHandler());
setPropertyHandler(CSSPropertyOutlineColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::outlineColor, &RenderStyle::setOutlineColor, &RenderStyle::setVisitedLinkOutlineColor, &RenderStyle::color>::createHandler());
setPropertyHandler(CSSPropertyOutlineOffset, ApplyPropertyComputeLength<int, &RenderStyle::outlineOffset, &RenderStyle::setOutlineOffset, &RenderStyle::initialOutlineOffset>::createHandler());
setPropertyHandler(CSSPropertyOutlineStyle, ApplyPropertyOutlineStyle::createHandler());
setPropertyHandler(CSSPropertyOutlineWidth, ApplyPropertyComputeLength<unsigned short, &RenderStyle::outlineWidth, &RenderStyle::setOutlineWidth, &RenderStyle::initialOutlineWidth, NormalDisabled, ThicknessEnabled>::createHandler());
- setPropertyHandler(CSSPropertyOverflowWrap, ApplyPropertyDefault<EOverflowWrap, &RenderStyle::overflowWrap, EOverflowWrap, &RenderStyle::setOverflowWrap, EOverflowWrap, &RenderStyle::initialOverflowWrap>::createHandler());
- setPropertyHandler(CSSPropertyOverflowX, ApplyPropertyDefault<EOverflow, &RenderStyle::overflowX, EOverflow, &RenderStyle::setOverflowX, EOverflow, &RenderStyle::NonInheritedFlags::initialOverflowX>::createHandler());
- setPropertyHandler(CSSPropertyOverflowY, ApplyPropertyDefault<EOverflow, &RenderStyle::overflowY, EOverflow, &RenderStyle::setOverflowY, EOverflow, &RenderStyle::NonInheritedFlags::initialOverflowY>::createHandler());
setPropertyHandler(CSSPropertyPaddingBottom, ApplyPropertyLength<&RenderStyle::paddingBottom, &RenderStyle::setPaddingBottom, &RenderStyle::initialPadding>::createHandler());
setPropertyHandler(CSSPropertyPaddingLeft, ApplyPropertyLength<&RenderStyle::paddingLeft, &RenderStyle::setPaddingLeft, &RenderStyle::initialPadding>::createHandler());
setPropertyHandler(CSSPropertyPaddingRight, ApplyPropertyLength<&RenderStyle::paddingRight, &RenderStyle::setPaddingRight, &RenderStyle::initialPadding>::createHandler());
setPropertyHandler(CSSPropertyPaddingTop, ApplyPropertyLength<&RenderStyle::paddingTop, &RenderStyle::setPaddingTop, &RenderStyle::initialPadding>::createHandler());
- setPropertyHandler(CSSPropertyPageBreakAfter, ApplyPropertyDefault<EPageBreak, &RenderStyle::pageBreakAfter, EPageBreak, &RenderStyle::setPageBreakAfter, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyPageBreakBefore, ApplyPropertyDefault<EPageBreak, &RenderStyle::pageBreakBefore, EPageBreak, &RenderStyle::setPageBreakBefore, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyPageBreakInside, ApplyPropertyDefault<EPageBreak, &RenderStyle::pageBreakInside, EPageBreak, &RenderStyle::setPageBreakInside, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyPointerEvents, ApplyPropertyDefault<EPointerEvents, &RenderStyle::pointerEvents, EPointerEvents, &RenderStyle::setPointerEvents, EPointerEvents, &RenderStyle::initialPointerEvents>::createHandler());
- setPropertyHandler(CSSPropertyPosition, ApplyPropertyDefault<EPosition, &RenderStyle::position, EPosition, &RenderStyle::setPosition, EPosition, &RenderStyle::NonInheritedFlags::initialPosition>::createHandler());
setPropertyHandler(CSSPropertyResize, ApplyPropertyResize::createHandler());
setPropertyHandler(CSSPropertyRight, ApplyPropertyLength<&RenderStyle::right, &RenderStyle::setRight, &RenderStyle::initialOffset, AutoEnabled>::createHandler());
setPropertyHandler(CSSPropertySize, ApplyPropertyPageSize::createHandler());
- setPropertyHandler(CSSPropertySpeak, ApplyPropertyDefault<ESpeak, &RenderStyle::speak, ESpeak, &RenderStyle::setSpeak, ESpeak, &RenderStyle::initialSpeak>::createHandler());
- setPropertyHandler(CSSPropertyTableLayout, ApplyPropertyDefault<ETableLayout, &RenderStyle::tableLayout, ETableLayout, &RenderStyle::setTableLayout, ETableLayout, &RenderStyle::NonInheritedFlags::initialTableLayout>::createHandler());
- setPropertyHandler(CSSPropertyTabSize, ApplyPropertyDefault<unsigned, &RenderStyle::tabSize, unsigned, &RenderStyle::setTabSize, unsigned, &RenderStyle::initialTabSize>::createHandler());
setPropertyHandler(CSSPropertyTextAlign, ApplyPropertyTextAlign::createHandler());
setPropertyHandler(CSSPropertyTextDecoration, ApplyPropertyTextDecoration::createHandler());
-#if ENABLE(CSS3_TEXT)
- setPropertyHandler(CSSPropertyWebkitTextAlignLast, ApplyPropertyDefault<TextAlignLast, &RenderStyle::textAlignLast, TextAlignLast, &RenderStyle::setTextAlignLast, TextAlignLast, &RenderStyle::initialTextAlignLast>::createHandler());
- setPropertyHandler(CSSPropertyWebkitTextJustify, ApplyPropertyDefault<TextJustify, &RenderStyle::textJustify, TextJustify, &RenderStyle::setTextJustify, TextJustify, &RenderStyle::initialTextJustify>::createHandler());
-#endif // CSS3_TEXT
setPropertyHandler(CSSPropertyWebkitTextDecorationLine, ApplyPropertyTextDecoration::createHandler());
- setPropertyHandler(CSSPropertyWebkitTextDecorationStyle, ApplyPropertyDefault<TextDecorationStyle, &RenderStyle::textDecorationStyle, TextDecorationStyle, &RenderStyle::setTextDecorationStyle, TextDecorationStyle, &RenderStyle::initialTextDecorationStyle>::createHandler());
setPropertyHandler(CSSPropertyWebkitTextDecorationColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::textDecorationColor, &RenderStyle::setTextDecorationColor, &RenderStyle::setVisitedLinkTextDecorationColor, &RenderStyle::color>::createHandler());
setPropertyHandler(CSSPropertyWebkitTextDecorationSkip, ApplyPropertyTextDecorationSkip::createHandler());
setPropertyHandler(CSSPropertyWebkitTextUnderlinePosition, ApplyPropertyTextUnderlinePosition::createHandler());
setPropertyHandler(CSSPropertyTextIndent, ApplyPropertyTextIndent::createHandler());
- setPropertyHandler(CSSPropertyTextOverflow, ApplyPropertyDefault<TextOverflow, &RenderStyle::textOverflow, TextOverflow, &RenderStyle::setTextOverflow, TextOverflow, &RenderStyle::initialTextOverflow>::createHandler());
setPropertyHandler(CSSPropertyTextRendering, ApplyPropertyFont<TextRenderingMode, &FontDescription::textRenderingMode, &FontDescription::setTextRenderingMode, AutoTextRendering>::createHandler());
- setPropertyHandler(CSSPropertyTextTransform, ApplyPropertyDefault<ETextTransform, &RenderStyle::textTransform, ETextTransform, &RenderStyle::setTextTransform, ETextTransform, &RenderStyle::initialTextTransform>::createHandler());
setPropertyHandler(CSSPropertyTop, ApplyPropertyLength<&RenderStyle::top, &RenderStyle::setTop, &RenderStyle::initialOffset, AutoEnabled>::createHandler());
- setPropertyHandler(CSSPropertyUnicodeBidi, ApplyPropertyDefault<EUnicodeBidi, &RenderStyle::unicodeBidi, EUnicodeBidi, &RenderStyle::setUnicodeBidi, EUnicodeBidi, &RenderStyle::NonInheritedFlags::initialUnicodeBidi>::createHandler());
setPropertyHandler(CSSPropertyVerticalAlign, ApplyPropertyVerticalAlign::createHandler());
- setPropertyHandler(CSSPropertyVisibility, ApplyPropertyDefault<EVisibility, &RenderStyle::visibility, EVisibility, &RenderStyle::setVisibility, EVisibility, &RenderStyle::initialVisibility>::createHandler());
setPropertyHandler(CSSPropertyWebkitAnimationDelay, ApplyPropertyAnimation<double, &Animation::delay, &Animation::setDelay, &Animation::isDelaySet, &Animation::clearDelay, &Animation::initialAnimationDelay, &CSSToStyleMap::mapAnimationDelay, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
setPropertyHandler(CSSPropertyWebkitAnimationDirection, ApplyPropertyAnimation<Animation::AnimationDirection, &Animation::direction, &Animation::setDirection, &Animation::isDirectionSet, &Animation::clearDirection, &Animation::initialAnimationDirection, &CSSToStyleMap::mapAnimationDirection, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
setPropertyHandler(CSSPropertyWebkitAnimationDuration, ApplyPropertyAnimation<double, &Animation::duration, &Animation::setDuration, &Animation::isDurationSet, &Animation::clearDuration, &Animation::initialAnimationDuration, &CSSToStyleMap::mapAnimationDuration, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
@@ -2474,59 +2436,20 @@
setPropertyHandler(CSSPropertyWebkitAnimationName, ApplyPropertyAnimation<const String&, &Animation::name, &Animation::setName, &Animation::isNameSet, &Animation::clearName, &Animation::initialAnimationName, &CSSToStyleMap::mapAnimationName, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
setPropertyHandler(CSSPropertyWebkitAnimationPlayState, ApplyPropertyAnimation<EAnimPlayState, &Animation::playState, &Animation::setPlayState, &Animation::isPlayStateSet, &Animation::clearPlayState, &Animation::initialAnimationPlayState, &CSSToStyleMap::mapAnimationPlayState, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
setPropertyHandler(CSSPropertyWebkitAnimationTimingFunction, ApplyPropertyAnimation<const PassRefPtr<TimingFunction>, &Animation::timingFunction, &Animation::setTimingFunction, &Animation::isTimingFunctionSet, &Animation::clearTimingFunction, &Animation::initialAnimationTimingFunction, &CSSToStyleMap::mapAnimationTimingFunction, &RenderStyle::accessAnimations, &RenderStyle::animations>::createHandler());
- setPropertyHandler(CSSPropertyWebkitAppearance, ApplyPropertyDefault<ControlPart, &RenderStyle::appearance, ControlPart, &RenderStyle::setAppearance, ControlPart, &RenderStyle::initialAppearance>::createHandler());
setPropertyHandler(CSSPropertyWebkitAspectRatio, ApplyPropertyAspectRatio::createHandler());
- setPropertyHandler(CSSPropertyWebkitBackfaceVisibility, ApplyPropertyDefault<EBackfaceVisibility, &RenderStyle::backfaceVisibility, EBackfaceVisibility, &RenderStyle::setBackfaceVisibility, EBackfaceVisibility, &RenderStyle::initialBackfaceVisibility>::createHandler());
setPropertyHandler(CSSPropertyWebkitBackgroundClip, CSSPropertyBackgroundClip);
setPropertyHandler(CSSPropertyWebkitBackgroundComposite, ApplyPropertyFillLayer<CompositeOperator, CSSPropertyWebkitBackgroundComposite, BackgroundFillLayer, &RenderStyle::accessBackgroundLayers, &RenderStyle::backgroundLayers, &FillLayer::isCompositeSet, &FillLayer::composite, &FillLayer::setComposite, &FillLayer::clearComposite, &FillLayer::initialFillComposite, &CSSToStyleMap::mapFillComposite>::createHandler());
setPropertyHandler(CSSPropertyWebkitBackgroundOrigin, CSSPropertyBackgroundOrigin);
setPropertyHandler(CSSPropertyWebkitBackgroundSize, CSSPropertyBackgroundSize);
-#if ENABLE(CSS_COMPOSITING)
- setPropertyHandler(CSSPropertyMixBlendMode, ApplyPropertyDefault<BlendMode, &RenderStyle::blendMode, BlendMode, &RenderStyle::setBlendMode, BlendMode, &RenderStyle::initialBlendMode>::createHandler());
- setPropertyHandler(CSSPropertyIsolation, ApplyPropertyDefault<Isolation, &RenderStyle::isolation, Isolation, &RenderStyle::setIsolation, Isolation, &RenderStyle::initialIsolation>::createHandler());
-#endif
- setPropertyHandler(CSSPropertyWebkitBorderFit, ApplyPropertyDefault<EBorderFit, &RenderStyle::borderFit, EBorderFit, &RenderStyle::setBorderFit, EBorderFit, &RenderStyle::initialBorderFit>::createHandler());
setPropertyHandler(CSSPropertyWebkitBorderHorizontalSpacing, ApplyPropertyComputeLength<short, &RenderStyle::horizontalBorderSpacing, &RenderStyle::setHorizontalBorderSpacing, &RenderStyle::initialHorizontalBorderSpacing>::createHandler());
setPropertyHandler(CSSPropertyWebkitBorderImage, ApplyPropertyBorderImage<BorderImage, CSSPropertyWebkitBorderImage, &RenderStyle::borderImage, &RenderStyle::setBorderImage>::createHandler());
setPropertyHandler(CSSPropertyWebkitBorderVerticalSpacing, ApplyPropertyComputeLength<short, &RenderStyle::verticalBorderSpacing, &RenderStyle::setVerticalBorderSpacing, &RenderStyle::initialVerticalBorderSpacing>::createHandler());
- setPropertyHandler(CSSPropertyWebkitBoxAlign, ApplyPropertyDefault<EBoxAlignment, &RenderStyle::boxAlign, EBoxAlignment, &RenderStyle::setBoxAlign, EBoxAlignment, &RenderStyle::initialBoxAlign>::createHandler());
-#if ENABLE(CSS_BOX_DECORATION_BREAK)
- setPropertyHandler(CSSPropertyWebkitBoxDecorationBreak, ApplyPropertyDefault<EBoxDecorationBreak, &RenderStyle::boxDecorationBreak, EBoxDecorationBreak, &RenderStyle::setBoxDecorationBreak, EBoxDecorationBreak, &RenderStyle::initialBoxDecorationBreak>::createHandler());
-#endif
- setPropertyHandler(CSSPropertyWebkitBoxDirection, ApplyPropertyDefault<EBoxDirection, &RenderStyle::boxDirection, EBoxDirection, &RenderStyle::setBoxDirection, EBoxDirection, &RenderStyle::initialBoxDirection>::createHandler());
- setPropertyHandler(CSSPropertyWebkitBoxFlex, ApplyPropertyDefault<float, &RenderStyle::boxFlex, float, &RenderStyle::setBoxFlex, float, &RenderStyle::initialBoxFlex>::createHandler());
- setPropertyHandler(CSSPropertyWebkitBoxFlexGroup, ApplyPropertyDefault<unsigned, &RenderStyle::boxFlexGroup, unsigned, &RenderStyle::setBoxFlexGroup, unsigned, &RenderStyle::initialBoxFlexGroup>::createHandler());
- setPropertyHandler(CSSPropertyWebkitBoxLines, ApplyPropertyDefault<EBoxLines, &RenderStyle::boxLines, EBoxLines, &RenderStyle::setBoxLines, EBoxLines, &RenderStyle::initialBoxLines>::createHandler());
- setPropertyHandler(CSSPropertyWebkitBoxOrdinalGroup, ApplyPropertyDefault<unsigned, &RenderStyle::boxOrdinalGroup, unsigned, &RenderStyle::setBoxOrdinalGroup, unsigned, &RenderStyle::initialBoxOrdinalGroup>::createHandler());
- setPropertyHandler(CSSPropertyWebkitBoxOrient, ApplyPropertyDefault<EBoxOrient, &RenderStyle::boxOrient, EBoxOrient, &RenderStyle::setBoxOrient, EBoxOrient, &RenderStyle::initialBoxOrient>::createHandler());
- setPropertyHandler(CSSPropertyWebkitBoxPack, ApplyPropertyDefault<EBoxPack, &RenderStyle::boxPack, EBoxPack, &RenderStyle::setBoxPack, EBoxPack, &RenderStyle::initialBoxPack>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColorCorrection, ApplyPropertyDefault<ColorSpace, &RenderStyle::colorSpace, ColorSpace, &RenderStyle::setColorSpace, ColorSpace, &RenderStyle::initialColorSpace>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnAxis, ApplyPropertyDefault<ColumnAxis, &RenderStyle::columnAxis, ColumnAxis, &RenderStyle::setColumnAxis, ColumnAxis, &RenderStyle::initialColumnAxis>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnBreakAfter, ApplyPropertyDefault<EPageBreak, &RenderStyle::columnBreakAfter, EPageBreak, &RenderStyle::setColumnBreakAfter, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnBreakBefore, ApplyPropertyDefault<EPageBreak, &RenderStyle::columnBreakBefore, EPageBreak, &RenderStyle::setColumnBreakBefore, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnBreakInside, ApplyPropertyDefault<EPageBreak, &RenderStyle::columnBreakInside, EPageBreak, &RenderStyle::setColumnBreakInside, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnCount, ApplyPropertyAuto<unsigned short, &RenderStyle::columnCount, &RenderStyle::setColumnCount, &RenderStyle::hasAutoColumnCount, &RenderStyle::setHasAutoColumnCount>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnFill, ApplyPropertyDefault<ColumnFill, &RenderStyle::columnFill, ColumnFill, &RenderStyle::setColumnFill, ColumnFill, &RenderStyle::initialColumnFill>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnGap, ApplyPropertyAuto<float, &RenderStyle::columnGap, &RenderStyle::setColumnGap, &RenderStyle::hasNormalColumnGap, &RenderStyle::setHasNormalColumnGap, ComputeLength, CSSValueNormal>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnProgression, ApplyPropertyDefault<ColumnProgression, &RenderStyle::columnProgression, ColumnProgression, &RenderStyle::setColumnProgression, ColumnProgression, &RenderStyle::initialColumnProgression>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnRuleColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::columnRuleColor, &RenderStyle::setColumnRuleColor, &RenderStyle::setVisitedLinkColumnRuleColor, &RenderStyle::color>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnRuleWidth, ApplyPropertyComputeLength<unsigned short, &RenderStyle::columnRuleWidth, &RenderStyle::setColumnRuleWidth, &RenderStyle::initialColumnRuleWidth, NormalDisabled, ThicknessEnabled>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnSpan, ApplyPropertyDefault<ColumnSpan, &RenderStyle::columnSpan, ColumnSpan, &RenderStyle::setColumnSpan, ColumnSpan, &RenderStyle::initialColumnSpan>::createHandler());
- setPropertyHandler(CSSPropertyWebkitColumnRuleStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::columnRuleStyle, EBorderStyle, &RenderStyle::setColumnRuleStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnWidth, ApplyPropertyAuto<float, &RenderStyle::columnWidth, &RenderStyle::setColumnWidth, &RenderStyle::hasAutoColumnWidth, &RenderStyle::setHasAutoColumnWidth, ComputeLength>::createHandler());
-#if ENABLE(CURSOR_VISIBILITY)
- setPropertyHandler(CSSPropertyWebkitCursorVisibility, ApplyPropertyDefault<CursorVisibility, &RenderStyle::cursorVisibility, CursorVisibility, &RenderStyle::setCursorVisibility, CursorVisibility, &RenderStyle::initialCursorVisibility>::createHandler());
-#endif
- setPropertyHandler(CSSPropertyAlignContent, ApplyPropertyDefault<EAlignContent, &RenderStyle::alignContent, EAlignContent, &RenderStyle::setAlignContent, EAlignContent, &RenderStyle::initialAlignContent>::createHandler());
- setPropertyHandler(CSSPropertyAlignItems, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignItems, EAlignItems, &RenderStyle::setAlignItems, EAlignItems, &RenderStyle::initialAlignItems>::createHandler());
- setPropertyHandler(CSSPropertyAlignSelf, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignSelf, EAlignItems, &RenderStyle::setAlignSelf, EAlignItems, &RenderStyle::initialAlignSelf>::createHandler());
setPropertyHandler(CSSPropertyFlexBasis, ApplyPropertyLength<&RenderStyle::flexBasis, &RenderStyle::setFlexBasis, &RenderStyle::initialFlexBasis, AutoEnabled>::createHandler());
- setPropertyHandler(CSSPropertyFlexDirection, ApplyPropertyDefault<EFlexDirection, &RenderStyle::flexDirection, EFlexDirection, &RenderStyle::setFlexDirection, EFlexDirection, &RenderStyle::initialFlexDirection>::createHandler());
- setPropertyHandler(CSSPropertyFlexGrow, ApplyPropertyDefault<float, &RenderStyle::flexGrow, float, &RenderStyle::setFlexGrow, float, &RenderStyle::initialFlexGrow>::createHandler());
- setPropertyHandler(CSSPropertyFlexShrink, ApplyPropertyDefault<float, &RenderStyle::flexShrink, float, &RenderStyle::setFlexShrink, float, &RenderStyle::initialFlexShrink>::createHandler());
- setPropertyHandler(CSSPropertyFlexWrap, ApplyPropertyDefault<EFlexWrap, &RenderStyle::flexWrap, EFlexWrap, &RenderStyle::setFlexWrap, EFlexWrap, &RenderStyle::initialFlexWrap>::createHandler());
- setPropertyHandler(CSSPropertyJustifyContent, ApplyPropertyDefault<EJustifyContent, &RenderStyle::justifyContent, EJustifyContent, &RenderStyle::setJustifyContent, EJustifyContent, &RenderStyle::initialJustifyContent>::createHandler());
- setPropertyHandler(CSSPropertyOrder, ApplyPropertyDefault<int, &RenderStyle::order, int, &RenderStyle::setOrder, int, &RenderStyle::initialOrder>::createHandler());
#if ENABLE(CSS_REGIONS)
setPropertyHandler(CSSPropertyWebkitFlowFrom, ApplyPropertyString<MapNoneToNull, &RenderStyle::regionThread, &RenderStyle::setRegionThread, &RenderStyle::initialRegionThread>::createHandler());
setPropertyHandler(CSSPropertyWebkitFlowInto, ApplyPropertyString<MapNoneToNull, &RenderStyle::flowThread, &RenderStyle::setFlowThread, &RenderStyle::initialFlowThread>::createHandler());
@@ -2538,21 +2461,10 @@
setPropertyHandler(CSSPropertyWebkitHyphenateLimitAfter, ApplyPropertyNumber<short, &RenderStyle::hyphenationLimitAfter, &RenderStyle::setHyphenationLimitAfter, &RenderStyle::initialHyphenationLimitAfter>::createHandler());
setPropertyHandler(CSSPropertyWebkitHyphenateLimitBefore, ApplyPropertyNumber<short, &RenderStyle::hyphenationLimitBefore, &RenderStyle::setHyphenationLimitBefore, &RenderStyle::initialHyphenationLimitBefore>::createHandler());
setPropertyHandler(CSSPropertyWebkitHyphenateLimitLines, ApplyPropertyNumber<short, &RenderStyle::hyphenationLimitLines, &RenderStyle::setHyphenationLimitLines, &RenderStyle::initialHyphenationLimitLines, CSSValueNoLimit>::createHandler());
- setPropertyHandler(CSSPropertyWebkitHyphens, ApplyPropertyDefault<Hyphens, &RenderStyle::hyphens, Hyphens, &RenderStyle::setHyphens, Hyphens, &RenderStyle::initialHyphens>::createHandler());
- setPropertyHandler(CSSPropertyWebkitLineAlign, ApplyPropertyDefault<LineAlign, &RenderStyle::lineAlign, LineAlign, &RenderStyle::setLineAlign, LineAlign, &RenderStyle::initialLineAlign>::createHandler());
- setPropertyHandler(CSSPropertyWebkitLineBreak, ApplyPropertyDefault<LineBreak, &RenderStyle::lineBreak, LineBreak, &RenderStyle::setLineBreak, LineBreak, &RenderStyle::initialLineBreak>::createHandler());
- setPropertyHandler(CSSPropertyWebkitLineClamp, ApplyPropertyDefault<const LineClampValue&, &RenderStyle::lineClamp, LineClampValue, &RenderStyle::setLineClamp, LineClampValue, &RenderStyle::initialLineClamp>::createHandler());
setPropertyHandler(CSSPropertyWebkitLineGrid, ApplyPropertyString<MapNoneToNull, &RenderStyle::lineGrid, &RenderStyle::setLineGrid, &RenderStyle::initialLineGrid>::createHandler());
- setPropertyHandler(CSSPropertyWebkitLineSnap, ApplyPropertyDefault<LineSnap, &RenderStyle::lineSnap, LineSnap, &RenderStyle::setLineSnap, LineSnap, &RenderStyle::initialLineSnap>::createHandler());
- setPropertyHandler(CSSPropertyWebkitMarginAfterCollapse, ApplyPropertyDefault<EMarginCollapse, &RenderStyle::marginAfterCollapse, EMarginCollapse, &RenderStyle::setMarginAfterCollapse, EMarginCollapse, &RenderStyle::initialMarginAfterCollapse>::createHandler());
- setPropertyHandler(CSSPropertyWebkitMarginBeforeCollapse, ApplyPropertyDefault<EMarginCollapse, &RenderStyle::marginBeforeCollapse, EMarginCollapse, &RenderStyle::setMarginBeforeCollapse, EMarginCollapse, &RenderStyle::initialMarginBeforeCollapse>::createHandler());
- setPropertyHandler(CSSPropertyWebkitMarginBottomCollapse, CSSPropertyWebkitMarginAfterCollapse);
- setPropertyHandler(CSSPropertyWebkitMarginTopCollapse, CSSPropertyWebkitMarginBeforeCollapse);
- setPropertyHandler(CSSPropertyWebkitMarqueeDirection, ApplyPropertyDefault<EMarqueeDirection, &RenderStyle::marqueeDirection, EMarqueeDirection, &RenderStyle::setMarqueeDirection, EMarqueeDirection, &RenderStyle::initialMarqueeDirection>::createHandler());
setPropertyHandler(CSSPropertyWebkitMarqueeIncrement, ApplyPropertyMarqueeIncrement::createHandler());
setPropertyHandler(CSSPropertyWebkitMarqueeRepetition, ApplyPropertyMarqueeRepetition::createHandler());
setPropertyHandler(CSSPropertyWebkitMarqueeSpeed, ApplyPropertyMarqueeSpeed::createHandler());
- setPropertyHandler(CSSPropertyWebkitMarqueeStyle, ApplyPropertyDefault<EMarqueeBehavior, &RenderStyle::marqueeBehavior, EMarqueeBehavior, &RenderStyle::setMarqueeBehavior, EMarqueeBehavior, &RenderStyle::initialMarqueeBehavior>::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskBoxImage, ApplyPropertyBorderImage<BorderMask, CSSPropertyWebkitMaskBoxImage, &RenderStyle::maskBoxImage, &RenderStyle::setMaskBoxImage>::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskBoxImageOutset, ApplyPropertyBorderImageModifier<BorderMask, Outset>::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskBoxImageRepeat, ApplyPropertyBorderImageModifier<BorderMask, Repeat>::createHandler());
@@ -2569,52 +2481,30 @@
setPropertyHandler(CSSPropertyWebkitMaskRepeatY, ApplyPropertyFillLayer<EFillRepeat, CSSPropertyWebkitMaskRepeatY, MaskFillLayer, &RenderStyle::accessMaskLayers, &RenderStyle::maskLayers, &FillLayer::isRepeatYSet, &FillLayer::repeatY, &FillLayer::setRepeatY, &FillLayer::clearRepeatY, &FillLayer::initialFillRepeatY, &CSSToStyleMap::mapFillRepeatY>::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskSize, ApplyPropertyFillLayer<FillSize, CSSPropertyWebkitMaskSize, MaskFillLayer, &RenderStyle::accessMaskLayers, &RenderStyle::maskLayers, &FillLayer::isSizeSet, &FillLayer::size, &FillLayer::setSize, &FillLayer::clearSize, &FillLayer::initialFillSize, &CSSToStyleMap::mapFillSize>::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskSourceType, ApplyPropertyFillLayer<EMaskSourceType, CSSPropertyWebkitMaskSourceType, MaskFillLayer, &RenderStyle::accessMaskLayers, &RenderStyle::maskLayers, &FillLayer::isMaskSourceTypeSet, &FillLayer::maskSourceType, &FillLayer::setMaskSourceType, &FillLayer::clearMaskSourceType, &FillLayer::initialMaskSourceType, &CSSToStyleMap::mapFillMaskSourceType>::createHandler());
- setPropertyHandler(CSSPropertyWebkitNbspMode, ApplyPropertyDefault<ENBSPMode, &RenderStyle::nbspMode, ENBSPMode, &RenderStyle::setNBSPMode, ENBSPMode, &RenderStyle::initialNBSPMode>::createHandler());
setPropertyHandler(CSSPropertyWebkitPerspectiveOrigin, ApplyPropertyExpanding<SuppressValue, CSSPropertyWebkitPerspectiveOriginX, CSSPropertyWebkitPerspectiveOriginY>::createHandler());
setPropertyHandler(CSSPropertyWebkitPerspectiveOriginX, ApplyPropertyLength<&RenderStyle::perspectiveOriginX, &RenderStyle::setPerspectiveOriginX, &RenderStyle::initialPerspectiveOriginX>::createHandler());
setPropertyHandler(CSSPropertyWebkitPerspectiveOriginY, ApplyPropertyLength<&RenderStyle::perspectiveOriginY, &RenderStyle::setPerspectiveOriginY, &RenderStyle::initialPerspectiveOriginY>::createHandler());
- setPropertyHandler(CSSPropertyWebkitPrintColorAdjust, ApplyPropertyDefault<PrintColorAdjust, &RenderStyle::printColorAdjust, PrintColorAdjust, &RenderStyle::setPrintColorAdjust, PrintColorAdjust, &RenderStyle::initialPrintColorAdjust>::createHandler());
-#if ENABLE(CSS_REGIONS)
- setPropertyHandler(CSSPropertyWebkitRegionBreakAfter, ApplyPropertyDefault<EPageBreak, &RenderStyle::regionBreakAfter, EPageBreak, &RenderStyle::setRegionBreakAfter, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyWebkitRegionBreakBefore, ApplyPropertyDefault<EPageBreak, &RenderStyle::regionBreakBefore, EPageBreak, &RenderStyle::setRegionBreakBefore, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyWebkitRegionBreakInside, ApplyPropertyDefault<EPageBreak, &RenderStyle::regionBreakInside, EPageBreak, &RenderStyle::setRegionBreakInside, EPageBreak, &RenderStyle::NonInheritedFlags::initialPageBreak>::createHandler());
- setPropertyHandler(CSSPropertyWebkitRegionFragment, ApplyPropertyDefault<RegionFragment, &RenderStyle::regionFragment, RegionFragment, &RenderStyle::setRegionFragment, RegionFragment, &RenderStyle::initialRegionFragment>::createHandler());
-#endif
- setPropertyHandler(CSSPropertyWebkitRtlOrdering, ApplyPropertyDefault<Order, &RenderStyle::rtlOrdering, Order, &RenderStyle::setRTLOrdering, Order, &RenderStyle::initialRTLOrdering>::createHandler());
- setPropertyHandler(CSSPropertyWebkitRubyPosition, ApplyPropertyDefault<RubyPosition, &RenderStyle::rubyPosition, RubyPosition, &RenderStyle::setRubyPosition, RubyPosition, &RenderStyle::initialRubyPosition>::createHandler());
- setPropertyHandler(CSSPropertyWebkitTextCombine, ApplyPropertyDefault<TextCombine, &RenderStyle::textCombine, TextCombine, &RenderStyle::setTextCombine, TextCombine, &RenderStyle::initialTextCombine>::createHandler());
setPropertyHandler(CSSPropertyWebkitTextEmphasisColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::textEmphasisColor, &RenderStyle::setTextEmphasisColor, &RenderStyle::setVisitedLinkTextEmphasisColor, &RenderStyle::color>::createHandler());
setPropertyHandler(CSSPropertyWebkitTextEmphasisPosition, ApplyPropertyTextEmphasisPosition::createHandler());
setPropertyHandler(CSSPropertyWebkitTextEmphasisStyle, ApplyPropertyTextEmphasisStyle::createHandler());
setPropertyHandler(CSSPropertyWebkitTextFillColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::textFillColor, &RenderStyle::setTextFillColor, &RenderStyle::setVisitedLinkTextFillColor, &RenderStyle::color>::createHandler());
- setPropertyHandler(CSSPropertyWebkitTextSecurity, ApplyPropertyDefault<ETextSecurity, &RenderStyle::textSecurity, ETextSecurity, &RenderStyle::setTextSecurity, ETextSecurity, &RenderStyle::initialTextSecurity>::createHandler());
setPropertyHandler(CSSPropertyWebkitTextStrokeColor, ApplyPropertyColor<NoInheritFromParent, &RenderStyle::textStrokeColor, &RenderStyle::setTextStrokeColor, &RenderStyle::setVisitedLinkTextStrokeColor, &RenderStyle::color>::createHandler());
setPropertyHandler(CSSPropertyWebkitTransformOriginX, ApplyPropertyLength<&RenderStyle::transformOriginX, &RenderStyle::setTransformOriginX, &RenderStyle::initialTransformOriginX>::createHandler());
setPropertyHandler(CSSPropertyWebkitTransformOriginY, ApplyPropertyLength<&RenderStyle::transformOriginY, &RenderStyle::setTransformOriginY, &RenderStyle::initialTransformOriginY>::createHandler());
setPropertyHandler(CSSPropertyWebkitTransformOriginZ, ApplyPropertyComputeLength<float, &RenderStyle::transformOriginZ, &RenderStyle::setTransformOriginZ, &RenderStyle::initialTransformOriginZ>::createHandler());
- setPropertyHandler(CSSPropertyWebkitTransformStyle, ApplyPropertyDefault<ETransformStyle3D, &RenderStyle::transformStyle3D, ETransformStyle3D, &RenderStyle::setTransformStyle3D, ETransformStyle3D, &RenderStyle::initialTransformStyle3D>::createHandler());
setPropertyHandler(CSSPropertyWebkitTransitionDelay, ApplyPropertyAnimation<double, &Animation::delay, &Animation::setDelay, &Animation::isDelaySet, &Animation::clearDelay, &Animation::initialAnimationDelay, &CSSToStyleMap::mapAnimationDelay, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
setPropertyHandler(CSSPropertyWebkitTransitionDuration, ApplyPropertyAnimation<double, &Animation::duration, &Animation::setDuration, &Animation::isDurationSet, &Animation::clearDuration, &Animation::initialAnimationDuration, &CSSToStyleMap::mapAnimationDuration, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
setPropertyHandler(CSSPropertyWebkitTransitionProperty, ApplyPropertyAnimation<CSSPropertyID, &Animation::property, &Animation::setProperty, &Animation::isPropertySet, &Animation::clearProperty, &Animation::initialAnimationProperty, &CSSToStyleMap::mapAnimationProperty, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
setPropertyHandler(CSSPropertyWebkitTransitionTimingFunction, ApplyPropertyAnimation<const PassRefPtr<TimingFunction>, &Animation::timingFunction, &Animation::setTimingFunction, &Animation::isTimingFunctionSet, &Animation::clearTimingFunction, &Animation::initialAnimationTimingFunction, &CSSToStyleMap::mapAnimationTimingFunction, &RenderStyle::accessTransitions, &RenderStyle::transitions>::createHandler());
- setPropertyHandler(CSSPropertyWebkitUserDrag, ApplyPropertyDefault<EUserDrag, &RenderStyle::userDrag, EUserDrag, &RenderStyle::setUserDrag, EUserDrag, &RenderStyle::initialUserDrag>::createHandler());
- setPropertyHandler(CSSPropertyWebkitUserModify, ApplyPropertyDefault<EUserModify, &RenderStyle::userModify, EUserModify, &RenderStyle::setUserModify, EUserModify, &RenderStyle::initialUserModify>::createHandler());
- setPropertyHandler(CSSPropertyWebkitUserSelect, ApplyPropertyDefault<EUserSelect, &RenderStyle::userSelect, EUserSelect, &RenderStyle::setUserSelect, EUserSelect, &RenderStyle::initialUserSelect>::createHandler());
setPropertyHandler(CSSPropertyWebkitClipPath, ApplyPropertyClipPath<&RenderStyle::clipPath, &RenderStyle::setClipPath, &RenderStyle::initialClipPath>::createHandler());
#if ENABLE(CSS_SHAPES)
setPropertyHandler(CSSPropertyWebkitShapeMargin, ApplyPropertyLength<&RenderStyle::shapeMargin, &RenderStyle::setShapeMargin, &RenderStyle::initialShapeMargin>::createHandler());
setPropertyHandler(CSSPropertyWebkitShapeImageThreshold, ApplyPropertyNumber<float, &RenderStyle::shapeImageThreshold, &RenderStyle::setShapeImageThreshold, &RenderStyle::initialShapeImageThreshold>::createHandler());
setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler());
#endif
- setPropertyHandler(CSSPropertyWhiteSpace, ApplyPropertyDefault<EWhiteSpace, &RenderStyle::whiteSpace, EWhiteSpace, &RenderStyle::setWhiteSpace, EWhiteSpace, &RenderStyle::initialWhiteSpace>::createHandler());
setPropertyHandler(CSSPropertyWidows, ApplyPropertyAuto<short, &RenderStyle::widows, &RenderStyle::setWidows, &RenderStyle::hasAutoWidows, &RenderStyle::setHasAutoWidows>::createHandler());
setPropertyHandler(CSSPropertyWidth, ApplyPropertyLength<&RenderStyle::width, &RenderStyle::setWidth, &RenderStyle::initialSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneDisabled, UndefinedDisabled>::createHandler());
- setPropertyHandler(CSSPropertyWordBreak, ApplyPropertyDefault<EWordBreak, &RenderStyle::wordBreak, EWordBreak, &RenderStyle::setWordBreak, EWordBreak, &RenderStyle::initialWordBreak>::createHandler());
setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyWordSpacing::createHandler());
-
- // UAs must treat 'word-wrap' as an alternate name for the 'overflow-wrap' property. So using the same handlers.
- setPropertyHandler(CSSPropertyWordWrap, ApplyPropertyDefault<EOverflowWrap, &RenderStyle::overflowWrap, EOverflowWrap, &RenderStyle::setOverflowWrap, EOverflowWrap, &RenderStyle::initialOverflowWrap>::createHandler());
-
setPropertyHandler(CSSPropertyCx, ApplyPropertyLength<&RenderStyle::cx, &RenderStyle::setCx, &RenderStyle::initialZeroLength>::createHandler());
setPropertyHandler(CSSPropertyCy, ApplyPropertyLength<&RenderStyle::cy, &RenderStyle::setCy, &RenderStyle::initialZeroLength>::createHandler());
setPropertyHandler(CSSPropertyR, ApplyPropertyLength<&RenderStyle::r, &RenderStyle::setR, &RenderStyle::initialZeroLength>::createHandler());
Added: trunk/Source/WebCore/css/StyleBuilder.h (0 => 175052)
--- trunk/Source/WebCore/css/StyleBuilder.h (rev 0)
+++ trunk/Source/WebCore/css/StyleBuilder.h 2014-10-22 16:56:36 UTC (rev 175052)
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef StyleBuilder_h
+#define StyleBuilder_h
+
+#include "CSSPropertyNames.h"
+
+namespace WebCore {
+
+class CSSValue;
+class StyleResolver;
+
+class StyleBuilder {
+public:
+ static bool applyProperty(CSSPropertyID, StyleResolver&, CSSValue*, bool isInitial, bool isInherit);
+};
+
+} // namespace WebCore
+
+#endif // StyleBuilder_h
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (175051 => 175052)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2014-10-22 16:56:36 UTC (rev 175052)
@@ -8,7 +8,7 @@
* Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) Research In Motion Limited 2011. All rights reserved.
- * Copyright (C) 2012 Google Inc. All rights reserved.
+ * Copyright (C) 2012, 2013 Google Inc. All rights reserved.
* Copyright (C) 2014 Igalia S.L.
*
* This library is free software; you can redistribute it and/or
@@ -113,6 +113,7 @@
#include "Settings.h"
#include "ShadowData.h"
#include "ShadowRoot.h"
+#include "StyleBuilder.h"
#include "StyleCachedImage.h"
#include "StyleFontSizeFunctions.h"
#include "StyleGeneratedImage.h"
@@ -1358,7 +1359,7 @@
if (e && e->isSVGElement()) {
// Only the root <svg> element in an SVG document fragment tree honors css position
if (!(e->hasTagName(SVGNames::svgTag) && e->parentNode() && !e->parentNode()->isSVGElement()))
- style.setPosition(RenderStyle::NonInheritedFlags::initialPosition());
+ style.setPosition(RenderStyle::initialPosition());
// RenderSVGRoot handles zooming for the whole SVG subtree, so foreignObject content should
// not be scaled again.
@@ -2127,6 +2128,10 @@
return;
}
+ // Use the new StyleBuilder.
+ if (StyleBuilder::applyProperty(id, *this, value, isInitial, isInherit))
+ return;
+
CSSPrimitiveValue* primitiveValue = is<CSSPrimitiveValue>(*value) ? downcast<CSSPrimitiveValue>(value) : nullptr;
// What follows is a list that maps the CSS properties into their corresponding front-end
@@ -2946,7 +2951,7 @@
case CSSPropertyTransitionProperty:
case CSSPropertyTransitionTimingFunction:
return;
- // These properties are implemented in the DeprecatedStyleBuilder lookup table.
+ // These properties are implemented in the DeprecatedStyleBuilder lookup table or in the new StyleBuilder.
case CSSPropertyBackgroundAttachment:
case CSSPropertyBackgroundClip:
case CSSPropertyBackgroundColor:
Modified: trunk/Source/WebCore/css/makeprop.pl (175051 => 175052)
--- trunk/Source/WebCore/css/makeprop.pl 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/css/makeprop.pl 2014-10-22 16:56:36 UTC (rev 175052)
@@ -3,9 +3,10 @@
# This file is part of the WebKit project
#
# Copyright (C) 1999 Waldo Bastian ([email protected])
-# Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved.
+# Copyright (C) 2007, 2008, 2012, 2014 Apple Inc. All rights reserved.
# Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
# Copyright (C) 2010 Andras Becsi ([email protected]), University of Szeged
+# Copyright (C) 2013 Google 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
@@ -40,6 +41,16 @@
my $numPredefinedProperties = 1;
my @names = ();
my %nameIsInherited;
+# FIXME: Eventually all properties should use the new style builder and the following
+# variable should go away.
+my %propertiesUsingNewStyleBuilder;
+my %newStyleBuilderOptions = (
+ Getter => 1,
+ Initial => 1,
+ NameForMethods => 1,
+ Setter => 1,
+ TypeName => 1,
+);
my %nameToId;
my @aliases = ();
foreach (@NAMES) {
@@ -67,8 +78,18 @@
} else {
$nameIsInherited{$_} = 0;
foreach my $option (@options) {
- if ($option eq "Inherited") {
+ my ($optionName, $optionValue) = split(/=/, $option);
+ if ($optionName eq "Inherited") {
$nameIsInherited{$_} = 1;
+ } elsif ($optionName eq "NewStyleBuilder") {
+ # FIXME: This is temporary. Eventually, all properties will use the new
+ # style builder and this option will go away.
+ $propertiesUsingNewStyleBuilder{$_} = {};
+ } elsif ($newStyleBuilderOptions{$optionName}) {
+ die "\"" . $optionName . "\" option was used without \"NewStyleBuilder\" option for " . $_ . " property." if not exists($propertiesUsingNewStyleBuilder{$_});
+ $propertiesUsingNewStyleBuilder{$_}{$optionName} = $optionValue;
+ } else {
+ die "Unrecognized \"" . $optionName . "\" option for " . $_ . " property.";
}
}
@@ -302,5 +323,103 @@
close HEADER;
+#
+# StyleBuilder.cpp generator.
+#
+
+foreach my $name (@names) {
+ # Skip properties not using the new style builder yet.
+ next unless exists($propertiesUsingNewStyleBuilder{$name});
+
+ my $nameForMethods = $nameToId{$name};
+ $nameForMethods =~ s/Webkit//g;
+ if (exists($propertiesUsingNewStyleBuilder{$name}{"NameForMethods"})) {
+ $nameForMethods = $propertiesUsingNewStyleBuilder{$name}{"NameForMethods"};
+ }
+
+ if (!exists($propertiesUsingNewStyleBuilder{$name}{"TypeName"})) {
+ $propertiesUsingNewStyleBuilder{$name}{"TypeName"} = "E" . $nameForMethods;
+ }
+ if (!exists($propertiesUsingNewStyleBuilder{$name}{"Getter"})) {
+ $propertiesUsingNewStyleBuilder{$name}{"Getter"} = lcfirst($nameForMethods);
+ }
+ if (!exists($propertiesUsingNewStyleBuilder{$name}{"Setter"})) {
+ $propertiesUsingNewStyleBuilder{$name}{"Setter"} = "set" . $nameForMethods;
+ }
+ if (!exists($propertiesUsingNewStyleBuilder{$name}{"Initial"})) {
+ $propertiesUsingNewStyleBuilder{$name}{"Initial"} = "initial" . $nameForMethods;
+ }
+}
+
+open STYLEBUILDER, ">StyleBuilder.cpp" || die "Could not open StyleBuilder.cpp for writing";
+print STYLEBUILDER << "EOF";
+/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */
+
+#include "config.h"
+#include "StyleBuilder.h"
+
+#include "CSSPrimitiveValueMappings.h"
+#include "CSSProperty.h"
+#include "RenderStyle.h"
+#include "StyleResolver.h"
+
+namespace WebCore {
+
+class StyleBuilderFunctions {
+public:
+EOF
+
+foreach my $name (@names) {
+ # Skip properties not using the new style builder yet.
+ next unless exists($propertiesUsingNewStyleBuilder{$name});
+
+ my $setValue = "styleResolver.style()->" . $propertiesUsingNewStyleBuilder{$name}{"Setter"};
+ print STYLEBUILDER " static void applyInitial" . $nameToId{$name} . "(StyleResolver& styleResolver)\n";
+ print STYLEBUILDER " {\n";
+ print STYLEBUILDER " " . $setValue . "(RenderStyle::" . $propertiesUsingNewStyleBuilder{$name}{"Initial"} . "());\n";
+ print STYLEBUILDER " }\n";
+ print STYLEBUILDER " static void applyInherit" . $nameToId{$name} . "(StyleResolver& styleResolver)\n";
+ print STYLEBUILDER " {\n";
+ print STYLEBUILDER " " . $setValue . "(styleResolver.parentStyle()->" . $propertiesUsingNewStyleBuilder{$name}{"Getter"} . "());\n";
+ print STYLEBUILDER " }\n";
+ print STYLEBUILDER " static void applyValue" . $nameToId{$name} . "(StyleResolver& styleResolver, CSSValue& value)\n";
+ print STYLEBUILDER " {\n";
+ print STYLEBUILDER " " . $setValue . "(static_cast<" . $propertiesUsingNewStyleBuilder{$name}{"TypeName"} . ">(static_cast<CSSPrimitiveValue&>(value)));\n";
+ print STYLEBUILDER " }\n";
+}
+
+print STYLEBUILDER << "EOF";
+};
+
+bool StyleBuilder::applyProperty(CSSPropertyID property, StyleResolver& styleResolver, CSSValue* value, bool isInitial, bool isInherit)
+{
+ switch (property) {
+EOF
+
+foreach my $name (@names) {
+ # Skip properties not using the new style builder yet.
+ next unless exists($propertiesUsingNewStyleBuilder{$name});
+
+ print STYLEBUILDER " case CSSProperty" . $nameToId{$name} . ":\n";
+ print STYLEBUILDER " if (isInitial)\n";
+ print STYLEBUILDER " StyleBuilderFunctions::applyInitial" . $nameToId{$name} . "(styleResolver);\n";
+ print STYLEBUILDER " else if (isInherit)\n";
+ print STYLEBUILDER " StyleBuilderFunctions::applyInherit" . $nameToId{$name} . "(styleResolver);\n";
+ print STYLEBUILDER " else\n";
+ print STYLEBUILDER " StyleBuilderFunctions::applyValue" . $nameToId{$name} . "(styleResolver, *value);\n";
+ print STYLEBUILDER " return true;\n";
+}
+
+print STYLEBUILDER << "EOF";
+ default:
+ return false;
+ };
+}
+
+} // namespace WebCore
+EOF
+
+close STYLEBUILDER;
+
my $gperf = $ENV{GPERF} ? $ENV{GPERF} : "gperf";
system("\"$gperf\" --key-positions=\"*\" -D -n -s 2 CSSPropertyNames.gperf --output-file=CSSPropertyNames.cpp") == 0 || die "calling gperf failed: $?";
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (175051 => 175052)
--- trunk/Source/WebCore/rendering/style/RenderStyle.h 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h 2014-10-22 16:56:36 UTC (rev 175052)
@@ -265,17 +265,6 @@
bool isLink() const { return getBoolean(isLinkOffset); }
void setIsLink(bool value) { updateBoolean(value, isLinkOffset); }
- static EOverflow initialOverflowX() { return OVISIBLE; }
- static EOverflow initialOverflowY() { return OVISIBLE; }
- static EClear initialClear() { return CNONE; }
- static EDisplay initialDisplay() { return INLINE; }
- static EUnicodeBidi initialUnicodeBidi() { return UBNormal; }
- static EPosition initialPosition() { return StaticPosition; }
- static EVerticalAlign initialVerticalAlign() { return BASELINE; }
- static EFloat initialFloating() { return NoFloat; }
- static EPageBreak initialPageBreak() { return PBAUTO; }
- static ETableLayout initialTableLayout() { return TAUTO; }
-
static ptrdiff_t flagsMemoryOffset() { return OBJECT_OFFSETOF(NonInheritedFlags, m_flags); }
static uint64_t flagIsaffectedByActive() { return oneBitMask << affectedByActiveOffset; }
static uint64_t flagIsaffectedByHover() { return oneBitMask << affectedByHoverOffset; }
@@ -1784,6 +1773,16 @@
bool hasExplicitlyInheritedProperties() const { return noninherited_flags.hasExplicitlyInheritedProperties(); }
// Initial values for all the properties
+ static EOverflow initialOverflowX() { return OVISIBLE; }
+ static EOverflow initialOverflowY() { return OVISIBLE; }
+ static EClear initialClear() { return CNONE; }
+ static EDisplay initialDisplay() { return INLINE; }
+ static EUnicodeBidi initialUnicodeBidi() { return UBNormal; }
+ static EPosition initialPosition() { return StaticPosition; }
+ static EVerticalAlign initialVerticalAlign() { return BASELINE; }
+ static EFloat initialFloating() { return NoFloat; }
+ static EPageBreak initialPageBreak() { return PBAUTO; }
+ static ETableLayout initialTableLayout() { return TAUTO; }
static EBorderCollapse initialBorderCollapse() { return BSEPARATE; }
static EBorderStyle initialBorderStyle() { return BNONE; }
static OutlineIsAuto initialOutlineStyleIsAuto() { return AUTO_OFF; }
Modified: trunk/Source/WebCore/rendering/style/StyleMultiColData.cpp (175051 => 175052)
--- trunk/Source/WebCore/rendering/style/StyleMultiColData.cpp 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/rendering/style/StyleMultiColData.cpp 2014-10-22 16:56:36 UTC (rev 175052)
@@ -35,9 +35,9 @@
, m_normalGap(true)
, m_fill(RenderStyle::initialColumnFill())
, m_columnSpan(false)
- , m_breakBefore(RenderStyle::NonInheritedFlags::initialPageBreak())
- , m_breakAfter(RenderStyle::NonInheritedFlags::initialPageBreak())
- , m_breakInside(RenderStyle::NonInheritedFlags::initialPageBreak())
+ , m_breakBefore(RenderStyle::initialPageBreak())
+ , m_breakAfter(RenderStyle::initialPageBreak())
+ , m_breakInside(RenderStyle::initialPageBreak())
, m_axis(RenderStyle::initialColumnAxis())
, m_progression(RenderStyle::initialColumnProgression())
{
Modified: trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp (175051 => 175052)
--- trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp 2014-10-22 15:56:24 UTC (rev 175051)
+++ trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp 2014-10-22 16:56:36 UTC (rev 175052)
@@ -72,9 +72,9 @@
, m_scrollSnapType(static_cast<unsigned>(RenderStyle::initialScrollSnapType()))
#endif
, m_regionFragment(RenderStyle::initialRegionFragment())
- , m_regionBreakAfter(RenderStyle::NonInheritedFlags::initialPageBreak())
- , m_regionBreakBefore(RenderStyle::NonInheritedFlags::initialPageBreak())
- , m_regionBreakInside(RenderStyle::NonInheritedFlags::initialPageBreak())
+ , m_regionBreakAfter(RenderStyle::initialPageBreak())
+ , m_regionBreakBefore(RenderStyle::initialPageBreak())
+ , m_regionBreakInside(RenderStyle::initialPageBreak())
, m_pageSizeType(PAGE_SIZE_AUTO)
, m_transformStyle3D(RenderStyle::initialTransformStyle3D())
, m_backfaceVisibility(RenderStyle::initialBackfaceVisibility())
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
