diff options
author | CYBAI <cyb.ai.815@gmail.com> | 2020-01-24 12:43:49 +0900 |
---|---|---|
committer | CYBAI <cyb.ai.815@gmail.com> | 2020-02-16 09:55:10 +0900 |
commit | 403ffcf1eb5c659626f70dec72f76aaf7782986d (patch) | |
tree | df2f2e06ed557fcaac17862791a6c1db1f8a7b57 /components/script/script_runtime.rs | |
parent | 795dab71fffe98434308732e4cb8ee682f28e465 (diff) | |
download | servo-403ffcf1eb5c659626f70dec72f76aaf7782986d.tar.gz servo-403ffcf1eb5c659626f70dec72f76aaf7782986d.zip |
Always pass InRealm to GlobalScope::from_context to avoid getting null global
Diffstat (limited to 'components/script/script_runtime.rs')
-rw-r--r-- | components/script/script_runtime.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index b84178a166f..3aa1d79c2d9 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -30,6 +30,7 @@ use crate::dom::promise::Promise; use crate::dom::promiserejectionevent::PromiseRejectionEvent; use crate::dom::response::Response; use crate::microtask::{EnqueuedPromiseCallback, Microtask, MicrotaskQueue}; +use crate::realms::{AlreadyInRealm, InRealm}; use crate::script_module::EnsureModuleHooksInitialized; use crate::script_thread::trace_thread; use crate::task::TaskBox; @@ -232,7 +233,8 @@ unsafe extern "C" fn promise_rejection_tracker( // Step 3. let cx = JSContext::from_ptr(cx); - let global = GlobalScope::from_context(*cx); + let in_realm_proof = AlreadyInRealm::assert_for_cx(cx); + let global = GlobalScope::from_context(*cx, InRealm::Already(&in_realm_proof)); wrap_panic( AssertUnwindSafe(|| { @@ -908,7 +910,8 @@ unsafe extern "C" fn consume_stream( _consumer: *mut JSStreamConsumer, ) -> bool { let cx = JSContext::from_ptr(_cx); - let global = GlobalScope::from_context(*cx); + let in_realm_proof = AlreadyInRealm::assert_for_cx(cx); + let global = GlobalScope::from_context(*cx, InRealm::Already(&in_realm_proof)); //Step 2.1 Upon fulfillment of source, store the Response with value unwrappedSource. if let Ok(unwrapped_source) = |