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

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

Issue 1858753003: Remove RawPtr from core/css (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
index 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:

Powered by Google App Engine
This is Rietveld 408576698