| 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;
|
| }
|
|
|