aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs14
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,