Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(355)

Side by Side Diff: third_party/WebKit/Source/core/css/CSSSyntaxDescriptor.cpp

Issue 2358203003: CSS Properties and Values API: Use initial value where appropriate for var() (Closed)
Patch Set: bla Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/css/CSSSyntaxDescriptor.h" 5 #include "core/css/CSSSyntaxDescriptor.h"
6 6
7 #include "core/css/CSSCustomPropertyDeclaration.h" 7 #include "core/css/CSSCustomPropertyDeclaration.h"
8 #include "core/css/CSSURIValue.h" 8 #include "core/css/CSSURIValue.h"
9 #include "core/css/CSSValueList.h" 9 #include "core/css/CSSValueList.h"
10 #include "core/css/CSSVariableReferenceValue.h" 10 #include "core/css/CSSVariableReferenceValue.h"
11 #include "core/css/parser/CSSParserIdioms.h" 11 #include "core/css/parser/CSSParserIdioms.h"
12 #include "core/css/parser/CSSPropertyParserHelpers.h" 12 #include "core/css/parser/CSSPropertyParserHelpers.h"
13 #include "core/css/parser/CSSTokenizer.h"
14 #include "core/css/parser/CSSVariableParser.h" 13 #include "core/css/parser/CSSVariableParser.h"
15 #include "core/html/parser/HTMLParserIdioms.h" 14 #include "core/html/parser/HTMLParserIdioms.h"
16 15
17 namespace blink { 16 namespace blink {
18 17
19 void consumeWhitespace(const String& string, size_t& offset) 18 void consumeWhitespace(const String& string, size_t& offset)
20 { 19 {
21 while (isHTMLSpace(string[offset])) 20 while (isHTMLSpace(string[offset]))
22 offset++; 21 offset++;
23 } 22 }
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 list->append(*value); 188 list->append(*value);
190 } 189 }
191 return list; 190 return list;
192 } 191 }
193 const CSSValue* result = consumeSingleType(syntax, range); 192 const CSSValue* result = consumeSingleType(syntax, range);
194 if (!range.atEnd()) 193 if (!range.atEnd())
195 return nullptr; 194 return nullptr;
196 return result; 195 return result;
197 } 196 }
198 197
199 const CSSValue* CSSSyntaxDescriptor::parse(const String& value) const
200 {
201 CSSTokenizer::Scope scope(value);
202 return parse(scope.tokenRange());
203 }
204
205 const CSSValue* CSSSyntaxDescriptor::parse(CSSParserTokenRange range) const 198 const CSSValue* CSSSyntaxDescriptor::parse(CSSParserTokenRange range) const
206 { 199 {
207 if (isTokenStream()) 200 if (isTokenStream())
208 return CSSVariableParser::parseRegisteredPropertyValue(range, false); 201 return CSSVariableParser::parseRegisteredPropertyValue(range, false);
209 range.consumeWhitespace(); 202 range.consumeWhitespace();
210 for (const CSSSyntaxComponent& component : m_syntaxComponents) { 203 for (const CSSSyntaxComponent& component : m_syntaxComponents) {
211 if (const CSSValue* result = consumeSyntaxComponent(component, range)) 204 if (const CSSValue* result = consumeSyntaxComponent(component, range))
212 return result; 205 return result;
213 } 206 }
214 return CSSVariableParser::parseRegisteredPropertyValue(range, true); 207 return CSSVariableParser::parseRegisteredPropertyValue(range, true);
215 } 208 }
216 209
217 } // namespace blink 210 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698