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