| 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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 typedef HashMap<StringImpl*, EvalFunc> FunctionMap; | 62 typedef HashMap<StringImpl*, EvalFunc> FunctionMap; |
| 63 static FunctionMap* gFunctionMap; | 63 static FunctionMap* gFunctionMap; |
| 64 | 64 |
| 65 MediaQueryEvaluator::MediaQueryEvaluator(bool mediaFeatureResult) | 65 MediaQueryEvaluator::MediaQueryEvaluator(bool mediaFeatureResult) |
| 66 : m_frame(0) | 66 : m_frame(0) |
| 67 , m_style(nullptr) | 67 , m_style(nullptr) |
| 68 , m_expResult(mediaFeatureResult) | 68 , m_expResult(mediaFeatureResult) |
| 69 { | 69 { |
| 70 } | 70 } |
| 71 | 71 |
| 72 MediaQueryEvaluator::MediaQueryEvaluator(const AtomicString& acceptedMediaType,
bool mediaFeatureResult) | 72 MediaQueryEvaluator::MediaQueryEvaluator(const String& acceptedMediaType, bool m
ediaFeatureResult) |
| 73 : m_mediaType(acceptedMediaType) | 73 : m_mediaType(acceptedMediaType) |
| 74 , m_frame(0) | 74 , m_frame(0) |
| 75 , m_style(nullptr) | 75 , m_style(nullptr) |
| 76 , m_expResult(mediaFeatureResult) | 76 , m_expResult(mediaFeatureResult) |
| 77 { | 77 { |
| 78 } | 78 } |
| 79 | 79 |
| 80 MediaQueryEvaluator::MediaQueryEvaluator(const char* acceptedMediaType, bool med
iaFeatureResult) | 80 MediaQueryEvaluator::MediaQueryEvaluator(const char* acceptedMediaType, bool med
iaFeatureResult) |
| 81 : m_mediaType(acceptedMediaType) | 81 : m_mediaType(acceptedMediaType) |
| 82 , m_frame(0) | 82 , m_frame(0) |
| 83 , m_style(nullptr) | 83 , m_style(nullptr) |
| 84 , m_expResult(mediaFeatureResult) | 84 , m_expResult(mediaFeatureResult) |
| 85 { | 85 { |
| 86 } | 86 } |
| 87 | 87 |
| 88 MediaQueryEvaluator::MediaQueryEvaluator(const AtomicString& acceptedMediaType,
LocalFrame* frame, RenderStyle* style) | 88 MediaQueryEvaluator::MediaQueryEvaluator(const String& acceptedMediaType, LocalF
rame* frame, RenderStyle* style) |
| 89 : m_mediaType(acceptedMediaType) | 89 : m_mediaType(acceptedMediaType) |
| 90 , m_frame(frame) | 90 , m_frame(frame) |
| 91 , m_style(style) | 91 , m_style(style) |
| 92 , m_expResult(false) // Doesn't matter when we have m_frame and m_style. | 92 , m_expResult(false) // Doesn't matter when we have m_frame and m_style. |
| 93 { | 93 { |
| 94 } | 94 } |
| 95 | 95 |
| 96 MediaQueryEvaluator::~MediaQueryEvaluator() | 96 MediaQueryEvaluator::~MediaQueryEvaluator() |
| 97 { | 97 { |
| 98 } | 98 } |
| 99 | 99 |
| 100 bool MediaQueryEvaluator::mediaTypeMatch(const AtomicString& mediaTypeToMatch) c
onst | 100 bool MediaQueryEvaluator::mediaTypeMatch(const String& mediaTypeToMatch) const |
| 101 { | 101 { |
| 102 return mediaTypeToMatch.isEmpty() | 102 return mediaTypeToMatch.isEmpty() |
| 103 || equalIgnoringCase(mediaTypeToMatch, "all") | 103 || equalIgnoringCase(mediaTypeToMatch, "all") |
| 104 || equalIgnoringCase(mediaTypeToMatch, m_mediaType); | 104 || equalIgnoringCase(mediaTypeToMatch, m_mediaType); |
| 105 } | 105 } |
| 106 | 106 |
| 107 bool MediaQueryEvaluator::mediaTypeMatchSpecific(const char* mediaTypeToMatch) c
onst | 107 bool MediaQueryEvaluator::mediaTypeMatchSpecific(const char* mediaTypeToMatch) c
onst |
| 108 { | 108 { |
| 109 // Like mediaTypeMatch, but without the special cases for "" and "all". | 109 // Like mediaTypeMatch, but without the special cases for "" and "all". |
| 110 ASSERT(mediaTypeToMatch); | 110 ASSERT(mediaTypeToMatch); |
| 111 ASSERT(mediaTypeToMatch[0] != '\0'); | 111 ASSERT(mediaTypeToMatch[0] != '\0'); |
| 112 ASSERT(!equalIgnoringCase(mediaTypeToMatch, AtomicString("all"))); | 112 ASSERT(!equalIgnoringCase(mediaTypeToMatch, String("all"))); |
| 113 return equalIgnoringCase(mediaTypeToMatch, m_mediaType); | 113 return equalIgnoringCase(mediaTypeToMatch, m_mediaType); |
| 114 } | 114 } |
| 115 | 115 |
| 116 static bool applyRestrictor(MediaQuery::Restrictor r, bool value) | 116 static bool applyRestrictor(MediaQuery::Restrictor r, bool value) |
| 117 { | 117 { |
| 118 return r == MediaQuery::Not ? !value : value; | 118 return r == MediaQuery::Not ? !value : value; |
| 119 } | 119 } |
| 120 | 120 |
| 121 bool MediaQueryEvaluator::eval(const MediaQuerySet* querySet, MediaQueryResultLi
st* viewportDependentMediaQueryResults) const | 121 bool MediaQueryEvaluator::eval(const MediaQuerySet* querySet, MediaQueryResultLi
st* viewportDependentMediaQueryResults) const |
| 122 { | 122 { |
| (...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 690 // Call the media feature evaluation function. Assume no prefix and let | 690 // Call the media feature evaluation function. Assume no prefix and let |
| 691 // trampoline functions override the prefix if prefix is used. | 691 // trampoline functions override the prefix if prefix is used. |
| 692 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl()); | 692 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl()); |
| 693 if (func) | 693 if (func) |
| 694 return func(expr->value(), m_style.get(), m_frame, NoPrefix); | 694 return func(expr->value(), m_style.get(), m_frame, NoPrefix); |
| 695 | 695 |
| 696 return false; | 696 return false; |
| 697 } | 697 } |
| 698 | 698 |
| 699 } // namespace | 699 } // namespace |
| OLD | NEW |