Chromium Code Reviews| Index: Source/core/css/CSSComputedStyleDeclaration.cpp |
| diff --git a/Source/core/css/CSSComputedStyleDeclaration.cpp b/Source/core/css/CSSComputedStyleDeclaration.cpp |
| index 3bf163cfb074c96d9a9620c3a84b9ae6cc77ee4d..d9cb2df473485184491be8ec3bddb472e977b258 100644 |
| --- a/Source/core/css/CSSComputedStyleDeclaration.cpp |
| +++ b/Source/core/css/CSSComputedStyleDeclaration.cpp |
| @@ -175,6 +175,7 @@ static const CSSPropertyID staticComputableProperties[] = { |
| CSSPropertyResize, |
| CSSPropertyRight, |
| CSSPropertyScrollBehavior, |
| + CSSPropertyScrollBlocksOn, |
| CSSPropertySpeak, |
| CSSPropertyTableLayout, |
| CSSPropertyTabSize, |
| @@ -193,7 +194,6 @@ static const CSSPropertyID staticComputableProperties[] = { |
| CSSPropertyTextTransform, |
| CSSPropertyTop, |
| CSSPropertyTouchAction, |
| - CSSPropertyTouchActionDelay, |
| CSSPropertyTransitionDelay, |
| CSSPropertyTransitionDuration, |
| CSSPropertyTransitionProperty, |
| @@ -1467,6 +1467,23 @@ static PassRefPtrWillBeRawPtr<CSSValue> touchActionFlagsToCSSValue(TouchAction t |
| return list.release(); |
| } |
| +static PassRefPtrWillBeRawPtr<CSSValue> scrollBlocksOnFlagsToCSSValue(ScrollBlocksOn scrollBlocksOn) |
| +{ |
| + RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| + if (scrollBlocksOn & ScrollBlocksOnStartTouch) |
| + list->append(cssValuePool().createIdentifierValue(CSSValueStartTouch)); |
| + if (scrollBlocksOn & ScrollBlocksOnWheelEvent) |
| + list->append(cssValuePool().createIdentifierValue(CSSValueWheelEvent)); |
| + if (scrollBlocksOn & ScrollBlocksOnScrollEvent) |
| + list->append(cssValuePool().createIdentifierValue(CSSValueScrollEvent)); |
| + |
| + if (!list->length()) { |
| + ASSERT(scrollBlocksOn == ScrollBlocksOnNone); |
|
Timothy Loh
2014/11/14 22:06:41
This might look cleaner if you tested this case fi
Rick Byers
2014/11/18 03:03:07
Done.
|
| + return cssValuePool().createIdentifierValue(CSSValueNone); |
| + } |
| + return list.release(); |
| +} |
| + |
| static bool isLayoutDependent(CSSPropertyID propertyID, PassRefPtr<RenderStyle> style, RenderObject* renderer) |
| { |
| // Some properties only depend on layout in certain conditions which |
| @@ -2176,6 +2193,8 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu |
| return cssValuePool().createValue(style->rubyPosition()); |
| case CSSPropertyScrollBehavior: |
| return cssValuePool().createValue(style->scrollBehavior()); |
| + case CSSPropertyScrollBlocksOn: |
| + return scrollBlocksOnFlagsToCSSValue(style->scrollBlocksOn()); |
| case CSSPropertyTableLayout: |
| return cssValuePool().createValue(style->tableLayout()); |
| case CSSPropertyTextAlign: |
| @@ -2261,8 +2280,6 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu |
| return valueForPositionOffset(*style, CSSPropertyTop, renderer); |
| case CSSPropertyTouchAction: |
| return touchActionFlagsToCSSValue(style->touchAction()); |
| - case CSSPropertyTouchActionDelay: |
| - return cssValuePool().createValue(style->touchActionDelay()); |
| case CSSPropertyUnicodeBidi: |
| return cssValuePool().createValue(style->unicodeBidi()); |
| case CSSPropertyVerticalAlign: |