aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-10-05 01:14:46 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2016-10-06 21:35:54 +0200
commit02d38e74e90dd06f9083731a5101ad6b05be20dc (patch)
treecb646c0d496c7ba07a3b4f010142a9774c70e41d
parent26455b8a67771ff82ce70f21b131d452518e0c50 (diff)
downloadservo-02d38e74e90dd06f9083731a5101ad6b05be20dc.tar.gz
servo-02d38e74e90dd06f9083731a5101ad6b05be20dc.zip
Make Promise::Reject and Resolve take a &GlobalScope
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py8
-rw-r--r--components/script/dom/bindings/global.rs6
-rw-r--r--components/script/dom/promise.rs5
-rw-r--r--components/script/dom/testbinding.rs4
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) {