summaryrefslogtreecommitdiff
path: root/src/select/select.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/select/select.c')
-rw-r--r--src/select/select.c26
1 files changed, 2 insertions, 24 deletions
diff --git a/src/select/select.c b/src/select/select.c
index 6b5225a..644369a 100644
--- a/src/select/select.c
+++ b/src/select/select.c
@@ -19,6 +19,7 @@
#include "select/computed.h"
#include "select/dispatch.h"
#include "select/hash.h"
+#include "select/mq.h"
#include "select/propset.h"
#include "select/font_face.h"
#include "select/select.h"
@@ -1885,34 +1886,11 @@ css_error select_from_sheet(css_select_ctx *ctx, const css_stylesheet *sheet,
return CSS_OK;
}
-static inline bool _rule_applies_to_media(const css_rule *rule, uint64_t media)
-{
- bool applies = true;
- const css_rule *ancestor = rule;
-
- while (ancestor != NULL) {
- const css_rule_media *m = (const css_rule_media *) ancestor;
-
- if (ancestor->type == CSS_RULE_MEDIA &&
- (m->media & media) == 0) {
- applies = false;
- break;
- }
-
- if (ancestor->ptype != CSS_RULE_PARENT_STYLESHEET)
- ancestor = ancestor->parent;
- else
- ancestor = NULL;
- }
-
- return applies;
-}
-
static css_error _select_font_face_from_rule(
const css_rule_font_face *rule, css_origin origin,
css_select_font_faces_state *state)
{
- if (_rule_applies_to_media((const css_rule *) rule, state->media)) {
+ if (mq_rule_good_for_media((const css_rule *) rule, state->media)) {
bool correct_family = false;
if (lwc_string_isequal(