| Index: Source/core/css/parser/SizesAttributeParser.cpp
|
| diff --git a/Source/core/css/parser/SizesAttributeParser.cpp b/Source/core/css/parser/SizesAttributeParser.cpp
|
| index ce64693c241d448d72be1f288ee3d4bc33429e11..409be21b2498192dd39e3498028d789ee446eb38 100644
|
| --- a/Source/core/css/parser/SizesAttributeParser.cpp
|
| +++ b/Source/core/css/parser/SizesAttributeParser.cpp
|
| @@ -25,6 +25,8 @@ unsigned SizesAttributeParser::findEffectiveSize(const String& attribute, PassRe
|
|
|
| bool SizesAttributeParser::calculateLengthInPixels(MediaQueryTokenIterator startToken, MediaQueryTokenIterator endToken, unsigned& result)
|
| {
|
| + if (startToken == endToken)
|
| + return false;
|
| MediaQueryTokenType type = startToken->type();
|
| if (type == DimensionToken) {
|
| int length;
|
| @@ -36,6 +38,9 @@ bool SizesAttributeParser::calculateLengthInPixels(MediaQueryTokenIterator start
|
| }
|
| } else if (type == FunctionToken) {
|
| return SizesCalcParser::parse(startToken, endToken, m_mediaValues, result);
|
| + } else if (type == NumberToken && !startToken->numericValue()) {
|
| + result = 0;
|
| + return true;
|
| }
|
|
|
| return false;
|
| @@ -93,6 +98,7 @@ bool SizesAttributeParser::parseMediaConditionAndLength(MediaQueryTokenIterator
|
| RefPtrWillBeRawPtr<MediaQuerySet> mediaCondition = MediaQueryParser::parseMediaCondition(startToken, endToken);
|
| if (mediaCondition && mediaConditionMatches(mediaCondition)) {
|
| m_length = length;
|
| + m_lengthWasSet = true;
|
| return true;
|
| }
|
| return false;
|
| @@ -120,7 +126,7 @@ bool SizesAttributeParser::parse(Vector<MediaQueryToken>& tokens)
|
|
|
| unsigned SizesAttributeParser::effectiveSize()
|
| {
|
| - if (m_length)
|
| + if (m_lengthWasSet)
|
| return m_length;
|
| return effectiveSizeDefaultValue();
|
| }
|
|
|