diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-05 01:14:46 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-06 21:35:54 +0200 |
commit | 02d38e74e90dd06f9083731a5101ad6b05be20dc (patch) | |
tree | cb646c0d496c7ba07a3b4f010142a9774c70e41d | |
parent | 26455b8a67771ff82ce70f21b131d452518e0c50 (diff) | |
download | servo-02d38e74e90dd06f9083731a5101ad6b05be20dc.tar.gz servo-02d38e74e90dd06f9083731a5101ad6b05be20dc.zip |
Make Promise::Reject and Resolve take a &GlobalScope
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 8 | ||||
-rw-r--r-- | components/script/dom/bindings/global.rs | 6 | ||||
-rw-r--r-- | components/script/dom/promise.rs | 5 | ||||
-rw-r--r-- | components/script/dom/testbinding.rs | 4 |
4 files changed, 12 insertions, 11 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index e85865ed143..b5baf961c57 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -817,16 +817,16 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None, { // Scope for our JSAutoCompartment. rooted!(in(cx) let globalObj = CurrentGlobalOrNull(cx)); - let promiseGlobal = global_root_from_object_maybe_wrapped(globalObj.handle().get()); + let promiseGlobal = global_scope_from_object_maybe_wrapped(globalObj.handle().get()); rooted!(in(cx) let mut valueToResolve = $${val}.get()); if !JS_WrapValue(cx, valueToResolve.handle_mut()) { $*{exceptionCode} } - match Promise::Resolve(promiseGlobal.r(), cx, valueToResolve.handle()) { + match Promise::Resolve(&promiseGlobal, cx, valueToResolve.handle()) { Ok(value) => value, Err(error) => { - throw_dom_exception(cx, promiseGlobal.r().as_global_scope(), error); + throw_dom_exception(cx, &promiseGlobal, error); $*{exceptionCode} } } @@ -5501,7 +5501,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'dom::bindings::constant::ConstantVal', 'dom::bindings::global::GlobalRef', 'dom::bindings::global::global_root_from_object', - 'dom::bindings::global::global_root_from_object_maybe_wrapped', + 'dom::bindings::global::global_scope_from_object_maybe_wrapped', 'dom::bindings::global::global_scope_from_reflector', 'dom::bindings::interface::ConstructorClassHook', 'dom::bindings::interface::InterfaceConstructorBehavior', diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs index 2c4fa189ce6..d2b693dbf08 100644 --- a/components/script/dom/bindings/global.rs +++ b/components/script/dom/bindings/global.rs @@ -163,10 +163,12 @@ pub unsafe fn global_root_from_context(cx: *mut JSContext) -> GlobalRoot { /// Returns the global object of the realm that the given JS object was created in, /// after unwrapping any wrappers. -pub unsafe fn global_root_from_object_maybe_wrapped(mut obj: *mut JSObject) -> GlobalRoot { +pub unsafe fn global_scope_from_object_maybe_wrapped( + mut obj: *mut JSObject) + -> Root<GlobalScope> { if IsWrapper(obj) { obj = UnwrapObject(obj, /* stopAtWindowProxy = */ 0); assert!(!obj.is_null()); } - global_root_from_object(obj) + global_scope_from_object(obj) } diff --git a/components/script/dom/promise.rs b/components/script/dom/promise.rs index fe63cff9b94..14f53bf8466 100644 --- a/components/script/dom/promise.rs +++ b/components/script/dom/promise.rs @@ -15,7 +15,6 @@ use dom::bindings::callback::CallbackContainer; use dom::bindings::codegen::Bindings::PromiseBinding::AnyCallback; use dom::bindings::conversions::root_from_object; use dom::bindings::error::{Error, Fallible}; -use dom::bindings::global::GlobalRef; use dom::bindings::js::MutHeapJSVal; use dom::bindings::reflector::{Reflectable, MutReflectable, Reflector}; use dom::globalscope::GlobalScope; @@ -113,7 +112,7 @@ impl Promise { } #[allow(unrooted_must_root, unsafe_code)] - pub fn Resolve(global: GlobalRef, + pub fn Resolve(global: &GlobalScope, cx: *mut JSContext, value: HandleValue) -> Fallible<Rc<Promise>> { let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get()); @@ -125,7 +124,7 @@ impl Promise { } #[allow(unrooted_must_root, unsafe_code)] - pub fn Reject(global: GlobalRef, + pub fn Reject(global: &GlobalScope, cx: *mut JSContext, value: HandleValue) -> Fallible<Rc<Promise>> { let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get()); diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index bc7c5643533..8362daa0d12 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -656,12 +656,12 @@ impl TestBindingMethods for TestBinding { #[allow(unrooted_must_root)] fn ReturnResolvedPromise(&self, cx: *mut JSContext, v: HandleValue) -> Fallible<Rc<Promise>> { - Promise::Resolve(self.global().r(), cx, v) + Promise::Resolve(&self.global_scope(), cx, v) } #[allow(unrooted_must_root)] fn ReturnRejectedPromise(&self, cx: *mut JSContext, v: HandleValue) -> Fallible<Rc<Promise>> { - Promise::Reject(self.global().r(), cx, v) + Promise::Reject(&self.global_scope(), cx, v) } fn PromiseResolveNative(&self, cx: *mut JSContext, p: &Promise, v: HandleValue) { |