| 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 6e2b2211d22e2763058d7ae3233c3358c86d817f..db7cdba5f2faa52e27f976644b9a87fe5e5d2bd1 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| @@ -83,7 +83,7 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
|
|
|
| // This doesn't count UA style sheets
|
| if (parseSuccess && context.useCounter())
|
| - context.useCounter()->count(context, unresolvedProperty);
|
| + context.useCounter()->count(context.mode(), unresolvedProperty);
|
|
|
| if (!parseSuccess)
|
| parser.rollbackLastProperties(parsedProperties.size() - parsedPropertiesSize);
|
| @@ -691,11 +691,11 @@ static bool parseColorFunction(CSSParserTokenRange& range, RGBA32& result)
|
| return true;
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeColor(CSSParserTokenRange& range, const CSSParserContext& context, bool acceptQuirkyColors = false)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeColor(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool acceptQuirkyColors = false)
|
| {
|
| CSSValueID id = range.peek().id();
|
| if (CSSPropertyParser::isColorKeyword(id)) {
|
| - if (!isValueAllowedInMode(id, context.mode()))
|
| + if (!isValueAllowedInMode(id, cssParserMode))
|
| return nullptr;
|
| return consumeIdent(range);
|
| }
|
| @@ -1758,7 +1758,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumeZIndex(CSSParserTokenRange& range
|
| return consumeInteger(range);
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSShadowValue> parseSingleShadow(CSSParserTokenRange& range, const CSSParserContext& context, bool allowInset, bool allowSpread)
|
| +static PassRefPtrWillBeRawPtr<CSSShadowValue> parseSingleShadow(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool allowInset, bool allowSpread)
|
| {
|
| RefPtrWillBeRawPtr<CSSPrimitiveValue> style = nullptr;
|
| RefPtrWillBeRawPtr<CSSValue> color = nullptr;
|
| @@ -1770,29 +1770,29 @@ static PassRefPtrWillBeRawPtr<CSSShadowValue> parseSingleShadow(CSSParserTokenRa
|
| return nullptr;
|
| style = consumeIdent(range);
|
| }
|
| - color = consumeColor(range, context);
|
| + color = consumeColor(range, cssParserMode);
|
|
|
| - RefPtrWillBeRawPtr<CSSPrimitiveValue> horizontalOffset = consumeLength(range, context.mode(), ValueRangeAll);
|
| + RefPtrWillBeRawPtr<CSSPrimitiveValue> horizontalOffset = consumeLength(range, cssParserMode, ValueRangeAll);
|
| if (!horizontalOffset)
|
| return nullptr;
|
|
|
| - RefPtrWillBeRawPtr<CSSPrimitiveValue> verticalOffset = consumeLength(range, context.mode(), ValueRangeAll);
|
| + RefPtrWillBeRawPtr<CSSPrimitiveValue> verticalOffset = consumeLength(range, cssParserMode, ValueRangeAll);
|
| if (!verticalOffset)
|
| return nullptr;
|
|
|
| - RefPtrWillBeRawPtr<CSSPrimitiveValue> blurRadius = consumeLength(range, context.mode(), ValueRangeAll);
|
| + RefPtrWillBeRawPtr<CSSPrimitiveValue> blurRadius = consumeLength(range, cssParserMode, ValueRangeAll);
|
| RefPtrWillBeRawPtr<CSSPrimitiveValue> spreadDistance = nullptr;
|
| if (blurRadius) {
|
| // Blur radius must be non-negative.
|
| if (blurRadius->getDoubleValue() < 0)
|
| return nullptr;
|
| if (allowSpread)
|
| - spreadDistance = consumeLength(range, context.mode(), ValueRangeAll);
|
| + spreadDistance = consumeLength(range, cssParserMode, ValueRangeAll);
|
| }
|
|
|
| if (!range.atEnd()) {
|
| if (!color)
|
| - color = consumeColor(range, context);
|
| + color = consumeColor(range, cssParserMode);
|
| if (range.peek().id() == CSSValueInset) {
|
| if (!allowInset || style)
|
| return nullptr;
|
| @@ -1803,14 +1803,14 @@ static PassRefPtrWillBeRawPtr<CSSShadowValue> parseSingleShadow(CSSParserTokenRa
|
| spreadDistance.release(), style.release(), color.release());
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeShadow(CSSParserTokenRange& range, const CSSParserContext& context, bool isBoxShadowProperty)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeShadow(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool isBoxShadowProperty)
|
| {
|
| if (range.peek().id() == CSSValueNone)
|
| return consumeIdent(range);
|
|
|
| RefPtrWillBeRawPtr<CSSValueList> shadowValueList = CSSValueList::createCommaSeparated();
|
| do {
|
| - if (RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = parseSingleShadow(range, context, isBoxShadowProperty, isBoxShadowProperty))
|
| + if (RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = parseSingleShadow(range, cssParserMode, isBoxShadowProperty, isBoxShadowProperty))
|
| shadowValueList->append(shadowValue.release());
|
| else
|
| return nullptr;
|
| @@ -1818,7 +1818,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumeShadow(CSSParserTokenRange& range
|
| return shadowValueList;
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSFunctionValue> consumeFilterFunction(CSSParserTokenRange& range, const CSSParserContext& context)
|
| +static PassRefPtrWillBeRawPtr<CSSFunctionValue> consumeFilterFunction(CSSParserTokenRange& range, CSSParserMode cssParserMode)
|
| {
|
| CSSValueID filterType = range.peek().functionId();
|
| if (filterType < CSSValueInvert || filterType > CSSValueDropShadow)
|
| @@ -1828,7 +1828,7 @@ static PassRefPtrWillBeRawPtr<CSSFunctionValue> consumeFilterFunction(CSSParserT
|
| RefPtrWillBeRawPtr<CSSValue> parsedValue = nullptr;
|
|
|
| if (filterType == CSSValueDropShadow) {
|
| - parsedValue = parseSingleShadow(args, context, false, false);
|
| + parsedValue = parseSingleShadow(args, cssParserMode, false, false);
|
| } else {
|
| // TODO(timloh): Add UseCounters for empty filter arguments.
|
| if (args.atEnd())
|
| @@ -1839,7 +1839,7 @@ static PassRefPtrWillBeRawPtr<CSSFunctionValue> consumeFilterFunction(CSSParserT
|
| if (!parsedValue)
|
| parsedValue = consumeNumber(args, ValueRangeAll);
|
| } else if (filterType == CSSValueHueRotate) {
|
| - parsedValue = consumeAngle(args, context.mode());
|
| + parsedValue = consumeAngle(args, cssParserMode);
|
| } else if (filterType == CSSValueBlur) {
|
| parsedValue = consumeLength(args, HTMLStandardMode, ValueRangeNonNegative);
|
| } else {
|
| @@ -1860,7 +1860,7 @@ static PassRefPtrWillBeRawPtr<CSSFunctionValue> consumeFilterFunction(CSSParserT
|
| return filterValue.release();
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeFilter(CSSParserTokenRange& range, const CSSParserContext& context)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeFilter(CSSParserTokenRange& range, CSSParserMode cssParserMode)
|
| {
|
| if (range.peek().id() == CSSValueNone)
|
| return consumeIdent(range);
|
| @@ -1873,7 +1873,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumeFilter(CSSParserTokenRange& range
|
| filterValue = CSSFunctionValue::create(CSSValueUrl);
|
| filterValue->append(CSSSVGDocumentValue::create(url));
|
| } else {
|
| - filterValue = consumeFilterFunction(range, context);
|
| + filterValue = consumeFilterFunction(range, cssParserMode);
|
| if (!filterValue)
|
| return nullptr;
|
| }
|
| @@ -1993,13 +1993,13 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumeTextEmphasisStyle(CSSParserTokenR
|
| return nullptr;
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeOutlineColor(CSSParserTokenRange& range, const CSSParserContext& context)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeOutlineColor(CSSParserTokenRange& range, CSSParserMode cssParserMode)
|
| {
|
| // Outline color has "invert" as additional keyword.
|
| // Also, we want to allow the special focus color even in HTML Standard parsing mode.
|
| if (range.peek().id() == CSSValueInvert || range.peek().id() == CSSValueWebkitFocusRingColor)
|
| return consumeIdent(range);
|
| - return consumeColor(range, context);
|
| + return consumeColor(range, cssParserMode);
|
| }
|
|
|
| static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> consumeLineWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode)
|
| @@ -2202,7 +2202,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumePositionY(CSSParserTokenRange& ra
|
| return consumePositionLonghand<CSSValueTop, CSSValueBottom>(range, cssParserMode);
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumePaint(CSSParserTokenRange& range, CSSParserContext context)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumePaint(CSSParserTokenRange& range, CSSParserMode cssParserMode)
|
| {
|
| if (range.peek().id() == CSSValueNone)
|
| return consumeIdent(range);
|
| @@ -2212,7 +2212,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumePaint(CSSParserTokenRange& range,
|
| if (range.peek().id() == CSSValueNone)
|
| parsedValue = consumeIdent(range);
|
| else
|
| - parsedValue = consumeColor(range, context);
|
| + parsedValue = consumeColor(range, cssParserMode);
|
| if (parsedValue) {
|
| RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated();
|
| values->append(CSSURIValue::create(url));
|
| @@ -2221,7 +2221,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumePaint(CSSParserTokenRange& range,
|
| }
|
| return CSSURIValue::create(url);
|
| }
|
| - return consumeColor(range, context);
|
| + return consumeColor(range, cssParserMode);
|
| }
|
|
|
| static PassRefPtrWillBeRawPtr<CSSValue> consumePaintOrder(CSSParserTokenRange& range)
|
| @@ -2317,7 +2317,7 @@ static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> consumeBaselineShift(CSSParserT
|
| return consumeLengthOrPercent(range, SVGAttributeMode, ValueRangeAll, UnitlessQuirk::Forbid);
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeImageSet(CSSParserTokenRange& range, CSSParserContext context)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeImageSet(CSSParserTokenRange& range, const CSSParserContext& context)
|
| {
|
| CSSParserTokenRange rangeCopy = range;
|
| CSSParserTokenRange args = consumeFunction(rangeCopy);
|
| @@ -2347,7 +2347,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumeImageSet(CSSParserTokenRange& ran
|
| return imageSet.release();
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeCursor(CSSParserTokenRange& range, CSSParserContext context, bool inQuirksMode)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeCursor(CSSParserTokenRange& range, const CSSParserContext& context, bool inQuirksMode)
|
| {
|
| RefPtrWillBeRawPtr<CSSValueList> list = nullptr;
|
| while (!range.atEnd()) {
|
| @@ -2540,7 +2540,7 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSProperty
|
| return consumeWidowsOrOrphans(m_range);
|
| case CSSPropertyTextDecorationColor:
|
| ASSERT(RuntimeEnabledFeatures::css3TextDecorationsEnabled());
|
| - return consumeColor(m_range, m_context);
|
| + return consumeColor(m_range, m_context.mode());
|
| case CSSPropertyWebkitTextStrokeWidth:
|
| return consumeTextStrokeWidth(m_range, m_context.mode());
|
| case CSSPropertyWebkitTextFillColor:
|
| @@ -2555,9 +2555,9 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSProperty
|
| case CSSPropertyFloodColor:
|
| case CSSPropertyLightingColor:
|
| case CSSPropertyWebkitColumnRuleColor:
|
| - return consumeColor(m_range, m_context);
|
| + return consumeColor(m_range, m_context.mode());
|
| case CSSPropertyColor:
|
| - return consumeColor(m_range, m_context, inQuirksMode());
|
| + return consumeColor(m_range, m_context.mode(), inQuirksMode());
|
| case CSSPropertyWebkitBorderStartWidth:
|
| case CSSPropertyWebkitBorderEndWidth:
|
| case CSSPropertyWebkitBorderBeforeWidth:
|
| @@ -2567,10 +2567,10 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSProperty
|
| return consumeZIndex(m_range);
|
| case CSSPropertyTextShadow: // CSS2 property, dropped in CSS2.1, back in CSS3, so treat as CSS3
|
| case CSSPropertyBoxShadow:
|
| - return consumeShadow(m_range, m_context, property == CSSPropertyBoxShadow);
|
| + return consumeShadow(m_range, m_context.mode(), property == CSSPropertyBoxShadow);
|
| case CSSPropertyWebkitFilter:
|
| case CSSPropertyBackdropFilter:
|
| - return consumeFilter(m_range, m_context);
|
| + return consumeFilter(m_range, m_context.mode());
|
| case CSSPropertyWebkitTextDecorationsInEffect:
|
| case CSSPropertyTextDecorationLine:
|
| return consumeTextDecorationLine(m_range);
|
| @@ -2583,7 +2583,7 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSProperty
|
| case CSSPropertyWebkitTextEmphasisStyle:
|
| return consumeTextEmphasisStyle(m_range);
|
| case CSSPropertyOutlineColor:
|
| - return consumeOutlineColor(m_range, m_context);
|
| + return consumeOutlineColor(m_range, m_context.mode());
|
| case CSSPropertyOutlineOffset:
|
| return consumeLength(m_range, m_context.mode(), ValueRangeAll);
|
| case CSSPropertyOutlineWidth:
|
| @@ -2600,7 +2600,7 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSProperty
|
| return consumeLength(m_range, m_context.mode(), ValueRangeAll);
|
| case CSSPropertyFill:
|
| case CSSPropertyStroke:
|
| - return consumePaint(m_range, m_context);
|
| + return consumePaint(m_range, m_context.mode());
|
| case CSSPropertyPaintOrder:
|
| return consumePaintOrder(m_range);
|
| case CSSPropertyMarkerStart:
|
| @@ -2668,7 +2668,7 @@ static PassRefPtrWillBeRawPtr<CSSValueList> consumeFontFaceUnicodeRange(CSSParse
|
| return values.release();
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeFontFaceSrcURI(CSSParserTokenRange& range, CSSParserContext context)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeFontFaceSrcURI(CSSParserTokenRange& range, const CSSParserContext& context)
|
| {
|
| String url = consumeUrl(range);
|
| if (url.isNull())
|
| @@ -2690,7 +2690,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumeFontFaceSrcURI(CSSParserTokenRang
|
| return uriValue.release();
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValue> consumeFontFaceSrcLocal(CSSParserTokenRange& range, CSSParserContext context)
|
| +static PassRefPtrWillBeRawPtr<CSSValue> consumeFontFaceSrcLocal(CSSParserTokenRange& range, const CSSParserContext& context)
|
| {
|
| CSSParserTokenRange args = consumeFunction(range);
|
| ContentSecurityPolicyDisposition shouldCheckContentSecurityPolicy = context.shouldCheckContentSecurityPolicy();
|
| @@ -2709,7 +2709,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> consumeFontFaceSrcLocal(CSSParserTokenRa
|
| return nullptr;
|
| }
|
|
|
| -static PassRefPtrWillBeRawPtr<CSSValueList> consumeFontFaceSrc(CSSParserTokenRange& range, CSSParserContext context)
|
| +static PassRefPtrWillBeRawPtr<CSSValueList> consumeFontFaceSrc(CSSParserTokenRange& range, const CSSParserContext& context)
|
| {
|
| RefPtrWillBeRawPtr<CSSValueList> values(CSSValueList::createCommaSeparated());
|
|
|
|
|