| Index: Source/core/css/MediaQueryEvaluator.cpp
|
| diff --git a/Source/core/css/MediaQueryEvaluator.cpp b/Source/core/css/MediaQueryEvaluator.cpp
|
| index ec243f25bb28bde3c463d46ebbff84593d092fa6..0ecb932285a9f45a547c9c4a84e2b8a5034de9c3 100644
|
| --- a/Source/core/css/MediaQueryEvaluator.cpp
|
| +++ b/Source/core/css/MediaQueryEvaluator.cpp
|
| @@ -53,6 +53,7 @@
|
| #include "core/rendering/compositing/RenderLayerCompositor.h"
|
| #include "core/rendering/style/RenderStyle.h"
|
| #include "platform/PlatformScreen.h"
|
| +#include "platform/RuntimeEnabledFeatures.h"
|
| #include "platform/geometry/FloatRect.h"
|
| #include "wtf/HashMap.h"
|
|
|
| @@ -536,15 +537,28 @@ static bool hoverMediaFeatureEval(const MediaQueryExpValue& value, MediaFeatureP
|
| if (pointer == MediaValues::UnknownPointer)
|
| return false;
|
|
|
| - float number = 1;
|
| - if (value.isValid()) {
|
| - if (!numberValue(value, number))
|
| + // FIXME: Remove the old code once we're sure this doesn't break anything significant.
|
| + if (RuntimeEnabledFeatures::hoverMediaQueryKeywordsEnabled()) {
|
| + if (!value.isValid())
|
| + return pointer != MediaValues::NoPointer;
|
| +
|
| + if (!value.isID)
|
| return false;
|
| - }
|
|
|
| - return (pointer == MediaValues::NoPointer && !number)
|
| - || (pointer == MediaValues::TouchPointer && !number)
|
| - || (pointer == MediaValues::MousePointer && number == 1);
|
| + return (pointer == MediaValues::NoPointer && value.id == CSSValueNone)
|
| + || (pointer == MediaValues::TouchPointer && value.id == CSSValueOnDemand)
|
| + || (pointer == MediaValues::MousePointer && value.id == CSSValueHover);
|
| + } else {
|
| + float number = 1;
|
| + if (value.isValid()) {
|
| + if (!numberValue(value, number))
|
| + return false;
|
| + }
|
| +
|
| + return (pointer == MediaValues::NoPointer && !number)
|
| + || (pointer == MediaValues::TouchPointer && !number)
|
| + || (pointer == MediaValues::MousePointer && number == 1);
|
| + }
|
| }
|
|
|
| static bool pointerMediaFeatureEval(const MediaQueryExpValue& value, MediaFeaturePrefix, const MediaValues& mediaValues)
|
|
|