From ce28a1a8cb638ec2563f375277ee4950f5eb4bde Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sun, 23 Oct 2016 15:57:43 +0100 Subject: Enable sharing where pseudo common pseudo classes are the same. --- src/select/select.h | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'src/select/select.h') diff --git a/src/select/select.h b/src/select/select.h index 96f4546..1d9a813 100644 --- a/src/select/select.h +++ b/src/select/select.h @@ -31,16 +31,30 @@ typedef struct prop_state { inherit : 1; /* Property is set to inherit */ } prop_state; + +typedef enum css_node_flags { + CSS_NODE_FLAGS_NONE = 0, + CSS_NODE_FLAGS_HAS_HINTS = (1 << 0), + CSS_NODE_FLAGS_PSEUDO_CLASS_ACTIVE = (1 << 1), + CSS_NODE_FLAGS_PSEUDO_CLASS_FOCUS = (1 << 2), + CSS_NODE_FLAGS_PSEUDO_CLASS_HOVER = (1 << 3), + CSS_NODE_FLAGS_PSEUDO_CLASS_LINK = (1 << 4), + CSS_NODE_FLAGS_PSEUDO_CLASS_VISITED = (1 << 5), + CSS_NODE_FLAGS_TAINT_PSEUDO_CLASS = (1 << 6), + CSS_NODE_FLAGS_TAINT_ATTRIBUTE = (1 << 7), + CSS_NODE_FLAGS_TAINT_SIBLING = (1 << 8), + CSS_NODE_FLAGS__PSEUDO_CLASSES_MASK = + (CSS_NODE_FLAGS_PSEUDO_CLASS_ACTIVE | + CSS_NODE_FLAGS_PSEUDO_CLASS_FOCUS | + CSS_NODE_FLAGS_PSEUDO_CLASS_HOVER | + CSS_NODE_FLAGS_PSEUDO_CLASS_LINK | + CSS_NODE_FLAGS_PSEUDO_CLASS_VISITED), +} css_node_flags; + struct css_node_data { css_select_results partial; css_bloom *bloom; - enum { - CSS_NODE_FLAGS_NONE = 0, - CSS_NODE_FLAGS_HAS_HINTS = (1 << 0), - CSS_NODE_FLAGS_TAINT_PSEUDO_CLASS = (1 << 1), - CSS_NODE_FLAGS_TAINT_ATTRIBUTE = (1 << 2), - CSS_NODE_FLAGS_TAINT_SIBLING = (1 << 3), - } flags; + css_node_flags flags; }; /** -- cgit v1.2.3