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

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

Issue 2837023005: Move MediaQuery classes off BlinkGC heap (Closed)
Patch Set: fix Created 3 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/MediaQueryParser.cpp
diff --git a/third_party/WebKit/Source/core/css/parser/MediaQueryParser.cpp b/third_party/WebKit/Source/core/css/parser/MediaQueryParser.cpp
index 96a40f2dc7861731d9467484269a6a2db450af24..60039b15fd77e4785869209b3605fdabcaa7f422 100644
--- a/third_party/WebKit/Source/core/css/parser/MediaQueryParser.cpp
+++ b/third_party/WebKit/Source/core/css/parser/MediaQueryParser.cpp
@@ -10,16 +10,17 @@
namespace blink {
-MediaQuerySet* MediaQueryParser::ParseMediaQuerySet(
+RefPtr<MediaQuerySet> MediaQueryParser::ParseMediaQuerySet(
const String& query_string) {
return ParseMediaQuerySet(CSSTokenizer(query_string).TokenRange());
}
-MediaQuerySet* MediaQueryParser::ParseMediaQuerySet(CSSParserTokenRange range) {
+RefPtr<MediaQuerySet> MediaQueryParser::ParseMediaQuerySet(
+ CSSParserTokenRange range) {
return MediaQueryParser(kMediaQuerySetParser).ParseImpl(range);
}
-MediaQuerySet* MediaQueryParser::ParseMediaCondition(
+RefPtr<MediaQuerySet> MediaQueryParser::ParseMediaCondition(
CSSParserTokenRange range) {
return MediaQueryParser(kMediaConditionParser).ParseImpl(range);
}
@@ -226,7 +227,7 @@ void MediaQueryParser::ProcessToken(const CSSParserToken& token) {
}
// The state machine loop
-MediaQuerySet* MediaQueryParser::ParseImpl(CSSParserTokenRange range) {
+RefPtr<MediaQuerySet> MediaQueryParser::ParseImpl(CSSParserTokenRange range) {
while (!range.AtEnd())
ProcessToken(range.Consume());
@@ -257,20 +258,18 @@ void MediaQueryData::Clear() {
expressions_.clear();
}
-MediaQuery* MediaQueryData::TakeMediaQuery() {
- MediaQuery* media_query = MediaQuery::Create(
+std::unique_ptr<MediaQuery> MediaQueryData::TakeMediaQuery() {
+ std::unique_ptr<MediaQuery> media_query = MediaQuery::Create(
restrictor_, std::move(media_type_), std::move(expressions_));
Clear();
return media_query;
}
bool MediaQueryData::AddExpression() {
- MediaQueryExp* expression =
- MediaQueryExp::CreateIfValid(media_feature_, value_list_);
- bool is_valid = !!expression;
+ MediaQueryExp expression = MediaQueryExp::Create(media_feature_, value_list_);
expressions_.push_back(expression);
value_list_.clear();
- return is_valid;
+ return expression.IsValid();
}
bool MediaQueryData::TryAddParserToken(CSSParserTokenType type,

Powered by Google App Engine
This is Rietveld 408576698