From 5994e40070923e4400820dfeb4e606051dbab259 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Fri, 22 Sep 2017 01:47:37 +0200 Subject: [PATCH] Use Promise::resolve_native in fullscreen tasks --- components/script/dom/element.rs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index d7996348109..923e285e1ae 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -82,7 +82,7 @@ use html5ever::serialize; use html5ever::serialize::SerializeOpts; use html5ever::serialize::TraversalScope; use html5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode}; -use js::jsapi::{HandleValue, Heap, JSAutoCompartment}; +use js::jsapi::Heap; use js::jsval::JSVal; use net_traits::request::CorsSettings; use ref_filter_map::ref_filter_map; @@ -3075,12 +3075,7 @@ impl TaskOnce for ElementPerformFullscreenEnter { document.upcast::().fire_event(atom!("fullscreenchange")); // Step 7.7 - // JSAutoCompartment needs to be manually made. - // Otherwise, Servo will crash. - let promise = self.promise.root(); - let promise_cx = promise.global().get_cx(); - let _ac = JSAutoCompartment::new(promise_cx, promise.reflector().get_jsobject().get()); - promise.resolve(promise.global().get_cx(), HandleValue::undefined()); + promise.resolve_native(&()); } } @@ -3117,12 +3112,7 @@ impl TaskOnce for ElementPerformFullscreenExit { document.upcast::().fire_event(atom!("fullscreenchange")); // Step 9.10 - let promise = self.promise.root(); - // JSAutoCompartment needs to be manually made. - // Otherwise, Servo will crash. - let promise_cx = promise.global().get_cx(); - let _ac = JSAutoCompartment::new(promise_cx, promise.reflector().get_jsobject().get()); - promise.resolve(promise.global().get_cx(), HandleValue::undefined()); + self.promise.root().resolve_native(&()); } }