WebKit Bugzilla
Attachment 369588 Details for
Bug 197656
: Implement page-break-* and -webkit-column-break-* as legacy-shorthands.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197656-20190511051124.patch (text/plain), 11.65 KB, created by
Joonghun Park
on 2019-05-10 13:11:26 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Joonghun Park
Created:
2019-05-10 13:11:26 PDT
Size:
11.65 KB
patch
obsolete
>Subversion Revision: 245179 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index e07424924e32735fce99d0a6eb3c1b21eaf61d60..8081417456acd1c849de68d05f253ba7dcf451c5 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,24 @@ >+2019-05-10 Joonghun Park <jh718.park@samsung.com> >+ >+ Implement page-break-* and -webkit-column-break-* as legacy-shorthands. >+ https://bugs.webkit.org/show_bug.cgi?id=197656 >+ >+ According to https://drafts.csswg.org/css-cascade-4/#legacy-shorthand, >+ implement page-break-* and -webkit-column-break-* as legacy-shorthands for break-*. >+ page-break-* serialization is going to be handled in 191803. >+ >+ * css/CSSProperties.json: >+ * css/StyleBuilderConverter.h: >+ (WebCore::StyleBuilderConverter::convertFontSynthesis): >+ (WebCore::StyleBuilderConverter::convertPageBreakBetween): Deleted. >+ (WebCore::StyleBuilderConverter::convertPageBreakInside): Deleted. >+ (WebCore::StyleBuilderConverter::convertColumnBreakBetween): Deleted. >+ (WebCore::StyleBuilderConverter::convertColumnBreakInside): Deleted. >+ * css/parser/CSSPropertyParser.cpp: >+ (WebCore::CSSPropertyParser::parseValueStart): >+ (WebCore::CSSPropertyParser::parseShorthand): >+ (WebCore::isLegacyBreakProperty): Deleted. >+ > 2019-05-10 Michael Catanzaro <mcatanzaro@igalia.com> > > Fix a bunch of compiler warnings >diff --git a/Source/WebCore/css/CSSProperties.json b/Source/WebCore/css/CSSProperties.json >index d7c7656a252e02ca4124b820d15c3cf1654df223..996d0cff30caeee9a1feb4ec8d4c0b8be8832cc1 100644 >--- a/Source/WebCore/css/CSSProperties.json >+++ b/Source/WebCore/css/CSSProperties.json >@@ -3414,17 +3414,10 @@ > } > }, > "page-break-after": { >- "values": [ >- "auto", >- "always", >- "avoid", >- "left", >- "right" >- ], > "codegen-properties": { >- "initial": "initialBreakBetween", >- "name-for-methods": "BreakAfter", >- "converter": "PageBreakBetween" >+ "longhands": [ >+ "break-after" >+ ] > }, > "specification": { > "category": "css-22", >@@ -3432,17 +3425,10 @@ > } > }, > "page-break-before": { >- "values": [ >- "auto", >- "always", >- "avoid", >- "left", >- "right" >- ], > "codegen-properties": { >- "initial": "initialBreakBetween", >- "name-for-methods": "BreakBefore", >- "converter": "PageBreakBetween" >+ "longhands": [ >+ "break-before" >+ ] > }, > "specification": { > "category": "css-22", >@@ -3450,14 +3436,10 @@ > } > }, > "page-break-inside": { >- "values": [ >- "auto", >- "avoid" >- ], > "codegen-properties": { >- "initial": "initialBreakInside", >- "name-for-methods": "BreakInside", >- "converter": "PageBreakInside" >+ "longhands": [ >+ "break-inside" >+ ] > }, > "specification": { > "category": "css-22", >@@ -4690,17 +4672,10 @@ > } > }, > "-webkit-column-break-after": { >- "values": [ >- "auto", >- "always", >- "avoid", >- "left", >- "right" >- ], > "codegen-properties": { >- "initial": "initialBreakBetween", >- "name-for-methods": "BreakAfter", >- "converter": "ColumnBreakBetween" >+ "longhands": [ >+ "break-after" >+ ] > }, > "status": { > "status": "experimental" >@@ -4711,17 +4686,10 @@ > } > }, > "-webkit-column-break-before": { >- "values": [ >- "auto", >- "always", >- "avoid", >- "left", >- "right" >- ], > "codegen-properties": { >- "initial": "initialBreakBetween", >- "name-for-methods": "BreakBefore", >- "converter": "ColumnBreakBetween" >+ "longhands": [ >+ "break-before" >+ ] > }, > "status": { > "status": "experimental" >@@ -4732,14 +4700,10 @@ > } > }, > "-webkit-column-break-inside": { >- "values": [ >- "auto", >- "avoid" >- ], > "codegen-properties": { >- "initial": "initialBreakInside", >- "name-for-methods": "BreakInside", >- "converter": "ColumnBreakInside" >+ "longhands": [ >+ "break-inside" >+ ] > }, > "status": { > "status": "experimental" >diff --git a/Source/WebCore/css/StyleBuilderConverter.h b/Source/WebCore/css/StyleBuilderConverter.h >index abf5caa3a8ab0215be860c52789da39302458023..6701ca571b0e4a1aed6d5f7daee4de77d0c14f04 100644 >--- a/Source/WebCore/css/StyleBuilderConverter.h >+++ b/Source/WebCore/css/StyleBuilderConverter.h >@@ -1566,42 +1566,6 @@ inline FontSynthesis StyleBuilderConverter::convertFontSynthesis(StyleResolver&, > > return result; > } >- >-inline BreakBetween StyleBuilderConverter::convertPageBreakBetween(StyleResolver&, const CSSValue& value) >-{ >- auto& primitiveValue = downcast<CSSPrimitiveValue>(value); >- if (primitiveValue.valueID() == CSSValueAlways) >- return BreakBetween::Page; >- if (primitiveValue.valueID() == CSSValueAvoid) >- return BreakBetween::AvoidPage; >- return primitiveValue; >-} >- >-inline BreakInside StyleBuilderConverter::convertPageBreakInside(StyleResolver&, const CSSValue& value) >-{ >- auto& primitiveValue = downcast<CSSPrimitiveValue>(value); >- if (primitiveValue.valueID() == CSSValueAvoid) >- return BreakInside::AvoidPage; >- return primitiveValue; >-} >- >-inline BreakBetween StyleBuilderConverter::convertColumnBreakBetween(StyleResolver&, const CSSValue& value) >-{ >- auto& primitiveValue = downcast<CSSPrimitiveValue>(value); >- if (primitiveValue.valueID() == CSSValueAlways) >- return BreakBetween::Column; >- if (primitiveValue.valueID() == CSSValueAvoid) >- return BreakBetween::AvoidColumn; >- return primitiveValue; >-} >- >-inline BreakInside StyleBuilderConverter::convertColumnBreakInside(StyleResolver&, const CSSValue& value) >-{ >- auto& primitiveValue = downcast<CSSPrimitiveValue>(value); >- if (primitiveValue.valueID() == CSSValueAvoid) >- return BreakInside::AvoidColumn; >- return primitiveValue; >-} > > inline OptionSet<SpeakAs> StyleBuilderConverter::convertSpeakAs(StyleResolver&, const CSSValue& value) > { >diff --git a/Source/WebCore/css/parser/CSSPropertyParser.cpp b/Source/WebCore/css/parser/CSSPropertyParser.cpp >index 3eeaa080fae12947965a7ea3d3b01597486bdcf2..bf0a9b3dd996461128a094ce775befc611fae5f9 100644 >--- a/Source/WebCore/css/parser/CSSPropertyParser.cpp >+++ b/Source/WebCore/css/parser/CSSPropertyParser.cpp >@@ -314,22 +314,6 @@ void CSSPropertyParser::collectParsedCustomPropertyValueDependencies(const Strin > parser.collectParsedCustomPropertyValueDependencies(syntax, isRoot, dependencies); > } > >-static bool isLegacyBreakProperty(CSSPropertyID propertyID) >-{ >- switch (propertyID) { >- case CSSPropertyPageBreakAfter: >- case CSSPropertyPageBreakBefore: >- case CSSPropertyPageBreakInside: >- case CSSPropertyWebkitColumnBreakAfter: >- case CSSPropertyWebkitColumnBreakBefore: >- case CSSPropertyWebkitColumnBreakInside: >- return true; >- default: >- break; >- } >- return false; >-} >- > bool CSSPropertyParser::parseValueStart(CSSPropertyID propertyID, bool important) > { > if (consumeCSSWideKeyword(propertyID, important)) >@@ -342,11 +326,6 @@ bool CSSPropertyParser::parseValueStart(CSSPropertyID propertyID, bool important > // Variable references will fail to parse here and will fall out to the variable ref parser below. > if (parseShorthand(propertyID, important)) > return true; >- } else if (isLegacyBreakProperty(propertyID)) { >- // FIXME-NEWPARSER: Can turn this into a shorthand once old parser is gone, and then >- // we don't need the special case. >- if (consumeLegacyBreakProperty(propertyID, important)) >- return true; > } else { > RefPtr<CSSValue> parsedValue = parseSingleValue(propertyID); > if (parsedValue && m_range.atEnd()) { >@@ -5887,6 +5866,13 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID property, bool important) > } > case CSSPropertyBorderImage: > return consumeBorderImage(property, important); >+ case CSSPropertyPageBreakAfter: >+ case CSSPropertyPageBreakBefore: >+ case CSSPropertyPageBreakInside: >+ case CSSPropertyWebkitColumnBreakAfter: >+ case CSSPropertyWebkitColumnBreakBefore: >+ case CSSPropertyWebkitColumnBreakInside: >+ return consumeLegacyBreakProperty(property, important); > case CSSPropertyWebkitMaskPosition: > case CSSPropertyBackgroundPosition: { > RefPtr<CSSValue> resultX; >diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-values-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-values-expected.txt >index 372047759b48e9ca414ef953b23cf0eae40caa6d..60b2b9391cbfa61b8d1392b9ec7cc912fe66a0dd 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-values-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-values-expected.txt >@@ -576,16 +576,16 @@ FAIL page-break-after: always assert_equals: page-break-after raw inline style d > FAIL page-break-after: avoid assert_equals: page-break-after raw inline style declaration expected "avoid" but got "" > FAIL page-break-after: left assert_equals: page-break-after raw inline style declaration expected "left" but got "" > FAIL page-break-after: right assert_equals: page-break-after raw inline style declaration expected "right" but got "" >-PASS page-break-after: inherit >+FAIL page-break-after: inherit assert_equals: page-break-after raw inline style declaration expected "inherit" but got "" > FAIL page-break-before: auto assert_equals: page-break-before raw inline style declaration expected "auto" but got "" > FAIL page-break-before: always assert_equals: page-break-before raw inline style declaration expected "always" but got "" > FAIL page-break-before: avoid assert_equals: page-break-before raw inline style declaration expected "avoid" but got "" > FAIL page-break-before: left assert_equals: page-break-before raw inline style declaration expected "left" but got "" > FAIL page-break-before: right assert_equals: page-break-before raw inline style declaration expected "right" but got "" >-PASS page-break-before: inherit >+FAIL page-break-before: inherit assert_equals: page-break-before raw inline style declaration expected "inherit" but got "" > FAIL page-break-inside: avoid assert_equals: page-break-inside raw inline style declaration expected "avoid" but got "" > FAIL page-break-inside: auto assert_equals: page-break-inside raw inline style declaration expected "auto" but got "" >-PASS page-break-inside: inherit >+FAIL page-break-inside: inherit assert_equals: page-break-inside raw inline style declaration expected "inherit" but got "" > PASS position: static > PASS position: relative > PASS position: absolute
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197656
:
369565
|
369574
|
369576
|
369583
|
369587
|
369588
|
369674
|
369675
|
369677
|
369684
|
369685
|
369686
|
369830
|
369831