mirror of
https://github.com/servo/servo.git
synced 2025-08-15 02:15:33 +01:00
Auto merge of #19195 - wilsoniya:issue-16840, r=emilio
style: :dir() pseudo class now represented by enum `:dir()` pseudo class param now represented as enum variants. --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #16840 - [X] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19195) <!-- Reviewable:end -->
This commit is contained in:
commit
006202732f
7 changed files with 73 additions and 27 deletions
|
@ -74,7 +74,7 @@ use properties::animated_properties::{AnimationValue, AnimationValueMap};
|
|||
use properties::animated_properties::TransitionProperty;
|
||||
use properties::style_structs::Font;
|
||||
use rule_tree::CascadeLevel as ServoCascadeLevel;
|
||||
use selector_parser::{AttrValue, PseudoClassStringArg};
|
||||
use selector_parser::{AttrValue, Direction, PseudoClassStringArg};
|
||||
use selectors::{Element, OpaqueElement};
|
||||
use selectors::attr::{AttrSelectorOperation, AttrSelectorOperator, CaseSensitivity, NamespaceConstraint};
|
||||
use selectors::matching::{ElementSelectorFlags, MatchingContext};
|
||||
|
@ -2070,8 +2070,7 @@ impl<'le> ::selectors::Element for GeckoElement<'le> {
|
|||
NonTSPseudoClass::Lang(ref lang_arg) => {
|
||||
self.match_element_lang(None, lang_arg)
|
||||
}
|
||||
NonTSPseudoClass::MozLocaleDir(ref s) |
|
||||
NonTSPseudoClass::Dir(ref s) => {
|
||||
NonTSPseudoClass::MozLocaleDir(ref s) => {
|
||||
unsafe {
|
||||
Gecko_MatchStringArgPseudo(
|
||||
self.0,
|
||||
|
@ -2080,6 +2079,13 @@ impl<'le> ::selectors::Element for GeckoElement<'le> {
|
|||
)
|
||||
}
|
||||
}
|
||||
NonTSPseudoClass::Dir(ref dir) => {
|
||||
match **dir {
|
||||
Direction::Ltr => self.get_state().intersects(ElementState::IN_LTR_STATE),
|
||||
Direction::Rtl => self.get_state().intersects(ElementState::IN_RTL_STATE),
|
||||
Direction::Other(..) => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue