Title: [175137] trunk/Source/WebCore
Revision
175137
Author
[email protected]
Date
2014-10-23 12:51:09 -0700 (Thu, 23 Oct 2014)

Log Message

Move remaining Length-type properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138012

Reviewed by Antti Koivisto.

Move remaining Length-type properties from DeprecatedStyleBuilder to
the new StyleBuilder so that they are now generated from
CSSPropertyNames.in as well. The patch introduces a couple of type
converters for those: "LengthSizing / LengthMaxSizing".

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertLengthSizing):
(WebCore::StyleBuilderConverter::convertLengthMaxSizing):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (175136 => 175137)


--- trunk/Source/WebCore/ChangeLog	2014-10-23 19:42:03 UTC (rev 175136)
+++ trunk/Source/WebCore/ChangeLog	2014-10-23 19:51:09 UTC (rev 175137)
@@ -1,3 +1,24 @@
+2014-10-23  Chris Dumez  <[email protected]>
+
+        Move remaining Length-type properties to the new StyleBuilder
+        https://bugs.webkit.org/show_bug.cgi?id=138012
+
+        Reviewed by Antti Koivisto.
+
+        Move remaining Length-type properties from DeprecatedStyleBuilder to
+        the new StyleBuilder so that they are now generated from
+        CSSPropertyNames.in as well. The patch introduces a couple of type
+        converters for those: "LengthSizing / LengthMaxSizing".
+
+        No new tests, no behavior change.
+
+        * css/CSSPropertyNames.in:
+        * css/DeprecatedStyleBuilder.cpp:
+        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
+        * css/StyleBuilderConverter.h:
+        (WebCore::StyleBuilderConverter::convertLengthSizing):
+        (WebCore::StyleBuilderConverter::convertLengthMaxSizing):
+
 2014-10-23  Jer Noble  <[email protected]>
 
         [Mac] Safari cannot play 'audio/amr' content.

Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (175136 => 175137)


--- trunk/Source/WebCore/css/CSSPropertyNames.in	2014-10-23 19:42:03 UTC (rev 175136)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in	2014-10-23 19:51:09 UTC (rev 175137)
@@ -113,7 +113,7 @@
 empty-cells [Inherited, NewStyleBuilder, TypeName=EEmptyCell]
 float [NewStyleBuilder, TypeName=EFloat, NameForMethods=Floating]
 font-stretch
-height
+height [NewStyleBuilder, Initial=initialSize, Converter=LengthSizing]
 #if defined(ENABLE_CSS_IMAGE_ORIENTATION) && ENABLE_CSS_IMAGE_ORIENTATION
 image-orientation [Inherited, NewStyleBuilder, TypeName=ImageOrientationEnum]
 #endif
@@ -132,10 +132,10 @@
 margin-left [NewStyleBuilder, Initial=initialMargin, Converter=LengthOrAuto]
 margin-right [NewStyleBuilder, Initial=initialMargin, Converter=LengthOrAuto]
 margin-top [NewStyleBuilder, Initial=initialMargin, Converter=LengthOrAuto]
-max-height
-max-width
-min-height
-min-width
+max-height [NewStyleBuilder, Initial=initialMaxSize, Converter=LengthMaxSizing]
+max-width [NewStyleBuilder, Initial=initialMaxSize, Converter=LengthMaxSizing]
+min-height [NewStyleBuilder, Initial=initialMinSize, Converter=LengthSizing]
+min-width [NewStyleBuilder, Initial=initialMinSize, Converter=LengthSizing]
 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,
@@ -206,7 +206,7 @@
 visibility [Inherited, NewStyleBuilder]
 white-space [Inherited, NewStyleBuilder]
 widows [Inherited]
-width
+width [NewStyleBuilder, Initial=initialSize, Converter=LengthSizing]
 word-break [Inherited, NewStyleBuilder]
 -epub-word-break = word-break
 word-spacing [Inherited]

Modified: trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp (175136 => 175137)


--- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp	2014-10-23 19:42:03 UTC (rev 175136)
+++ trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp	2014-10-23 19:51:09 UTC (rev 175137)
@@ -2384,7 +2384,6 @@
     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_RESOLUTION)
     setPropertyHandler(CSSPropertyImageResolution, ApplyPropertyImageResolution::createHandler());
 #endif
@@ -2396,10 +2395,6 @@
     setPropertyHandler(CSSPropertyLineHeight, ApplyPropertyLineHeight::createHandler());
 #endif
     setPropertyHandler(CSSPropertyListStyleImage, ApplyPropertyStyleImage<&RenderStyle::listStyleImage, &RenderStyle::setListStyleImage, &RenderStyle::initialListStyleImage, CSSPropertyListStyleImage>::createHandler());
-    setPropertyHandler(CSSPropertyMaxHeight, ApplyPropertyLength<&RenderStyle::maxHeight, &RenderStyle::setMaxHeight, &RenderStyle::initialMaxSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled, NoneEnabled, UndefinedEnabled>::createHandler());
-    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(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());
@@ -2485,7 +2480,6 @@
     setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler());
 #endif
     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(CSSPropertyWordSpacing, ApplyPropertyWordSpacing::createHandler());
 
     setPropertyHandler(CSSPropertyZIndex, ApplyPropertyAuto<int, &RenderStyle::zIndex, &RenderStyle::setZIndex, &RenderStyle::hasAutoZIndex, &RenderStyle::setHasAutoZIndex>::createHandler());

Modified: trunk/Source/WebCore/css/StyleBuilderConverter.h (175136 => 175137)


--- trunk/Source/WebCore/css/StyleBuilderConverter.h	2014-10-23 19:42:03 UTC (rev 175136)
+++ trunk/Source/WebCore/css/StyleBuilderConverter.h	2014-10-23 19:51:09 UTC (rev 175137)
@@ -38,6 +38,8 @@
 public:
     static Length convertLength(StyleResolver&, CSSValue&);
     static Length convertLengthOrAuto(StyleResolver&, CSSValue&);
+    static Length convertLengthSizing(StyleResolver&, CSSValue&);
+    static Length convertLengthMaxSizing(StyleResolver&, CSSValue&);
 };
 
 inline Length StyleBuilderConverter::convertLength(StyleResolver& styleResolver, CSSValue& value)
@@ -70,6 +72,39 @@
     return convertLength(styleResolver, value);
 }
 
+inline Length StyleBuilderConverter::convertLengthSizing(StyleResolver& styleResolver, CSSValue& value)
+{
+    auto& primitiveValue = downcast<CSSPrimitiveValue>(value);
+    switch (primitiveValue.getValueID()) {
+    case CSSValueInvalid:
+        return convertLength(styleResolver, value);
+    case CSSValueIntrinsic:
+        return Length(Intrinsic);
+    case CSSValueMinIntrinsic:
+        return Length(MinIntrinsic);
+    case CSSValueWebkitMinContent:
+        return Length(MinContent);
+    case CSSValueWebkitMaxContent:
+        return Length(MaxContent);
+    case CSSValueWebkitFillAvailable:
+        return Length(FillAvailable);
+    case CSSValueWebkitFitContent:
+        return Length(FitContent);
+    case CSSValueAuto:
+        return Length(Auto);
+    default:
+        ASSERT_NOT_REACHED();
+        return Length();
+    }
+}
+
+inline Length StyleBuilderConverter::convertLengthMaxSizing(StyleResolver& styleResolver, CSSValue& value)
+{
+    if (downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueNone)
+        return Length(Undefined);
+    return convertLengthSizing(styleResolver, value);
+}
+
 } // namespace WebCore
 
 #endif // StyleBuilderConverter_h
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to