diff --git a/components/script/dom/bindings/htmlconstructor.rs b/components/script/dom/bindings/htmlconstructor.rs
index c8f7e63358ec..28f67bf5af68 100644
--- a/components/script/dom/bindings/htmlconstructor.rs
+++ b/components/script/dom/bindings/htmlconstructor.rs
@@ -166,6 +166,8 @@ where
// Step 8.4
element.set_custom_element_definition(definition.clone());
+ element.done_creating();
+
// Step 8.5
DomRoot::downcast(element).ok_or(Error::InvalidState)
},
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 4144bb972ca3..f56836769d93 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -14,6 +14,7 @@ use dom::bindings::codegen::Bindings::ElementBinding;
use dom::bindings::codegen::Bindings::ElementBinding::ElementMethods;
use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::FunctionBinding::Function;
+use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementBinding::HTMLInputElementMethods;
use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::Bindings::WindowBinding::{ScrollBehavior, ScrollToOptions};
@@ -159,6 +160,7 @@ pub struct Element {
custom_element_definition: DomRefCell