Index: Source/core/css/MediaQueryEvaluator.cpp |
diff --git a/Source/core/css/MediaQueryEvaluator.cpp b/Source/core/css/MediaQueryEvaluator.cpp |
index 4d4cedbd403ff8f0bab24702b54c069a5052f8c7..6cc90e455dded4353c51bdc47076c4d36e3286d9 100644 |
--- a/Source/core/css/MediaQueryEvaluator.cpp |
+++ b/Source/core/css/MediaQueryEvaluator.cpp |
@@ -37,6 +37,7 @@ |
#include "core/css/CSSHelper.h" |
#include "core/css/CSSPrimitiveValue.h" |
#include "core/css/CSSToLengthConversionData.h" |
+#include "core/css/DisplayModeProperties.h" |
#include "core/css/MediaList.h" |
#include "core/css/MediaQuery.h" |
#include "core/css/MediaValuesDynamic.h" |
@@ -220,6 +221,27 @@ static bool monochromeMediaFeatureEval(const MediaQueryExpValue& value, MediaFea |
return colorMediaFeatureEval(value, op, mediaValues); |
} |
+static bool displayModeMediaFeatureEval(const MediaQueryExpValue& value, MediaFeaturePrefix, const MediaValues& mediaValues) |
+{ |
+ if (!value.isID) |
+ return false; |
+ |
+ DisplayMode mode = mediaValues.displayMode(); |
+ switch (value.id) { |
+ case CSSValueFullscreen: |
+ return mode == DisplayModeFullscreen; |
+ case CSSValueStandalone: |
+ return mode == DisplayModeStandalone; |
+ case CSSValueMinimalUi: |
+ return mode == DisplayModeMinimalUi; |
+ case CSSValueBrowser: |
+ return mode == DisplayModeBrowser; |
+ default: |
+ ASSERT_NOT_REACHED(); |
+ return false; |
+ } |
+} |
+ |
static bool orientationMediaFeatureEval(const MediaQueryExpValue& value, MediaFeaturePrefix, const MediaValues& mediaValues) |
{ |
int width = mediaValues.viewportWidth(); |