Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Unified Diff: third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp

Issue 2569113004: [css-align] Dedicated initial functions for {align-justify}-content
Patch Set: Preliminary approach. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
index 5093c1b602851c7ec5f7e801855c0c66266e8fd2..3d6414cc7e18cf6161afbf785f4a5e4a2b0a14c3 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
@@ -467,11 +467,52 @@ StyleSelfAlignmentData StyleBuilderConverter::convertSelfOrDefaultAlignmentData(
return alignmentData;
}
-StyleContentAlignmentData StyleBuilderConverter::convertContentAlignmentData(
+StyleContentAlignmentData StyleBuilderConverter::convertAlignContent(
StyleResolverState&,
const CSSValue& value) {
StyleContentAlignmentData alignmentData =
- ComputedStyle::initialContentAlignment();
+ ComputedStyle::initialAlignContent();
+ if (!RuntimeEnabledFeatures::cssGridLayoutEnabled()) {
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ switch (identifierValue.getValueID()) {
+ case CSSValueStretch:
+ case CSSValueSpaceBetween:
+ case CSSValueSpaceAround:
+ alignmentData.setDistribution(
+ identifierValue.convertTo<ContentDistributionType>());
+ break;
+ case CSSValueFlexStart:
+ case CSSValueFlexEnd:
+ case CSSValueCenter:
+ alignmentData.setPosition(identifierValue.convertTo<ContentPosition>());
+ break;
+ default:
+ NOTREACHED();
+ }
+ return alignmentData;
+ }
+ const CSSContentDistributionValue& contentValue =
+ toCSSContentDistributionValue(value);
+ if (contentValue.distribution()->getValueID() != CSSValueInvalid) {
+ alignmentData.setDistribution(
+ contentValue.distribution()->convertTo<ContentDistributionType>());
+ }
+ if (contentValue.position()->getValueID() != CSSValueInvalid) {
+ alignmentData.setPosition(
+ contentValue.position()->convertTo<ContentPosition>());
+ }
+ if (contentValue.overflow()->getValueID() != CSSValueInvalid) {
+ alignmentData.setOverflow(
+ contentValue.overflow()->convertTo<OverflowAlignment>());
+ }
+ return alignmentData;
+}
+
+StyleContentAlignmentData StyleBuilderConverter::convertJustifyContent(
+ StyleResolverState&,
+ const CSSValue& value) {
+ StyleContentAlignmentData alignmentData =
+ ComputedStyle::initialJustifyContent();
if (!RuntimeEnabledFeatures::cssGridLayoutEnabled()) {
const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
switch (identifierValue.getValueID()) {
@@ -493,15 +534,18 @@ StyleContentAlignmentData StyleBuilderConverter::convertContentAlignmentData(
}
const CSSContentDistributionValue& contentValue =
toCSSContentDistributionValue(value);
- if (contentValue.distribution()->getValueID() != CSSValueInvalid)
+ if (contentValue.distribution()->getValueID() != CSSValueInvalid) {
alignmentData.setDistribution(
contentValue.distribution()->convertTo<ContentDistributionType>());
- if (contentValue.position()->getValueID() != CSSValueInvalid)
+ }
+ if (contentValue.position()->getValueID() != CSSValueInvalid) {
alignmentData.setPosition(
contentValue.position()->convertTo<ContentPosition>());
- if (contentValue.overflow()->getValueID() != CSSValueInvalid)
+ }
+ if (contentValue.overflow()->getValueID() != CSSValueInvalid) {
alignmentData.setOverflow(
contentValue.overflow()->convertTo<OverflowAlignment>());
+ }
return alignmentData;
}

Powered by Google App Engine
This is Rietveld 408576698