| Index: third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
|
| index adb536880c173e1ecc7cc8846ccb87e3b44f27f3..8c086bf0e792a78e5b93c9696169ddd7e407b698 100644
|
| --- a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
|
| +++ b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
|
| @@ -1353,6 +1353,49 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForScrollSnapCoordinate(const Vecto
|
| return list.release();
|
| }
|
|
|
| +static EBreak mapToPageBreakValue(EBreak genericBreakValue)
|
| +{
|
| + switch (genericBreakValue) {
|
| + case BreakAvoidColumn:
|
| + case BreakAvoidRegion:
|
| + case BreakColumn:
|
| + case BreakRecto:
|
| + case BreakRegion:
|
| + case BreakVerso:
|
| + return BreakAuto;
|
| + case BreakLeft:
|
| + case BreakRight:
|
| + // TODO(mstensho): "left" and "right" should simply be mapped to that, not "always", according to spec.
|
| + case BreakPage:
|
| + return BreakAlways;
|
| + case BreakAvoidPage:
|
| + return BreakAvoid;
|
| + default:
|
| + return genericBreakValue;
|
| + }
|
| +}
|
| +
|
| +static EBreak mapToColumnBreakValue(EBreak genericBreakValue)
|
| +{
|
| + switch (genericBreakValue) {
|
| + case BreakAvoidPage:
|
| + case BreakAvoidRegion:
|
| + case BreakLeft:
|
| + case BreakPage:
|
| + case BreakRecto:
|
| + case BreakRegion:
|
| + case BreakRight:
|
| + case BreakVerso:
|
| + return BreakAuto;
|
| + case BreakColumn:
|
| + return BreakAlways;
|
| + case BreakAvoidColumn:
|
| + return BreakAvoid;
|
| + default:
|
| + return genericBreakValue;
|
| + }
|
| +}
|
| +
|
| PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(const AtomicString customPropertyName, const ComputedStyle& style)
|
| {
|
| StyleVariableData* variables = style.variables();
|
| @@ -1567,11 +1610,11 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID
|
| case CSSPropertyWebkitColumnSpan:
|
| return cssValuePool().createIdentifierValue(style.columnSpan() ? CSSValueAll : CSSValueNone);
|
| case CSSPropertyWebkitColumnBreakAfter:
|
| - return cssValuePool().createValue(style.columnBreakAfter());
|
| + return cssValuePool().createValue(mapToColumnBreakValue(style.breakAfter()));
|
| case CSSPropertyWebkitColumnBreakBefore:
|
| - return cssValuePool().createValue(style.columnBreakBefore());
|
| + return cssValuePool().createValue(mapToColumnBreakValue(style.breakBefore()));
|
| case CSSPropertyWebkitColumnBreakInside:
|
| - return cssValuePool().createValue(style.columnBreakInside());
|
| + return cssValuePool().createValue(mapToColumnBreakValue(style.breakInside()));
|
| case CSSPropertyWebkitColumnWidth:
|
| if (style.hasAutoColumnWidth())
|
| return cssValuePool().createIdentifierValue(CSSValueAuto);
|
| @@ -1914,17 +1957,18 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID
|
| return zoomAdjustedPixelValueForLength(paddingLeft, style);
|
| return zoomAdjustedPixelValue(toLayoutBox(layoutObject)->computedCSSPaddingLeft(), style);
|
| }
|
| + case CSSPropertyBreakAfter:
|
| + return cssValuePool().createValue(style.breakAfter());
|
| + case CSSPropertyBreakBefore:
|
| + return cssValuePool().createValue(style.breakBefore());
|
| + case CSSPropertyBreakInside:
|
| + return cssValuePool().createValue(style.breakInside());
|
| case CSSPropertyPageBreakAfter:
|
| - return cssValuePool().createValue(style.pageBreakAfter());
|
| + return cssValuePool().createValue(mapToPageBreakValue(style.breakAfter()));
|
| case CSSPropertyPageBreakBefore:
|
| - return cssValuePool().createValue(style.pageBreakBefore());
|
| - case CSSPropertyPageBreakInside: {
|
| - EPageBreak pageBreak = style.pageBreakInside();
|
| - ASSERT(pageBreak != PBALWAYS);
|
| - if (pageBreak == PBALWAYS)
|
| - return nullptr;
|
| - return cssValuePool().createValue(style.pageBreakInside());
|
| - }
|
| + return cssValuePool().createValue(mapToPageBreakValue(style.breakBefore()));
|
| + case CSSPropertyPageBreakInside:
|
| + return cssValuePool().createValue(mapToPageBreakValue(style.breakInside()));
|
| case CSSPropertyPosition:
|
| return cssValuePool().createValue(style.position());
|
| case CSSPropertyQuotes:
|
|
|