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

Unified Diff: Source/core/css/parser/SizesAttributeParser.cpp

Issue 252743004: A thread safe CSS calc parser for sizes (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Removed CSSCalc tests that assert Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/css/parser/SizesAttributeParser.h ('k') | Source/core/css/parser/SizesCalcParser.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/parser/SizesAttributeParser.cpp
diff --git a/Source/core/css/parser/SizesAttributeParser.cpp b/Source/core/css/parser/SizesAttributeParser.cpp
index d71d20f2bd7dac74dbf64ea26ea921d34436b79f..5c126e0f5d0267b3ac983ec7864af1eb0dafc67c 100644
--- a/Source/core/css/parser/SizesAttributeParser.cpp
+++ b/Source/core/css/parser/SizesAttributeParser.cpp
@@ -22,7 +22,7 @@ unsigned SizesAttributeParser::findEffectiveSize(const String& attribute, PassRe
return parser.effectiveSize();
}
-bool SizesAttributeParser::calculateLengthInPixels(TokenIterator startToken, TokenIterator endToken, unsigned& result)
+bool SizesAttributeParser::calculateLengthInPixels(MediaQueryTokenIterator startToken, MediaQueryTokenIterator endToken, unsigned& result)
{
MediaQueryTokenType type = startToken->type();
if (type == DimensionToken) {
@@ -38,16 +38,16 @@ bool SizesAttributeParser::calculateLengthInPixels(TokenIterator startToken, Tok
return false;
}
-static void reverseSkipIrrelevantTokens(TokenIterator& token, TokenIterator startToken)
+static void reverseSkipIrrelevantTokens(MediaQueryTokenIterator& token, MediaQueryTokenIterator startToken)
{
- TokenIterator endToken = token;
+ MediaQueryTokenIterator endToken = token;
while (token != startToken && (token->type() == WhitespaceToken || token->type() == CommentToken || token->type() == EOFToken))
--token;
if (token != endToken)
++token;
}
-static void reverseSkipUntilComponentStart(TokenIterator& token, TokenIterator startToken)
+static void reverseSkipUntilComponentStart(MediaQueryTokenIterator& token, MediaQueryTokenIterator startToken)
{
if (token == startToken)
return;
@@ -75,10 +75,10 @@ bool SizesAttributeParser::mediaConditionMatches(PassRefPtrWillBeRawPtr<MediaQue
return mediaQueryEvaluator.eval(mediaCondition.get());
}
-bool SizesAttributeParser::parseMediaConditionAndLength(TokenIterator startToken, TokenIterator endToken)
+bool SizesAttributeParser::parseMediaConditionAndLength(MediaQueryTokenIterator startToken, MediaQueryTokenIterator endToken)
{
- TokenIterator lengthTokenStart;
- TokenIterator lengthTokenEnd;
+ MediaQueryTokenIterator lengthTokenStart;
+ MediaQueryTokenIterator lengthTokenEnd;
reverseSkipIrrelevantTokens(endToken, startToken);
lengthTokenEnd = endToken;
@@ -99,10 +99,10 @@ bool SizesAttributeParser::parse(Vector<MediaQueryToken>& tokens)
{
if (tokens.isEmpty())
return false;
- TokenIterator startToken = tokens.begin();
- TokenIterator endToken;
+ MediaQueryTokenIterator startToken = tokens.begin();
+ MediaQueryTokenIterator endToken;
// Split on a comma token, and send the result tokens to be parsed as (media-condition, length) pairs
- for (TokenIterator token = tokens.begin(); token != tokens.end(); ++token) {
+ for (MediaQueryTokenIterator token = tokens.begin(); token != tokens.end(); ++token) {
if (token->type() == CommaToken) {
endToken = token;
if (parseMediaConditionAndLength(startToken, endToken))
« no previous file with comments | « Source/core/css/parser/SizesAttributeParser.h ('k') | Source/core/css/parser/SizesCalcParser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698