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

Unified Diff: third_party/WebKit/Source/core/css/MediaQuery.cpp

Issue 2873433003: Move MediaQuery classes off BlinkGC heap (Closed)
Patch Set: Created 3 years, 7 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/MediaQuery.cpp
diff --git a/third_party/WebKit/Source/core/css/MediaQuery.cpp b/third_party/WebKit/Source/core/css/MediaQuery.cpp
index 870d5a890807f0e4b73d6ec93995282928fe4b62..97ed48ee7288a3fed1c982a225a3efae6bd64586 100644
--- a/third_party/WebKit/Source/core/css/MediaQuery.cpp
+++ b/third_party/WebKit/Source/core/css/MediaQuery.cpp
@@ -61,29 +61,29 @@ String MediaQuery::serialize() const {
result.append(" and ");
}
- result.append(m_expressions.at(0)->serialize());
+ result.append(m_expressions.at(0).serialize());
for (size_t i = 1; i < m_expressions.size(); ++i) {
result.append(" and ");
- result.append(m_expressions.at(i)->serialize());
+ result.append(m_expressions.at(i).serialize());
}
return result.toString();
}
-static bool expressionCompare(const Member<MediaQueryExp>& a,
- const Member<MediaQueryExp>& b) {
- return codePointCompare(a->serialize(), b->serialize()) < 0;
+static bool expressionCompare(const MediaQueryExp& a, const MediaQueryExp& b) {
+ return codePointCompare(a.serialize(), b.serialize()) < 0;
}
-MediaQuery* MediaQuery::createNotAll() {
- return new MediaQuery(MediaQuery::Not, MediaTypeNames::all,
- ExpressionHeapVector());
+std::unique_ptr<MediaQuery> MediaQuery::createNotAll() {
+ return WTF::makeUnique<MediaQuery>(MediaQuery::Not, MediaTypeNames::all,
+ ExpressionHeapVector());
}
-MediaQuery* MediaQuery::create(RestrictorType restrictor,
- String mediaType,
- ExpressionHeapVector expressions) {
- return new MediaQuery(restrictor, std::move(mediaType),
- std::move(expressions));
+std::unique_ptr<MediaQuery> MediaQuery::create(
+ RestrictorType restrictor,
+ String mediaType,
+ ExpressionHeapVector expressions) {
+ return WTF::makeUnique<MediaQuery>(restrictor, std::move(mediaType),
+ std::move(expressions));
}
MediaQuery::MediaQuery(RestrictorType restrictor,
@@ -95,11 +95,11 @@ MediaQuery::MediaQuery(RestrictorType restrictor,
nonCopyingSort(m_expressions.begin(), m_expressions.end(), expressionCompare);
// Remove all duplicated expressions.
- MediaQueryExp* key = 0;
+ MediaQueryExp key = MediaQueryExp::invalid();
for (int i = m_expressions.size() - 1; i >= 0; --i) {
- MediaQueryExp* exp = m_expressions.at(i).get();
+ MediaQueryExp exp = m_expressions.at(i);
- if (key && *exp == *key)
+ if (exp == key)
m_expressions.remove(i);
else
key = exp;
@@ -112,7 +112,7 @@ MediaQuery::MediaQuery(const MediaQuery& o)
m_serializationCache(o.m_serializationCache) {
m_expressions.reserveInitialCapacity(o.m_expressions.size());
for (unsigned i = 0; i < o.m_expressions.size(); ++i)
- m_expressions.push_back(o.m_expressions[i]->copy());
+ m_expressions.push_back(o.m_expressions[i]);
}
MediaQuery::~MediaQuery() {}
@@ -130,8 +130,4 @@ String MediaQuery::cssText() const {
return m_serializationCache;
}
-DEFINE_TRACE(MediaQuery) {
- visitor->trace(m_expressions);
-}
-
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/core/css/MediaQuery.h ('k') | third_party/WebKit/Source/core/css/MediaQueryEvaluator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698