aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorgatowololo <gatowololo@gmail.com>2019-06-06 16:59:02 -0700
committergatowololo <gatowololo@gmail.com>2019-06-07 09:01:53 -0700
commit15c06b1b2668211e012be79a8211ecf73b19a47b (patch)
treeb8a723cac17513d8e908521495bfdd235edad3e8 /components/script/dom
parent1e158bbfaed2bed6c739d14dbd1cd4ba5cacfe82 (diff)
downloadservo-15c06b1b2668211e012be79a8211ecf73b19a47b.tar.gz
servo-15c06b1b2668211e012be79a8211ecf73b19a47b.zip
Use TypeError instead of InvalidState for exception.
Addresses Issue #23202
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/bindings/htmlconstructor.rs7
-rw-r--r--components/script/dom/customelementregistry.rs4
-rw-r--r--components/script/dom/webidls/CustomElementRegistry.webidl2
3 files changed, 10 insertions, 3 deletions
diff --git a/components/script/dom/bindings/htmlconstructor.rs b/components/script/dom/bindings/htmlconstructor.rs
index 08323e1e8cd..d984c687c16 100644
--- a/components/script/dom/bindings/htmlconstructor.rs
+++ b/components/script/dom/bindings/htmlconstructor.rs
@@ -182,7 +182,12 @@ where
DomRoot::downcast(element).ok_or(Error::InvalidState)
},
// Step 10
- Some(ConstructionStackEntry::AlreadyConstructedMarker) => Err(Error::InvalidState),
+ Some(ConstructionStackEntry::AlreadyConstructedMarker) => {
+ let s = "Top of construction stack marked AlreadyConstructed due to \
+ a custom element constructor constructing itself after super()"
+ .to_string();
+ Err(Error::Type(s))
+ },
}
}
diff --git a/components/script/dom/customelementregistry.rs b/components/script/dom/customelementregistry.rs
index 20ce633be5a..2613f722d41 100644
--- a/components/script/dom/customelementregistry.rs
+++ b/components/script/dom/customelementregistry.rs
@@ -680,7 +680,9 @@ fn run_upgrade_constructor(
return Err(Error::JSFailed);
}
if !same {
- return Err(Error::InvalidState);
+ return Err(Error::Type(
+ "Returned element is not SameValue as the upgraded element".to_string(),
+ ));
}
}
Ok(())
diff --git a/components/script/dom/webidls/CustomElementRegistry.webidl b/components/script/dom/webidls/CustomElementRegistry.webidl
index a888a3c1bf0..1072eed0031 100644
--- a/components/script/dom/webidls/CustomElementRegistry.webidl
+++ b/components/script/dom/webidls/CustomElementRegistry.webidl
@@ -13,7 +13,7 @@ interface CustomElementRegistry {
Promise<void> whenDefined(DOMString name);
};
-callback CustomElementConstructor = any();
+callback CustomElementConstructor = HTMLElement();
dictionary ElementDefinitionOptions {
DOMString extends;