OLD | NEW |
1 /* | 1 /* |
2 * CSS Media Query Evaluator | 2 * CSS Media Query Evaluator |
3 * | 3 * |
4 * Copyright (C) 2006 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>. | 4 * Copyright (C) 2006 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>. |
5 * Copyright (C) 2013 Apple Inc. All rights reserved. | 5 * Copyright (C) 2013 Apple Inc. All rights reserved. |
6 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 6 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
7 * | 7 * |
8 * Redistribution and use in source and binary forms, with or without | 8 * Redistribution and use in source and binary forms, with or without |
9 * modification, are permitted provided that the following conditions | 9 * modification, are permitted provided that the following conditions |
10 * are met: | 10 * are met: |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "core/CSSValueKeywords.h" | 32 #include "core/CSSValueKeywords.h" |
33 #include "core/MediaFeatureNames.h" | 33 #include "core/MediaFeatureNames.h" |
34 #include "core/MediaFeatures.h" | 34 #include "core/MediaFeatures.h" |
35 #include "core/MediaTypeNames.h" | 35 #include "core/MediaTypeNames.h" |
36 #include "core/css/CSSHelper.h" | 36 #include "core/css/CSSHelper.h" |
37 #include "core/css/CSSPrimitiveValue.h" | 37 #include "core/css/CSSPrimitiveValue.h" |
38 #include "core/css/CSSToLengthConversionData.h" | 38 #include "core/css/CSSToLengthConversionData.h" |
39 #include "core/css/MediaList.h" | 39 #include "core/css/MediaList.h" |
40 #include "core/css/MediaQuery.h" | 40 #include "core/css/MediaQuery.h" |
41 #include "core/css/MediaValuesDynamic.h" | 41 #include "core/css/MediaValuesDynamic.h" |
| 42 #include "core/css/MediaValuesInitialViewport.h" |
42 #include "core/css/resolver/MediaQueryResult.h" | 43 #include "core/css/resolver/MediaQueryResult.h" |
43 #include "core/dom/NodeComputedStyle.h" | 44 #include "core/dom/NodeComputedStyle.h" |
44 #include "core/frame/FrameHost.h" | 45 #include "core/frame/FrameHost.h" |
45 #include "core/frame/FrameView.h" | 46 #include "core/frame/FrameView.h" |
46 #include "core/frame/LocalFrame.h" | 47 #include "core/frame/LocalFrame.h" |
47 #include "core/frame/Settings.h" | 48 #include "core/frame/Settings.h" |
48 #include "core/frame/UseCounter.h" | 49 #include "core/frame/UseCounter.h" |
49 #include "core/inspector/InspectorInstrumentation.h" | 50 #include "core/inspector/InspectorInstrumentation.h" |
50 #include "core/style/ComputedStyle.h" | 51 #include "core/style/ComputedStyle.h" |
51 #include "platform/RuntimeEnabledFeatures.h" | 52 #include "platform/RuntimeEnabledFeatures.h" |
(...skipping 15 matching lines...) Expand all Loading... |
67 static FunctionMap* gFunctionMap; | 68 static FunctionMap* gFunctionMap; |
68 | 69 |
69 MediaQueryEvaluator::MediaQueryEvaluator(bool mediaFeatureResult) | 70 MediaQueryEvaluator::MediaQueryEvaluator(bool mediaFeatureResult) |
70 : m_expectedResult(mediaFeatureResult) {} | 71 : m_expectedResult(mediaFeatureResult) {} |
71 | 72 |
72 MediaQueryEvaluator::MediaQueryEvaluator(const char* acceptedMediaType, | 73 MediaQueryEvaluator::MediaQueryEvaluator(const char* acceptedMediaType, |
73 bool mediaFeatureResult) | 74 bool mediaFeatureResult) |
74 : m_mediaType(acceptedMediaType), m_expectedResult(mediaFeatureResult) {} | 75 : m_mediaType(acceptedMediaType), m_expectedResult(mediaFeatureResult) {} |
75 | 76 |
76 MediaQueryEvaluator::MediaQueryEvaluator(LocalFrame* frame) | 77 MediaQueryEvaluator::MediaQueryEvaluator(LocalFrame* frame) |
77 // Doesn't matter when we have m_frame and m_style. | 78 : m_mediaValues(MediaValues::createDynamicIfFrameExists(frame)) {} |
78 : m_expectedResult(false), | |
79 m_mediaValues(MediaValues::createDynamicIfFrameExists(frame)) {} | |
80 | 79 |
81 MediaQueryEvaluator::MediaQueryEvaluator(const MediaValues& mediaValues) | 80 MediaQueryEvaluator::MediaQueryEvaluator(const MediaValues& mediaValues) |
82 : m_expectedResult(false), // Doesn't matter when we have mediaValues. | 81 : m_mediaValues(mediaValues.copy()) {} |
83 m_mediaValues(mediaValues.copy()) {} | 82 |
| 83 MediaQueryEvaluator::MediaQueryEvaluator( |
| 84 MediaValuesInitialViewport* mediaValues) |
| 85 : m_mediaValues(mediaValues) { |
| 86 DCHECK(mediaValues); |
| 87 } |
84 | 88 |
85 MediaQueryEvaluator::~MediaQueryEvaluator() {} | 89 MediaQueryEvaluator::~MediaQueryEvaluator() {} |
86 | 90 |
87 DEFINE_TRACE(MediaQueryEvaluator) { | 91 DEFINE_TRACE(MediaQueryEvaluator) { |
88 visitor->trace(m_mediaValues); | 92 visitor->trace(m_mediaValues); |
89 } | 93 } |
90 | 94 |
91 const String MediaQueryEvaluator::mediaType() const { | 95 const String MediaQueryEvaluator::mediaType() const { |
92 // If a static mediaType was given by the constructor, we use it here. | 96 // If a static mediaType was given by the constructor, we use it here. |
93 if (!m_mediaType.isEmpty()) | 97 if (!m_mediaType.isEmpty()) |
(...skipping 654 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
748 // Call the media feature evaluation function. Assume no prefix and let | 752 // Call the media feature evaluation function. Assume no prefix and let |
749 // trampoline functions override the prefix if prefix is used. | 753 // trampoline functions override the prefix if prefix is used. |
750 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl()); | 754 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl()); |
751 if (func) | 755 if (func) |
752 return func(expr->expValue(), NoPrefix, *m_mediaValues); | 756 return func(expr->expValue(), NoPrefix, *m_mediaValues); |
753 | 757 |
754 return false; | 758 return false; |
755 } | 759 } |
756 | 760 |
757 } // namespace blink | 761 } // namespace blink |
OLD | NEW |