diff options
Diffstat (limited to 'layout/style/nsCSSPseudoElements.h')
-rw-r--r-- | layout/style/nsCSSPseudoElements.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/layout/style/nsCSSPseudoElements.h b/layout/style/nsCSSPseudoElements.h index 90db43c7d3..69dcad3de5 100644 --- a/layout/style/nsCSSPseudoElements.h +++ b/layout/style/nsCSSPseudoElements.h @@ -40,6 +40,10 @@ // API for creating pseudo-implementing native anonymous content in JS with this // pseudo-element? #define CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC (1<<5) +// Is this pseudo-element a pseudo-element that supports a tree-abiding +// pseudo-element following it, such as ::after or ::before? See +// https://w3c.github.io/csswg-drafts/css-pseudo-4/#tree-abiding. +#define CSS_PSEUDO_ELEMENT_SUPPORTS_TREE_ABIDING (1<<6) namespace mozilla { @@ -78,6 +82,10 @@ public: static bool IsCSS2PseudoElement(nsIAtom *aAtom); + static bool IsHybridPseudoElement(Type aType); + + static bool IsTreeAbidingPseudoElement(Type aType); + #define CSS_PSEUDO_ELEMENT(_name, _value, _flags) \ static nsICSSPseudoElement* _name; #include "nsCSSPseudoElementList.h" @@ -105,6 +113,12 @@ public: return PseudoElementHasFlags(aType, CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC); } + static bool PseudoElementSupportsTreeAbiding(const Type aType) + { + return PseudoElementHasFlags(aType, + CSS_PSEUDO_ELEMENT_SUPPORTS_TREE_ABIDING); + } + static bool IsEnabled(Type aType, EnabledState aEnabledState) { return !PseudoElementHasFlags(aType, CSS_PSEUDO_ELEMENT_UA_SHEET_ONLY) || |