aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/promiserejectionevent.rs
diff options
context:
space:
mode:
authorCYBAI <cyb.ai.815@gmail.com>2018-11-11 11:37:53 +0800
committerCYBAI <cyb.ai.815@gmail.com>2018-11-11 13:36:37 +0800
commit202d7470359c35e21653a7f1672e9436d912d72d (patch)
treea4b3a69f5f8a6880dd442c7a8749a2b51a978f9f /components/script/dom/promiserejectionevent.rs
parent19b4f35de1ec593ed0ddf11dc0e41ef8f191d496 (diff)
downloadservo-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.rs8
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);