diff options
author | CYBAI <cyb.ai.815@gmail.com> | 2018-11-11 11:37:53 +0800 |
---|---|---|
committer | CYBAI <cyb.ai.815@gmail.com> | 2018-11-11 13:36:37 +0800 |
commit | 202d7470359c35e21653a7f1672e9436d912d72d (patch) | |
tree | a4b3a69f5f8a6880dd442c7a8749a2b51a978f9f /components/script/dom/promiserejectionevent.rs | |
parent | 19b4f35de1ec593ed0ddf11dc0e41ef8f191d496 (diff) | |
download | servo-202d7470359c35e21653a7f1672e9436d912d72d.tar.gz servo-202d7470359c35e21653a7f1672e9436d912d72d.zip |
Fail to construct if promise is none
Diffstat (limited to 'components/script/dom/promiserejectionevent.rs')
-rw-r--r-- | components/script/dom/promiserejectionevent.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/promiserejectionevent.rs b/components/script/dom/promiserejectionevent.rs index b4119cd7242..917601bb8be 100644 --- a/components/script/dom/promiserejectionevent.rs +++ b/components/script/dom/promiserejectionevent.rs @@ -5,7 +5,7 @@ use crate::dom::bindings::codegen::Bindings::EventBinding::EventMethods; use crate::dom::bindings::codegen::Bindings::PromiseRejectionEventBinding; use crate::dom::bindings::codegen::Bindings::PromiseRejectionEventBinding::PromiseRejectionEventMethods; -use crate::dom::bindings::error::Fallible; +use crate::dom::bindings::error::{Error, Fallible}; use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::reflector::reflect_dom_object; use crate::dom::bindings::root::DomRoot; @@ -73,7 +73,11 @@ impl PromiseRejectionEvent { let reason = init.reason.handle(); let promise = match init.promise.as_ref() { Some(promise) => promise.clone(), - None => Promise::new(global), + None => { + return Err(Error::Type( + "required member promise is undefined.".to_string(), + )) + }, }; let bubbles = EventBubbles::from(init.parent.bubbles); let cancelable = EventCancelable::from(init.parent.cancelable); |