Commit 392e5ae6 authored by Anders Hartvoll Ruud's avatar Anders Hartvoll Ruud Committed by Commit Bot

Convert CSSSyntaxComponent to class.

The incorrect code style of CSSSyntaxComponent annoyed me: fix by
converting to a class and make members private.

Change-Id: Ide6d4a007f5c8f9d5c3423576b123a32a53cb396
Reviewed-on: https://chromium-review.googlesource.com/c/1280544Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
Commit-Queue: Anders Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599677}
parent cdc2b47d
......@@ -436,7 +436,7 @@ CSSInterpolationTypesMap::CreateInterpolationTypesForCSSSyntax(
for (const CSSSyntaxComponent& component : descriptor.Components()) {
std::unique_ptr<CSSInterpolationType> interpolation_type =
CreateInterpolationTypeForCSSSyntax(component.type_, property,
CreateInterpolationTypeForCSSSyntax(component.GetType(), property,
registration);
if (!interpolation_type)
......@@ -445,7 +445,7 @@ CSSInterpolationTypesMap::CreateInterpolationTypesForCSSSyntax(
if (component.IsRepeatable()) {
interpolation_type = std::make_unique<CSSCustomListInterpolationType>(
property, &registration, std::move(interpolation_type),
component.repeat_);
component.GetRepeat());
}
result.push_back(std::move(interpolation_type));
......
......@@ -154,12 +154,12 @@ const CSSValue* ConsumeSingleType(const CSSSyntaxComponent& syntax,
const CSSParserContext* context) {
using namespace CSSPropertyParserHelpers;
switch (syntax.type_) {
switch (syntax.GetType()) {
case CSSSyntaxType::kIdent:
if (range.Peek().GetType() == kIdentToken &&
range.Peek().Value() == syntax.string_) {
range.Peek().Value() == syntax.GetString()) {
range.ConsumeIncludingWhitespace();
return CSSCustomIdentValue::Create(AtomicString(syntax.string_));
return CSSCustomIdentValue::Create(AtomicString(syntax.GetString()));
}
return nullptr;
case CSSSyntaxType::kLength:
......@@ -202,7 +202,7 @@ const CSSValue* ConsumeSyntaxComponent(const CSSSyntaxComponent& syntax,
CSSParserTokenRange range,
const CSSParserContext* context) {
// CSS-wide keywords are already handled by the CSSPropertyParser
if (syntax.repeat_ == CSSSyntaxRepeat::kSpaceSeparated) {
if (syntax.GetRepeat() == CSSSyntaxRepeat::kSpaceSeparated) {
CSSValueList* list = CSSValueList::CreateSpaceSeparated();
while (!range.AtEnd()) {
const CSSValue* value = ConsumeSingleType(syntax, range, context);
......@@ -212,7 +212,7 @@ const CSSValue* ConsumeSyntaxComponent(const CSSSyntaxComponent& syntax,
}
return list;
}
if (syntax.repeat_ == CSSSyntaxRepeat::kCommaSeparated) {
if (syntax.GetRepeat() == CSSSyntaxRepeat::kCommaSeparated) {
CSSValueList* list = CSSValueList::CreateCommaSeparated();
do {
const CSSValue* value = ConsumeSingleType(syntax, range, context);
......
......@@ -34,7 +34,8 @@ enum class CSSSyntaxType {
enum class CSSSyntaxRepeat { kNone, kSpaceSeparated, kCommaSeparated };
struct CSSSyntaxComponent {
class CSSSyntaxComponent {
public:
CSSSyntaxComponent(CSSSyntaxType type,
const String& string,
CSSSyntaxRepeat repeat)
......@@ -44,6 +45,9 @@ struct CSSSyntaxComponent {
return type_ == a.type_ && string_ == a.string_ && repeat_ == a.repeat_;
}
CSSSyntaxType GetType() const { return type_; }
const String& GetString() const { return string_; }
CSSSyntaxRepeat GetRepeat() const { return repeat_; }
bool IsRepeatable() const { return repeat_ != CSSSyntaxRepeat::kNone; }
char Separator() const {
DCHECK(IsRepeatable());
......@@ -52,6 +56,7 @@ struct CSSSyntaxComponent {
bool CanTake(const CSSStyleValue&) const;
private:
CSSSyntaxType type_;
String string_; // Only used when type_ is CSSSyntaxType::kIdent
CSSSyntaxRepeat repeat_;
......@@ -68,11 +73,11 @@ class CORE_EXPORT CSSSyntaxDescriptor {
bool IsValid() const { return !syntax_components_.IsEmpty(); }
bool IsTokenStream() const {
return syntax_components_.size() == 1 &&
syntax_components_[0].type_ == CSSSyntaxType::kTokenStream;
syntax_components_[0].GetType() == CSSSyntaxType::kTokenStream;
}
bool HasUrlSyntax() const {
for (const CSSSyntaxComponent& component : syntax_components_) {
if (component.type_ == CSSSyntaxType::kUrl)
if (component.GetType() == CSSSyntaxType::kUrl)
return true;
}
return false;
......
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