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

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

Issue 1583913003: Introduce deviceDependentMediaQueries (similar to viewportDependent). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review fixes Created 4 years, 11 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/MediaQueryEvaluator.cpp
diff --git a/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp b/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp
index 99e42d0c0a99c55ceb260008c4b05eb9b6988753..64b68b9f504f17b62c12b68eabcc379297e595d1 100644
--- a/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp
+++ b/third_party/WebKit/Source/core/css/MediaQueryEvaluator.cpp
@@ -120,7 +120,7 @@ static bool applyRestrictor(MediaQuery::Restrictor r, bool value)
return r == MediaQuery::Not ? !value : value;
}
-bool MediaQueryEvaluator::eval(const MediaQuery* query, MediaQueryResultList* viewportDependentMediaQueryResults) const
+bool MediaQueryEvaluator::eval(const MediaQuery* query, MediaQueryResultList* viewportDependentMediaQueryResults, MediaQueryResultList* deviceDependentMediaQueryResults) const
{
if (!mediaTypeMatch(query->mediaType()))
return applyRestrictor(query->restrictor(), false);
@@ -132,6 +132,8 @@ bool MediaQueryEvaluator::eval(const MediaQuery* query, MediaQueryResultList* vi
bool exprResult = eval(expressions.at(i).get());
if (viewportDependentMediaQueryResults && expressions.at(i)->isViewportDependent())
viewportDependentMediaQueryResults->append(adoptRefWillBeNoop(new MediaQueryResult(*expressions.at(i), exprResult)));
+ if (deviceDependentMediaQueryResults && expressions.at(i)->isDeviceDependent())
+ deviceDependentMediaQueryResults->append(adoptRefWillBeNoop(new MediaQueryResult(*expressions.at(i), exprResult)));
if (!exprResult)
break;
}
@@ -140,7 +142,7 @@ bool MediaQueryEvaluator::eval(const MediaQuery* query, MediaQueryResultList* vi
return applyRestrictor(query->restrictor(), expressions.size() == i);
}
-bool MediaQueryEvaluator::eval(const MediaQuerySet* querySet, MediaQueryResultList* viewportDependentMediaQueryResults) const
+bool MediaQueryEvaluator::eval(const MediaQuerySet* querySet, MediaQueryResultList* viewportDependentMediaQueryResults, MediaQueryResultList* deviceDependentMediaQueryResults) const
{
if (!querySet)
return true;
@@ -152,7 +154,7 @@ bool MediaQueryEvaluator::eval(const MediaQuerySet* querySet, MediaQueryResultLi
// 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);
+ result = eval(queries[i].get(), viewportDependentMediaQueryResults, deviceDependentMediaQueryResults);
return result;
}
« no previous file with comments | « third_party/WebKit/Source/core/css/MediaQueryEvaluator.h ('k') | third_party/WebKit/Source/core/css/MediaQueryExp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698