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; |