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

Unified Diff: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp

Issue 1914693002: Clamp CSS numbers to float range at parsing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
Index: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
index 89280601a7f886f0df8dfda3bea8991a0863d05b..71fdd26b15f50a008b8ed2c2eb3423e4e74bcd73 100644
--- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
+++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
@@ -93,23 +93,10 @@ void CSSPropertyParser::addExpandedPropertyForValue(CSSPropertyID property, CSSV
addProperty(longhands[i], value, important);
}
-static bool hasInvalidNumericValues(const CSSParserTokenRange& range)
-{
- for (const CSSParserToken& token : range) {
- CSSParserTokenType type = token.type();
- if ((type == NumberToken || type == DimensionToken || type == PercentageToken)
- && !CSSPropertyParser::isValidNumericValue(token.numericValue()))
- return true;
- }
- return false;
-}
-
bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool important,
const CSSParserTokenRange& range, const CSSParserContext& context,
HeapVector<CSSProperty, 256>& parsedProperties, StyleRule::RuleType ruleType)
{
- if (hasInvalidNumericValues(range))
- return false;
int parsedPropertiesSize = parsedProperties.size();
CSSPropertyParser parser(range, context, &parsedProperties);
@@ -138,8 +125,6 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
CSSValue* CSSPropertyParser::parseSingleValue(
CSSPropertyID property, const CSSParserTokenRange& range, const CSSParserContext& context)
{
- if (hasInvalidNumericValues(range))
- return nullptr;
CSSPropertyParser parser(range, context, nullptr);
CSSValue* value = parser.parseSingleValue(property);
if (!value || !parser.m_range.atEnd())
@@ -147,13 +132,6 @@ CSSValue* CSSPropertyParser::parseSingleValue(
return value;
}
-bool CSSPropertyParser::isValidNumericValue(double value)
-{
- return std::isfinite(value)
- && value >= -std::numeric_limits<float>::max()
- && value <= std::numeric_limits<float>::max();
-}
-
bool CSSPropertyParser::parseValueStart(CSSPropertyID unresolvedProperty, bool important)
{
if (consumeCSSWideKeyword(unresolvedProperty, important))

Powered by Google App Engine
This is Rietveld 408576698