diff options
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r-- | components/script/dom/document.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index c97d352872c..a61421e7866 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -36,6 +36,7 @@ use dom::bindings::xmlname::{namespace_from_domstring, validate_and_extract, xml use dom::bindings::xmlname::XMLName::InvalidXMLName; use dom::closeevent::CloseEvent; use dom::comment::Comment; +use dom::customelementregistry::CustomElementDefinition; use dom::customevent::CustomEvent; use dom::documentfragment::DocumentFragment; use dom::documenttype::DocumentType; @@ -1996,6 +1997,26 @@ impl Document { self.window.layout().nodes_from_point_response() } + + /// https://html.spec.whatwg.org/multipage/#look-up-a-custom-element-definition + pub fn lookup_custom_element_definition(&self, + local_name: LocalName, + is: Option<LocalName>) + -> Option<Rc<CustomElementDefinition>> { + if !PREFS.get("dom.customelements.enabled").as_boolean().unwrap_or(false) { + return None; + } + + // Step 2 + if !self.has_browsing_context { + return None; + } + + // Step 3 + let registry = self.window.CustomElements(); + + registry.lookup_definition(local_name, is) + } } #[derive(PartialEq, HeapSizeOf)] |