diff options
author | gatowololo <gatowololo@gmail.com> | 2019-06-06 16:59:02 -0700 |
---|---|---|
committer | gatowololo <gatowololo@gmail.com> | 2019-06-07 09:01:53 -0700 |
commit | 15c06b1b2668211e012be79a8211ecf73b19a47b (patch) | |
tree | b8a723cac17513d8e908521495bfdd235edad3e8 /components/script/dom | |
parent | 1e158bbfaed2bed6c739d14dbd1cd4ba5cacfe82 (diff) | |
download | servo-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.rs | 7 | ||||
-rw-r--r-- | components/script/dom/customelementregistry.rs | 4 | ||||
-rw-r--r-- | components/script/dom/webidls/CustomElementRegistry.webidl | 2 |
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; |