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