Commit 6d317c3c authored by shend's avatar shend Committed by Commit Bot

Make TextUnderlinePosition an enum class.

This patch makes TextUnderlinePosition an enum class for better type
safety.

BUG=684966
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2909423002
Cr-Commit-Position: refs/heads/master@{#475815}
parent 22b71109
...@@ -1146,10 +1146,10 @@ template <> ...@@ -1146,10 +1146,10 @@ template <>
inline CSSIdentifierValue::CSSIdentifierValue(TextUnderlinePosition e) inline CSSIdentifierValue::CSSIdentifierValue(TextUnderlinePosition e)
: CSSValue(kIdentifierClass) { : CSSValue(kIdentifierClass) {
switch (e) { switch (e) {
case kTextUnderlinePositionAuto: case TextUnderlinePosition::kAuto:
value_id_ = CSSValueAuto; value_id_ = CSSValueAuto;
break; break;
case kTextUnderlinePositionUnder: case TextUnderlinePosition::kUnder:
value_id_ = CSSValueUnder; value_id_ = CSSValueUnder;
break; break;
} }
...@@ -1161,9 +1161,9 @@ template <> ...@@ -1161,9 +1161,9 @@ template <>
inline TextUnderlinePosition CSSIdentifierValue::ConvertTo() const { inline TextUnderlinePosition CSSIdentifierValue::ConvertTo() const {
switch (value_id_) { switch (value_id_) {
case CSSValueAuto: case CSSValueAuto:
return kTextUnderlinePositionAuto; return TextUnderlinePosition::kAuto;
case CSSValueUnder: case CSSValueUnder:
return kTextUnderlinePositionUnder; return TextUnderlinePosition::kUnder;
default: default:
break; break;
} }
...@@ -1171,7 +1171,7 @@ inline TextUnderlinePosition CSSIdentifierValue::ConvertTo() const { ...@@ -1171,7 +1171,7 @@ inline TextUnderlinePosition CSSIdentifierValue::ConvertTo() const {
// FIXME: Implement support for 'under left' and 'under right' values. // FIXME: Implement support for 'under left' and 'under right' values.
NOTREACHED(); NOTREACHED();
return kTextUnderlinePositionAuto; return TextUnderlinePosition::kAuto;
} }
template <> template <>
......
...@@ -2148,7 +2148,7 @@ ...@@ -2148,7 +2148,7 @@
runtime_flag: "CSS3TextDecorations", runtime_flag: "CSS3TextDecorations",
field_template: "storage_only", field_template: "storage_only",
type_name: "TextUnderlinePosition", type_name: "TextUnderlinePosition",
default_value: "kTextUnderlinePositionAuto", default_value: "TextUnderlinePosition::kAuto",
field_size: 1, field_size: 1,
field_group: "rare-inherited", field_group: "rare-inherited",
}, },
......
...@@ -199,9 +199,9 @@ static ResolvedUnderlinePosition ResolveUnderlinePosition( ...@@ -199,9 +199,9 @@ static ResolvedUnderlinePosition ResolveUnderlinePosition(
switch (baseline_type) { switch (baseline_type) {
case kAlphabeticBaseline: case kAlphabeticBaseline:
switch (style.GetTextUnderlinePosition()) { switch (style.GetTextUnderlinePosition()) {
case kTextUnderlinePositionAuto: case TextUnderlinePosition::kAuto:
return ResolvedUnderlinePosition::kRoman; return ResolvedUnderlinePosition::kRoman;
case kTextUnderlinePositionUnder: case TextUnderlinePosition::kUnder:
return ResolvedUnderlinePosition::kUnder; return ResolvedUnderlinePosition::kUnder;
} }
break; break;
......
...@@ -1475,14 +1475,15 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase<ComputedStyle>, ...@@ -1475,14 +1475,15 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase<ComputedStyle>,
// text-underline-position // text-underline-position
static TextUnderlinePosition InitialTextUnderlinePosition() { static TextUnderlinePosition InitialTextUnderlinePosition() {
return kTextUnderlinePositionAuto; return TextUnderlinePosition::kAuto;
} }
TextUnderlinePosition GetTextUnderlinePosition() const { TextUnderlinePosition GetTextUnderlinePosition() const {
return static_cast<TextUnderlinePosition>( return static_cast<TextUnderlinePosition>(
rare_inherited_data_->text_underline_position_); rare_inherited_data_->text_underline_position_);
} }
void SetTextUnderlinePosition(TextUnderlinePosition v) { void SetTextUnderlinePosition(TextUnderlinePosition v) {
SET_VAR(rare_inherited_data_, text_underline_position_, v); SET_VAR(rare_inherited_data_, text_underline_position_,
static_cast<unsigned>(v));
} }
// text-decoration-skip // text-decoration-skip
......
...@@ -248,10 +248,10 @@ inline TextDecorationSkip& operator|=(TextDecorationSkip& a, ...@@ -248,10 +248,10 @@ inline TextDecorationSkip& operator|=(TextDecorationSkip& a,
return a = a | b; return a = a | b;
} }
enum TextUnderlinePosition { enum class TextUnderlinePosition {
// FIXME: Implement support for 'under left' and 'under right' values. // FIXME: Implement support for 'under left' and 'under right' values.
kTextUnderlinePositionAuto, kAuto,
kTextUnderlinePositionUnder kUnder
}; };
enum ETransformStyle3D { kTransformStyle3DFlat, kTransformStyle3DPreserve3D }; enum ETransformStyle3D { kTransformStyle3DFlat, kTransformStyle3DPreserve3D };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment