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 3dc334d768e21a641e0969afb2f8cc8dad524a95..51bf905c19e88a6ef1fbd9a1c4e3e537193eaf9c 100644 |
--- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp |
+++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp |
@@ -101,16 +101,16 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import |
return parseSuccess; |
} |
-RawPtr<CSSValue> CSSPropertyParser::parseSingleValue( |
+CSSValue* CSSPropertyParser::parseSingleValue( |
CSSPropertyID property, const CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
if (hasInvalidNumericValues(range)) |
return nullptr; |
CSSPropertyParser parser(range, context, nullptr); |
- RawPtr<CSSValue> value = parser.parseSingleValue(property); |
+ CSSValue* value = parser.parseSingleValue(property); |
if (!value || !parser.m_range.atEnd()) |
return nullptr; |
- return value.release(); |
+ return value; |
} |
bool CSSPropertyParser::isValidNumericValue(double value) |
@@ -132,9 +132,9 @@ bool CSSPropertyParser::parseValueStart(CSSPropertyID unresolvedProperty, bool i |
if (parseShorthand(unresolvedProperty, important)) |
return true; |
} else { |
- if (RawPtr<CSSValue> parsedValue = parseSingleValue(unresolvedProperty)) { |
+ if (CSSValue* parsedValue = parseSingleValue(unresolvedProperty)) { |
if (m_range.atEnd()) { |
- addProperty(propertyId, parsedValue.release(), important); |
+ addProperty(propertyId, parsedValue, important); |
return true; |
} |
} |
@@ -142,8 +142,8 @@ bool CSSPropertyParser::parseValueStart(CSSPropertyID unresolvedProperty, bool i |
if (RuntimeEnabledFeatures::cssVariablesEnabled() && CSSVariableParser::containsValidVariableReferences(originalRange)) { |
// We don't expand the shorthand here because crazypants. |
- RawPtr<CSSVariableReferenceValue> variable = CSSVariableReferenceValue::create(CSSVariableData::create(originalRange)); |
- addProperty(propertyId, variable.release(), important); |
+ CSSVariableReferenceValue* variable = CSSVariableReferenceValue::create(CSSVariableData::create(originalRange)); |
+ addProperty(propertyId, variable, important); |
return true; |
} |
@@ -266,7 +266,7 @@ bool CSSPropertyParser::consumeCSSWideKeyword(CSSPropertyID unresolvedProperty, |
if (!rangeCopy.atEnd()) |
return false; |
- RawPtr<CSSValue> value = nullptr; |
+ CSSValue* value = nullptr; |
if (id == CSSValueInitial) |
value = cssValuePool().createExplicitInitialValue(); |
else if (id == CSSValueInherit) |
@@ -276,35 +276,35 @@ bool CSSPropertyParser::consumeCSSWideKeyword(CSSPropertyID unresolvedProperty, |
else |
return false; |
- addExpandedPropertyForValue(resolveCSSPropertyID(unresolvedProperty), value.release(), important); |
+ addExpandedPropertyForValue(resolveCSSPropertyID(unresolvedProperty), value, important); |
m_range = rangeCopy; |
return true; |
} |
-static RawPtr<CSSValueList> consumeTransformOrigin(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
+static CSSValueList* consumeTransformOrigin(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
{ |
- RawPtr<CSSValue> resultX = nullptr; |
- RawPtr<CSSValue> resultY = nullptr; |
+ CSSValue* resultX = nullptr; |
+ CSSValue* resultY = nullptr; |
if (consumeOneOrTwoValuedPosition(range, cssParserMode, unitless, resultX, resultY)) { |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
- list->append(resultX.release()); |
- list->append(resultY.release()); |
- RawPtr<CSSValue> resultZ = consumeLength(range, cssParserMode, ValueRangeAll); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
+ list->append(resultX); |
+ list->append(resultY); |
+ CSSValue* resultZ = consumeLength(range, cssParserMode, ValueRangeAll); |
if (!resultZ) |
resultZ = cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Pixels); |
- list->append(resultZ.release()); |
- return list.release(); |
+ list->append(resultZ); |
+ return list; |
} |
return nullptr; |
} |
// Methods for consuming non-shorthand properties starts here. |
-static RawPtr<CSSValue> consumeWillChange(CSSParserTokenRange& range) |
+static CSSValue* consumeWillChange(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
- RawPtr<CSSValueList> values = CSSValueList::createCommaSeparated(); |
+ CSSValueList* values = CSSValueList::createCommaSeparated(); |
// Every comma-separated list of identifiers is a valid will-change value, |
// unless the list includes an explicitly disallowed identifier. |
while (true) { |
@@ -344,10 +344,10 @@ static RawPtr<CSSValue> consumeWillChange(CSSParserTokenRange& range) |
return nullptr; |
} |
- return values.release(); |
+ return values; |
} |
-static RawPtr<CSSFontFeatureValue> consumeFontFeatureTag(CSSParserTokenRange& range) |
+static CSSFontFeatureValue* consumeFontFeatureTag(CSSParserTokenRange& range) |
{ |
// Feature tag name consists of 4-letter characters. |
static const unsigned tagNameLength = 4; |
@@ -378,55 +378,55 @@ static RawPtr<CSSFontFeatureValue> consumeFontFeatureTag(CSSParserTokenRange& ra |
return CSSFontFeatureValue::create(tag, tagValue); |
} |
-static RawPtr<CSSValue> consumeFontFeatureSettings(CSSParserTokenRange& range) |
+static CSSValue* consumeFontFeatureSettings(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNormal) |
return consumeIdent(range); |
- RawPtr<CSSValueList> settings = CSSValueList::createCommaSeparated(); |
+ CSSValueList* settings = CSSValueList::createCommaSeparated(); |
do { |
- RawPtr<CSSFontFeatureValue> fontFeatureValue = consumeFontFeatureTag(range); |
+ CSSFontFeatureValue* fontFeatureValue = consumeFontFeatureTag(range); |
if (!fontFeatureValue) |
return nullptr; |
settings->append(fontFeatureValue); |
} while (consumeCommaIncludingWhitespace(range)); |
- return settings.release(); |
+ return settings; |
} |
-static RawPtr<CSSValue> consumePage(CSSParserTokenRange& range) |
+static CSSValue* consumePage(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
return consumeCustomIdent(range); |
} |
-static RawPtr<CSSValue> consumeQuotes(CSSParserTokenRange& range) |
+static CSSValue* consumeQuotes(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* values = CSSValueList::createSpaceSeparated(); |
while (!range.atEnd()) { |
- RawPtr<CSSStringValue> parsedValue = consumeString(range); |
+ CSSStringValue* parsedValue = consumeString(range); |
if (!parsedValue) |
return nullptr; |
- values->append(parsedValue.release()); |
+ values->append(parsedValue); |
} |
if (values->length() && values->length() % 2 == 0) |
- return values.release(); |
+ return values; |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeWebkitHighlight(CSSParserTokenRange& range) |
+static CSSValue* consumeWebkitHighlight(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
return consumeString(range); |
} |
-static RawPtr<CSSValue> consumeFontVariantLigatures(CSSParserTokenRange& range) |
+static CSSValue* consumeFontVariantLigatures(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNormal) |
return consumeIdent(range); |
- RawPtr<CSSValueList> ligatureValues = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* ligatureValues = CSSValueList::createSpaceSeparated(); |
bool sawCommonLigaturesValue = false; |
bool sawDiscretionaryLigaturesValue = false; |
bool sawHistoricalLigaturesValue = false; |
@@ -464,17 +464,17 @@ static RawPtr<CSSValue> consumeFontVariantLigatures(CSSParserTokenRange& range) |
ligatureValues->append(consumeIdent(range)); |
} while (!range.atEnd()); |
- return ligatureValues.release(); |
+ return ligatureValues; |
} |
-static RawPtr<CSSPrimitiveValue> consumeFontVariant(CSSParserTokenRange& range) |
+static CSSPrimitiveValue* consumeFontVariant(CSSParserTokenRange& range) |
{ |
return consumeIdent<CSSValueNormal, CSSValueSmallCaps>(range); |
} |
-static RawPtr<CSSValue> consumeFontVariantList(CSSParserTokenRange& range) |
+static CSSValue* consumeFontVariantList(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSValueList> values = CSSValueList::createCommaSeparated(); |
+ CSSValueList* values = CSSValueList::createCommaSeparated(); |
do { |
if (range.peek().id() == CSSValueAll) { |
// FIXME: CSSPropertyParser::parseFontVariant() implements |
@@ -485,18 +485,18 @@ static RawPtr<CSSValue> consumeFontVariantList(CSSParserTokenRange& range) |
return nullptr; |
return consumeIdent(range); |
} |
- RawPtr<CSSPrimitiveValue> fontVariant = consumeFontVariant(range); |
+ CSSPrimitiveValue* fontVariant = consumeFontVariant(range); |
if (fontVariant) |
- values->append(fontVariant.release()); |
+ values->append(fontVariant); |
} while (consumeCommaIncludingWhitespace(range)); |
if (values->length()) |
- return values.release(); |
+ return values; |
return nullptr; |
} |
-static RawPtr<CSSPrimitiveValue> consumeFontWeight(CSSParserTokenRange& range) |
+static CSSPrimitiveValue* consumeFontWeight(CSSParserTokenRange& range) |
{ |
const CSSParserToken& token = range.peek(); |
if (token.id() >= CSSValueNormal && token.id() <= CSSValueLighter) |
@@ -527,7 +527,7 @@ static String concatenateFamilyName(CSSParserTokenRange& range) |
return builder.toString(); |
} |
-static RawPtr<CSSValue> consumeFamilyName(CSSParserTokenRange& range) |
+static CSSValue* consumeFamilyName(CSSParserTokenRange& range) |
{ |
if (range.peek().type() == StringToken) |
return cssValuePool().createFontFamilyValue(range.consumeIncludingWhitespace().value()); |
@@ -539,28 +539,31 @@ static RawPtr<CSSValue> consumeFamilyName(CSSParserTokenRange& range) |
return cssValuePool().createFontFamilyValue(familyName); |
} |
-static RawPtr<CSSValue> consumeGenericFamily(CSSParserTokenRange& range) |
+static CSSValue* consumeGenericFamily(CSSParserTokenRange& range) |
{ |
return consumeIdentRange(range, CSSValueSerif, CSSValueWebkitBody); |
} |
-static RawPtr<CSSValueList> consumeFontFamily(CSSParserTokenRange& range) |
+static CSSValueList* consumeFontFamily(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
+ CSSValueList* list = CSSValueList::createCommaSeparated(); |
do { |
- RawPtr<CSSValue> parsedValue = nullptr; |
- if ((parsedValue = consumeGenericFamily(range))) { |
- list->append(parsedValue); |
- } else if ((parsedValue = consumeFamilyName(range))) { |
+ CSSValue* parsedValue = consumeGenericFamily(range); |
+ if (parsedValue) { |
list->append(parsedValue); |
} else { |
- return nullptr; |
+ parsedValue = consumeFamilyName(range); |
+ if (parsedValue) { |
+ list->append(parsedValue); |
+ } else { |
+ return nullptr; |
+ } |
} |
} while (consumeCommaIncludingWhitespace(range)); |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValue> consumeSpacing(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeSpacing(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNormal) |
return consumeIdent(range); |
@@ -568,168 +571,172 @@ static RawPtr<CSSValue> consumeSpacing(CSSParserTokenRange& range, CSSParserMode |
return consumeLength(range, cssParserMode, ValueRangeAll, UnitlessQuirk::Allow); |
} |
-static RawPtr<CSSValue> consumeTabSize(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeTabSize(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSPrimitiveValue> parsedValue = consumeInteger(range, 0); |
+ CSSPrimitiveValue* parsedValue = consumeInteger(range, 0); |
if (parsedValue) |
return parsedValue; |
return consumeLength(range, cssParserMode, ValueRangeNonNegative); |
} |
-static RawPtr<CSSValue> consumeFontSize(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless = UnitlessQuirk::Forbid) |
+static CSSValue* consumeFontSize(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless = UnitlessQuirk::Forbid) |
{ |
if (range.peek().id() >= CSSValueXxSmall && range.peek().id() <= CSSValueLarger) |
return consumeIdent(range); |
return consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative, unitless); |
} |
-static RawPtr<CSSPrimitiveValue> consumeLineHeight(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSPrimitiveValue* consumeLineHeight(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNormal) |
return consumeIdent(range); |
- RawPtr<CSSPrimitiveValue> lineHeight = consumeNumber(range, ValueRangeNonNegative); |
+ CSSPrimitiveValue* lineHeight = consumeNumber(range, ValueRangeNonNegative); |
if (lineHeight) |
return lineHeight; |
return consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative); |
} |
-static RawPtr<CSSValueList> consumeRotation(CSSParserTokenRange& range) |
+static CSSValueList* consumeRotation(CSSParserTokenRange& range) |
{ |
ASSERT(RuntimeEnabledFeatures::cssIndependentTransformPropertiesEnabled()); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
- RawPtr<CSSValue> rotation = consumeAngle(range); |
+ CSSValue* rotation = consumeAngle(range); |
if (!rotation) |
return nullptr; |
- list->append(rotation.release()); |
+ list->append(rotation); |
if (range.atEnd()) |
- return list.release(); |
+ return list; |
for (unsigned i = 0; i < 3; i++) { // 3 dimensions of rotation |
- RawPtr<CSSValue> dimension = consumeNumber(range, ValueRangeAll); |
+ CSSValue* dimension = consumeNumber(range, ValueRangeAll); |
if (!dimension) |
return nullptr; |
- list->append(dimension.release()); |
+ list->append(dimension); |
} |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValueList> consumeScale(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValueList* consumeScale(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
ASSERT(RuntimeEnabledFeatures::cssIndependentTransformPropertiesEnabled()); |
- RawPtr<CSSValue> scale = consumeNumber(range, ValueRangeAll); |
+ CSSValue* scale = consumeNumber(range, ValueRangeAll); |
if (!scale) |
return nullptr; |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
- list->append(scale.release()); |
- if ((scale = consumeNumber(range, ValueRangeAll))) { |
- list->append(scale.release()); |
- if ((scale = consumeNumber(range, ValueRangeAll))) |
- list->append(scale.release()); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
+ list->append(scale); |
+ scale = consumeNumber(range, ValueRangeAll); |
+ if (scale) { |
+ list->append(scale); |
+ scale = consumeNumber(range, ValueRangeAll); |
+ if (scale) |
+ list->append(scale); |
} |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValueList> consumeTranslate(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValueList* consumeTranslate(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
ASSERT(RuntimeEnabledFeatures::cssIndependentTransformPropertiesEnabled()); |
- RawPtr<CSSValue> translate = consumeLengthOrPercent(range, cssParserMode, ValueRangeAll); |
+ CSSValue* translate = consumeLengthOrPercent(range, cssParserMode, ValueRangeAll); |
if (!translate) |
return nullptr; |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
- list->append(translate.release()); |
- if ((translate = consumeLengthOrPercent(range, cssParserMode, ValueRangeAll))) { |
- list->append(translate.release()); |
- if ((translate = consumeLength(range, cssParserMode, ValueRangeAll))) |
- list->append(translate.release()); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
+ list->append(translate); |
+ translate = consumeLengthOrPercent(range, cssParserMode, ValueRangeAll); |
+ if (translate) { |
+ list->append(translate); |
+ translate = consumeLength(range, cssParserMode, ValueRangeAll); |
+ if (translate) |
+ list->append(translate); |
} |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValue> consumeCounter(CSSParserTokenRange& range, CSSParserMode cssParserMode, int defaultValue) |
+static CSSValue* consumeCounter(CSSParserTokenRange& range, CSSParserMode cssParserMode, int defaultValue) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
do { |
- RawPtr<CSSCustomIdentValue> counterName = consumeCustomIdent(range); |
+ CSSCustomIdentValue* counterName = consumeCustomIdent(range); |
if (!counterName) |
return nullptr; |
int i = defaultValue; |
- if (RawPtr<CSSPrimitiveValue> counterValue = consumeInteger(range)) |
+ if (CSSPrimitiveValue* counterValue = consumeInteger(range)) |
i = clampTo<int>(counterValue->getDoubleValue()); |
- list->append(CSSValuePair::create(counterName.release(), |
+ list->append(CSSValuePair::create(counterName, |
cssValuePool().createValue(i, CSSPrimitiveValue::UnitType::Integer), |
CSSValuePair::DropIdenticalValues)); |
} while (!range.atEnd()); |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValue> consumePageSize(CSSParserTokenRange& range) |
+static CSSValue* consumePageSize(CSSParserTokenRange& range) |
{ |
return consumeIdent<CSSValueA3, CSSValueA4, CSSValueA5, CSSValueB4, CSSValueB5, CSSValueLedger, CSSValueLegal, CSSValueLetter>(range); |
} |
-static RawPtr<CSSValueList> consumeSize(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValueList* consumeSize(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSValueList> result = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* result = CSSValueList::createSpaceSeparated(); |
if (range.peek().id() == CSSValueAuto) { |
result->append(consumeIdent(range)); |
- return result.release(); |
+ return result; |
} |
- if (RawPtr<CSSValue> width = consumeLength(range, cssParserMode, ValueRangeNonNegative)) { |
- RawPtr<CSSValue> height = consumeLength(range, cssParserMode, ValueRangeNonNegative); |
- result->append(width.release()); |
+ if (CSSValue* width = consumeLength(range, cssParserMode, ValueRangeNonNegative)) { |
+ CSSValue* height = consumeLength(range, cssParserMode, ValueRangeNonNegative); |
+ result->append(width); |
if (height) |
- result->append(height.release()); |
- return result.release(); |
+ result->append(height); |
+ return result; |
} |
- RawPtr<CSSValue> pageSize = consumePageSize(range); |
- RawPtr<CSSValue> orientation = consumeIdent<CSSValuePortrait, CSSValueLandscape>(range); |
+ CSSValue* pageSize = consumePageSize(range); |
+ CSSValue* orientation = consumeIdent<CSSValuePortrait, CSSValueLandscape>(range); |
if (!pageSize) |
pageSize = consumePageSize(range); |
if (!orientation && !pageSize) |
return nullptr; |
if (pageSize) |
- result->append(pageSize.release()); |
+ result->append(pageSize); |
if (orientation) |
- result->append(orientation.release()); |
- return result.release(); |
+ result->append(orientation); |
+ return result; |
} |
-static RawPtr<CSSValue> consumeSnapHeight(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeSnapHeight(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSPrimitiveValue> unit = consumeLength(range, cssParserMode, ValueRangeNonNegative); |
+ CSSPrimitiveValue* unit = consumeLength(range, cssParserMode, ValueRangeNonNegative); |
if (!unit) |
return nullptr; |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
- list->append(unit.release()); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
+ list->append(unit); |
- if (RawPtr<CSSPrimitiveValue> position = consumePositiveInteger(range)) { |
+ if (CSSPrimitiveValue* position = consumePositiveInteger(range)) { |
if (position->getIntValue() > 100) |
return nullptr; |
- list->append(position.release()); |
+ list->append(position); |
} |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValue> consumeTextIndent(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeTextIndent(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
// [ <length> | <percentage> ] && hanging? && each-line? |
// Keywords only allowed when css3Text is enabled. |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
bool hasLengthOrPercentage = false; |
bool hasEachLine = false; |
@@ -737,8 +744,8 @@ static RawPtr<CSSValue> consumeTextIndent(CSSParserTokenRange& range, CSSParserM |
do { |
if (!hasLengthOrPercentage) { |
- if (RawPtr<CSSValue> textIndent = consumeLengthOrPercent(range, cssParserMode, ValueRangeAll, UnitlessQuirk::Allow)) { |
- list->append(textIndent.release()); |
+ if (CSSValue* textIndent = consumeLengthOrPercent(range, cssParserMode, ValueRangeAll, UnitlessQuirk::Allow)) { |
+ list->append(textIndent); |
hasLengthOrPercentage = true; |
continue; |
} |
@@ -763,7 +770,7 @@ static RawPtr<CSSValue> consumeTextIndent(CSSParserTokenRange& range, CSSParserM |
if (!hasLengthOrPercentage) |
return nullptr; |
- return list.release(); |
+ return list; |
} |
static bool validWidthOrHeightKeyword(CSSValueID id, const CSSParserContext& context) |
@@ -793,35 +800,35 @@ static bool validWidthOrHeightKeyword(CSSValueID id, const CSSParserContext& con |
return false; |
} |
-static RawPtr<CSSValue> consumeMaxWidthOrHeight(CSSParserTokenRange& range, const CSSParserContext& context, UnitlessQuirk unitless = UnitlessQuirk::Forbid) |
+static CSSValue* consumeMaxWidthOrHeight(CSSParserTokenRange& range, const CSSParserContext& context, UnitlessQuirk unitless = UnitlessQuirk::Forbid) |
{ |
if (range.peek().id() == CSSValueNone || validWidthOrHeightKeyword(range.peek().id(), context)) |
return consumeIdent(range); |
return consumeLengthOrPercent(range, context.mode(), ValueRangeNonNegative, unitless); |
} |
-static RawPtr<CSSValue> consumeWidthOrHeight(CSSParserTokenRange& range, const CSSParserContext& context, UnitlessQuirk unitless = UnitlessQuirk::Forbid) |
+static CSSValue* consumeWidthOrHeight(CSSParserTokenRange& range, const CSSParserContext& context, UnitlessQuirk unitless = UnitlessQuirk::Forbid) |
{ |
if (range.peek().id() == CSSValueAuto || validWidthOrHeightKeyword(range.peek().id(), context)) |
return consumeIdent(range); |
return consumeLengthOrPercent(range, context.mode(), ValueRangeNonNegative, unitless); |
} |
-static RawPtr<CSSValue> consumeMarginOrOffset(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
+static CSSValue* consumeMarginOrOffset(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
return consumeLengthOrPercent(range, cssParserMode, ValueRangeAll, unitless); |
} |
-static RawPtr<CSSPrimitiveValue> consumeClipComponent(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSPrimitiveValue* consumeClipComponent(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
return consumeLength(range, cssParserMode, ValueRangeAll, UnitlessQuirk::Allow); |
} |
-static RawPtr<CSSValue> consumeClip(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeClip(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
@@ -831,23 +838,23 @@ static RawPtr<CSSValue> consumeClip(CSSParserTokenRange& range, CSSParserMode cs |
CSSParserTokenRange args = consumeFunction(range); |
// rect(t, r, b, l) || rect(t r b l) |
- RawPtr<CSSPrimitiveValue> top = consumeClipComponent(args, cssParserMode); |
+ CSSPrimitiveValue* top = consumeClipComponent(args, cssParserMode); |
if (!top) |
return nullptr; |
bool needsComma = consumeCommaIncludingWhitespace(args); |
- RawPtr<CSSPrimitiveValue> right = consumeClipComponent(args, cssParserMode); |
+ CSSPrimitiveValue* right = consumeClipComponent(args, cssParserMode); |
if (!right || (needsComma && !consumeCommaIncludingWhitespace(args))) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> bottom = consumeClipComponent(args, cssParserMode); |
+ CSSPrimitiveValue* bottom = consumeClipComponent(args, cssParserMode); |
if (!bottom || (needsComma && !consumeCommaIncludingWhitespace(args))) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> left = consumeClipComponent(args, cssParserMode); |
+ CSSPrimitiveValue* left = consumeClipComponent(args, cssParserMode); |
if (!left || !args.atEnd()) |
return nullptr; |
- return CSSQuadValue::create(top.release(), right.release(), bottom.release(), left.release(), CSSQuadValue::SerializeAsRect); |
+ return CSSQuadValue::create(top, right, bottom, left, CSSQuadValue::SerializeAsRect); |
} |
-static bool consumePan(CSSParserTokenRange& range, RawPtr<CSSValue>& panX, RawPtr<CSSValue>& panY) |
+static bool consumePan(CSSParserTokenRange& range, CSSValue*& panX, CSSValue*& panY) |
{ |
CSSValueID id = range.peek().id(); |
if ((id == CSSValuePanX || id == CSSValuePanRight || id == CSSValuePanLeft) && !panX) { |
@@ -864,82 +871,82 @@ static bool consumePan(CSSParserTokenRange& range, RawPtr<CSSValue>& panX, RawPt |
return true; |
} |
-static RawPtr<CSSValue> consumeTouchAction(CSSParserTokenRange& range) |
+static CSSValue* consumeTouchAction(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
CSSValueID id = range.peek().id(); |
if (id == CSSValueAuto || id == CSSValueNone || id == CSSValueManipulation) { |
list->append(consumeIdent(range)); |
- return list.release(); |
+ return list; |
} |
- RawPtr<CSSValue> panX = nullptr; |
- RawPtr<CSSValue> panY = nullptr; |
+ CSSValue* panX = nullptr; |
+ CSSValue* panY = nullptr; |
if (!consumePan(range, panX, panY)) |
return nullptr; |
if (!range.atEnd() && !consumePan(range, panX, panY)) |
return nullptr; |
if (panX) |
- list->append(panX.release()); |
+ list->append(panX); |
if (panY) |
- list->append(panY.release()); |
- return list.release(); |
+ list->append(panY); |
+ return list; |
} |
-static RawPtr<CSSPrimitiveValue> consumeLineClamp(CSSParserTokenRange& range) |
+static CSSPrimitiveValue* consumeLineClamp(CSSParserTokenRange& range) |
{ |
if (range.peek().type() != PercentageToken && range.peek().type() != NumberToken) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> clampValue = consumePercent(range, ValueRangeNonNegative); |
+ CSSPrimitiveValue* clampValue = consumePercent(range, ValueRangeNonNegative); |
if (clampValue) |
return clampValue; |
// When specifying number of lines, don't allow 0 as a valid value. |
return consumePositiveInteger(range); |
} |
-static RawPtr<CSSValue> consumeLocale(CSSParserTokenRange& range) |
+static CSSValue* consumeLocale(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
return consumeString(range); |
} |
-static RawPtr<CSSValue> consumeColumnWidth(CSSParserTokenRange& range) |
+static CSSValue* consumeColumnWidth(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
// Always parse lengths in strict mode here, since it would be ambiguous otherwise when used in |
// the 'columns' shorthand property. |
- RawPtr<CSSPrimitiveValue> columnWidth = consumeLength(range, HTMLStandardMode, ValueRangeNonNegative); |
+ CSSPrimitiveValue* columnWidth = consumeLength(range, HTMLStandardMode, ValueRangeNonNegative); |
if (!columnWidth || (!columnWidth->isCalculated() && columnWidth->getDoubleValue() == 0)) |
return nullptr; |
- return columnWidth.release(); |
+ return columnWidth; |
} |
-static RawPtr<CSSValue> consumeColumnCount(CSSParserTokenRange& range) |
+static CSSValue* consumeColumnCount(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
return consumePositiveInteger(range); |
} |
-static RawPtr<CSSValue> consumeColumnGap(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeColumnGap(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNormal) |
return consumeIdent(range); |
return consumeLength(range, cssParserMode, ValueRangeNonNegative); |
} |
-static RawPtr<CSSValue> consumeColumnSpan(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeColumnSpan(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
return consumeIdent<CSSValueAll, CSSValueNone>(range); |
} |
-static RawPtr<CSSValue> consumeZoom(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeZoom(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
const CSSParserToken& token = range.peek(); |
- RawPtr<CSSPrimitiveValue> zoom = nullptr; |
+ CSSPrimitiveValue* zoom = nullptr; |
if (token.type() == IdentToken) { |
zoom = consumeIdent<CSSValueNormal, CSSValueReset, CSSValueDocument>(range); |
} else { |
@@ -952,17 +959,17 @@ static RawPtr<CSSValue> consumeZoom(CSSParserTokenRange& range, const CSSParserC |
|| (token.type() == NumberToken && zoom->getDoubleValue() == 1) |
|| (token.type() == PercentageToken && zoom->getDoubleValue() == 100))) |
context.useCounter()->count(UseCounter::CSSZoomNotEqualToOne); |
- return zoom.release(); |
+ return zoom; |
} |
-static RawPtr<CSSValue> consumeAnimationIterationCount(CSSParserTokenRange& range) |
+static CSSValue* consumeAnimationIterationCount(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueInfinite) |
return consumeIdent(range); |
return consumeNumber(range, ValueRangeNonNegative); |
} |
-static RawPtr<CSSValue> consumeAnimationName(CSSParserTokenRange& range, const CSSParserContext& context, bool allowQuotedName) |
+static CSSValue* consumeAnimationName(CSSParserTokenRange& range, const CSSParserContext& context, bool allowQuotedName) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
@@ -981,7 +988,7 @@ static RawPtr<CSSValue> consumeAnimationName(CSSParserTokenRange& range, const C |
return consumeCustomIdent(range); |
} |
-static RawPtr<CSSValue> consumeTransitionProperty(CSSParserTokenRange& range) |
+static CSSValue* consumeTransitionProperty(CSSParserTokenRange& range) |
{ |
const CSSParserToken& token = range.peek(); |
if (token.type() != IdentToken) |
@@ -997,13 +1004,13 @@ static RawPtr<CSSValue> consumeTransitionProperty(CSSParserTokenRange& range) |
return consumeCustomIdent(range); |
} |
-static RawPtr<CSSValue> consumeSteps(CSSParserTokenRange& range) |
+static CSSValue* consumeSteps(CSSParserTokenRange& range) |
{ |
ASSERT(range.peek().functionId() == CSSValueSteps); |
CSSParserTokenRange rangeCopy = range; |
CSSParserTokenRange args = consumeFunction(rangeCopy); |
- RawPtr<CSSPrimitiveValue> steps = consumePositiveInteger(args); |
+ CSSPrimitiveValue* steps = consumePositiveInteger(args); |
if (!steps) |
return nullptr; |
@@ -1033,7 +1040,7 @@ static RawPtr<CSSValue> consumeSteps(CSSParserTokenRange& range) |
return CSSStepsTimingFunctionValue::create(steps->getIntValue(), position); |
} |
-static RawPtr<CSSValue> consumeCubicBezier(CSSParserTokenRange& range) |
+static CSSValue* consumeCubicBezier(CSSParserTokenRange& range) |
{ |
ASSERT(range.peek().functionId() == CSSValueCubicBezier); |
CSSParserTokenRange rangeCopy = range; |
@@ -1057,7 +1064,7 @@ static RawPtr<CSSValue> consumeCubicBezier(CSSParserTokenRange& range) |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeAnimationTimingFunction(CSSParserTokenRange& range) |
+static CSSValue* consumeAnimationTimingFunction(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueEase || id == CSSValueLinear || id == CSSValueEaseIn |
@@ -1073,7 +1080,7 @@ static RawPtr<CSSValue> consumeAnimationTimingFunction(CSSParserTokenRange& rang |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeAnimationValue(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context, bool useLegacyParsing) |
+static CSSValue* consumeAnimationValue(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context, bool useLegacyParsing) |
{ |
switch (property) { |
case CSSPropertyAnimationDelay: |
@@ -1115,25 +1122,25 @@ static bool isValidAnimationPropertyList(CSSPropertyID property, const CSSValueL |
return true; |
} |
-static RawPtr<CSSValueList> consumeAnimationPropertyList(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context, bool useLegacyParsing) |
+static CSSValueList* consumeAnimationPropertyList(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context, bool useLegacyParsing) |
{ |
- RawPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
+ CSSValueList* list = CSSValueList::createCommaSeparated(); |
do { |
- RawPtr<CSSValue> value = consumeAnimationValue(property, range, context, useLegacyParsing); |
+ CSSValue* value = consumeAnimationValue(property, range, context, useLegacyParsing); |
if (!value) |
return nullptr; |
- list->append(value.release()); |
+ list->append(value); |
} while (consumeCommaIncludingWhitespace(range)); |
if (!isValidAnimationPropertyList(property, *list)) |
return nullptr; |
ASSERT(list->length()); |
- return list.release(); |
+ return list; |
} |
bool CSSPropertyParser::consumeAnimationShorthand(const StylePropertyShorthand& shorthand, bool useLegacyParsing, bool important) |
{ |
const unsigned longhandCount = shorthand.length(); |
- RawPtr<CSSValueList> longhands[8]; |
+ CSSValueList* longhands[8]; |
ASSERT(longhandCount <= 8); |
for (size_t i = 0; i < longhandCount; ++i) |
longhands[i] = CSSValueList::createCommaSeparated(); |
@@ -1146,10 +1153,10 @@ bool CSSPropertyParser::consumeAnimationShorthand(const StylePropertyShorthand& |
if (parsedLonghand[i]) |
continue; |
- if (RawPtr<CSSValue> value = consumeAnimationValue(shorthand.properties()[i], m_range, m_context, useLegacyParsing)) { |
+ if (CSSValue* value = consumeAnimationValue(shorthand.properties()[i], m_range, m_context, useLegacyParsing)) { |
parsedLonghand[i] = true; |
foundProperty = true; |
- longhands[i]->append(value.release()); |
+ longhands[i]->append(value); |
break; |
} |
} |
@@ -1171,12 +1178,12 @@ bool CSSPropertyParser::consumeAnimationShorthand(const StylePropertyShorthand& |
} |
for (size_t i = 0; i < longhandCount; ++i) |
- addProperty(shorthand.properties()[i], longhands[i].release(), important); |
+ addProperty(shorthand.properties()[i], longhands[i], important); |
return m_range.atEnd(); |
} |
-static RawPtr<CSSValue> consumeWidowsOrOrphans(CSSParserTokenRange& range) |
+static CSSValue* consumeWidowsOrOrphans(CSSParserTokenRange& range) |
{ |
// Support for auto is non-standard and for backwards compatibility. |
if (range.peek().id() == CSSValueAuto) |
@@ -1184,17 +1191,17 @@ static RawPtr<CSSValue> consumeWidowsOrOrphans(CSSParserTokenRange& range) |
return consumePositiveInteger(range); |
} |
-static RawPtr<CSSValue> consumeZIndex(CSSParserTokenRange& range) |
+static CSSValue* consumeZIndex(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
return consumeInteger(range); |
} |
-static RawPtr<CSSShadowValue> parseSingleShadow(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool allowInset, bool allowSpread) |
+static CSSShadowValue* parseSingleShadow(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool allowInset, bool allowSpread) |
{ |
- RawPtr<CSSPrimitiveValue> style = nullptr; |
- RawPtr<CSSValue> color = nullptr; |
+ CSSPrimitiveValue* style = nullptr; |
+ CSSValue* color = nullptr; |
if (range.atEnd()) |
return nullptr; |
@@ -1205,16 +1212,16 @@ static RawPtr<CSSShadowValue> parseSingleShadow(CSSParserTokenRange& range, CSSP |
} |
color = consumeColor(range, cssParserMode); |
- RawPtr<CSSPrimitiveValue> horizontalOffset = consumeLength(range, cssParserMode, ValueRangeAll); |
+ CSSPrimitiveValue* horizontalOffset = consumeLength(range, cssParserMode, ValueRangeAll); |
if (!horizontalOffset) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> verticalOffset = consumeLength(range, cssParserMode, ValueRangeAll); |
+ CSSPrimitiveValue* verticalOffset = consumeLength(range, cssParserMode, ValueRangeAll); |
if (!verticalOffset) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> blurRadius = consumeLength(range, cssParserMode, ValueRangeAll); |
- RawPtr<CSSPrimitiveValue> spreadDistance = nullptr; |
+ CSSPrimitiveValue* blurRadius = consumeLength(range, cssParserMode, ValueRangeAll); |
+ CSSPrimitiveValue* spreadDistance = nullptr; |
if (blurRadius) { |
// Blur radius must be non-negative. |
if (blurRadius->getDoubleValue() < 0) |
@@ -1232,40 +1239,40 @@ static RawPtr<CSSShadowValue> parseSingleShadow(CSSParserTokenRange& range, CSSP |
style = consumeIdent(range); |
} |
} |
- return CSSShadowValue::create(horizontalOffset.release(), verticalOffset.release(), blurRadius.release(), |
- spreadDistance.release(), style.release(), color.release()); |
+ return CSSShadowValue::create(horizontalOffset, verticalOffset, blurRadius, |
+ spreadDistance, style, color); |
} |
-static RawPtr<CSSValue> consumeShadow(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool isBoxShadowProperty) |
+static CSSValue* consumeShadow(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool isBoxShadowProperty) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> shadowValueList = CSSValueList::createCommaSeparated(); |
+ CSSValueList* shadowValueList = CSSValueList::createCommaSeparated(); |
do { |
- if (RawPtr<CSSShadowValue> shadowValue = parseSingleShadow(range, cssParserMode, isBoxShadowProperty, isBoxShadowProperty)) |
- shadowValueList->append(shadowValue.release()); |
+ if (CSSShadowValue* shadowValue = parseSingleShadow(range, cssParserMode, isBoxShadowProperty, isBoxShadowProperty)) |
+ shadowValueList->append(shadowValue); |
else |
return nullptr; |
} while (consumeCommaIncludingWhitespace(range)); |
return shadowValueList; |
} |
-static RawPtr<CSSFunctionValue> consumeFilterFunction(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSFunctionValue* consumeFilterFunction(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
CSSValueID filterType = range.peek().functionId(); |
if (filterType < CSSValueInvert || filterType > CSSValueDropShadow) |
return nullptr; |
CSSParserTokenRange args = consumeFunction(range); |
- RawPtr<CSSFunctionValue> filterValue = CSSFunctionValue::create(filterType); |
- RawPtr<CSSValue> parsedValue = nullptr; |
+ CSSFunctionValue* filterValue = CSSFunctionValue::create(filterType); |
+ CSSValue* parsedValue = nullptr; |
if (filterType == CSSValueDropShadow) { |
parsedValue = parseSingleShadow(args, cssParserMode, false, false); |
} else { |
// TODO(timloh): Add UseCounters for empty filter arguments. |
if (args.atEnd()) |
- return filterValue.release(); |
+ return filterValue; |
if (filterType == CSSValueBrightness) { |
// FIXME (crbug.com/397061): Support calc expressions like calc(10% + 0.5) |
parsedValue = consumePercent(args, ValueRangeAll); |
@@ -1281,27 +1288,27 @@ static RawPtr<CSSFunctionValue> consumeFilterFunction(CSSParserTokenRange& range |
if (!parsedValue) |
parsedValue = consumeNumber(args, ValueRangeNonNegative); |
if (parsedValue && filterType != CSSValueSaturate && filterType != CSSValueContrast) { |
- double maxAllowed = toCSSPrimitiveValue(parsedValue.get())->isPercentage() ? 100.0 : 1.0; |
- if (toCSSPrimitiveValue(parsedValue.get())->getDoubleValue() > maxAllowed) |
+ double maxAllowed = toCSSPrimitiveValue(parsedValue)->isPercentage() ? 100.0 : 1.0; |
+ if (toCSSPrimitiveValue(parsedValue)->getDoubleValue() > maxAllowed) |
return nullptr; |
} |
} |
} |
if (!parsedValue || !args.atEnd()) |
return nullptr; |
- filterValue->append(parsedValue.release()); |
- return filterValue.release(); |
+ filterValue->append(parsedValue); |
+ return filterValue; |
} |
-static RawPtr<CSSValue> consumeFilter(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeFilter(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
do { |
String url = consumeUrl(range); |
- RawPtr<CSSFunctionValue> filterValue = nullptr; |
+ CSSFunctionValue* filterValue = nullptr; |
if (!url.isNull()) { |
filterValue = CSSFunctionValue::create(CSSValueUrl); |
filterValue->append(CSSSVGDocumentValue::create(url)); |
@@ -1310,55 +1317,59 @@ static RawPtr<CSSValue> consumeFilter(CSSParserTokenRange& range, CSSParserMode |
if (!filterValue) |
return nullptr; |
} |
- list->append(filterValue.release()); |
+ list->append(filterValue); |
} while (!range.atEnd()); |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValue> consumeTextDecorationLine(CSSParserTokenRange& range) |
+static CSSValue* consumeTextDecorationLine(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
- RawPtr<CSSPrimitiveValue> ident = nullptr; |
- while ((ident = consumeIdent<CSSValueBlink, CSSValueUnderline, CSSValueOverline, CSSValueLineThrough>(range))) { |
- if (list->hasValue(ident.get())) |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
+ while (true) { |
+ CSSPrimitiveValue* ident = consumeIdent<CSSValueBlink, CSSValueUnderline, CSSValueOverline, CSSValueLineThrough>(range); |
+ if (!ident) |
+ break; |
+ if (list->hasValue(ident)) |
return nullptr; |
- list->append(ident.release()); |
+ list->append(ident); |
} |
if (!list->length()) |
return nullptr; |
- return list.release(); |
+ return list; |
} |
// none | strict | [ layout || style || paint ] |
-static RawPtr<CSSValue> consumeContain(CSSParserTokenRange& range) |
+static CSSValue* consumeContain(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
if (id == CSSValueStrict) { |
list->append(consumeIdent(range)); |
- return list.release(); |
+ return list; |
} |
- RawPtr<CSSPrimitiveValue> ident = nullptr; |
- while ((ident = consumeIdent<CSSValuePaint, CSSValueLayout, CSSValueStyle>(range))) { |
- if (list->hasValue(ident.get())) |
+ while (true) { |
+ CSSPrimitiveValue* ident = consumeIdent<CSSValuePaint, CSSValueLayout, CSSValueStyle>(range); |
+ if (!ident) |
+ break; |
+ if (list->hasValue(ident)) |
return nullptr; |
- list->append(ident.release()); |
+ list->append(ident); |
} |
if (!list->length()) |
return nullptr; |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValue> consumePath(CSSParserTokenRange& range) |
+static CSSValue* consumePath(CSSParserTokenRange& range) |
{ |
// FIXME: Add support for <url>, <basic-shape>, <geometry-box>. |
if (range.peek().functionId() != CSSValuePath) |
@@ -1382,7 +1393,7 @@ static RawPtr<CSSValue> consumePath(CSSParserTokenRange& range) |
return CSSPathValue::create(byteStream.release()); |
} |
-static RawPtr<CSSValue> consumePathOrNone(CSSParserTokenRange& range) |
+static CSSValue* consumePathOrNone(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueNone) |
@@ -1391,51 +1402,51 @@ static RawPtr<CSSValue> consumePathOrNone(CSSParserTokenRange& range) |
return consumePath(range); |
} |
-static RawPtr<CSSValue> consumeMotionRotation(CSSParserTokenRange& range) |
+static CSSValue* consumeMotionRotation(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSValue> angle = consumeAngle(range); |
- RawPtr<CSSValue> keyword = consumeIdent<CSSValueAuto, CSSValueReverse>(range); |
+ CSSValue* angle = consumeAngle(range); |
+ CSSValue* keyword = consumeIdent<CSSValueAuto, CSSValueReverse>(range); |
if (!angle && !keyword) |
return nullptr; |
if (!angle) |
angle = consumeAngle(range); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
if (keyword) |
- list->append(keyword.release()); |
+ list->append(keyword); |
if (angle) |
- list->append(angle.release()); |
- return list.release(); |
+ list->append(angle); |
+ return list; |
} |
-static RawPtr<CSSValue> consumeTextEmphasisStyle(CSSParserTokenRange& range) |
+static CSSValue* consumeTextEmphasisStyle(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueNone) |
return consumeIdent(range); |
- if (RawPtr<CSSValue> textEmphasisStyle = consumeString(range)) |
- return textEmphasisStyle.release(); |
+ if (CSSValue* textEmphasisStyle = consumeString(range)) |
+ return textEmphasisStyle; |
- RawPtr<CSSPrimitiveValue> fill = consumeIdent<CSSValueFilled, CSSValueOpen>(range); |
- RawPtr<CSSPrimitiveValue> shape = consumeIdent<CSSValueDot, CSSValueCircle, CSSValueDoubleCircle, CSSValueTriangle, CSSValueSesame>(range); |
+ CSSPrimitiveValue* fill = consumeIdent<CSSValueFilled, CSSValueOpen>(range); |
+ CSSPrimitiveValue* shape = consumeIdent<CSSValueDot, CSSValueCircle, CSSValueDoubleCircle, CSSValueTriangle, CSSValueSesame>(range); |
if (!fill) |
fill = consumeIdent<CSSValueFilled, CSSValueOpen>(range); |
if (fill && shape) { |
- RawPtr<CSSValueList> parsedValues = CSSValueList::createSpaceSeparated(); |
- parsedValues->append(fill.release()); |
- parsedValues->append(shape.release()); |
- return parsedValues.release(); |
+ CSSValueList* parsedValues = CSSValueList::createSpaceSeparated(); |
+ parsedValues->append(fill); |
+ parsedValues->append(shape); |
+ return parsedValues; |
} |
if (fill) |
- return fill.release(); |
+ return fill; |
if (shape) |
- return shape.release(); |
+ return shape; |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeOutlineColor(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static 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. |
@@ -1444,7 +1455,7 @@ static RawPtr<CSSValue> consumeOutlineColor(CSSParserTokenRange& range, CSSParse |
return consumeColor(range, cssParserMode); |
} |
-static RawPtr<CSSPrimitiveValue> consumeLineWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
+static CSSPrimitiveValue* consumeLineWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueThin || id == CSSValueMedium || id == CSSValueThick) |
@@ -1452,25 +1463,25 @@ static RawPtr<CSSPrimitiveValue> consumeLineWidth(CSSParserTokenRange& range, CS |
return consumeLength(range, cssParserMode, ValueRangeNonNegative, unitless); |
} |
-static RawPtr<CSSPrimitiveValue> consumeBorderWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
+static CSSPrimitiveValue* consumeBorderWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode, UnitlessQuirk unitless) |
{ |
return consumeLineWidth(range, cssParserMode, unitless); |
} |
-static RawPtr<CSSPrimitiveValue> consumeTextStrokeWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSPrimitiveValue* consumeTextStrokeWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
return consumeLineWidth(range, cssParserMode, UnitlessQuirk::Forbid); |
} |
-static RawPtr<CSSPrimitiveValue> consumeColumnRuleWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSPrimitiveValue* consumeColumnRuleWidth(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
return consumeLineWidth(range, cssParserMode, UnitlessQuirk::Forbid); |
} |
-static bool consumeTranslate3d(CSSParserTokenRange& args, CSSParserMode cssParserMode, RawPtr<CSSFunctionValue>& transformValue) |
+static bool consumeTranslate3d(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSFunctionValue*& transformValue) |
{ |
unsigned numberOfArguments = 2; |
- RawPtr<CSSValue> parsedValue = nullptr; |
+ CSSValue* parsedValue = nullptr; |
do { |
parsedValue = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll); |
if (!parsedValue) |
@@ -1486,10 +1497,10 @@ static bool consumeTranslate3d(CSSParserTokenRange& args, CSSParserMode cssParse |
return true; |
} |
-static bool consumeNumbers(CSSParserTokenRange& args, RawPtr<CSSFunctionValue>& transformValue, unsigned numberOfArguments) |
+static bool consumeNumbers(CSSParserTokenRange& args, CSSFunctionValue*& transformValue, unsigned numberOfArguments) |
{ |
do { |
- RawPtr<CSSValue> parsedValue = consumeNumber(args, ValueRangeAll); |
+ CSSValue* parsedValue = consumeNumber(args, ValueRangeAll); |
if (!parsedValue) |
return false; |
transformValue->append(parsedValue); |
@@ -1499,9 +1510,9 @@ static bool consumeNumbers(CSSParserTokenRange& args, RawPtr<CSSFunctionValue>& |
return true; |
} |
-static bool consumePerspective(CSSParserTokenRange& args, CSSParserMode cssParserMode, RawPtr<CSSFunctionValue>& transformValue, bool useLegacyParsing) |
+static bool consumePerspective(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSFunctionValue*& transformValue, bool useLegacyParsing) |
{ |
- RawPtr<CSSPrimitiveValue> parsedValue = consumeLength(args, cssParserMode, ValueRangeNonNegative); |
+ CSSPrimitiveValue* parsedValue = consumeLength(args, cssParserMode, ValueRangeNonNegative); |
if (!parsedValue && useLegacyParsing) { |
double perspective; |
if (!consumeNumberRaw(args, perspective) || perspective < 0) |
@@ -1514,7 +1525,7 @@ static bool consumePerspective(CSSParserTokenRange& args, CSSParserMode cssParse |
return true; |
} |
-static RawPtr<CSSValue> consumeTransformValue(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool useLegacyParsing) |
+static CSSValue* consumeTransformValue(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool useLegacyParsing) |
{ |
CSSValueID functionId = range.peek().functionId(); |
if (functionId == CSSValueInvalid) |
@@ -1522,8 +1533,8 @@ static RawPtr<CSSValue> consumeTransformValue(CSSParserTokenRange& range, CSSPar |
CSSParserTokenRange args = consumeFunction(range); |
if (args.atEnd()) |
return nullptr; |
- RawPtr<CSSFunctionValue> transformValue = CSSFunctionValue::create(functionId); |
- RawPtr<CSSValue> parsedValue = nullptr; |
+ CSSFunctionValue* transformValue = CSSFunctionValue::create(functionId); |
+ CSSValue* parsedValue = nullptr; |
switch (functionId) { |
case CSSValueRotate: |
case CSSValueRotateX: |
@@ -1603,27 +1614,27 @@ static RawPtr<CSSValue> consumeTransformValue(CSSParserTokenRange& range, CSSPar |
transformValue->append(parsedValue); |
if (!args.atEnd()) |
return nullptr; |
- return transformValue.release(); |
+ return transformValue; |
} |
-static RawPtr<CSSValue> consumeTransform(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool useLegacyParsing) |
+static CSSValue* consumeTransform(CSSParserTokenRange& range, CSSParserMode cssParserMode, bool useLegacyParsing) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
do { |
- RawPtr<CSSValue> parsedTransformValue = consumeTransformValue(range, cssParserMode, useLegacyParsing); |
+ CSSValue* parsedTransformValue = consumeTransformValue(range, cssParserMode, useLegacyParsing); |
if (!parsedTransformValue) |
return nullptr; |
- list->append(parsedTransformValue.release()); |
+ list->append(parsedTransformValue); |
} while (!range.atEnd()); |
- return list.release(); |
+ return list; |
} |
template <CSSValueID start, CSSValueID end> |
-static RawPtr<CSSValue> consumePositionLonghand(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumePositionLonghand(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().type() == IdentToken) { |
CSSValueID id = range.peek().id(); |
@@ -1642,47 +1653,47 @@ static RawPtr<CSSValue> consumePositionLonghand(CSSParserTokenRange& range, CSSP |
return consumeLengthOrPercent(range, cssParserMode, ValueRangeAll); |
} |
-static RawPtr<CSSValue> consumePositionX(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumePositionX(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
return consumePositionLonghand<CSSValueLeft, CSSValueRight>(range, cssParserMode); |
} |
-static RawPtr<CSSValue> consumePositionY(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumePositionY(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
return consumePositionLonghand<CSSValueTop, CSSValueBottom>(range, cssParserMode); |
} |
-static RawPtr<CSSValue> consumePaintStroke(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumePaintStroke(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
String url = consumeUrl(range); |
if (!url.isNull()) { |
- RawPtr<CSSValue> parsedValue = nullptr; |
+ CSSValue* parsedValue = nullptr; |
if (range.peek().id() == CSSValueNone) |
parsedValue = consumeIdent(range); |
else |
parsedValue = consumeColor(range, cssParserMode); |
if (parsedValue) { |
- RawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* values = CSSValueList::createSpaceSeparated(); |
values->append(CSSURIValue::create(url)); |
values->append(parsedValue); |
- return values.release(); |
+ return values; |
} |
return CSSURIValue::create(url); |
} |
return consumeColor(range, cssParserMode); |
} |
-static RawPtr<CSSValue> consumePaintOrder(CSSParserTokenRange& range) |
+static CSSValue* consumePaintOrder(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNormal) |
return consumeIdent(range); |
Vector<CSSValueID, 3> paintTypeList; |
- RawPtr<CSSPrimitiveValue> fill = nullptr; |
- RawPtr<CSSPrimitiveValue> stroke = nullptr; |
- RawPtr<CSSPrimitiveValue> markers = nullptr; |
+ CSSPrimitiveValue* fill = nullptr; |
+ CSSPrimitiveValue* stroke = nullptr; |
+ CSSPrimitiveValue* markers = nullptr; |
do { |
CSSValueID id = range.peek().id(); |
if (id == CSSValueFill && !fill) |
@@ -1700,31 +1711,31 @@ static RawPtr<CSSValue> consumePaintOrder(CSSParserTokenRange& range) |
// pop a last list items from CSSValueList without bigger cost, we create the |
// list after parsing. |
CSSValueID firstPaintOrderType = paintTypeList.at(0); |
- RawPtr<CSSValueList> paintOrderList = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* paintOrderList = CSSValueList::createSpaceSeparated(); |
switch (firstPaintOrderType) { |
case CSSValueFill: |
case CSSValueStroke: |
- paintOrderList->append(firstPaintOrderType == CSSValueFill ? fill.release() : stroke.release()); |
+ paintOrderList->append(firstPaintOrderType == CSSValueFill ? fill : stroke); |
if (paintTypeList.size() > 1) { |
if (paintTypeList.at(1) == CSSValueMarkers) |
- paintOrderList->append(markers.release()); |
+ paintOrderList->append(markers); |
} |
break; |
case CSSValueMarkers: |
- paintOrderList->append(markers.release()); |
+ paintOrderList->append(markers); |
if (paintTypeList.size() > 1) { |
if (paintTypeList.at(1) == CSSValueStroke) |
- paintOrderList->append(stroke.release()); |
+ paintOrderList->append(stroke); |
} |
break; |
default: |
ASSERT_NOT_REACHED(); |
} |
- return paintOrderList.release(); |
+ return paintOrderList; |
} |
-static RawPtr<CSSValue> consumeNoneOrURI(CSSParserTokenRange& range) |
+static CSSValue* consumeNoneOrURI(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
@@ -1735,7 +1746,7 @@ static RawPtr<CSSValue> consumeNoneOrURI(CSSParserTokenRange& range) |
return CSSURIValue::create(url); |
} |
-static RawPtr<CSSValue> consumeFlexBasis(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeFlexBasis(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
// FIXME: Support intrinsic dimensions too. |
if (range.peek().id() == CSSValueAuto) |
@@ -1743,23 +1754,23 @@ static RawPtr<CSSValue> consumeFlexBasis(CSSParserTokenRange& range, CSSParserMo |
return consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative); |
} |
-static RawPtr<CSSValue> consumeStrokeDasharray(CSSParserTokenRange& range) |
+static CSSValue* consumeStrokeDasharray(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSValueList> dashes = CSSValueList::createCommaSeparated(); |
+ CSSValueList* dashes = CSSValueList::createCommaSeparated(); |
do { |
- RawPtr<CSSPrimitiveValue> dash = consumeLengthOrPercent(range, SVGAttributeMode, ValueRangeNonNegative, UnitlessQuirk::Allow); |
+ CSSPrimitiveValue* dash = consumeLengthOrPercent(range, SVGAttributeMode, ValueRangeNonNegative, UnitlessQuirk::Allow); |
if (!dash || (consumeCommaIncludingWhitespace(range) && range.atEnd())) |
return nullptr; |
- dashes->append(dash.release()); |
+ dashes->append(dash); |
} while (!range.atEnd()); |
- return dashes.release(); |
+ return dashes; |
} |
-static RawPtr<CSSPrimitiveValue> consumeBaselineShift(CSSParserTokenRange& range) |
+static CSSPrimitiveValue* consumeBaselineShift(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueBaseline || id == CSSValueSub || id == CSSValueSuper) |
@@ -1767,24 +1778,24 @@ static RawPtr<CSSPrimitiveValue> consumeBaselineShift(CSSParserTokenRange& range |
return consumeLengthOrPercent(range, SVGAttributeMode, ValueRangeAll); |
} |
-static RawPtr<CSSValue> createCSSImageValueWithReferrer(const AtomicString& rawValue, const CSSParserContext& context) |
+static CSSValue* createCSSImageValueWithReferrer(const AtomicString& rawValue, const CSSParserContext& context) |
{ |
- RawPtr<CSSValue> imageValue = CSSImageValue::create(rawValue, context.completeURL(rawValue)); |
- toCSSImageValue(imageValue.get())->setReferrer(context.referrer()); |
+ CSSValue* imageValue = CSSImageValue::create(rawValue, context.completeURL(rawValue)); |
+ toCSSImageValue(imageValue)->setReferrer(context.referrer()); |
return imageValue; |
} |
-static RawPtr<CSSValue> consumeImageSet(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeImageSet(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
CSSParserTokenRange rangeCopy = range; |
CSSParserTokenRange args = consumeFunction(rangeCopy); |
- RawPtr<CSSImageSetValue> imageSet = CSSImageSetValue::create(); |
+ CSSImageSetValue* imageSet = CSSImageSetValue::create(); |
do { |
AtomicString urlValue(consumeUrl(args)); |
if (urlValue.isNull()) |
return nullptr; |
- RawPtr<CSSValue> image = createCSSImageValueWithReferrer(urlValue, context); |
+ CSSValue* image = createCSSImageValueWithReferrer(urlValue, context); |
imageSet->append(image); |
const CSSParserToken& token = args.consumeIncludingWhitespace(); |
@@ -1801,14 +1812,14 @@ static RawPtr<CSSValue> consumeImageSet(CSSParserTokenRange& range, const CSSPar |
if (!args.atEnd()) |
return nullptr; |
range = rangeCopy; |
- return imageSet.release(); |
+ return imageSet; |
} |
-static RawPtr<CSSValue> consumeCursor(CSSParserTokenRange& range, const CSSParserContext& context, bool inQuirksMode) |
+static CSSValue* consumeCursor(CSSParserTokenRange& range, const CSSParserContext& context, bool inQuirksMode) |
{ |
- RawPtr<CSSValueList> list = nullptr; |
+ CSSValueList* list = nullptr; |
while (true) { |
- RawPtr<CSSValue> image = nullptr; |
+ CSSValue* image = nullptr; |
AtomicString uri(consumeUrl(range)); |
if (!uri.isNull()) { |
image = createCSSImageValueWithReferrer(uri, context); |
@@ -1846,7 +1857,7 @@ static RawPtr<CSSValue> consumeCursor(CSSParserTokenRange& range, const CSSParse |
else if (id == CSSValueWebkitZoomOut) |
context.useCounter()->count(UseCounter::PrefixedCursorZoomOut); |
} |
- RawPtr<CSSValue> cursorType = nullptr; |
+ CSSValue* cursorType = nullptr; |
if (id == CSSValueHand) { |
if (!inQuirksMode) // Non-standard behavior |
return nullptr; |
@@ -1859,13 +1870,13 @@ static RawPtr<CSSValue> consumeCursor(CSSParserTokenRange& range, const CSSParse |
} |
if (!list) |
- return cursorType.release(); |
- list->append(cursorType.release()); |
- return list.release(); |
+ return cursorType; |
+ list->append(cursorType); |
+ return list; |
} |
// This should go away once we drop support for -webkit-gradient |
-static RawPtr<CSSPrimitiveValue> consumeDeprecatedGradientPoint(CSSParserTokenRange& args, bool horizontal) |
+static CSSPrimitiveValue* consumeDeprecatedGradientPoint(CSSParserTokenRange& args, bool horizontal) |
{ |
if (args.peek().type() == IdentToken) { |
if ((horizontal && consumeIdent<CSSValueLeft>(args)) || (!horizontal && consumeIdent<CSSValueTop>(args))) |
@@ -1876,14 +1887,14 @@ static RawPtr<CSSPrimitiveValue> consumeDeprecatedGradientPoint(CSSParserTokenRa |
return cssValuePool().createValue(50., CSSPrimitiveValue::UnitType::Percentage); |
return nullptr; |
} |
- RawPtr<CSSPrimitiveValue> result = consumePercent(args, ValueRangeAll); |
+ CSSPrimitiveValue* result = consumePercent(args, ValueRangeAll); |
if (!result) |
result = consumeNumber(args, ValueRangeAll); |
return result; |
} |
// Used to parse colors for -webkit-gradient(...). |
-static RawPtr<CSSValue> consumeDeprecatedGradientStopColor(CSSParserTokenRange& args, CSSParserMode cssParserMode) |
+static CSSValue* consumeDeprecatedGradientStopColor(CSSParserTokenRange& args, CSSParserMode cssParserMode) |
{ |
if (args.peek().id() == CSSValueCurrentcolor) |
return nullptr; |
@@ -1919,9 +1930,9 @@ static bool consumeDeprecatedGradientColorStop(CSSParserTokenRange& range, CSSGr |
return stop.m_color && args.atEnd(); |
} |
-static RawPtr<CSSValue> consumeDeprecatedGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode) |
+static CSSValue* consumeDeprecatedGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSGradientValue> result = nullptr; |
+ CSSGradientValue* result = nullptr; |
CSSValueID id = args.consumeIncludingWhitespace().id(); |
bool isDeprecatedRadialGradient = (id == CSSValueRadial); |
if (isDeprecatedRadialGradient) |
@@ -1931,43 +1942,43 @@ static RawPtr<CSSValue> consumeDeprecatedGradient(CSSParserTokenRange& args, CSS |
if (!result || !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> point = consumeDeprecatedGradientPoint(args, true); |
+ CSSPrimitiveValue* point = consumeDeprecatedGradientPoint(args, true); |
if (!point) |
return nullptr; |
- result->setFirstX(point.release()); |
+ result->setFirstX(point); |
point = consumeDeprecatedGradientPoint(args, false); |
if (!point) |
return nullptr; |
- result->setFirstY(point.release()); |
+ result->setFirstY(point); |
if (!consumeCommaIncludingWhitespace(args)) |
return nullptr; |
// For radial gradients only, we now expect a numeric radius. |
if (isDeprecatedRadialGradient) { |
- RawPtr<CSSPrimitiveValue> radius = consumeNumber(args, ValueRangeAll); |
+ CSSPrimitiveValue* radius = consumeNumber(args, ValueRangeAll); |
if (!radius || !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- toCSSRadialGradientValue(result.get())->setFirstRadius(radius.release()); |
+ toCSSRadialGradientValue(result)->setFirstRadius(radius); |
} |
point = consumeDeprecatedGradientPoint(args, true); |
if (!point) |
return nullptr; |
- result->setSecondX(point.release()); |
+ result->setSecondX(point); |
point = consumeDeprecatedGradientPoint(args, false); |
if (!point) |
return nullptr; |
- result->setSecondY(point.release()); |
+ result->setSecondY(point); |
// For radial gradients only, we now expect the second radius. |
if (isDeprecatedRadialGradient) { |
if (!consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> radius = consumeNumber(args, ValueRangeAll); |
+ CSSPrimitiveValue* radius = consumeNumber(args, ValueRangeAll); |
if (!radius) |
return nullptr; |
- toCSSRadialGradientValue(result.get())->setSecondRadius(radius.release()); |
+ toCSSRadialGradientValue(result)->setSecondRadius(radius); |
} |
CSSGradientColorStop stop; |
@@ -1977,7 +1988,7 @@ static RawPtr<CSSValue> consumeDeprecatedGradient(CSSParserTokenRange& args, CSS |
result->addStop(stop); |
} |
- return result.release(); |
+ return result; |
} |
static bool consumeGradientColorStops(CSSParserTokenRange& range, CSSParserMode cssParserMode, CSSGradientValue* gradient) |
@@ -2007,22 +2018,22 @@ static bool consumeGradientColorStops(CSSParserTokenRange& range, CSSParserMode |
return gradient->stopCount() >= 2; |
} |
-static RawPtr<CSSValue> consumeDeprecatedRadialGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSGradientRepeat repeating) |
+static CSSValue* consumeDeprecatedRadialGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSGradientRepeat repeating) |
{ |
- RawPtr<CSSRadialGradientValue> result = CSSRadialGradientValue::create(repeating, CSSPrefixedRadialGradient); |
- RawPtr<CSSValue> centerX = nullptr; |
- RawPtr<CSSValue> centerY = nullptr; |
+ CSSRadialGradientValue* result = CSSRadialGradientValue::create(repeating, CSSPrefixedRadialGradient); |
+ CSSValue* centerX = nullptr; |
+ CSSValue* centerY = nullptr; |
consumeOneOrTwoValuedPosition(args, cssParserMode, UnitlessQuirk::Forbid, centerX, centerY); |
if ((centerX || centerY) && !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- result->setFirstX(toCSSPrimitiveValue(centerX.get())); |
- result->setSecondX(toCSSPrimitiveValue(centerX.get())); |
- result->setFirstY(toCSSPrimitiveValue(centerY.get())); |
- result->setSecondY(toCSSPrimitiveValue(centerY.get())); |
+ result->setFirstX(toCSSPrimitiveValue(centerX)); |
+ result->setSecondX(toCSSPrimitiveValue(centerX)); |
+ result->setFirstY(toCSSPrimitiveValue(centerY)); |
+ result->setSecondY(toCSSPrimitiveValue(centerY)); |
- RawPtr<CSSPrimitiveValue> shape = consumeIdent<CSSValueCircle, CSSValueEllipse>(args); |
- RawPtr<CSSPrimitiveValue> sizeKeyword = consumeIdent<CSSValueClosestSide, CSSValueClosestCorner, CSSValueFarthestSide, CSSValueFarthestCorner, CSSValueContain, CSSValueCover>(args); |
+ CSSPrimitiveValue* shape = consumeIdent<CSSValueCircle, CSSValueEllipse>(args); |
+ CSSPrimitiveValue* sizeKeyword = consumeIdent<CSSValueClosestSide, CSSValueClosestCorner, CSSValueFarthestSide, CSSValueFarthestCorner, CSSValueContain, CSSValueCover>(args); |
if (!shape) |
shape = consumeIdent<CSSValueCircle, CSSValueEllipse>(args); |
result->setShape(shape); |
@@ -2030,9 +2041,9 @@ static RawPtr<CSSValue> consumeDeprecatedRadialGradient(CSSParserTokenRange& arg |
// Or, two lengths or percentages |
if (!shape && !sizeKeyword) { |
- RawPtr<CSSPrimitiveValue> horizontalSize = nullptr; |
- RawPtr<CSSPrimitiveValue> verticalSize = nullptr; |
- if ((horizontalSize = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll))) { |
+ CSSPrimitiveValue* horizontalSize = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll); |
+ CSSPrimitiveValue* verticalSize = nullptr; |
+ if (horizontalSize) { |
verticalSize = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll); |
if (!verticalSize) |
return nullptr; |
@@ -2043,20 +2054,20 @@ static RawPtr<CSSValue> consumeDeprecatedRadialGradient(CSSParserTokenRange& arg |
} else { |
consumeCommaIncludingWhitespace(args); |
} |
- if (!consumeGradientColorStops(args, cssParserMode, result.get())) |
+ if (!consumeGradientColorStops(args, cssParserMode, result)) |
return nullptr; |
- return result.release(); |
+ return result; |
} |
-static RawPtr<CSSValue> consumeRadialGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSGradientRepeat repeating) |
+static CSSValue* consumeRadialGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSGradientRepeat repeating) |
{ |
- RawPtr<CSSRadialGradientValue> result = CSSRadialGradientValue::create(repeating, CSSRadialGradient); |
+ CSSRadialGradientValue* result = CSSRadialGradientValue::create(repeating, CSSRadialGradient); |
- RawPtr<CSSPrimitiveValue> shape = nullptr; |
- RawPtr<CSSPrimitiveValue> sizeKeyword = nullptr; |
- RawPtr<CSSPrimitiveValue> horizontalSize = nullptr; |
- RawPtr<CSSPrimitiveValue> verticalSize = nullptr; |
+ CSSPrimitiveValue* shape = nullptr; |
+ CSSPrimitiveValue* sizeKeyword = nullptr; |
+ CSSPrimitiveValue* horizontalSize = nullptr; |
+ CSSPrimitiveValue* verticalSize = nullptr; |
// First part of grammar, the size/shape clause: |
// [ circle || <length> ] | |
@@ -2077,14 +2088,15 @@ static RawPtr<CSSValue> consumeRadialGradient(CSSParserTokenRange& args, CSSPars |
break; |
} |
} else { |
- RawPtr<CSSPrimitiveValue> center = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll); |
+ CSSPrimitiveValue* center = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll); |
if (!center) |
break; |
if (horizontalSize) |
return nullptr; |
horizontalSize = center; |
- if ((center = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll))) { |
- verticalSize = center.release(); |
+ center = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll); |
+ if (center) { |
+ verticalSize = center; |
++i; |
} |
} |
@@ -2109,8 +2121,8 @@ static RawPtr<CSSValue> consumeRadialGradient(CSSParserTokenRange& args, CSSPars |
result->setEndHorizontalSize(horizontalSize); |
result->setEndVerticalSize(verticalSize); |
- RawPtr<CSSValue> centerX = nullptr; |
- RawPtr<CSSValue> centerY = nullptr; |
+ CSSValue* centerX = nullptr; |
+ CSSValue* centerY = nullptr; |
if (args.peek().id() == CSSValueAt) { |
args.consumeIncludingWhitespace(); |
consumePosition(args, cssParserMode, UnitlessQuirk::Forbid, centerX, centerY); |
@@ -2125,22 +2137,22 @@ static RawPtr<CSSValue> consumeRadialGradient(CSSParserTokenRange& args, CSSPars |
if ((shape || sizeKeyword || horizontalSize || centerX || centerY) && !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- if (!consumeGradientColorStops(args, cssParserMode, result.get())) |
+ if (!consumeGradientColorStops(args, cssParserMode, result)) |
return nullptr; |
- return result.release(); |
+ return result; |
} |
-static RawPtr<CSSValue> consumeLinearGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSGradientRepeat repeating, CSSGradientType gradientType) |
+static CSSValue* consumeLinearGradient(CSSParserTokenRange& args, CSSParserMode cssParserMode, CSSGradientRepeat repeating, CSSGradientType gradientType) |
{ |
- RawPtr<CSSLinearGradientValue> result = CSSLinearGradientValue::create(repeating, gradientType); |
+ CSSLinearGradientValue* result = CSSLinearGradientValue::create(repeating, gradientType); |
bool expectComma = true; |
- RawPtr<CSSPrimitiveValue> angle = consumeAngle(args); |
+ CSSPrimitiveValue* angle = consumeAngle(args); |
if (angle) { |
- result->setAngle(angle.release()); |
+ result->setAngle(angle); |
} else if (gradientType == CSSPrefixedLinearGradient || consumeIdent<CSSValueTo>(args)) { |
- RawPtr<CSSPrimitiveValue> endX = consumeIdent<CSSValueLeft, CSSValueRight>(args); |
- RawPtr<CSSPrimitiveValue> endY = consumeIdent<CSSValueBottom, CSSValueTop>(args); |
+ CSSPrimitiveValue* endX = consumeIdent<CSSValueLeft, CSSValueRight>(args); |
+ CSSPrimitiveValue* endY = consumeIdent<CSSValueBottom, CSSValueTop>(args); |
if (!endX && !endY) { |
if (gradientType == CSSLinearGradient) |
return nullptr; |
@@ -2150,31 +2162,31 @@ static RawPtr<CSSValue> consumeLinearGradient(CSSParserTokenRange& args, CSSPars |
endX = consumeIdent<CSSValueLeft, CSSValueRight>(args); |
} |
- result->setFirstX(endX.release()); |
- result->setFirstY(endY.release()); |
+ result->setFirstX(endX); |
+ result->setFirstY(endY); |
} else { |
expectComma = false; |
} |
if (expectComma && !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- if (!consumeGradientColorStops(args, cssParserMode, result.get())) |
+ if (!consumeGradientColorStops(args, cssParserMode, result)) |
return nullptr; |
- return result.release(); |
+ return result; |
} |
-static RawPtr<CSSValue> consumeImageOrNone(CSSParserTokenRange&, CSSParserContext); |
+static CSSValue* consumeImageOrNone(CSSParserTokenRange&, CSSParserContext); |
-static RawPtr<CSSValue> consumeCrossFade(CSSParserTokenRange& args, CSSParserContext context) |
+static CSSValue* consumeCrossFade(CSSParserTokenRange& args, CSSParserContext context) |
{ |
- RawPtr<CSSValue> fromImageValue = consumeImageOrNone(args, context); |
+ CSSValue* fromImageValue = consumeImageOrNone(args, context); |
if (!fromImageValue || !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- RawPtr<CSSValue> toImageValue = consumeImageOrNone(args, context); |
+ CSSValue* toImageValue = consumeImageOrNone(args, context); |
if (!toImageValue || !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> percentage = nullptr; |
+ CSSPrimitiveValue* percentage = nullptr; |
const CSSParserToken& percentageArg = args.consumeIncludingWhitespace(); |
if (percentageArg.type() == PercentageToken) |
percentage = cssValuePool().createValue(clampTo<double>(percentageArg.numericValue() / 100, 0, 1), CSSPrimitiveValue::UnitType::Number); |
@@ -2186,23 +2198,23 @@ static RawPtr<CSSValue> consumeCrossFade(CSSParserTokenRange& args, CSSParserCon |
return CSSCrossfadeValue::create(fromImageValue, toImageValue, percentage); |
} |
-static RawPtr<CSSValue> consumePaint(CSSParserTokenRange& args, CSSParserContext context) |
+static CSSValue* consumePaint(CSSParserTokenRange& args, CSSParserContext context) |
{ |
ASSERT(RuntimeEnabledFeatures::cssPaintAPIEnabled()); |
- RawPtr<CSSCustomIdentValue> name = consumeCustomIdent(args); |
+ CSSCustomIdentValue* name = consumeCustomIdent(args); |
if (!name) |
return nullptr; |
- return CSSPaintValue::create(name.release()); |
+ return CSSPaintValue::create(name); |
} |
-static RawPtr<CSSValue> consumeGeneratedImage(CSSParserTokenRange& range, CSSParserContext context) |
+static CSSValue* consumeGeneratedImage(CSSParserTokenRange& range, CSSParserContext context) |
{ |
CSSValueID id = range.peek().functionId(); |
CSSParserTokenRange rangeCopy = range; |
CSSParserTokenRange args = consumeFunction(rangeCopy); |
- RawPtr<CSSValue> result = nullptr; |
+ CSSValue* result = nullptr; |
if (id == CSSValueRadialGradient) { |
result = consumeRadialGradient(args, context.mode(), NonRepeating); |
} else if (id == CSSValueRepeatingRadialGradient) { |
@@ -2255,7 +2267,7 @@ static bool isGeneratedImage(CSSValueID id) |
|| id == CSSValueWebkitGradient || id == CSSValueWebkitCrossFade || id == CSSValuePaint; |
} |
-static RawPtr<CSSValue> consumeImage(CSSParserTokenRange& range, CSSParserContext context) |
+static CSSValue* consumeImage(CSSParserTokenRange& range, CSSParserContext context) |
{ |
AtomicString uri(consumeUrl(range)); |
if (!uri.isNull()) |
@@ -2270,14 +2282,14 @@ static RawPtr<CSSValue> consumeImage(CSSParserTokenRange& range, CSSParserContex |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeImageOrNone(CSSParserTokenRange& range, CSSParserContext context) |
+static CSSValue* consumeImageOrNone(CSSParserTokenRange& range, CSSParserContext context) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
return consumeImage(range, context); |
} |
-static RawPtr<CSSValue> consumeAttr(CSSParserTokenRange args, CSSParserContext context) |
+static CSSValue* consumeAttr(CSSParserTokenRange args, CSSParserContext context) |
{ |
if (args.peek().type() != IdentToken) |
return nullptr; |
@@ -2293,19 +2305,19 @@ static RawPtr<CSSValue> consumeAttr(CSSParserTokenRange args, CSSParserContext c |
if (context.isHTMLDocument()) |
attrName = attrName.lower(); |
- RawPtr<CSSFunctionValue> attrValue = CSSFunctionValue::create(CSSValueAttr); |
+ CSSFunctionValue* attrValue = CSSFunctionValue::create(CSSValueAttr); |
attrValue->append(CSSCustomIdentValue::create(attrName)); |
- return attrValue.release(); |
+ return attrValue; |
} |
-static RawPtr<CSSValue> consumeCounterContent(CSSParserTokenRange args, bool counters) |
+static CSSValue* consumeCounterContent(CSSParserTokenRange args, bool counters) |
{ |
- RawPtr<CSSCustomIdentValue> identifier = consumeCustomIdent(args); |
+ CSSCustomIdentValue* identifier = consumeCustomIdent(args); |
if (!identifier) |
return nullptr; |
// TODO(timloh): Make this a CSSStringValue. |
- RawPtr<CSSCustomIdentValue> separator = nullptr; |
+ CSSCustomIdentValue* separator = nullptr; |
if (!counters) { |
separator = CSSCustomIdentValue::create(String()); |
} else { |
@@ -2316,7 +2328,7 @@ static RawPtr<CSSValue> consumeCounterContent(CSSParserTokenRange args, bool cou |
separator = CSSCustomIdentValue::create(args.consumeIncludingWhitespace().value()); |
} |
- RawPtr<CSSPrimitiveValue> listStyle = nullptr; |
+ CSSPrimitiveValue* listStyle = nullptr; |
if (consumeCommaIncludingWhitespace(args)) { |
CSSValueID id = args.peek().id(); |
if ((id != CSSValueNone && (id < CSSValueDisc || id > CSSValueKatakanaIroha))) |
@@ -2328,18 +2340,18 @@ static RawPtr<CSSValue> consumeCounterContent(CSSParserTokenRange args, bool cou |
if (!args.atEnd()) |
return nullptr; |
- return CSSCounterValue::create(identifier.release(), listStyle.release(), separator.release()); |
+ return CSSCounterValue::create(identifier, listStyle, separator); |
} |
-static RawPtr<CSSValue> consumeContent(CSSParserTokenRange& range, CSSParserContext context) |
+static CSSValue* consumeContent(CSSParserTokenRange& range, CSSParserContext context) |
{ |
if (identMatches<CSSValueNone, CSSValueNormal>(range.peek().id())) |
return consumeIdent(range); |
- RawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* values = CSSValueList::createSpaceSeparated(); |
do { |
- RawPtr<CSSValue> parsedValue = consumeImage(range, context); |
+ CSSValue* parsedValue = consumeImage(range, context); |
if (!parsedValue) |
parsedValue = consumeIdent<CSSValueOpenQuote, CSSValueCloseQuote, CSSValueNoOpenQuote, CSSValueNoCloseQuote>(range); |
if (!parsedValue) |
@@ -2354,17 +2366,17 @@ static RawPtr<CSSValue> consumeContent(CSSParserTokenRange& range, CSSParserCont |
if (!parsedValue) |
return nullptr; |
} |
- values->append(parsedValue.release()); |
+ values->append(parsedValue); |
} while (!range.atEnd()); |
- return values.release(); |
+ return values; |
} |
-static RawPtr<CSSPrimitiveValue> consumePerspective(CSSParserTokenRange& range, CSSParserMode cssParserMode, CSSPropertyID unresolvedProperty) |
+static CSSPrimitiveValue* consumePerspective(CSSParserTokenRange& range, CSSParserMode cssParserMode, CSSPropertyID unresolvedProperty) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
- RawPtr<CSSPrimitiveValue> parsedValue = consumeLength(range, cssParserMode, ValueRangeAll); |
+ CSSPrimitiveValue* parsedValue = consumeLength(range, cssParserMode, ValueRangeAll); |
if (!parsedValue && (unresolvedProperty == CSSPropertyAliasWebkitPerspective)) { |
double perspective; |
if (!consumeNumberRaw(range, perspective)) |
@@ -2372,113 +2384,113 @@ static RawPtr<CSSPrimitiveValue> consumePerspective(CSSParserTokenRange& range, |
parsedValue = cssValuePool().createValue(perspective, CSSPrimitiveValue::UnitType::Pixels); |
} |
if (parsedValue && (parsedValue->isCalculated() || parsedValue->getDoubleValue() > 0)) |
- return parsedValue.release(); |
+ return parsedValue; |
return nullptr; |
} |
-static RawPtr<CSSValueList> consumePositionList(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValueList* consumePositionList(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSValueList> positions = CSSValueList::createCommaSeparated(); |
+ CSSValueList* positions = CSSValueList::createCommaSeparated(); |
do { |
- RawPtr<CSSValue> position = consumePosition(range, cssParserMode, UnitlessQuirk::Forbid); |
+ CSSValue* position = consumePosition(range, cssParserMode, UnitlessQuirk::Forbid); |
if (!position) |
return nullptr; |
positions->append(position); |
} while (consumeCommaIncludingWhitespace(range)); |
- return positions.release(); |
+ return positions; |
} |
-static RawPtr<CSSValue> consumeScrollSnapCoordinate(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeScrollSnapCoordinate(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
return consumePositionList(range, cssParserMode); |
} |
-static RawPtr<CSSValue> consumeScrollSnapPoints(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeScrollSnapPoints(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
if (range.peek().functionId() == CSSValueRepeat) { |
CSSParserTokenRange args = consumeFunction(range); |
- RawPtr<CSSPrimitiveValue> parsedValue = consumeLengthOrPercent(args, cssParserMode, ValueRangeNonNegative); |
+ CSSPrimitiveValue* parsedValue = consumeLengthOrPercent(args, cssParserMode, ValueRangeNonNegative); |
if (args.atEnd() && parsedValue && (parsedValue->isCalculated() || parsedValue->getDoubleValue() > 0)) { |
- RawPtr<CSSFunctionValue> result = CSSFunctionValue::create(CSSValueRepeat); |
- result->append(parsedValue.release()); |
- return result.release(); |
+ CSSFunctionValue* result = CSSFunctionValue::create(CSSValueRepeat); |
+ result->append(parsedValue); |
+ return result; |
} |
} |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeBorderRadiusCorner(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeBorderRadiusCorner(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSValue> parsedValue1 = consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative); |
+ CSSValue* parsedValue1 = consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative); |
if (!parsedValue1) |
return nullptr; |
- RawPtr<CSSValue> parsedValue2 = consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative); |
+ CSSValue* parsedValue2 = consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative); |
if (!parsedValue2) |
parsedValue2 = parsedValue1; |
- return CSSValuePair::create(parsedValue1.release(), parsedValue2.release(), CSSValuePair::DropIdenticalValues); |
+ return CSSValuePair::create(parsedValue1, parsedValue2, CSSValuePair::DropIdenticalValues); |
} |
-static RawPtr<CSSPrimitiveValue> consumeVerticalAlign(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSPrimitiveValue* consumeVerticalAlign(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSPrimitiveValue> parsedValue = consumeIdentRange(range, CSSValueBaseline, CSSValueWebkitBaselineMiddle); |
+ CSSPrimitiveValue* parsedValue = consumeIdentRange(range, CSSValueBaseline, CSSValueWebkitBaselineMiddle); |
if (!parsedValue) |
parsedValue = consumeLengthOrPercent(range, cssParserMode, ValueRangeAll, UnitlessQuirk::Allow); |
- return parsedValue.release(); |
+ return parsedValue; |
} |
-static RawPtr<CSSPrimitiveValue> consumeShapeRadius(CSSParserTokenRange& args, CSSParserMode cssParserMode) |
+static CSSPrimitiveValue* consumeShapeRadius(CSSParserTokenRange& args, CSSParserMode cssParserMode) |
{ |
if (identMatches<CSSValueClosestSide, CSSValueFarthestSide>(args.peek().id())) |
return consumeIdent(args); |
return consumeLengthOrPercent(args, cssParserMode, ValueRangeNonNegative); |
} |
-static RawPtr<CSSBasicShapeCircleValue> consumeBasicShapeCircle(CSSParserTokenRange& args, const CSSParserContext& context) |
+static CSSBasicShapeCircleValue* consumeBasicShapeCircle(CSSParserTokenRange& args, const CSSParserContext& context) |
{ |
// spec: https://drafts.csswg.org/css-shapes/#supported-basic-shapes |
// circle( [<shape-radius>]? [at <position>]? ) |
- RawPtr<CSSBasicShapeCircleValue> shape = CSSBasicShapeCircleValue::create(); |
- if (RawPtr<CSSPrimitiveValue> radius = consumeShapeRadius(args, context.mode())) |
- shape->setRadius(radius.release()); |
+ CSSBasicShapeCircleValue* shape = CSSBasicShapeCircleValue::create(); |
+ if (CSSPrimitiveValue* radius = consumeShapeRadius(args, context.mode())) |
+ shape->setRadius(radius); |
if (consumeIdent<CSSValueAt>(args)) { |
- RawPtr<CSSValue> centerX = nullptr; |
- RawPtr<CSSValue> centerY = nullptr; |
+ CSSValue* centerX = nullptr; |
+ CSSValue* centerY = nullptr; |
if (!consumePosition(args, context.mode(), UnitlessQuirk::Forbid, centerX, centerY)) |
return nullptr; |
shape->setCenterX(centerX); |
shape->setCenterY(centerY); |
} |
- return shape.release(); |
+ return shape; |
} |
-static RawPtr<CSSBasicShapeEllipseValue> consumeBasicShapeEllipse(CSSParserTokenRange& args, const CSSParserContext& context) |
+static CSSBasicShapeEllipseValue* consumeBasicShapeEllipse(CSSParserTokenRange& args, const CSSParserContext& context) |
{ |
// spec: https://drafts.csswg.org/css-shapes/#supported-basic-shapes |
// ellipse( [<shape-radius>{2}]? [at <position>]? ) |
- RawPtr<CSSBasicShapeEllipseValue> shape = CSSBasicShapeEllipseValue::create(); |
- if (RawPtr<CSSPrimitiveValue> radiusX = consumeShapeRadius(args, context.mode())) { |
+ CSSBasicShapeEllipseValue* shape = CSSBasicShapeEllipseValue::create(); |
+ if (CSSPrimitiveValue* radiusX = consumeShapeRadius(args, context.mode())) { |
shape->setRadiusX(radiusX); |
- if (RawPtr<CSSPrimitiveValue> radiusY = consumeShapeRadius(args, context.mode())) |
+ if (CSSPrimitiveValue* radiusY = consumeShapeRadius(args, context.mode())) |
shape->setRadiusY(radiusY); |
} |
if (consumeIdent<CSSValueAt>(args)) { |
- RawPtr<CSSValue> centerX = nullptr; |
- RawPtr<CSSValue> centerY = nullptr; |
+ CSSValue* centerX = nullptr; |
+ CSSValue* centerY = nullptr; |
if (!consumePosition(args, context.mode(), UnitlessQuirk::Forbid, centerX, centerY)) |
return nullptr; |
shape->setCenterX(centerX); |
shape->setCenterY(centerY); |
} |
- return shape.release(); |
+ return shape; |
} |
-static RawPtr<CSSBasicShapePolygonValue> consumeBasicShapePolygon(CSSParserTokenRange& args, const CSSParserContext& context) |
+static CSSBasicShapePolygonValue* consumeBasicShapePolygon(CSSParserTokenRange& args, const CSSParserContext& context) |
{ |
- RawPtr<CSSBasicShapePolygonValue> shape = CSSBasicShapePolygonValue::create(); |
+ CSSBasicShapePolygonValue* shape = CSSBasicShapePolygonValue::create(); |
if (identMatches<CSSValueEvenodd, CSSValueNonzero>(args.peek().id())) { |
shape->setWindRule(args.consumeIncludingWhitespace().id() == CSSValueEvenodd ? RULE_EVENODD : RULE_NONZERO); |
if (!consumeCommaIncludingWhitespace(args)) |
@@ -2486,18 +2498,18 @@ static RawPtr<CSSBasicShapePolygonValue> consumeBasicShapePolygon(CSSParserToken |
} |
do { |
- RawPtr<CSSPrimitiveValue> xLength = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
+ CSSPrimitiveValue* xLength = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
if (!xLength) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> yLength = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
+ CSSPrimitiveValue* yLength = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
if (!yLength) |
return nullptr; |
- shape->appendPoint(xLength.release(), yLength.release()); |
+ shape->appendPoint(xLength, yLength); |
} while (consumeCommaIncludingWhitespace(args)); |
- return shape.release(); |
+ return shape; |
} |
-static void complete4Sides(RawPtr<CSSPrimitiveValue> side[4]) |
+static void complete4Sides(CSSPrimitiveValue* side[4]) |
{ |
if (side[3]) |
return; |
@@ -2509,7 +2521,7 @@ static void complete4Sides(RawPtr<CSSPrimitiveValue> side[4]) |
side[3] = side[1]; |
} |
-static bool consumeRadii(RawPtr<CSSPrimitiveValue> horizontalRadii[4], RawPtr<CSSPrimitiveValue> verticalRadii[4], CSSParserTokenRange& range, CSSParserMode cssParserMode, bool useLegacyParsing) |
+static bool consumeRadii(CSSPrimitiveValue* horizontalRadii[4], CSSPrimitiveValue* verticalRadii[4], CSSParserTokenRange& range, CSSParserMode cssParserMode, bool useLegacyParsing) |
{ |
#if ENABLE(OILPAN) |
// Unconditionally zero initialize the arrays of raw pointers. |
@@ -2551,44 +2563,45 @@ static bool consumeRadii(RawPtr<CSSPrimitiveValue> horizontalRadii[4], RawPtr<CS |
return true; |
} |
-static RawPtr<CSSBasicShapeInsetValue> consumeBasicShapeInset(CSSParserTokenRange& args, const CSSParserContext& context) |
+static CSSBasicShapeInsetValue* consumeBasicShapeInset(CSSParserTokenRange& args, const CSSParserContext& context) |
{ |
- RawPtr<CSSBasicShapeInsetValue> shape = CSSBasicShapeInsetValue::create(); |
- RawPtr<CSSPrimitiveValue> top = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
+ CSSBasicShapeInsetValue* shape = CSSBasicShapeInsetValue::create(); |
+ CSSPrimitiveValue* top = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
if (!top) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> right = nullptr; |
- RawPtr<CSSPrimitiveValue> bottom = nullptr; |
- RawPtr<CSSPrimitiveValue> left = nullptr; |
- if ((right = consumeLengthOrPercent(args, context.mode(), ValueRangeAll))) { |
- if ((bottom = consumeLengthOrPercent(args, context.mode(), ValueRangeAll))) |
+ CSSPrimitiveValue* right = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
+ CSSPrimitiveValue* bottom = nullptr; |
+ CSSPrimitiveValue* left = nullptr; |
+ if (right) { |
+ bottom = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
+ if (bottom) |
left = consumeLengthOrPercent(args, context.mode(), ValueRangeAll); |
} |
if (left) |
- shape->updateShapeSize4Values(top.get(), right.get(), bottom.get(), left.get()); |
+ shape->updateShapeSize4Values(top, right, bottom, left); |
else if (bottom) |
- shape->updateShapeSize3Values(top.get(), right.get(), bottom.get()); |
+ shape->updateShapeSize3Values(top, right, bottom); |
else if (right) |
- shape->updateShapeSize2Values(top.get(), right.get()); |
+ shape->updateShapeSize2Values(top, right); |
else |
- shape->updateShapeSize1Value(top.get()); |
+ shape->updateShapeSize1Value(top); |
if (consumeIdent<CSSValueRound>(args)) { |
- RawPtr<CSSPrimitiveValue> horizontalRadii[4]; |
- RawPtr<CSSPrimitiveValue> verticalRadii[4]; |
+ CSSPrimitiveValue* horizontalRadii[4]; |
+ CSSPrimitiveValue* verticalRadii[4]; |
if (!consumeRadii(horizontalRadii, verticalRadii, args, context.mode(), false)) |
return nullptr; |
- shape->setTopLeftRadius(CSSValuePair::create(horizontalRadii[0].release(), verticalRadii[0].release(), CSSValuePair::DropIdenticalValues)); |
- shape->setTopRightRadius(CSSValuePair::create(horizontalRadii[1].release(), verticalRadii[1].release(), CSSValuePair::DropIdenticalValues)); |
- shape->setBottomRightRadius(CSSValuePair::create(horizontalRadii[2].release(), verticalRadii[2].release(), CSSValuePair::DropIdenticalValues)); |
- shape->setBottomLeftRadius(CSSValuePair::create(horizontalRadii[3].release(), verticalRadii[3].release(), CSSValuePair::DropIdenticalValues)); |
+ shape->setTopLeftRadius(CSSValuePair::create(horizontalRadii[0], verticalRadii[0], CSSValuePair::DropIdenticalValues)); |
+ shape->setTopRightRadius(CSSValuePair::create(horizontalRadii[1], verticalRadii[1], CSSValuePair::DropIdenticalValues)); |
+ shape->setBottomRightRadius(CSSValuePair::create(horizontalRadii[2], verticalRadii[2], CSSValuePair::DropIdenticalValues)); |
+ shape->setBottomLeftRadius(CSSValuePair::create(horizontalRadii[3], verticalRadii[3], CSSValuePair::DropIdenticalValues)); |
} |
- return shape.release(); |
+ return shape; |
} |
-static RawPtr<CSSValue> consumeBasicShape(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeBasicShape(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
- RawPtr<CSSValue> shape = nullptr; |
+ CSSValue* shape = nullptr; |
if (range.peek().type() != FunctionToken) |
return nullptr; |
CSSValueID id = range.peek().functionId(); |
@@ -2605,10 +2618,10 @@ static RawPtr<CSSValue> consumeBasicShape(CSSParserTokenRange& range, const CSSP |
if (!shape || !args.atEnd()) |
return nullptr; |
range = rangeCopy; |
- return shape.release(); |
+ return shape; |
} |
-static RawPtr<CSSValue> consumeClipPath(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeClipPath(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
@@ -2618,26 +2631,26 @@ static RawPtr<CSSValue> consumeClipPath(CSSParserTokenRange& range, const CSSPar |
return consumeBasicShape(range, context); |
} |
-static RawPtr<CSSValue> consumeShapeOutside(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeShapeOutside(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
- if (RawPtr<CSSValue> imageValue = consumeImageOrNone(range, context)) |
- return imageValue.release(); |
- RawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
- if (RawPtr<CSSValue> boxValue = consumeIdent<CSSValueContentBox, CSSValuePaddingBox, CSSValueBorderBox, CSSValueMarginBox>(range)) |
- list->append(boxValue.release()); |
- if (RawPtr<CSSValue> shapeValue = consumeBasicShape(range, context)) { |
- list->append(shapeValue.release()); |
+ if (CSSValue* imageValue = consumeImageOrNone(range, context)) |
+ return imageValue; |
+ CSSValueList* list = CSSValueList::createSpaceSeparated(); |
+ if (CSSValue* boxValue = consumeIdent<CSSValueContentBox, CSSValuePaddingBox, CSSValueBorderBox, CSSValueMarginBox>(range)) |
+ list->append(boxValue); |
+ if (CSSValue* shapeValue = consumeBasicShape(range, context)) { |
+ list->append(shapeValue); |
if (list->length() < 2) { |
- if (RawPtr<CSSValue> boxValue = consumeIdent<CSSValueContentBox, CSSValuePaddingBox, CSSValueBorderBox, CSSValueMarginBox>(range)) |
- list->append(boxValue.release()); |
+ if (CSSValue* boxValue = consumeIdent<CSSValueContentBox, CSSValuePaddingBox, CSSValueBorderBox, CSSValueMarginBox>(range)) |
+ list->append(boxValue); |
} |
} |
if (!list->length()) |
return nullptr; |
- return list.release(); |
+ return list; |
} |
-static RawPtr<CSSValue> consumeContentDistributionOverflowPosition(CSSParserTokenRange& range) |
+static CSSValue* consumeContentDistributionOverflowPosition(CSSParserTokenRange& range) |
{ |
if (identMatches<CSSValueNormal, CSSValueBaseline, CSSValueLastBaseline>(range.peek().id())) |
return CSSContentDistributionValue::create(CSSValueInvalid, range.consumeIncludingWhitespace().id(), CSSValueInvalid); |
@@ -2676,32 +2689,32 @@ static RawPtr<CSSValue> consumeContentDistributionOverflowPosition(CSSParserToke |
return CSSContentDistributionValue::create(distribution, position, overflow); |
} |
-static RawPtr<CSSPrimitiveValue> consumeBorderImageRepeatKeyword(CSSParserTokenRange& range) |
+static CSSPrimitiveValue* consumeBorderImageRepeatKeyword(CSSParserTokenRange& range) |
{ |
return consumeIdent<CSSValueStretch, CSSValueRepeat, CSSValueSpace, CSSValueRound>(range); |
} |
-static RawPtr<CSSValue> consumeBorderImageRepeat(CSSParserTokenRange& range) |
+static CSSValue* consumeBorderImageRepeat(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSPrimitiveValue> horizontal = consumeBorderImageRepeatKeyword(range); |
+ CSSPrimitiveValue* horizontal = consumeBorderImageRepeatKeyword(range); |
if (!horizontal) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> vertical = consumeBorderImageRepeatKeyword(range); |
+ CSSPrimitiveValue* vertical = consumeBorderImageRepeatKeyword(range); |
if (!vertical) |
vertical = horizontal; |
- return CSSValuePair::create(horizontal.release(), vertical.release(), CSSValuePair::DropIdenticalValues); |
+ return CSSValuePair::create(horizontal, vertical, CSSValuePair::DropIdenticalValues); |
} |
-static RawPtr<CSSValue> consumeBorderImageSlice(CSSPropertyID property, CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeBorderImageSlice(CSSPropertyID property, CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
bool fill = consumeIdent<CSSValueFill>(range); |
- RawPtr<CSSPrimitiveValue> slices[4]; |
+ CSSPrimitiveValue* slices[4]; |
#if ENABLE(OILPAN) |
// Unconditionally zero initialize the arrays of raw pointers. |
memset(slices, 0, 4 * sizeof(slices[0])); |
#endif |
for (size_t index = 0; index < 4; ++index) { |
- RawPtr<CSSPrimitiveValue> value = consumePercent(range, ValueRangeNonNegative); |
+ CSSPrimitiveValue* value = consumePercent(range, ValueRangeNonNegative); |
if (!value) |
value = consumeNumber(range, ValueRangeNonNegative); |
if (!value) |
@@ -2720,17 +2733,17 @@ static RawPtr<CSSValue> consumeBorderImageSlice(CSSPropertyID property, CSSParse |
// FIXME: What do we do with -webkit-box-reflect and -webkit-mask-box-image? Probably just have to leave them filling... |
if (property == CSSPropertyWebkitBorderImage || property == CSSPropertyWebkitMaskBoxImage || property == CSSPropertyWebkitBoxReflect) |
fill = true; |
- return CSSBorderImageSliceValue::create(CSSQuadValue::create(slices[0].release(), slices[1].release(), slices[2].release(), slices[3].release(), CSSQuadValue::SerializeAsQuad), fill); |
+ return CSSBorderImageSliceValue::create(CSSQuadValue::create(slices[0], slices[1], slices[2], slices[3], CSSQuadValue::SerializeAsQuad), fill); |
} |
-static RawPtr<CSSValue> consumeBorderImageOutset(CSSParserTokenRange& range) |
+static CSSValue* consumeBorderImageOutset(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSPrimitiveValue> outsets[4]; |
+ CSSPrimitiveValue* outsets[4]; |
#if ENABLE(OILPAN) |
// Unconditionally zero initialize the arrays of raw pointers. |
memset(outsets, 0, 4 * sizeof(outsets[0])); |
#endif |
- RawPtr<CSSPrimitiveValue> value = nullptr; |
+ CSSPrimitiveValue* value = nullptr; |
for (size_t index = 0; index < 4; ++index) { |
value = consumeNumber(range, ValueRangeNonNegative); |
if (!value) |
@@ -2742,17 +2755,17 @@ static RawPtr<CSSValue> consumeBorderImageOutset(CSSParserTokenRange& range) |
if (!outsets[0]) |
return nullptr; |
complete4Sides(outsets); |
- return CSSQuadValue::create(outsets[0].release(), outsets[1].release(), outsets[2].release(), outsets[3].release(), CSSQuadValue::SerializeAsQuad); |
+ return CSSQuadValue::create(outsets[0], outsets[1], outsets[2], outsets[3], CSSQuadValue::SerializeAsQuad); |
} |
-static RawPtr<CSSValue> consumeBorderImageWidth(CSSParserTokenRange& range) |
+static CSSValue* consumeBorderImageWidth(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSPrimitiveValue> widths[4]; |
+ CSSPrimitiveValue* widths[4]; |
#if ENABLE(OILPAN) |
// Unconditionally zero initialize the arrays of raw pointers. |
memset(widths, 0, 4 * sizeof(widths[0])); |
#endif |
- RawPtr<CSSPrimitiveValue> value = nullptr; |
+ CSSPrimitiveValue* value = nullptr; |
for (size_t index = 0; index < 4; ++index) { |
value = consumeNumber(range, ValueRangeNonNegative); |
if (!value) |
@@ -2766,28 +2779,39 @@ static RawPtr<CSSValue> consumeBorderImageWidth(CSSParserTokenRange& range) |
if (!widths[0]) |
return nullptr; |
complete4Sides(widths); |
- return CSSQuadValue::create(widths[0].release(), widths[1].release(), widths[2].release(), widths[3].release(), CSSQuadValue::SerializeAsQuad); |
+ return CSSQuadValue::create(widths[0], widths[1], widths[2], widths[3], CSSQuadValue::SerializeAsQuad); |
} |
-static bool consumeBorderImageComponents(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context, RawPtr<CSSValue>& source, |
- RawPtr<CSSValue>& slice, RawPtr<CSSValue>& width, RawPtr<CSSValue>& outset, RawPtr<CSSValue>& repeat) |
+static bool consumeBorderImageComponents(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context, CSSValue*& source, |
+ CSSValue*& slice, CSSValue*& width, CSSValue*& outset, CSSValue*& repeat) |
{ |
do { |
- if (!source && (source = consumeImageOrNone(range, context))) |
- continue; |
- if (!repeat && (repeat = consumeBorderImageRepeat(range))) |
- continue; |
- if (!slice && (slice = consumeBorderImageSlice(property, range, context.mode()))) { |
- ASSERT(!width && !outset); |
- if (consumeSlashIncludingWhitespace(range)) { |
- width = consumeBorderImageWidth(range); |
+ if (!source) { |
+ source = consumeImageOrNone(range, context); |
+ if (source) |
+ continue; |
+ } |
+ if (!repeat) { |
+ repeat = consumeBorderImageRepeat(range); |
+ if (repeat) |
+ continue; |
+ } |
+ if (!slice) { |
+ slice = consumeBorderImageSlice(property, range, context.mode()); |
+ if (slice) { |
+ ASSERT(!width && !outset); |
if (consumeSlashIncludingWhitespace(range)) { |
- outset = consumeBorderImageOutset(range); |
- if (!outset) |
+ width = consumeBorderImageWidth(range); |
+ if (consumeSlashIncludingWhitespace(range)) { |
+ outset = consumeBorderImageOutset(range); |
+ if (!outset) |
+ return false; |
+ } else if (!width) { |
return false; |
- } else if (!width) { |
- return false; |
+ } |
} |
+ } else { |
+ return false; |
} |
} else { |
return false; |
@@ -2796,25 +2820,25 @@ static bool consumeBorderImageComponents(CSSPropertyID property, CSSParserTokenR |
return true; |
} |
-static RawPtr<CSSValue> consumeWebkitBorderImage(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeWebkitBorderImage(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
- RawPtr<CSSValue> source = nullptr; |
- RawPtr<CSSValue> slice = nullptr; |
- RawPtr<CSSValue> width = nullptr; |
- RawPtr<CSSValue> outset = nullptr; |
- RawPtr<CSSValue> repeat = nullptr; |
+ CSSValue* source = nullptr; |
+ CSSValue* slice = nullptr; |
+ CSSValue* width = nullptr; |
+ CSSValue* outset = nullptr; |
+ CSSValue* repeat = nullptr; |
if (consumeBorderImageComponents(property, range, context, source, slice, width, outset, repeat)) |
return createBorderImageValue(source, slice, width, outset, repeat); |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeReflect(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeReflect(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
- RawPtr<CSSPrimitiveValue> direction = consumeIdent<CSSValueAbove, CSSValueBelow, CSSValueLeft, CSSValueRight>(range); |
+ CSSPrimitiveValue* direction = consumeIdent<CSSValueAbove, CSSValueBelow, CSSValueLeft, CSSValueRight>(range); |
if (!direction) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> offset = nullptr; |
+ CSSPrimitiveValue* offset = nullptr; |
if (range.atEnd()) { |
offset = cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Pixels); |
} else { |
@@ -2823,35 +2847,35 @@ static RawPtr<CSSValue> consumeReflect(CSSParserTokenRange& range, const CSSPars |
return nullptr; |
} |
- RawPtr<CSSValue> mask = nullptr; |
+ CSSValue* mask = nullptr; |
if (!range.atEnd()) { |
mask = consumeWebkitBorderImage(CSSPropertyWebkitBoxReflect, range, context); |
if (!mask) |
return nullptr; |
} |
- return CSSReflectValue::create(direction.release(), offset.release(), mask.release()); |
+ return CSSReflectValue::create(direction, offset, mask); |
} |
-static RawPtr<CSSValue> consumeFontSizeAdjust(CSSParserTokenRange& range) |
+static CSSValue* consumeFontSizeAdjust(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
return consumeNumber(range, ValueRangeNonNegative); |
} |
-static RawPtr<CSSValue> consumeImageOrientation(CSSParserTokenRange& range) |
+static CSSValue* consumeImageOrientation(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueFromImage) |
return consumeIdent(range); |
if (range.peek().type() != NumberToken) { |
- RawPtr<CSSPrimitiveValue> angle = consumeAngle(range); |
+ CSSPrimitiveValue* angle = consumeAngle(range); |
if (angle && angle->getDoubleValue() == 0) |
return angle; |
} |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeBackgroundBlendMode(CSSParserTokenRange& range) |
+static CSSValue* consumeBackgroundBlendMode(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueNormal || id == CSSValueOverlay || (id >= CSSValueMultiply && id <= CSSValueLuminosity)) |
@@ -2859,47 +2883,47 @@ static RawPtr<CSSValue> consumeBackgroundBlendMode(CSSParserTokenRange& range) |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeBackgroundAttachment(CSSParserTokenRange& range) |
+static CSSValue* consumeBackgroundAttachment(CSSParserTokenRange& range) |
{ |
return consumeIdent<CSSValueScroll, CSSValueFixed, CSSValueLocal>(range); |
} |
-static RawPtr<CSSValue> consumeBackgroundBox(CSSParserTokenRange& range) |
+static CSSValue* consumeBackgroundBox(CSSParserTokenRange& range) |
{ |
return consumeIdent<CSSValueBorderBox, CSSValuePaddingBox, CSSValueContentBox>(range); |
} |
-static RawPtr<CSSValue> consumeBackgroundComposite(CSSParserTokenRange& range) |
+static CSSValue* consumeBackgroundComposite(CSSParserTokenRange& range) |
{ |
return consumeIdentRange(range, CSSValueClear, CSSValuePlusLighter); |
} |
-static RawPtr<CSSValue> consumeMaskSourceType(CSSParserTokenRange& range) |
+static CSSValue* consumeMaskSourceType(CSSParserTokenRange& range) |
{ |
ASSERT(RuntimeEnabledFeatures::cssMaskSourceTypeEnabled()); |
return consumeIdent<CSSValueAuto, CSSValueAlpha, CSSValueLuminance>(range); |
} |
-static RawPtr<CSSValue> consumePrefixedBackgroundBox(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumePrefixedBackgroundBox(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
// The values 'border', 'padding' and 'content' are deprecated and do not apply to the version of the property that has the -webkit- prefix removed. |
- if (RawPtr<CSSValue> value = consumeIdentRange(range, CSSValueBorder, CSSValuePaddingBox)) |
- return value.release(); |
+ if (CSSValue* value = consumeIdentRange(range, CSSValueBorder, CSSValuePaddingBox)) |
+ return value; |
if ((property == CSSPropertyWebkitBackgroundClip || property == CSSPropertyWebkitMaskClip) && range.peek().id() == CSSValueText) |
return consumeIdent(range); |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeBackgroundSize(CSSPropertyID unresolvedProperty, CSSParserTokenRange& range, CSSParserMode mode) |
+static CSSValue* consumeBackgroundSize(CSSPropertyID unresolvedProperty, CSSParserTokenRange& range, CSSParserMode mode) |
{ |
if (identMatches<CSSValueContain, CSSValueCover>(range.peek().id())) |
return consumeIdent(range); |
- RawPtr<CSSPrimitiveValue> horizontal = consumeIdent<CSSValueAuto>(range); |
+ CSSPrimitiveValue* horizontal = consumeIdent<CSSValueAuto>(range); |
if (!horizontal) |
horizontal = consumeLengthOrPercent(range, mode, ValueRangeAll, UnitlessQuirk::Forbid); |
- RawPtr<CSSPrimitiveValue> vertical = nullptr; |
+ CSSPrimitiveValue* vertical = nullptr; |
if (!range.atEnd()) { |
if (range.peek().id() == CSSValueAuto) // `auto' is the default |
range.consumeIncludingWhitespace(); |
@@ -2911,10 +2935,10 @@ static RawPtr<CSSValue> consumeBackgroundSize(CSSPropertyID unresolvedProperty, |
} |
if (!vertical) |
return horizontal; |
- return CSSValuePair::create(horizontal.release(), vertical.release(), CSSValuePair::KeepIdenticalValues); |
+ return CSSValuePair::create(horizontal, vertical, CSSValuePair::KeepIdenticalValues); |
} |
-static RawPtr<CSSValue> consumeBackgroundComponent(CSSPropertyID unresolvedProperty, CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeBackgroundComponent(CSSPropertyID unresolvedProperty, CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
switch (unresolvedProperty) { |
case CSSPropertyBackgroundClip: |
@@ -2955,34 +2979,34 @@ static RawPtr<CSSValue> consumeBackgroundComponent(CSSPropertyID unresolvedPrope |
return nullptr; |
} |
-static void addBackgroundValue(RawPtr<CSSValue>& list, RawPtr<CSSValue> value) |
+static void addBackgroundValue(CSSValue*& list, CSSValue* value) |
{ |
if (list) { |
if (!list->isBaseValueList()) { |
- RawPtr<CSSValue> firstValue = list.release(); |
+ CSSValue* firstValue = list; |
list = CSSValueList::createCommaSeparated(); |
- toCSSValueList(list.get())->append(firstValue.release()); |
+ toCSSValueList(list)->append(firstValue); |
} |
- toCSSValueList(list.get())->append(value); |
+ toCSSValueList(list)->append(value); |
} else { |
// To conserve memory we don't actually wrap a single value in a list. |
list = value; |
} |
} |
-static RawPtr<CSSValue> consumeCommaSeparatedBackgroundComponent(CSSPropertyID unresolvedProperty, CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeCommaSeparatedBackgroundComponent(CSSPropertyID unresolvedProperty, CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
- RawPtr<CSSValue> result = nullptr; |
+ CSSValue* result = nullptr; |
do { |
- RawPtr<CSSValue> value = consumeBackgroundComponent(unresolvedProperty, range, context); |
+ CSSValue* value = consumeBackgroundComponent(unresolvedProperty, range, context); |
if (!value) |
return nullptr; |
addBackgroundValue(result, value); |
} while (consumeCommaIncludingWhitespace(range)); |
- return result.release(); |
+ return result; |
} |
-static RawPtr<CSSPrimitiveValue> consumeSelfPositionKeyword(CSSParserTokenRange& range) |
+static CSSPrimitiveValue* consumeSelfPositionKeyword(CSSParserTokenRange& range) |
{ |
CSSValueID id = range.peek().id(); |
if (id == CSSValueStart || id == CSSValueEnd || id == CSSValueCenter |
@@ -2992,66 +3016,72 @@ static RawPtr<CSSPrimitiveValue> consumeSelfPositionKeyword(CSSParserTokenRange& |
return nullptr; |
} |
-static RawPtr<CSSValue> consumeSelfPositionOverflowPosition(CSSParserTokenRange& range) |
+static CSSValue* consumeSelfPositionOverflowPosition(CSSParserTokenRange& range) |
{ |
if (identMatches<CSSValueAuto, CSSValueStretch, CSSValueBaseline, CSSValueLastBaseline>(range.peek().id())) |
return consumeIdent(range); |
- RawPtr<CSSPrimitiveValue> overflowPosition = consumeIdent<CSSValueUnsafe, CSSValueSafe>(range); |
- RawPtr<CSSPrimitiveValue> selfPosition = consumeSelfPositionKeyword(range); |
+ CSSPrimitiveValue* overflowPosition = consumeIdent<CSSValueUnsafe, CSSValueSafe>(range); |
+ CSSPrimitiveValue* selfPosition = consumeSelfPositionKeyword(range); |
if (!selfPosition) |
return nullptr; |
if (!overflowPosition) |
overflowPosition = consumeIdent<CSSValueUnsafe, CSSValueSafe>(range); |
if (overflowPosition) |
- return CSSValuePair::create(selfPosition.release(), overflowPosition, CSSValuePair::DropIdenticalValues); |
- return selfPosition.release(); |
+ return CSSValuePair::create(selfPosition, overflowPosition, CSSValuePair::DropIdenticalValues); |
+ return selfPosition; |
} |
-static RawPtr<CSSValue> consumeJustifyItems(CSSParserTokenRange& range) |
+static CSSValue* consumeJustifyItems(CSSParserTokenRange& range) |
{ |
CSSParserTokenRange rangeCopy = range; |
- RawPtr<CSSPrimitiveValue> legacy = consumeIdent<CSSValueLegacy>(rangeCopy); |
- RawPtr<CSSPrimitiveValue> positionKeyword = consumeIdent<CSSValueCenter, CSSValueLeft, CSSValueRight>(rangeCopy); |
+ CSSPrimitiveValue* legacy = consumeIdent<CSSValueLegacy>(rangeCopy); |
+ CSSPrimitiveValue* positionKeyword = consumeIdent<CSSValueCenter, CSSValueLeft, CSSValueRight>(rangeCopy); |
if (!legacy) |
legacy = consumeIdent<CSSValueLegacy>(rangeCopy); |
if (legacy && positionKeyword) { |
range = rangeCopy; |
- return CSSValuePair::create(legacy.release(), positionKeyword.release(), CSSValuePair::DropIdenticalValues); |
+ return CSSValuePair::create(legacy, positionKeyword, CSSValuePair::DropIdenticalValues); |
} |
return consumeSelfPositionOverflowPosition(range); |
} |
-static RawPtr<CSSCustomIdentValue> consumeCustomIdentForGridLine(CSSParserTokenRange& range) |
+static CSSCustomIdentValue* consumeCustomIdentForGridLine(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto || range.peek().id() == CSSValueSpan) |
return nullptr; |
return consumeCustomIdent(range); |
} |
-static RawPtr<CSSValue> consumeGridLine(CSSParserTokenRange& range) |
+static CSSValue* consumeGridLine(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueAuto) |
return consumeIdent(range); |
- RawPtr<CSSPrimitiveValue> spanValue = nullptr; |
- RawPtr<CSSCustomIdentValue> gridLineName = nullptr; |
- RawPtr<CSSPrimitiveValue> numericValue = consumeInteger(range); |
+ CSSPrimitiveValue* spanValue = nullptr; |
+ CSSCustomIdentValue* gridLineName = nullptr; |
+ CSSPrimitiveValue* numericValue = consumeInteger(range); |
if (numericValue) { |
gridLineName = consumeCustomIdentForGridLine(range); |
spanValue = consumeIdent<CSSValueSpan>(range); |
- } else if ((spanValue = consumeIdent<CSSValueSpan>(range))) { |
- numericValue = consumeInteger(range); |
- gridLineName = consumeCustomIdentForGridLine(range); |
- if (!numericValue) |
- numericValue = consumeInteger(range); |
- } else if ((gridLineName = consumeCustomIdentForGridLine(range))) { |
- numericValue = consumeInteger(range); |
- spanValue = consumeIdent<CSSValueSpan>(range); |
- if (!spanValue && !numericValue) |
- return gridLineName.release(); |
} else { |
- return nullptr; |
+ spanValue = consumeIdent<CSSValueSpan>(range); |
+ if (spanValue) { |
+ numericValue = consumeInteger(range); |
+ gridLineName = consumeCustomIdentForGridLine(range); |
+ if (!numericValue) |
+ numericValue = consumeInteger(range); |
+ } else { |
+ gridLineName = consumeCustomIdentForGridLine(range); |
+ if (gridLineName) { |
+ numericValue = consumeInteger(range); |
+ spanValue = consumeIdent<CSSValueSpan>(range); |
+ if (!spanValue && !numericValue) |
+ return gridLineName; |
+ } else { |
+ return nullptr; |
+ } |
+ } |
} |
if (spanValue && numericValue && numericValue->getIntValue() < 0) |
@@ -3059,18 +3089,18 @@ static RawPtr<CSSValue> consumeGridLine(CSSParserTokenRange& range) |
if (numericValue && numericValue->getIntValue() == 0) |
return nullptr; // An <integer> value of zero makes the declaration invalid. |
- RawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated(); |
+ CSSValueList* values = CSSValueList::createSpaceSeparated(); |
if (spanValue) |
- values->append(spanValue.release()); |
+ values->append(spanValue); |
if (numericValue) |
- values->append(numericValue.release()); |
+ values->append(numericValue); |
if (gridLineName) |
- values->append(gridLineName.release()); |
+ values->append(gridLineName); |
ASSERT(values->length()); |
- return values.release(); |
+ return values; |
} |
-static RawPtr<CSSPrimitiveValue> consumeGridBreadth(CSSParserTokenRange& range, CSSParserMode cssParserMode, TrackSizeRestriction restriction = AllowAll) |
+static CSSPrimitiveValue* consumeGridBreadth(CSSParserTokenRange& range, CSSParserMode cssParserMode, TrackSizeRestriction restriction = AllowAll) |
{ |
if (restriction == AllowAll) { |
const CSSParserToken& token = range.peek(); |
@@ -3085,7 +3115,7 @@ static RawPtr<CSSPrimitiveValue> consumeGridBreadth(CSSParserTokenRange& range, |
return consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative, UnitlessQuirk::Allow); |
} |
-static RawPtr<CSSValue> consumeGridTrackSize(CSSParserTokenRange& range, CSSParserMode cssParserMode, TrackSizeRestriction restriction = AllowAll) |
+static CSSValue* consumeGridTrackSize(CSSParserTokenRange& range, CSSParserMode cssParserMode, TrackSizeRestriction restriction = AllowAll) |
{ |
const CSSParserToken& token = range.peek(); |
if (restriction == AllowAll && identMatches<CSSValueAuto>(token.id())) |
@@ -3094,33 +3124,33 @@ static RawPtr<CSSValue> consumeGridTrackSize(CSSParserTokenRange& range, CSSPars |
if (token.functionId() == CSSValueMinmax) { |
CSSParserTokenRange rangeCopy = range; |
CSSParserTokenRange args = consumeFunction(rangeCopy); |
- RawPtr<CSSPrimitiveValue> minTrackBreadth = consumeGridBreadth(args, cssParserMode, restriction); |
+ CSSPrimitiveValue* minTrackBreadth = consumeGridBreadth(args, cssParserMode, restriction); |
if (!minTrackBreadth || !consumeCommaIncludingWhitespace(args)) |
return nullptr; |
- RawPtr<CSSPrimitiveValue> maxTrackBreadth = consumeGridBreadth(args, cssParserMode); |
+ CSSPrimitiveValue* maxTrackBreadth = consumeGridBreadth(args, cssParserMode); |
if (!maxTrackBreadth || !args.atEnd()) |
return nullptr; |
range = rangeCopy; |
- RawPtr<CSSFunctionValue> result = CSSFunctionValue::create(CSSValueMinmax); |
- result->append(minTrackBreadth.release()); |
- result->append(maxTrackBreadth.release()); |
- return result.release(); |
+ CSSFunctionValue* result = CSSFunctionValue::create(CSSValueMinmax); |
+ result->append(minTrackBreadth); |
+ result->append(maxTrackBreadth); |
+ return result; |
} |
return consumeGridBreadth(range, cssParserMode, restriction); |
} |
-static RawPtr<CSSGridLineNamesValue> consumeGridLineNames(CSSParserTokenRange& range) |
+static CSSGridLineNamesValue* consumeGridLineNames(CSSParserTokenRange& range) |
{ |
CSSParserTokenRange rangeCopy = range; |
if (rangeCopy.consumeIncludingWhitespace().type() != LeftBracketToken) |
return nullptr; |
- RawPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue::create(); |
- while (RawPtr<CSSCustomIdentValue> lineName = consumeCustomIdentForGridLine(rangeCopy)) |
- lineNames->append(lineName.release()); |
+ CSSGridLineNamesValue* lineNames = CSSGridLineNamesValue::create(); |
+ while (CSSCustomIdentValue* lineName = consumeCustomIdentForGridLine(rangeCopy)) |
+ lineNames->append(lineName); |
if (rangeCopy.consumeIncludingWhitespace().type() != RightBracketToken) |
return nullptr; |
range = rangeCopy; |
- return lineNames.release(); |
+ return lineNames; |
} |
static bool consumeGridTrackRepeatFunction(CSSParserTokenRange& range, CSSParserMode cssParserMode, CSSValueList& list, bool& isAutoRepeat) |
@@ -3130,12 +3160,12 @@ static bool consumeGridTrackRepeatFunction(CSSParserTokenRange& range, CSSParser |
// because it will be computed later, let's set it to 1. |
size_t repetitions = 1; |
isAutoRepeat = identMatches<CSSValueAutoFill, CSSValueAutoFit>(args.peek().id()); |
- RawPtr<CSSValueList> repeatedValues; |
+ CSSValueList* repeatedValues; |
if (isAutoRepeat) { |
repeatedValues = CSSGridAutoRepeatValue::create(args.consumeIncludingWhitespace().id()); |
} else { |
// TODO(rob.buis): a consumeIntegerRaw would be more efficient here. |
- RawPtr<CSSPrimitiveValue> repetition = consumePositiveInteger(args); |
+ CSSPrimitiveValue* repetition = consumePositiveInteger(args); |
if (!repetition) |
return false; |
repetitions = clampTo<size_t>(repetition->getDoubleValue(), 0, kGridMaxTracks); |
@@ -3143,30 +3173,30 @@ static bool consumeGridTrackRepeatFunction(CSSParserTokenRange& range, CSSParser |
} |
if (!consumeCommaIncludingWhitespace(args)) |
return false; |
- RawPtr<CSSGridLineNamesValue> lineNames = consumeGridLineNames(args); |
+ CSSGridLineNamesValue* lineNames = consumeGridLineNames(args); |
if (lineNames) |
- repeatedValues->append(lineNames.release()); |
+ repeatedValues->append(lineNames); |
size_t numberOfTracks = 0; |
TrackSizeRestriction restriction = isAutoRepeat ? FixedSizeOnly : AllowAll; |
while (!args.atEnd()) { |
if (isAutoRepeat && numberOfTracks) |
return false; |
- RawPtr<CSSValue> trackSize = consumeGridTrackSize(args, cssParserMode, restriction); |
+ CSSValue* trackSize = consumeGridTrackSize(args, cssParserMode, restriction); |
if (!trackSize) |
return false; |
- repeatedValues->append(trackSize.release()); |
+ repeatedValues->append(trackSize); |
++numberOfTracks; |
lineNames = consumeGridLineNames(args); |
if (lineNames) |
- repeatedValues->append(lineNames.release()); |
+ repeatedValues->append(lineNames); |
} |
// We should have found at least one <track-size> or else it is not a valid <track-list>. |
if (!numberOfTracks) |
return false; |
if (isAutoRepeat) { |
- list.append(repeatedValues.release()); |
+ list.append(repeatedValues); |
} else { |
// We clamp the repetitions to a multiple of the repeat() track list's size, while staying below the max grid size. |
repetitions = std::min(repetitions, kGridMaxTracks / numberOfTracks); |
@@ -3178,12 +3208,12 @@ static bool consumeGridTrackRepeatFunction(CSSParserTokenRange& range, CSSParser |
return true; |
} |
-static RawPtr<CSSValue> consumeGridTrackList(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeGridTrackList(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
- RawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated(); |
- RawPtr<CSSGridLineNamesValue> lineNames = consumeGridLineNames(range); |
+ CSSValueList* values = CSSValueList::createSpaceSeparated(); |
+ CSSGridLineNamesValue* lineNames = consumeGridLineNames(range); |
if (lineNames) |
- values->append(lineNames.release()); |
+ values->append(lineNames); |
bool seenAutoRepeat = false; |
// TODO(rob.buis): <line-names> should not be able to directly precede <auto-repeat>. |
@@ -3195,30 +3225,30 @@ static RawPtr<CSSValue> consumeGridTrackList(CSSParserTokenRange& range, CSSPars |
if (isAutoRepeat && seenAutoRepeat) |
return nullptr; |
seenAutoRepeat = seenAutoRepeat || isAutoRepeat; |
- } else if (RawPtr<CSSValue> value = consumeGridTrackSize(range, cssParserMode, seenAutoRepeat ? FixedSizeOnly : AllowAll)) { |
- values->append(value.release()); |
+ } else if (CSSValue* value = consumeGridTrackSize(range, cssParserMode, seenAutoRepeat ? FixedSizeOnly : AllowAll)) { |
+ values->append(value); |
} else { |
return nullptr; |
} |
lineNames = consumeGridLineNames(range); |
if (lineNames) |
- values->append(lineNames.release()); |
+ values->append(lineNames); |
} while (!range.atEnd() && range.peek().type() != DelimiterToken); |
// <auto-repeat> requires definite minimum track sizes in order to compute the number of repetitions. |
// The above while loop detects those appearances after the <auto-repeat> but not the ones before. |
if (seenAutoRepeat && !allTracksAreFixedSized(*values)) |
return nullptr; |
- return values.release(); |
+ return values; |
} |
-static RawPtr<CSSValue> consumeGridTemplatesRowsOrColumns(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
+static CSSValue* consumeGridTemplatesRowsOrColumns(CSSParserTokenRange& range, CSSParserMode cssParserMode) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
return consumeGridTrackList(range, cssParserMode); |
} |
-static RawPtr<CSSValue> consumeGridTemplateAreas(CSSParserTokenRange& range) |
+static CSSValue* consumeGridTemplateAreas(CSSParserTokenRange& range) |
{ |
if (range.peek().id() == CSSValueNone) |
return consumeIdent(range); |
@@ -3239,7 +3269,7 @@ static RawPtr<CSSValue> consumeGridTemplateAreas(CSSParserTokenRange& range) |
return CSSGridTemplateAreasValue::create(gridAreaMap, rowCount, columnCount); |
} |
-RawPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSPropertyID unresolvedProperty) |
+CSSValue* CSSPropertyParser::parseSingleValue(CSSPropertyID unresolvedProperty) |
{ |
CSSPropertyID property = resolveCSSPropertyID(unresolvedProperty); |
if (CSSParserFastPaths::isKeywordPropertyID(property)) { |
@@ -3622,19 +3652,19 @@ RawPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSPropertyID unresolvedPro |
CSSParserValueList valueList(m_range); |
if (valueList.size()) { |
m_valueList = &valueList; |
- if (RawPtr<CSSValue> result = legacyParseValue(unresolvedProperty)) { |
+ if (CSSValue* result = legacyParseValue(unresolvedProperty)) { |
while (!m_range.atEnd()) |
m_range.consume(); |
- return result.release(); |
+ return result; |
} |
} |
return nullptr; |
} |
} |
-static RawPtr<CSSValueList> consumeFontFaceUnicodeRange(CSSParserTokenRange& range) |
+static CSSValueList* consumeFontFaceUnicodeRange(CSSParserTokenRange& range) |
{ |
- RawPtr<CSSValueList> values = CSSValueList::createCommaSeparated(); |
+ CSSValueList* values = CSSValueList::createCommaSeparated(); |
do { |
const CSSParserToken& token = range.consumeIncludingWhitespace(); |
@@ -3648,19 +3678,19 @@ static RawPtr<CSSValueList> consumeFontFaceUnicodeRange(CSSParserTokenRange& ran |
values->append(CSSUnicodeRangeValue::create(start, end)); |
} while (consumeCommaIncludingWhitespace(range)); |
- return values.release(); |
+ return values; |
} |
-static RawPtr<CSSValue> consumeFontFaceSrcURI(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeFontFaceSrcURI(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
String url = consumeUrl(range); |
if (url.isNull()) |
return nullptr; |
- RawPtr<CSSFontFaceSrcValue> uriValue(CSSFontFaceSrcValue::create(url, context.completeURL(url), context.shouldCheckContentSecurityPolicy())); |
+ CSSFontFaceSrcValue* uriValue(CSSFontFaceSrcValue::create(url, context.completeURL(url), context.shouldCheckContentSecurityPolicy())); |
uriValue->setReferrer(context.referrer()); |
if (range.peek().functionId() != CSSValueFormat) |
- return uriValue.release(); |
+ return uriValue; |
// FIXME: https://drafts.csswg.org/css-fonts says that format() contains a comma-separated list of strings, |
// but CSSFontFaceSrcValue stores only one format. Allowing one format for now. |
@@ -3670,10 +3700,10 @@ static RawPtr<CSSValue> consumeFontFaceSrcURI(CSSParserTokenRange& range, const |
if ((arg.type() != StringToken && arg.type() != IdentToken) || !args.atEnd()) |
return nullptr; |
uriValue->setFormat(arg.value()); |
- return uriValue.release(); |
+ return uriValue; |
} |
-static RawPtr<CSSValue> consumeFontFaceSrcLocal(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValue* consumeFontFaceSrcLocal(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
CSSParserTokenRange args = consumeFunction(range); |
ContentSecurityPolicyDisposition shouldCheckContentSecurityPolicy = context.shouldCheckContentSecurityPolicy(); |
@@ -3692,13 +3722,13 @@ static RawPtr<CSSValue> consumeFontFaceSrcLocal(CSSParserTokenRange& range, cons |
return nullptr; |
} |
-static RawPtr<CSSValueList> consumeFontFaceSrc(CSSParserTokenRange& range, const CSSParserContext& context) |
+static CSSValueList* consumeFontFaceSrc(CSSParserTokenRange& range, const CSSParserContext& context) |
{ |
- RawPtr<CSSValueList> values(CSSValueList::createCommaSeparated()); |
+ CSSValueList* values = CSSValueList::createCommaSeparated(); |
do { |
const CSSParserToken& token = range.peek(); |
- RawPtr<CSSValue> parsedValue = nullptr; |
+ CSSValue* parsedValue = nullptr; |
if (token.functionId() == CSSValueLocal) |
parsedValue = consumeFontFaceSrcLocal(range, context); |
else |
@@ -3707,12 +3737,12 @@ static RawPtr<CSSValueList> consumeFontFaceSrc(CSSParserTokenRange& range, const |
return nullptr; |
values->append(parsedValue); |
} while (consumeCommaIncludingWhitespace(range)); |
- return values.release(); |
+ return values; |
} |
bool CSSPropertyParser::parseFontFaceDescriptor(CSSPropertyID propId) |
{ |
- RawPtr<CSSValue> parsedValue = nullptr; |
+ CSSValue* parsedValue = nullptr; |
switch (propId) { |
case CSSPropertyFontFamily: |
if (consumeGenericFamily(m_range)) |
@@ -3750,7 +3780,7 @@ bool CSSPropertyParser::parseFontFaceDescriptor(CSSPropertyID propId) |
if (!parsedValue || !m_range.atEnd()) |
return false; |
- addProperty(propId, parsedValue.release(), false); |
+ addProperty(propId, parsedValue, false); |
return true; |
} |
@@ -3770,9 +3800,9 @@ bool CSSPropertyParser::consumeSystemFont(bool important) |
addProperty(CSSPropertyFontStyle, cssValuePool().createIdentifierValue(fontStyle == FontStyleItalic ? CSSValueItalic : CSSValueNormal), important); |
addProperty(CSSPropertyFontWeight, cssValuePool().createValue(fontWeight), important); |
addProperty(CSSPropertyFontSize, cssValuePool().createValue(fontSize, CSSPrimitiveValue::UnitType::Pixels), important); |
- RawPtr<CSSValueList> fontFamilyList = CSSValueList::createCommaSeparated(); |
+ CSSValueList* fontFamilyList = CSSValueList::createCommaSeparated(); |
fontFamilyList->append(cssValuePool().createFontFamilyValue(fontFamily)); |
- addProperty(CSSPropertyFontFamily, fontFamilyList.release(), important); |
+ addProperty(CSSPropertyFontFamily, fontFamilyList, important); |
addProperty(CSSPropertyFontStretch, cssValuePool().createIdentifierValue(CSSValueNormal), important); |
addProperty(CSSPropertyFontVariant, cssValuePool().createIdentifierValue(CSSValueNormal), important); |
@@ -3790,10 +3820,10 @@ bool CSSPropertyParser::consumeFont(bool important) |
return false; |
} |
// Optional font-style, font-variant, font-stretch and font-weight. |
- RawPtr<CSSPrimitiveValue> fontStyle = nullptr; |
- RawPtr<CSSPrimitiveValue> fontVariant = nullptr; |
- RawPtr<CSSPrimitiveValue> fontWeight = nullptr; |
- RawPtr<CSSPrimitiveValue> fontStretch = nullptr; |
+ CSSPrimitiveValue* fontStyle = nullptr; |
+ CSSPrimitiveValue* fontVariant = nullptr; |
+ CSSPrimitiveValue* fontWeight = nullptr; |
+ CSSPrimitiveValue* fontStretch = nullptr; |
while (!m_range.atEnd()) { |
CSSValueID id = m_range.peek().id(); |
if (!fontStyle && CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyFontStyle, id)) { |
@@ -3820,33 +3850,33 @@ bool CSSPropertyParser::consumeFont(bool important) |
if (m_range.atEnd()) |
return false; |
- addProperty(CSSPropertyFontStyle, fontStyle ? fontStyle.release() : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
- addProperty(CSSPropertyFontVariant, fontVariant ? fontVariant.release() : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
- addProperty(CSSPropertyFontWeight, fontWeight ? fontWeight.release() : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
- addProperty(CSSPropertyFontStretch, fontStretch ? fontStretch.release() : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
+ addProperty(CSSPropertyFontStyle, fontStyle ? fontStyle : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
+ addProperty(CSSPropertyFontVariant, fontVariant ? fontVariant : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
+ addProperty(CSSPropertyFontWeight, fontWeight ? fontWeight : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
+ addProperty(CSSPropertyFontStretch, fontStretch ? fontStretch : cssValuePool().createIdentifierValue(CSSValueNormal), important); |
// Now a font size _must_ come. |
- RawPtr<CSSValue> fontSize = consumeFontSize(m_range, m_context.mode()); |
+ CSSValue* fontSize = consumeFontSize(m_range, m_context.mode()); |
if (!fontSize || m_range.atEnd()) |
return false; |
- addProperty(CSSPropertyFontSize, fontSize.release(), important); |
+ addProperty(CSSPropertyFontSize, fontSize, important); |
if (consumeSlashIncludingWhitespace(m_range)) { |
- RawPtr<CSSPrimitiveValue> lineHeight = consumeLineHeight(m_range, m_context.mode()); |
+ CSSPrimitiveValue* lineHeight = consumeLineHeight(m_range, m_context.mode()); |
if (!lineHeight) |
return false; |
- addProperty(CSSPropertyLineHeight, lineHeight.release(), important); |
+ addProperty(CSSPropertyLineHeight, lineHeight, important); |
} else { |
addProperty(CSSPropertyLineHeight, cssValuePool().createIdentifierValue(CSSValueNormal), important); |
} |
// Font family must come now. |
- RawPtr<CSSValue> parsedFamilyValue = consumeFontFamily(m_range); |
+ CSSValue* parsedFamilyValue = consumeFontFamily(m_range); |
if (!parsedFamilyValue) |
return false; |
- addProperty(CSSPropertyFontFamily, parsedFamilyValue.release(), important); |
+ addProperty(CSSPropertyFontFamily, parsedFamilyValue, important); |
// FIXME: http://www.w3.org/TR/2011/WD-css3-fonts-20110324/#font-prop requires that |
// "font-stretch", "font-size-adjust", and "font-kerning" be reset to their initial values |
@@ -3856,20 +3886,20 @@ bool CSSPropertyParser::consumeFont(bool important) |
bool CSSPropertyParser::consumeBorderSpacing(bool important) |
{ |
- RawPtr<CSSValue> horizontalSpacing = consumeLength(m_range, m_context.mode(), ValueRangeNonNegative, UnitlessQuirk::Allow); |
+ CSSValue* horizontalSpacing = consumeLength(m_range, m_context.mode(), ValueRangeNonNegative, UnitlessQuirk::Allow); |
if (!horizontalSpacing) |
return false; |
- RawPtr<CSSValue> verticalSpacing = horizontalSpacing; |
+ CSSValue* verticalSpacing = horizontalSpacing; |
if (!m_range.atEnd()) |
verticalSpacing = consumeLength(m_range, m_context.mode(), ValueRangeNonNegative, UnitlessQuirk::Allow); |
if (!verticalSpacing || !m_range.atEnd()) |
return false; |
- addProperty(CSSPropertyWebkitBorderHorizontalSpacing, horizontalSpacing.release(), important); |
- addProperty(CSSPropertyWebkitBorderVerticalSpacing, verticalSpacing.release(), important); |
+ addProperty(CSSPropertyWebkitBorderHorizontalSpacing, horizontalSpacing, important); |
+ addProperty(CSSPropertyWebkitBorderVerticalSpacing, verticalSpacing, important); |
return true; |
} |
-static RawPtr<CSSValue> consumeSingleViewportDescriptor(CSSParserTokenRange& range, CSSPropertyID propId, CSSParserMode cssParserMode) |
+static CSSValue* consumeSingleViewportDescriptor(CSSParserTokenRange& range, CSSPropertyID propId, CSSParserMode cssParserMode) |
{ |
CSSValueID id = range.peek().id(); |
switch (propId) { |
@@ -3885,9 +3915,9 @@ static RawPtr<CSSValue> consumeSingleViewportDescriptor(CSSParserTokenRange& ran |
case CSSPropertyZoom: { |
if (id == CSSValueAuto) |
return consumeIdent(range); |
- RawPtr<CSSValue> parsedValue = consumeNumber(range, ValueRangeNonNegative); |
+ CSSValue* parsedValue = consumeNumber(range, ValueRangeNonNegative); |
if (parsedValue) |
- return parsedValue.release(); |
+ return parsedValue; |
return consumePercent(range, ValueRangeNonNegative); |
} |
case CSSPropertyUserZoom: |
@@ -3909,29 +3939,29 @@ bool CSSPropertyParser::parseViewportDescriptor(CSSPropertyID propId, bool impor |
switch (propId) { |
case CSSPropertyWidth: { |
- RawPtr<CSSValue> minWidth = consumeSingleViewportDescriptor(m_range, CSSPropertyMinWidth, m_context.mode()); |
+ CSSValue* minWidth = consumeSingleViewportDescriptor(m_range, CSSPropertyMinWidth, m_context.mode()); |
if (!minWidth) |
return false; |
- RawPtr<CSSValue> maxWidth = minWidth; |
+ CSSValue* maxWidth = minWidth; |
if (!m_range.atEnd()) |
maxWidth = consumeSingleViewportDescriptor(m_range, CSSPropertyMaxWidth, m_context.mode()); |
if (!maxWidth || !m_range.atEnd()) |
return false; |
- addProperty(CSSPropertyMinWidth, minWidth.release(), important); |
- addProperty(CSSPropertyMaxWidth, maxWidth.release(), important); |
+ addProperty(CSSPropertyMinWidth, minWidth, important); |
+ addProperty(CSSPropertyMaxWidth, maxWidth, important); |
return true; |
} |
case CSSPropertyHeight: { |
- RawPtr<CSSValue> minHeight = consumeSingleViewportDescriptor(m_range, CSSPropertyMinHeight, m_context.mode()); |
+ CSSValue* minHeight = consumeSingleViewportDescriptor(m_range, CSSPropertyMinHeight, m_context.mode()); |
if (!minHeight) |
return false; |
- RawPtr<CSSValue> maxHeight = minHeight; |
+ CSSValue* maxHeight = minHeight; |
if (!m_range.atEnd()) |
maxHeight = consumeSingleViewportDescriptor(m_range, CSSPropertyMaxHeight, m_context.mode()); |
if (!maxHeight || !m_range.atEnd()) |
return false; |
- addProperty(CSSPropertyMinHeight, minHeight.release(), important); |
- addProperty(CSSPropertyMaxHeight, maxHeight.release(), important); |
+ addProperty(CSSPropertyMinHeight, minHeight, important); |
+ addProperty(CSSPropertyMaxHeight, maxHeight, important); |
return true; |
} |
case CSSPropertyMinWidth: |
@@ -3943,10 +3973,10 @@ bool CSSPropertyParser::parseViewportDescriptor(CSSPropertyID propId, bool impor |
case CSSPropertyZoom: |
case CSSPropertyUserZoom: |
case CSSPropertyOrientation: { |
- RawPtr<CSSValue> parsedValue = consumeSingleViewportDescriptor(m_range, propId, m_context.mode()); |
+ CSSValue* parsedValue = consumeSingleViewportDescriptor(m_range, propId, m_context.mode()); |
if (!parsedValue || !m_range.atEnd()) |
return false; |
- addProperty(propId, parsedValue.release(), important); |
+ addProperty(propId, parsedValue, important); |
return true; |
} |
default: |
@@ -3954,14 +3984,15 @@ bool CSSPropertyParser::parseViewportDescriptor(CSSPropertyID propId, bool impor |
} |
} |
-static bool consumeColumnWidthOrCount(CSSParserTokenRange& range, CSSParserMode cssParserMode, RawPtr<CSSValue>& columnWidth, RawPtr<CSSValue>& columnCount) |
+static bool consumeColumnWidthOrCount(CSSParserTokenRange& range, CSSParserMode cssParserMode, CSSValue*& columnWidth, CSSValue*& columnCount) |
{ |
if (range.peek().id() == CSSValueAuto) { |
consumeIdent(range); |
return true; |
} |
if (!columnWidth) { |
- if ((columnWidth = consumeColumnWidth(range))) |
+ columnWidth = consumeColumnWidth(range); |
+ if (columnWidth) |
return true; |
} |
if (!columnCount) |
@@ -3971,8 +4002,8 @@ static bool consumeColumnWidthOrCount(CSSParserTokenRange& range, CSSParserMode |
bool CSSPropertyParser::consumeColumns(bool important) |
{ |
- RawPtr<CSSValue> columnWidth = nullptr; |
- RawPtr<CSSValue> columnCount = nullptr; |
+ CSSValue* columnWidth = nullptr; |
+ CSSValue* columnCount = nullptr; |
if (!consumeColumnWidthOrCount(m_range, m_context.mode(), columnWidth, columnCount)) |
return false; |
consumeColumnWidthOrCount(m_range, m_context.mode(), columnWidth, columnCount); |
@@ -3982,15 +4013,15 @@ bool CSSPropertyParser::consumeColumns(bool important) |
columnWidth = cssValuePool().createIdentifierValue(CSSValueAuto); |
if (!columnCount) |
columnCount = cssValuePool().createIdentifierValue(CSSValueAuto); |
- addProperty(CSSPropertyColumnWidth, columnWidth.release(), important); |
- addProperty(CSSPropertyColumnCount, columnCount.release(), important); |
+ addProperty(CSSPropertyColumnWidth, columnWidth, important); |
+ addProperty(CSSPropertyColumnCount, columnCount, important); |
return true; |
} |
bool CSSPropertyParser::consumeShorthandGreedily(const StylePropertyShorthand& shorthand, bool important) |
{ |
ASSERT(shorthand.length() <= 6); // Existing shorthands have at most 6 longhands. |
- RawPtr<CSSValue> longhands[6] = { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }; |
+ CSSValue* longhands[6] = { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }; |
const CSSPropertyID* shorthandProperties = shorthand.properties(); |
do { |
bool foundLonghand = false; |
@@ -4007,7 +4038,7 @@ bool CSSPropertyParser::consumeShorthandGreedily(const StylePropertyShorthand& s |
for (size_t i = 0; i < shorthand.length(); ++i) { |
if (longhands[i]) |
- addProperty(shorthandProperties[i], longhands[i].release(), important); |
+ addProperty(shorthandProperties[i], longhands[i], important); |
else |
addProperty(shorthandProperties[i], cssValuePool().createImplicitInitialValue(), important); |
} |
@@ -4019,7 +4050,7 @@ bool CSSPropertyParser::consumeFlex(bool important) |
static const double unsetValue = -1; |
double flexGrow = unsetValue; |
double flexShrink = unsetValue; |
- RawPtr<CSSPrimitiveValue> flexBasis = nullptr; |
+ CSSPrimitiveValue* flexBasis = nullptr; |
if (m_range.peek().id() == CSSValueNone) { |
flexGrow = 0; |
@@ -4070,17 +4101,26 @@ bool CSSPropertyParser::consumeFlex(bool important) |
bool CSSPropertyParser::consumeBorder(bool important) |
{ |
- RawPtr<CSSValue> width = nullptr; |
- RawPtr<CSSValue> style = nullptr; |
- RawPtr<CSSValue> color = nullptr; |
+ CSSValue* width = nullptr; |
+ CSSValue* style = nullptr; |
+ CSSValue* color = nullptr; |
while (!width || !style || !color) { |
- if (!width && (width = consumeLineWidth(m_range, m_context.mode(), UnitlessQuirk::Forbid))) |
- continue; |
- if (!style && (style = parseSingleValue(CSSPropertyBorderLeftStyle))) |
- continue; |
- if (!color && (color = consumeColor(m_range, m_context.mode()))) |
- continue; |
+ if (!width) { |
+ width = consumeLineWidth(m_range, m_context.mode(), UnitlessQuirk::Forbid); |
+ if (width) |
+ continue; |
+ } |
+ if (!style) { |
+ style = parseSingleValue(CSSPropertyBorderLeftStyle); |
+ if (style) |
+ continue; |
+ } |
+ if (!color) { |
+ color = consumeColor(m_range, m_context.mode()); |
+ if (color) |
+ continue; |
+ } |
break; |
} |
@@ -4094,9 +4134,9 @@ bool CSSPropertyParser::consumeBorder(bool important) |
if (!color) |
color = cssValuePool().createImplicitInitialValue(); |
- addExpandedPropertyForValue(CSSPropertyBorderWidth, width.release(), important); |
- addExpandedPropertyForValue(CSSPropertyBorderStyle, style.release(), important); |
- addExpandedPropertyForValue(CSSPropertyBorderColor, color.release(), important); |
+ addExpandedPropertyForValue(CSSPropertyBorderWidth, width, important); |
+ addExpandedPropertyForValue(CSSPropertyBorderStyle, style, important); |
+ addExpandedPropertyForValue(CSSPropertyBorderColor, color, important); |
addExpandedPropertyForValue(CSSPropertyBorderImage, cssValuePool().createImplicitInitialValue(), important); |
return m_range.atEnd(); |
@@ -4106,15 +4146,16 @@ bool CSSPropertyParser::consume4Values(const StylePropertyShorthand& shorthand, |
{ |
ASSERT(shorthand.length() == 4); |
const CSSPropertyID* longhands = shorthand.properties(); |
- RawPtr<CSSValue> top = parseSingleValue(longhands[0]); |
+ CSSValue* top = parseSingleValue(longhands[0]); |
if (!top) |
return false; |
- RawPtr<CSSValue> right = nullptr; |
- RawPtr<CSSValue> bottom = nullptr; |
- RawPtr<CSSValue> left = nullptr; |
- if ((right = parseSingleValue(longhands[1]))) { |
- if ((bottom = parseSingleValue(longhands[2]))) |
+ CSSValue* right = parseSingleValue(longhands[1]); |
+ CSSValue* bottom = nullptr; |
+ CSSValue* left = nullptr; |
+ if (right) { |
+ bottom = parseSingleValue(longhands[2]); |
+ if (bottom) |
left = parseSingleValue(longhands[3]); |
} |
@@ -4125,21 +4166,21 @@ bool CSSPropertyParser::consume4Values(const StylePropertyShorthand& shorthand, |
if (!left) |
left = right; |
- addProperty(longhands[0], top.release(), important); |
- addProperty(longhands[1], right.release(), important); |
- addProperty(longhands[2], bottom.release(), important); |
- addProperty(longhands[3], left.release(), important); |
+ addProperty(longhands[0], top, important); |
+ addProperty(longhands[1], right, important); |
+ addProperty(longhands[2], bottom, important); |
+ addProperty(longhands[3], left, important); |
return m_range.atEnd(); |
} |
bool CSSPropertyParser::consumeBorderImage(CSSPropertyID property, bool important) |
{ |
- RawPtr<CSSValue> source = nullptr; |
- RawPtr<CSSValue> slice = nullptr; |
- RawPtr<CSSValue> width = nullptr; |
- RawPtr<CSSValue> outset = nullptr; |
- RawPtr<CSSValue> repeat = nullptr; |
+ CSSValue* source = nullptr; |
+ CSSValue* slice = nullptr; |
+ CSSValue* width = nullptr; |
+ CSSValue* outset = nullptr; |
+ CSSValue* repeat = nullptr; |
if (consumeBorderImageComponents(property, m_range, m_context, source, slice, width, outset, repeat)) { |
switch (property) { |
case CSSPropertyWebkitMaskBoxImage: |
@@ -4204,7 +4245,7 @@ bool CSSPropertyParser::consumeLegacyBreakProperty(CSSPropertyID property, bool |
// The fragmentation spec says that page-break-(after|before|inside) are to be treated as |
// shorthands for their break-(after|before|inside) counterparts. We'll do the same for the |
// non-standard properties -webkit-column-break-(after|before|inside). |
- RawPtr<CSSPrimitiveValue> keyword = consumeIdent(m_range); |
+ CSSPrimitiveValue* keyword = consumeIdent(m_range); |
if (!keyword) |
return false; |
if (!m_range.atEnd()) |
@@ -4234,11 +4275,11 @@ bool CSSPropertyParser::consumeLegacyBreakProperty(CSSPropertyID property, bool |
return true; |
} |
-static bool consumeBackgroundPosition(CSSParserTokenRange& range, const CSSParserContext& context, UnitlessQuirk unitless, RawPtr<CSSValue>& resultX, RawPtr<CSSValue>& resultY) |
+static bool consumeBackgroundPosition(CSSParserTokenRange& range, const CSSParserContext& context, UnitlessQuirk unitless, CSSValue*& resultX, CSSValue*& resultY) |
{ |
do { |
- RawPtr<CSSValue> positionX = nullptr; |
- RawPtr<CSSValue> positionY = nullptr; |
+ CSSValue* positionX = nullptr; |
+ CSSValue* positionY = nullptr; |
if (!consumePosition(range, context.mode(), unitless, positionX, positionY)) |
return false; |
addBackgroundValue(resultX, positionX); |
@@ -4247,7 +4288,7 @@ static bool consumeBackgroundPosition(CSSParserTokenRange& range, const CSSParse |
return true; |
} |
-static bool consumeRepeatStyleComponent(CSSParserTokenRange& range, RawPtr<CSSValue>& value1, RawPtr<CSSValue>& value2, bool& implicit) |
+static bool consumeRepeatStyleComponent(CSSParserTokenRange& range, CSSValue*& value1, CSSValue*& value2, bool& implicit) |
{ |
if (consumeIdent<CSSValueRepeatX>(range)) { |
value1 = cssValuePool().createIdentifierValue(CSSValueRepeat); |
@@ -4273,11 +4314,11 @@ static bool consumeRepeatStyleComponent(CSSParserTokenRange& range, RawPtr<CSSVa |
return true; |
} |
-static bool consumeRepeatStyle(CSSParserTokenRange& range, RawPtr<CSSValue>& resultX, RawPtr<CSSValue>& resultY, bool& implicit) |
+static bool consumeRepeatStyle(CSSParserTokenRange& range, CSSValue*& resultX, CSSValue*& resultY, bool& implicit) |
{ |
do { |
- RawPtr<CSSValue> repeatX = nullptr; |
- RawPtr<CSSValue> repeatY = nullptr; |
+ CSSValue* repeatX = nullptr; |
+ CSSValue* repeatY = nullptr; |
if (!consumeRepeatStyleComponent(range, repeatX, repeatY, implicit)) |
return false; |
addBackgroundValue(resultX, repeatX); |
@@ -4291,7 +4332,7 @@ static bool consumeRepeatStyle(CSSParserTokenRange& range, RawPtr<CSSValue>& res |
bool CSSPropertyParser::consumeBackgroundShorthand(const StylePropertyShorthand& shorthand, bool important) |
{ |
const unsigned longhandCount = shorthand.length(); |
- RawPtr<CSSValue> longhands[10]; |
+ CSSValue* longhands[10]; |
ASSERT(longhandCount <= 10); |
#if ENABLE(OILPAN) |
// Zero initialize the array of raw pointers. |
@@ -4300,15 +4341,15 @@ bool CSSPropertyParser::consumeBackgroundShorthand(const StylePropertyShorthand& |
bool implicit = false; |
do { |
bool parsedLonghand[10] = { false }; |
- RawPtr<CSSValue> originValue = nullptr; |
+ CSSValue* originValue = nullptr; |
do { |
bool foundProperty = false; |
for (size_t i = 0; i < longhandCount; ++i) { |
if (parsedLonghand[i]) |
continue; |
- RawPtr<CSSValue> value = nullptr; |
- RawPtr<CSSValue> valueY = nullptr; |
+ CSSValue* value = nullptr; |
+ CSSValue* valueY = nullptr; |
CSSPropertyID property = shorthand.properties()[i]; |
if (property == CSSPropertyBackgroundRepeatX || property == CSSPropertyWebkitMaskRepeatX) { |
consumeRepeatStyleComponent(m_range, value, valueY, implicit); |
@@ -4334,10 +4375,10 @@ bool CSSPropertyParser::consumeBackgroundShorthand(const StylePropertyShorthand& |
originValue = value; |
parsedLonghand[i] = true; |
foundProperty = true; |
- addBackgroundValue(longhands[i], value.release()); |
+ addBackgroundValue(longhands[i], value); |
if (valueY) { |
parsedLonghand[i + 1] = true; |
- addBackgroundValue(longhands[i + 1], valueY.release()); |
+ addBackgroundValue(longhands[i + 1], valueY); |
} |
} |
} |
@@ -4354,7 +4395,7 @@ bool CSSPropertyParser::consumeBackgroundShorthand(const StylePropertyShorthand& |
continue; |
} |
if ((property == CSSPropertyBackgroundClip || property == CSSPropertyWebkitMaskClip) && !parsedLonghand[i] && originValue) { |
- addBackgroundValue(longhands[i], originValue.release()); |
+ addBackgroundValue(longhands[i], originValue); |
continue; |
} |
if (!parsedLonghand[i]) |
@@ -4368,7 +4409,7 @@ bool CSSPropertyParser::consumeBackgroundShorthand(const StylePropertyShorthand& |
CSSPropertyID property = shorthand.properties()[i]; |
if (property == CSSPropertyBackgroundSize && longhands[i] && m_context.useLegacyBackgroundSizeShorthandBehavior()) |
continue; |
- addProperty(property, longhands[i].release(), important, implicit); |
+ addProperty(property, longhands[i], important, implicit); |
} |
return true; |
} |
@@ -4378,11 +4419,11 @@ bool CSSPropertyParser::consumeGridItemPositionShorthand(CSSPropertyID shorthand |
ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); |
const StylePropertyShorthand& shorthand = shorthandForProperty(shorthandId); |
ASSERT(shorthand.length() == 2); |
- RawPtr<CSSValue> startValue = consumeGridLine(m_range); |
+ CSSValue* startValue = consumeGridLine(m_range); |
if (!startValue) |
return false; |
- RawPtr<CSSValue> endValue = nullptr; |
+ CSSValue* endValue = nullptr; |
if (consumeSlashIncludingWhitespace(m_range)) { |
endValue = consumeGridLine(m_range); |
if (!endValue) |
@@ -4401,12 +4442,12 @@ bool CSSPropertyParser::consumeGridAreaShorthand(bool important) |
{ |
ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); |
ASSERT(gridAreaShorthand().length() == 4); |
- RawPtr<CSSValue> rowStartValue = consumeGridLine(m_range); |
+ CSSValue* rowStartValue = consumeGridLine(m_range); |
if (!rowStartValue) |
return false; |
- RawPtr<CSSValue> columnStartValue = nullptr; |
- RawPtr<CSSValue> rowEndValue = nullptr; |
- RawPtr<CSSValue> columnEndValue = nullptr; |
+ CSSValue* columnStartValue = nullptr; |
+ CSSValue* rowEndValue = nullptr; |
+ CSSValue* columnEndValue = nullptr; |
if (consumeSlashIncludingWhitespace(m_range)) { |
columnStartValue = consumeGridLine(m_range); |
if (!columnStartValue) |
@@ -4450,7 +4491,7 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im |
CSSValueID id = m_range.consumeIncludingWhitespace().id(); |
if (!CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyWebkitMarginBeforeCollapse, id)) |
return false; |
- RawPtr<CSSValue> beforeCollapse = cssValuePool().createIdentifierValue(id); |
+ CSSValue* beforeCollapse = cssValuePool().createIdentifierValue(id); |
addProperty(CSSPropertyWebkitMarginBeforeCollapse, beforeCollapse, important); |
if (m_range.atEnd()) { |
addProperty(CSSPropertyWebkitMarginAfterCollapse, beforeCollapse, important); |
@@ -4468,9 +4509,9 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im |
return false; |
if (!m_range.atEnd()) |
return false; |
- RawPtr<CSSValue> overflowYValue = cssValuePool().createIdentifierValue(id); |
+ CSSValue* overflowYValue = cssValuePool().createIdentifierValue(id); |
- RawPtr<CSSValue> overflowXValue = nullptr; |
+ CSSValue* overflowXValue = nullptr; |
// FIXME: -webkit-paged-x or -webkit-paged-y only apply to overflow-y. If this value has been |
// set using the shorthand, then for now overflow-x will default to auto, but once we implement |
@@ -4480,8 +4521,8 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im |
overflowXValue = cssValuePool().createIdentifierValue(CSSValueAuto); |
else |
overflowXValue = overflowYValue; |
- addProperty(CSSPropertyOverflowX, overflowXValue.release(), important); |
- addProperty(CSSPropertyOverflowY, overflowYValue.release(), important); |
+ addProperty(CSSPropertyOverflowX, overflowXValue, important); |
+ addProperty(CSSPropertyOverflowY, overflowYValue, important); |
return true; |
} |
case CSSPropertyFont: { |
@@ -4525,12 +4566,12 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im |
case CSSPropertyWebkitTextStroke: |
return consumeShorthandGreedily(webkitTextStrokeShorthand(), important); |
case CSSPropertyMarker: { |
- RawPtr<CSSValue> marker = parseSingleValue(CSSPropertyMarkerStart); |
+ CSSValue* marker = parseSingleValue(CSSPropertyMarkerStart); |
if (!marker || !m_range.atEnd()) |
return false; |
addProperty(CSSPropertyMarkerStart, marker, important); |
addProperty(CSSPropertyMarkerMid, marker, important); |
- addProperty(CSSPropertyMarkerEnd, marker.release(), important); |
+ addProperty(CSSPropertyMarkerEnd, marker, important); |
return true; |
} |
case CSSPropertyFlex: |
@@ -4542,14 +4583,14 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im |
case CSSPropertyListStyle: |
return consumeShorthandGreedily(listStyleShorthand(), important); |
case CSSPropertyBorderRadius: { |
- RawPtr<CSSPrimitiveValue> horizontalRadii[4]; |
- RawPtr<CSSPrimitiveValue> verticalRadii[4]; |
+ CSSPrimitiveValue* horizontalRadii[4]; |
+ CSSPrimitiveValue* verticalRadii[4]; |
if (!consumeRadii(horizontalRadii, verticalRadii, m_range, m_context.mode(), unresolvedProperty == CSSPropertyAliasWebkitBorderRadius)) |
return false; |
- addProperty(CSSPropertyBorderTopLeftRadius, CSSValuePair::create(horizontalRadii[0].release(), verticalRadii[0].release(), CSSValuePair::DropIdenticalValues), important); |
- addProperty(CSSPropertyBorderTopRightRadius, CSSValuePair::create(horizontalRadii[1].release(), verticalRadii[1].release(), CSSValuePair::DropIdenticalValues), important); |
- addProperty(CSSPropertyBorderBottomRightRadius, CSSValuePair::create(horizontalRadii[2].release(), verticalRadii[2].release(), CSSValuePair::DropIdenticalValues), important); |
- addProperty(CSSPropertyBorderBottomLeftRadius, CSSValuePair::create(horizontalRadii[3].release(), verticalRadii[3].release(), CSSValuePair::DropIdenticalValues), important); |
+ addProperty(CSSPropertyBorderTopLeftRadius, CSSValuePair::create(horizontalRadii[0], verticalRadii[0], CSSValuePair::DropIdenticalValues), important); |
+ addProperty(CSSPropertyBorderTopRightRadius, CSSValuePair::create(horizontalRadii[1], verticalRadii[1], CSSValuePair::DropIdenticalValues), important); |
+ addProperty(CSSPropertyBorderBottomRightRadius, CSSValuePair::create(horizontalRadii[2], verticalRadii[2], CSSValuePair::DropIdenticalValues), important); |
+ addProperty(CSSPropertyBorderBottomLeftRadius, CSSValuePair::create(horizontalRadii[3], verticalRadii[3], CSSValuePair::DropIdenticalValues), important); |
return true; |
} |
case CSSPropertyBorderColor: |
@@ -4580,23 +4621,23 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im |
return consumeLegacyBreakProperty(property, important); |
case CSSPropertyWebkitMaskPosition: |
case CSSPropertyBackgroundPosition: { |
- RawPtr<CSSValue> resultX = nullptr; |
- RawPtr<CSSValue> resultY = nullptr; |
+ CSSValue* resultX = nullptr; |
+ CSSValue* resultY = nullptr; |
if (!consumeBackgroundPosition(m_range, m_context, UnitlessQuirk::Allow, resultX, resultY) || !m_range.atEnd()) |
return false; |
- addProperty(property == CSSPropertyBackgroundPosition ? CSSPropertyBackgroundPositionX : CSSPropertyWebkitMaskPositionX, resultX.release(), important); |
- addProperty(property == CSSPropertyBackgroundPosition ? CSSPropertyBackgroundPositionY : CSSPropertyWebkitMaskPositionY, resultY.release(), important); |
+ addProperty(property == CSSPropertyBackgroundPosition ? CSSPropertyBackgroundPositionX : CSSPropertyWebkitMaskPositionX, resultX, important); |
+ addProperty(property == CSSPropertyBackgroundPosition ? CSSPropertyBackgroundPositionY : CSSPropertyWebkitMaskPositionY, resultY, important); |
return true; |
} |
case CSSPropertyBackgroundRepeat: |
case CSSPropertyWebkitMaskRepeat: { |
- RawPtr<CSSValue> resultX = nullptr; |
- RawPtr<CSSValue> resultY = nullptr; |
+ CSSValue* resultX = nullptr; |
+ CSSValue* resultY = nullptr; |
bool implicit = false; |
if (!consumeRepeatStyle(m_range, resultX, resultY, implicit) || !m_range.atEnd()) |
return false; |
- addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatX : CSSPropertyWebkitMaskRepeatX, resultX.release(), important, implicit); |
- addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatY : CSSPropertyWebkitMaskRepeatY, resultY.release(), important, implicit); |
+ addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatX : CSSPropertyWebkitMaskRepeatX, resultX, important, implicit); |
+ addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatY : CSSPropertyWebkitMaskRepeatY, resultY, important, implicit); |
return true; |
} |
case CSSPropertyBackground: |
@@ -4605,14 +4646,14 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty, bool im |
return consumeBackgroundShorthand(webkitMaskShorthand(), important); |
case CSSPropertyGridGap: { |
ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled() && shorthandForProperty(CSSPropertyGridGap).length() == 2); |
- RawPtr<CSSValue> rowGap = consumeLength(m_range, m_context.mode(), ValueRangeNonNegative); |
- RawPtr<CSSValue> columnGap = consumeLength(m_range, m_context.mode(), ValueRangeNonNegative); |
+ CSSValue* rowGap = consumeLength(m_range, m_context.mode(), ValueRangeNonNegative); |
+ CSSValue* columnGap = consumeLength(m_range, m_context.mode(), ValueRangeNonNegative); |
if (!rowGap || !m_range.atEnd()) |
return false; |
if (!columnGap) |
columnGap = rowGap; |
- addProperty(CSSPropertyGridRowGap, rowGap.release(), important); |
- addProperty(CSSPropertyGridColumnGap, columnGap.release(), important); |
+ addProperty(CSSPropertyGridRowGap, rowGap, important); |
+ addProperty(CSSPropertyGridColumnGap, columnGap, important); |
return true; |
} |
case CSSPropertyGridColumn: |