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