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

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

Issue 633643003: Enable float source size (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed merge issue Created 6 years, 2 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/SizesAttributeParserTest.cpp » ('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 e70e214f68a9ec5039a7c2591f2238ecf7464601..9f6bcaa2c8e29a33188cb8e167b6bbc53d8f5cc5 100644
--- a/Source/core/css/parser/SizesAttributeParser.cpp
+++ b/Source/core/css/parser/SizesAttributeParser.cpp
@@ -22,25 +22,25 @@ SizesAttributeParser::SizesAttributeParser(PassRefPtr<MediaValues> mediaValues,
m_isValid = parse(m_tokens);
}
-unsigned SizesAttributeParser::length()
+float SizesAttributeParser::length()
{
if (m_isValid)
return effectiveSize();
return effectiveSizeDefaultValue();
}
-bool SizesAttributeParser::calculateLengthInPixels(MediaQueryTokenIterator startToken, MediaQueryTokenIterator endToken, unsigned& result)
+bool SizesAttributeParser::calculateLengthInPixels(MediaQueryTokenIterator startToken, MediaQueryTokenIterator endToken, float& result)
{
if (startToken == endToken)
return false;
MediaQueryTokenType type = startToken->type();
if (type == DimensionToken) {
- int length;
+ double length;
if (!CSSPrimitiveValue::isLength(startToken->unitType()))
return false;
m_viewportDependant = CSSPrimitiveValue::isViewportPercentageLength(startToken->unitType());
if ((m_mediaValues->computeLength(startToken->numericValue(), startToken->unitType(), length)) && (length >= 0)) {
- result = (unsigned)length;
+ result = clampTo<float>(length);
return true;
}
} else if (type == FunctionToken) {
@@ -104,7 +104,7 @@ bool SizesAttributeParser::parseMediaConditionAndLength(MediaQueryTokenIterator
lengthTokenEnd = endToken;
reverseSkipUntilComponentStart(endToken, startToken);
lengthTokenStart = endToken;
- unsigned length;
+ float length;
if (!calculateLengthInPixels(lengthTokenStart, lengthTokenEnd, length))
return false;
RefPtrWillBeRawPtr<MediaQuerySet> mediaCondition = MediaQueryParser::parseMediaCondition(startToken, endToken);
@@ -137,7 +137,7 @@ bool SizesAttributeParser::parse(Vector<MediaQueryToken>& tokens)
return parseMediaConditionAndLength(startToken, --endToken);
}
-unsigned SizesAttributeParser::effectiveSize()
+float SizesAttributeParser::effectiveSize()
{
if (m_lengthWasSet)
return m_length;
« no previous file with comments | « Source/core/css/parser/SizesAttributeParser.h ('k') | Source/core/css/parser/SizesAttributeParserTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698