Chromium Code Reviews| 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 3488abac4c0f59386af19087894b8bf394d7ab24..631bff256e1ad324e41e378a5e5c71640b824590 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(expressions_.at(0)->Serialize()); |
| + result.Append(expressions_.at(0).Serialize()); |
| for (size_t i = 1; i < expressions_.size(); ++i) { |
| result.Append(" and "); |
| - result.Append(expressions_.at(i)->Serialize()); |
| + result.Append(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::kNot, MediaTypeNames::all, |
| - ExpressionHeapVector()); |
| +std::unique_ptr<MediaQuery> MediaQuery::CreateNotAll() { |
| + return WTF::WrapUnique(new MediaQuery(MediaQuery::kNot, MediaTypeNames::all, |
| + ExpressionHeapVector())); |
| } |
| -MediaQuery* MediaQuery::Create(RestrictorType restrictor, |
| - String media_type, |
| - ExpressionHeapVector expressions) { |
| - return new MediaQuery(restrictor, std::move(media_type), |
| - std::move(expressions)); |
| +std::unique_ptr<MediaQuery> MediaQuery::Create( |
| + RestrictorType restrictor, |
| + String media_type, |
| + ExpressionHeapVector expressions) { |
| + return WTF::WrapUnique(new MediaQuery(restrictor, std::move(media_type), |
| + std::move(expressions))); |
| } |
| MediaQuery::MediaQuery(RestrictorType restrictor, |
| @@ -95,11 +95,12 @@ MediaQuery::MediaQuery(RestrictorType restrictor, |
| NonCopyingSort(expressions_.begin(), expressions_.end(), ExpressionCompare); |
| // Remove all duplicated expressions. |
| - MediaQueryExp* key = 0; |
| + MediaQueryExp key = MediaQueryExp::Invalid(); |
| for (int i = expressions_.size() - 1; i >= 0; --i) { |
| - MediaQueryExp* exp = expressions_.at(i).Get(); |
| - |
| - if (key && *exp == *key) |
| + MediaQueryExp exp = expressions_.at(i); |
| + CHECK(exp.IsValid()); |
| + CHECK(String() == String()); |
|
sof
2017/04/26 09:16:11
accidental addition?
keishi
2017/04/26 09:44:35
Oops. Sorry.
|
| + if (exp == key) |
| expressions_.erase(i); |
| else |
| key = exp; |
| @@ -112,7 +113,7 @@ MediaQuery::MediaQuery(const MediaQuery& o) |
| serialization_cache_(o.serialization_cache_) { |
| expressions_.ReserveInitialCapacity(o.expressions_.size()); |
| for (unsigned i = 0; i < o.expressions_.size(); ++i) |
| - expressions_.push_back(o.expressions_[i]->Copy()); |
| + expressions_.push_back(o.expressions_[i]); |
| } |
| MediaQuery::~MediaQuery() {} |
| @@ -130,8 +131,4 @@ String MediaQuery::CssText() const { |
| return serialization_cache_; |
| } |
| -DEFINE_TRACE(MediaQuery) { |
| - visitor->Trace(expressions_); |
| -} |
| - |
| } // namespace blink |