Index: third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp |
diff --git a/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp b/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp |
index e2b803dde3dd69a305066612dd325f2b024fe6a9..3f7b0d999801891e02be09a3befe55cd4f5f12f9 100644 |
--- a/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp |
+++ b/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp |
@@ -111,51 +111,50 @@ static bool applyRestrictor(MediaQuery::RestrictorType r, bool value) { |
} |
bool MediaQueryEvaluator::eval( |
- const MediaQuery* query, |
+ const MediaQuery& query, |
MediaQueryResultList* viewportDependentMediaQueryResults, |
MediaQueryResultList* deviceDependentMediaQueryResults) const { |
- if (!mediaTypeMatch(query->mediaType())) |
- return applyRestrictor(query->restrictor(), false); |
+ if (!mediaTypeMatch(query.mediaType())) |
+ return applyRestrictor(query.restrictor(), false); |
- const ExpressionHeapVector& expressions = query->expressions(); |
+ const ExpressionHeapVector& expressions = query.expressions(); |
// Iterate through expressions, stop if any of them eval to false (AND |
// semantics). |
size_t i = 0; |
for (; i < expressions.size(); ++i) { |
- bool exprResult = eval(expressions.at(i).get()); |
+ bool exprResult = eval(expressions.at(i)); |
if (viewportDependentMediaQueryResults && |
- expressions.at(i)->isViewportDependent()) |
+ expressions.at(i).isViewportDependent()) { |
viewportDependentMediaQueryResults->push_back( |
- new MediaQueryResult(*expressions.at(i), exprResult)); |
+ MediaQueryResult(expressions.at(i), exprResult)); |
+ } |
if (deviceDependentMediaQueryResults && |
- expressions.at(i)->isDeviceDependent()) |
+ expressions.at(i).isDeviceDependent()) { |
deviceDependentMediaQueryResults->push_back( |
- new MediaQueryResult(*expressions.at(i), exprResult)); |
+ MediaQueryResult(expressions.at(i), exprResult)); |
+ } |
if (!exprResult) |
break; |
} |
// Assume true if we are at the end of the list, otherwise assume false. |
- return applyRestrictor(query->restrictor(), expressions.size() == i); |
+ return applyRestrictor(query.restrictor(), expressions.size() == i); |
} |
bool MediaQueryEvaluator::eval( |
- const MediaQuerySet* querySet, |
+ const MediaQuerySet& querySet, |
MediaQueryResultList* viewportDependentMediaQueryResults, |
MediaQueryResultList* deviceDependentMediaQueryResults) const { |
- if (!querySet) |
- return true; |
- |
- const HeapVector<Member<MediaQuery>>& queries = querySet->queryVector(); |
+ const Vector<std::unique_ptr<MediaQuery>>& queries = querySet.queryVector(); |
if (!queries.size()) |
return true; // Empty query list evaluates to true. |
// Iterate over queries, stop if any of them eval to true (OR semantics). |
bool result = false; |
- for (size_t i = 0; i < queries.size() && !result; ++i) |
- result = eval(queries[i].get(), viewportDependentMediaQueryResults, |
+ for (size_t i = 0; i < queries.size() && !result; ++i) { |
+ result = eval(*queries[i], viewportDependentMediaQueryResults, |
deviceDependentMediaQueryResults); |
- |
+ } |
return result; |
} |
@@ -809,7 +808,7 @@ void MediaQueryEvaluator::init() { |
#undef ADD_TO_FUNCTIONMAP |
} |
-bool MediaQueryEvaluator::eval(const MediaQueryExp* expr) const { |
+bool MediaQueryEvaluator::eval(const MediaQueryExp& expr) const { |
if (!m_mediaValues || !m_mediaValues->hasValues()) |
return true; |
@@ -817,9 +816,9 @@ bool MediaQueryEvaluator::eval(const MediaQueryExp* expr) const { |
// Call the media feature evaluation function. Assume no prefix and let |
// trampoline functions override the prefix if prefix is used. |
- EvalFunc func = gFunctionMap->at(expr->mediaFeature().impl()); |
+ EvalFunc func = gFunctionMap->at(expr.mediaFeature().impl()); |
if (func) |
- return func(expr->expValue(), NoPrefix, *m_mediaValues); |
+ return func(expr.expValue(), NoPrefix, *m_mediaValues); |
return false; |
} |