Changeset 120849 in webkit for trunk/Source/WebCore/css/StyleBuilder.cpp
- Timestamp:
- Jun 20, 2012, 12:28:50 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/css/StyleBuilder.cpp
r120780 r120849 332 332 333 333 enum LengthAuto { AutoDisabled = 0, AutoEnabled }; 334 enum LengthLegacyIntrinsic { LegacyIntrinsicDisabled = 0, LegacyIntrinsicEnabled }; 334 335 enum LengthIntrinsic { IntrinsicDisabled = 0, IntrinsicEnabled }; 335 enum LengthMinIntrinsic { MinIntrinsicDisabled = 0, MinIntrinsicEnabled };336 336 enum LengthNone { NoneDisabled = 0, NoneEnabled }; 337 337 enum LengthUndefined { UndefinedDisabled = 0, UndefinedEnabled }; … … 340 340 Length (*initialFunction)(), 341 341 LengthAuto autoEnabled = AutoDisabled, 342 LengthLegacyIntrinsic legacyIntrinsicEnabled = LegacyIntrinsicDisabled, 342 343 LengthIntrinsic intrinsicEnabled = IntrinsicDisabled, 343 LengthMinIntrinsic minIntrinsicEnabled = MinIntrinsicDisabled,344 344 LengthNone noneEnabled = NoneDisabled, 345 345 LengthUndefined noneUndefined = UndefinedDisabled> … … 353 353 354 354 CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value); 355 if (noneEnabled && primitiveValue->getIdent() == CSSValueNone) 355 if (noneEnabled && primitiveValue->getIdent() == CSSValueNone) { 356 356 if (noneUndefined) 357 357 setValue(styleResolver->style(), Length(Undefined)); 358 358 else 359 359 setValue(styleResolver->style(), Length()); 360 else if (intrinsicEnabled && primitiveValue->getIdent() == CSSValueIntrinsic) 361 setValue(styleResolver->style(), Length(Intrinsic)); 362 else if (minIntrinsicEnabled && primitiveValue->getIdent() == CSSValueMinIntrinsic) 363 setValue(styleResolver->style(), Length(MinIntrinsic)); 364 else if (autoEnabled && primitiveValue->getIdent() == CSSValueAuto) 360 } 361 if (legacyIntrinsicEnabled) { 362 if (primitiveValue->getIdent() == CSSValueIntrinsic) 363 setValue(styleResolver->style(), Length(Intrinsic)); 364 else if (primitiveValue->getIdent() == CSSValueMinIntrinsic) 365 setValue(styleResolver->style(), Length(MinIntrinsic)); 366 } 367 if (intrinsicEnabled) { 368 if (primitiveValue->getIdent() == CSSValueWebkitMinContent) 369 setValue(styleResolver->style(), Length(MinContent)); 370 else if (primitiveValue->getIdent() == CSSValueWebkitMaxContent) 371 setValue(styleResolver->style(), Length(MaxContent)); 372 else if (primitiveValue->getIdent() == CSSValueWebkitFillAvailable) 373 setValue(styleResolver->style(), Length(FillAvailable)); 374 else if (primitiveValue->getIdent() == CSSValueWebkitFitContent) 375 setValue(styleResolver->style(), Length(FitContent)); 376 } 377 378 if (autoEnabled && primitiveValue->getIdent() == CSSValueAuto) 365 379 setValue(styleResolver->style(), Length()); 366 else { 367 if (primitiveValue->isLength()) { 368 Length length = primitiveValue->computeLength<Length>(styleResolver->style(), styleResolver->rootElementStyle(), styleResolver->style()->effectiveZoom()); 369 length.setQuirk(primitiveValue->isQuirkValue()); 370 setValue(styleResolver->style(), length); 371 } else if (primitiveValue->isPercentage()) 372 setValue(styleResolver->style(), Length(primitiveValue->getDoubleValue(), Percent)); 373 else if (primitiveValue->isCalculatedPercentageWithLength()) 374 setValue(styleResolver->style(), Length(primitiveValue->cssCalcValue()->toCalcValue(styleResolver->style(), styleResolver->rootElementStyle(), styleResolver->style()->effectiveZoom()))); 375 else if (primitiveValue->isViewportPercentageLength()) 376 setValue(styleResolver->style(), primitiveValue->viewportPercentageLength()); 377 } 380 else if (primitiveValue->isLength()) { 381 Length length = primitiveValue->computeLength<Length>(styleResolver->style(), styleResolver->rootElementStyle(), styleResolver->style()->effectiveZoom()); 382 length.setQuirk(primitiveValue->isQuirkValue()); 383 setValue(styleResolver->style(), length); 384 } else if (primitiveValue->isPercentage()) 385 setValue(styleResolver->style(), Length(primitiveValue->getDoubleValue(), Percent)); 386 else if (primitiveValue->isCalculatedPercentageWithLength()) 387 setValue(styleResolver->style(), Length(primitiveValue->cssCalcValue()->toCalcValue(styleResolver->style(), styleResolver->rootElementStyle(), styleResolver->style()->effectiveZoom()))); 388 else if (primitiveValue->isViewportPercentageLength()) 389 setValue(styleResolver->style(), primitiveValue->viewportPercentageLength()); 378 390 } 379 391 … … 1885 1897 setPropertyHandler(CSSPropertyFontVariant, ApplyPropertyFont<FontSmallCaps, &FontDescription::smallCaps, &FontDescription::setSmallCaps, FontSmallCapsOff>::createHandler()); 1886 1898 setPropertyHandler(CSSPropertyFontWeight, ApplyPropertyFontWeight::createHandler()); 1887 setPropertyHandler(CSSPropertyHeight, ApplyPropertyLength<&RenderStyle::height, &RenderStyle::setHeight, &RenderStyle::initialSize, AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled, NoneDisabled, UndefinedDisabled>::createHandler());1899 setPropertyHandler(CSSPropertyHeight, ApplyPropertyLength<&RenderStyle::height, &RenderStyle::setHeight, &RenderStyle::initialSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled, NoneDisabled, UndefinedDisabled>::createHandler()); 1888 1900 setPropertyHandler(CSSPropertyImageRendering, ApplyPropertyDefault<EImageRendering, &RenderStyle::imageRendering, EImageRendering, &RenderStyle::setImageRendering, EImageRendering, &RenderStyle::initialImageRendering>::createHandler()); 1889 1901 #if ENABLE(CSS_IMAGE_RESOLUTION) … … 1902 1914 setPropertyHandler(CSSPropertyMarginRight, ApplyPropertyLength<&RenderStyle::marginRight, &RenderStyle::setMarginRight, &RenderStyle::initialMargin, AutoEnabled>::createHandler()); 1903 1915 setPropertyHandler(CSSPropertyMarginTop, ApplyPropertyLength<&RenderStyle::marginTop, &RenderStyle::setMarginTop, &RenderStyle::initialMargin, AutoEnabled>::createHandler()); 1904 setPropertyHandler(CSSPropertyMaxHeight, ApplyPropertyLength<&RenderStyle::maxHeight, &RenderStyle::setMaxHeight, &RenderStyle::initialMaxSize, AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled, NoneEnabled, UndefinedEnabled>::createHandler());1905 setPropertyHandler(CSSPropertyMaxWidth, ApplyPropertyLength<&RenderStyle::maxWidth, &RenderStyle::setMaxWidth, &RenderStyle::initialMaxSize, AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled, NoneEnabled, UndefinedEnabled>::createHandler());1906 setPropertyHandler(CSSPropertyMinHeight, ApplyPropertyLength<&RenderStyle::minHeight, &RenderStyle::setMinHeight, &RenderStyle::initialMinSize, AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled>::createHandler());1907 setPropertyHandler(CSSPropertyMinWidth, ApplyPropertyLength<&RenderStyle::minWidth, &RenderStyle::setMinWidth, &RenderStyle::initialMinSize, AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled>::createHandler());1916 setPropertyHandler(CSSPropertyMaxHeight, ApplyPropertyLength<&RenderStyle::maxHeight, &RenderStyle::setMaxHeight, &RenderStyle::initialMaxSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled, NoneEnabled, UndefinedEnabled>::createHandler()); 1917 setPropertyHandler(CSSPropertyMaxWidth, ApplyPropertyLength<&RenderStyle::maxWidth, &RenderStyle::setMaxWidth, &RenderStyle::initialMaxSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneEnabled, UndefinedEnabled>::createHandler()); 1918 setPropertyHandler(CSSPropertyMinHeight, ApplyPropertyLength<&RenderStyle::minHeight, &RenderStyle::setMinHeight, &RenderStyle::initialMinSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled>::createHandler()); 1919 setPropertyHandler(CSSPropertyMinWidth, ApplyPropertyLength<&RenderStyle::minWidth, &RenderStyle::setMinWidth, &RenderStyle::initialMinSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled>::createHandler()); 1908 1920 setPropertyHandler(CSSPropertyOrphans, ApplyPropertyDefault<short, &RenderStyle::orphans, short, &RenderStyle::setOrphans, short, &RenderStyle::initialOrphans>::createHandler()); 1909 1921 setPropertyHandler(CSSPropertyOutline, ApplyPropertyExpanding<SuppressValue, CSSPropertyOutlineWidth, CSSPropertyOutlineColor, CSSPropertyOutlineStyle>::createHandler()); … … 2079 2091 setPropertyHandler(CSSPropertyWhiteSpace, ApplyPropertyDefault<EWhiteSpace, &RenderStyle::whiteSpace, EWhiteSpace, &RenderStyle::setWhiteSpace, EWhiteSpace, &RenderStyle::initialWhiteSpace>::createHandler()); 2080 2092 setPropertyHandler(CSSPropertyWidows, ApplyPropertyDefault<short, &RenderStyle::widows, short, &RenderStyle::setWidows, short, &RenderStyle::initialWidows>::createHandler()); 2081 setPropertyHandler(CSSPropertyWidth, ApplyPropertyLength<&RenderStyle::width, &RenderStyle::setWidth, &RenderStyle::initialSize, AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled, NoneDisabled, UndefinedDisabled>::createHandler());2093 setPropertyHandler(CSSPropertyWidth, ApplyPropertyLength<&RenderStyle::width, &RenderStyle::setWidth, &RenderStyle::initialSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneDisabled, UndefinedDisabled>::createHandler()); 2082 2094 setPropertyHandler(CSSPropertyWordBreak, ApplyPropertyDefault<EWordBreak, &RenderStyle::wordBreak, EWordBreak, &RenderStyle::setWordBreak, EWordBreak, &RenderStyle::initialWordBreak>::createHandler()); 2083 2095 setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyComputeLength<int, &RenderStyle::wordSpacing, &RenderStyle::setWordSpacing, &RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled>::createHandler());
Note:
See TracChangeset
for help on using the changeset viewer.