diff options
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r-- | components/script/dom/element.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index f2de9aaa1a1..2e94e635b26 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -130,6 +130,7 @@ use style::selector_parser::{ NonTSPseudoClass, PseudoElement, RestyleDamage, SelectorImpl, SelectorParser, }; use style::shared_lock::{Locked, SharedRwLock}; +use style::stylesheets::layer_rule::LayerOrder; use style::stylesheets::CssRuleType; use style::thread_state; use style::values::generics::NonNegative; @@ -665,6 +666,7 @@ impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> { Importance::Normal, ))), CascadeLevel::PresHints, + LayerOrder::root(), ) } @@ -2700,12 +2702,14 @@ impl ElementMethods for Element { // https://dom.spec.whatwg.org/#dom-element-matches fn Matches(&self, selectors: DOMString) -> Fallible<bool> { - let selectors = match SelectorParser::parse_author_origin_no_namespace(&selectors) { + let doc = document_from_node(self); + let url = doc.url(); + let selectors = match SelectorParser::parse_author_origin_no_namespace(&selectors, &url) { Err(_) => return Err(Error::Syntax), Ok(selectors) => selectors, }; - let quirks_mode = document_from_node(self).quirks_mode(); + let quirks_mode = doc.quirks_mode(); let element = DomRoot::from_ref(self); Ok(dom_apis::element_matches(&element, &selectors, quirks_mode)) @@ -2718,12 +2722,14 @@ impl ElementMethods for Element { // https://dom.spec.whatwg.org/#dom-element-closest fn Closest(&self, selectors: DOMString) -> Fallible<Option<DomRoot<Element>>> { - let selectors = match SelectorParser::parse_author_origin_no_namespace(&selectors) { + let doc = document_from_node(self); + let url = doc.url(); + let selectors = match SelectorParser::parse_author_origin_no_namespace(&selectors, &url) { Err(_) => return Err(Error::Syntax), Ok(selectors) => selectors, }; - let quirks_mode = document_from_node(self).quirks_mode(); + let quirks_mode = doc.quirks_mode(); Ok(dom_apis::element_closest( DomRoot::from_ref(self), &selectors, |