mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +01:00
Make Promise::new take a &GlobalScope
This commit is contained in:
parent
a8c05c6962
commit
ac5a4adf5f
5 changed files with 11 additions and 9 deletions
|
@ -42,7 +42,7 @@ pub enum FetchedData {
|
||||||
// https://fetch.spec.whatwg.org/#concept-body-consume-body
|
// https://fetch.spec.whatwg.org/#concept-body-consume-body
|
||||||
#[allow(unrooted_must_root)]
|
#[allow(unrooted_must_root)]
|
||||||
pub fn consume_body<T: BodyOperations + Reflectable>(object: &T, body_type: BodyType) -> Rc<Promise> {
|
pub fn consume_body<T: BodyOperations + Reflectable>(object: &T, body_type: BodyType) -> Rc<Promise> {
|
||||||
let promise = Promise::new(object.global().r());
|
let promise = Promise::new(&object.global_scope());
|
||||||
|
|
||||||
// Step 1
|
// Step 1
|
||||||
if object.get_body_used() || object.is_locked() {
|
if object.get_body_used() || object.is_locked() {
|
||||||
|
|
|
@ -276,7 +276,7 @@ fn canonicalize_filter(filter: &BluetoothRequestDeviceFilter) -> Fallible<Blueto
|
||||||
pub fn result_to_promise<T: ToJSValConvertible>(global_ref: GlobalRef,
|
pub fn result_to_promise<T: ToJSValConvertible>(global_ref: GlobalRef,
|
||||||
bluetooth_result: Fallible<T>)
|
bluetooth_result: Fallible<T>)
|
||||||
-> Rc<Promise> {
|
-> Rc<Promise> {
|
||||||
let p = Promise::new(global_ref);
|
let p = Promise::new(global_ref.as_global_scope());
|
||||||
match bluetooth_result {
|
match bluetooth_result {
|
||||||
Ok(v) => p.resolve_native(p.global().r().get_cx(), &v),
|
Ok(v) => p.resolve_native(p.global().r().get_cx(), &v),
|
||||||
Err(e) => p.reject_error(p.global().r().get_cx(), e),
|
Err(e) => p.reject_error(p.global().r().get_cx(), e),
|
||||||
|
|
|
@ -18,6 +18,7 @@ use dom::bindings::error::{Error, Fallible};
|
||||||
use dom::bindings::global::GlobalRef;
|
use dom::bindings::global::GlobalRef;
|
||||||
use dom::bindings::js::MutHeapJSVal;
|
use dom::bindings::js::MutHeapJSVal;
|
||||||
use dom::bindings::reflector::{Reflectable, MutReflectable, Reflector};
|
use dom::bindings::reflector::{Reflectable, MutReflectable, Reflector};
|
||||||
|
use dom::globalscope::GlobalScope;
|
||||||
use dom::promisenativehandler::PromiseNativeHandler;
|
use dom::promisenativehandler::PromiseNativeHandler;
|
||||||
use js::conversions::ToJSValConvertible;
|
use js::conversions::ToJSValConvertible;
|
||||||
use js::jsapi::{CallOriginalPromiseResolve, CallOriginalPromiseReject, CallOriginalPromiseThen};
|
use js::jsapi::{CallOriginalPromiseResolve, CallOriginalPromiseReject, CallOriginalPromiseThen};
|
||||||
|
@ -70,7 +71,7 @@ impl Drop for Promise {
|
||||||
|
|
||||||
impl Promise {
|
impl Promise {
|
||||||
#[allow(unsafe_code)]
|
#[allow(unsafe_code)]
|
||||||
pub fn new(global: GlobalRef) -> Rc<Promise> {
|
pub fn new(global: &GlobalScope) -> Rc<Promise> {
|
||||||
let cx = global.get_cx();
|
let cx = global.get_cx();
|
||||||
rooted!(in(cx) let mut obj = ptr::null_mut());
|
rooted!(in(cx) let mut obj = ptr::null_mut());
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -691,11 +691,11 @@ impl TestBindingMethods for TestBinding {
|
||||||
fn PromiseNativeHandler(&self,
|
fn PromiseNativeHandler(&self,
|
||||||
resolve: Option<Rc<SimpleCallback>>,
|
resolve: Option<Rc<SimpleCallback>>,
|
||||||
reject: Option<Rc<SimpleCallback>>) -> Rc<Promise> {
|
reject: Option<Rc<SimpleCallback>>) -> Rc<Promise> {
|
||||||
let global = self.global();
|
let global = self.global_scope();
|
||||||
let handler = PromiseNativeHandler::new(global.r().as_global_scope(),
|
let handler = PromiseNativeHandler::new(&global,
|
||||||
resolve.map(SimpleHandler::new),
|
resolve.map(SimpleHandler::new),
|
||||||
reject.map(SimpleHandler::new));
|
reject.map(SimpleHandler::new));
|
||||||
let p = Promise::new(global.r());
|
let p = Promise::new(&global);
|
||||||
p.append_native_handler(&handler);
|
p.append_native_handler(&handler);
|
||||||
return p;
|
return p;
|
||||||
|
|
||||||
|
@ -720,7 +720,7 @@ impl TestBindingMethods for TestBinding {
|
||||||
|
|
||||||
#[allow(unrooted_must_root)]
|
#[allow(unrooted_must_root)]
|
||||||
fn PromiseAttribute(&self) -> Rc<Promise> {
|
fn PromiseAttribute(&self) -> Rc<Promise> {
|
||||||
Promise::new(self.global().r())
|
Promise::new(&self.global_scope())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn AcceptPromise(&self, _promise: &Promise) {
|
fn AcceptPromise(&self, _promise: &Promise) {
|
||||||
|
|
|
@ -70,8 +70,9 @@ pub fn Fetch(global: GlobalRef, input: RequestOrUSVString, init: &RequestInit) -
|
||||||
let core_resource_thread = global.core_resource_thread();
|
let core_resource_thread = global.core_resource_thread();
|
||||||
|
|
||||||
// Step 1
|
// Step 1
|
||||||
let promise = Promise::new(global);
|
let global_scope = global.as_global_scope();
|
||||||
let response = Response::new(global.as_global_scope());
|
let promise = Promise::new(global_scope);
|
||||||
|
let response = Response::new(global_scope);
|
||||||
|
|
||||||
// Step 2
|
// Step 2
|
||||||
let request = match Request::Constructor(global, input, init) {
|
let request = match Request::Constructor(global, input, init) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue