WebKit Bugzilla
Attachment 369565 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-20190511024342.patch (text/plain), 9.46 KB, created by
Joonghun Park
on 2019-05-10 10:43:43 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Joonghun Park
Created:
2019-05-10 10:43:43 PDT
Size:
9.46 KB
patch
obsolete
>Subversion Revision: 245171 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 8cb18e7da7c75fd08039c7e663e741ed20889016..5a3bc88265f29b14c6ce52a92914f5854a10c8af 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-*. >+ This patch causes no behavioral change. >+ >+ * 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-09 Simon Fraser <simon.fraser@apple.com> > > Implement backing-sharing in compositing layers, allowing overlap layers to paint into the backing store of another layer >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;
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