Index: third_party/WebKit/Source/core/css/parser/CSSParserValues.cpp |
diff --git a/third_party/WebKit/Source/core/css/parser/CSSParserValues.cpp b/third_party/WebKit/Source/core/css/parser/CSSParserValues.cpp |
index 8d14dc09e6e88d27dc2eed7805dfb801910f1791..160a254da6f1e0c886992bff7373de631f76b0dd 100644 |
--- a/third_party/WebKit/Source/core/css/parser/CSSParserValues.cpp |
+++ b/third_party/WebKit/Source/core/css/parser/CSSParserValues.cpp |
@@ -22,11 +22,9 @@ |
#include "core/css/parser/CSSParserValues.h" |
#include "core/css/CSSFunctionValue.h" |
-#include "core/css/CSSVariableData.h" |
#include "core/css/parser/CSSParserToken.h" |
#include "core/css/parser/CSSParserTokenRange.h" |
#include "core/css/parser/CSSPropertyParser.h" |
-#include "core/css/parser/CSSVariableParser.h" |
#include "core/html/parser/HTMLParserIdioms.h" |
namespace blink { |
@@ -36,8 +34,6 @@ using namespace WTF; |
CSSParserValueList::CSSParserValueList(CSSParserTokenRange range) |
: m_current(0) |
{ |
- CSSParserTokenRange originalRangeForVariables = range; |
- |
Vector<CSSParserValueList*> stack; |
Vector<int> bracketCounts; |
stack.append(this); |
@@ -55,7 +51,7 @@ CSSParserValueList::CSSParserValueList(CSSParserTokenRange range) |
range.consume(); |
const CSSParserToken& next = range.consumeIncludingWhitespace(); |
if (next.type() == BadStringToken || range.consume().type() != RightParenthesisToken) { |
- checkForVariableReferencesOrDestroyAndClear(originalRangeForVariables); |
+ destroyAndClear(); |
return; |
} |
ASSERT(next.type() == StringToken); |
@@ -64,9 +60,6 @@ CSSParserValueList::CSSParserValueList(CSSParserTokenRange range) |
value.m_unit = CSSParserValue::URI; |
value.string = next.value(); |
break; |
- } else if (token.valueEqualsIgnoringCase("var")) { |
- checkForVariableReferencesOrDestroyAndClear(originalRangeForVariables); |
- return; |
} |
value.id = CSSValueInvalid; |
@@ -105,7 +98,7 @@ CSSParserValueList::CSSParserValueList(CSSParserTokenRange range) |
stack.removeLast(); |
bracketCounts.removeLast(); |
if (bracketCounts.isEmpty()) { |
- checkForVariableReferencesOrDestroyAndClear(originalRangeForVariables); |
+ destroyAndClear(); |
return; |
} |
continue; |
@@ -209,12 +202,10 @@ CSSParserValueList::CSSParserValueList(CSSParserTokenRange range) |
case SuffixMatchToken: |
case SubstringMatchToken: |
case ColumnToken: |
- case ColonToken: |
- case SemicolonToken: |
- checkForVariableReferencesOrDestroyAndClear(originalRangeForVariables); |
- return; |
case BadStringToken: |
case BadUrlToken: |
+ case ColonToken: |
+ case SemicolonToken: |
destroyAndClear(); |
return; |
} |
@@ -244,30 +235,9 @@ static void destroy(Vector<CSSParserValue, 4>& values) |
else if (values[i].m_unit == CSSParserValue::ValueList |
|| values[i].m_unit == CSSParserValue::DimensionList) |
delete values[i].valueList; |
- else if (values[i].id == CSSValueInternalVariableValue) |
- values[i].variableData->deref(); |
} |
} |
-void CSSParserValueList::checkForVariableReferencesOrDestroyAndClear(const CSSParserTokenRange& originalRange) |
-{ |
- // We have to clear any state that may have been previously loaded |
- destroyAndClear(); |
- if (RuntimeEnabledFeatures::cssVariablesEnabled() && CSSVariableParser::containsValidVariableReferences(originalRange)) |
- consumeVariableValue(originalRange); |
-} |
- |
-void CSSParserValueList::consumeVariableValue(const CSSParserTokenRange& originalRange) |
-{ |
- ASSERT(m_values.isEmpty()); |
- CSSParserValue variableValue; |
- variableValue.id = CSSValueInternalVariableValue; |
- variableValue.isInt = false; |
- variableValue.variableData = CSSVariableData::create(originalRange).leakRef(); |
- addValue(variableValue); |
-} |
- |
- |
void CSSParserValueList::destroyAndClear() |
{ |
destroy(m_values); |