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 <>
inline CSSIdentifierValue::CSSIdentifierValue(TextUnderlinePosition e)
: CSSValue(kIdentifierClass) {
switch (e) {
case kTextUnderlinePositionAuto:
case TextUnderlinePosition::kAuto:
value_id_ = CSSValueAuto;
break;
case kTextUnderlinePositionUnder:
case TextUnderlinePosition::kUnder:
value_id_ = CSSValueUnder;
break;
}
......@@ -1161,9 +1161,9 @@ template <>
inline TextUnderlinePosition CSSIdentifierValue::ConvertTo() const {
switch (value_id_) {
case CSSValueAuto:
return kTextUnderlinePositionAuto;
return TextUnderlinePosition::kAuto;
case CSSValueUnder:
return kTextUnderlinePositionUnder;
return TextUnderlinePosition::kUnder;
default:
break;
}
......@@ -1171,7 +1171,7 @@ inline TextUnderlinePosition CSSIdentifierValue::ConvertTo() const {
// FIXME: Implement support for 'under left' and 'under right' values.
NOTREACHED();
return kTextUnderlinePositionAuto;
return TextUnderlinePosition::kAuto;
}
template <>
......
......@@ -2148,7 +2148,7 @@
runtime_flag: "CSS3TextDecorations",
field_template: "storage_only",
type_name: "TextUnderlinePosition",
default_value: "kTextUnderlinePositionAuto",
default_value: "TextUnderlinePosition::kAuto",
field_size: 1,
field_group: "rare-inherited",
},
......
......@@ -199,9 +199,9 @@ static ResolvedUnderlinePosition ResolveUnderlinePosition(
switch (baseline_type) {
case kAlphabeticBaseline:
switch (style.GetTextUnderlinePosition()) {
case kTextUnderlinePositionAuto:
case TextUnderlinePosition::kAuto:
return ResolvedUnderlinePosition::kRoman;
case kTextUnderlinePositionUnder:
case TextUnderlinePosition::kUnder:
return ResolvedUnderlinePosition::kUnder;
}
break;
......
......@@ -1475,14 +1475,15 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase<ComputedStyle>,
// text-underline-position
static TextUnderlinePosition InitialTextUnderlinePosition() {
return kTextUnderlinePositionAuto;
return TextUnderlinePosition::kAuto;
}
TextUnderlinePosition GetTextUnderlinePosition() const {
return static_cast<TextUnderlinePosition>(
rare_inherited_data_->text_underline_position_);
}
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
......
......@@ -248,10 +248,10 @@ inline TextDecorationSkip& operator|=(TextDecorationSkip& a,
return a = a | b;
}
enum TextUnderlinePosition {
enum class TextUnderlinePosition {
// FIXME: Implement support for 'under left' and 'under right' values.
kTextUnderlinePositionAuto,
kTextUnderlinePositionUnder
kAuto,
kUnder
};
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