Store a Runtime object in ScriptTask.

This commit is contained in:
Ms2ger 2015-04-20 22:20:10 +02:00
parent 3a1bf45dea
commit 04b532e1fb
3 changed files with 18 additions and 22 deletions

View file

@ -45,7 +45,7 @@ use hyper::header::Headers;
use hyper::method::Method;
use js::jsapi::{JSObject, JSTracer, JS_CallTracer, JSGCTraceKind};
use js::jsval::JSVal;
use js::rust::{Cx, rt};
use js::rust::{Cx, Runtime};
use layout_interface::{LayoutRPC, LayoutChan};
use libc;
use msg::constellation_msg::{PipelineId, SubpageId, WindowSizeData, WorkerId};
@ -259,7 +259,7 @@ no_jsmanaged_fields!(SubpageId, WindowSizeData, PipelineId);
no_jsmanaged_fields!(WorkerId);
no_jsmanaged_fields!(QuirksMode);
no_jsmanaged_fields!(Cx);
no_jsmanaged_fields!(rt);
no_jsmanaged_fields!(Runtime);
no_jsmanaged_fields!(Headers, Method);
no_jsmanaged_fields!(ConstellationChan);
no_jsmanaged_fields!(LayoutChan);

View file

@ -167,15 +167,15 @@ impl DedicatedWorkerGlobalScope {
}
};
let (_js_runtime, js_context) = ScriptTask::new_rt_and_cx();
let runtime = ScriptTask::new_rt_and_cx();
let global = DedicatedWorkerGlobalScope::new(
worker_url, id, devtools_chan, js_context.clone(), resource_task,
worker_url, id, devtools_chan, runtime.cx.clone(), resource_task,
parent_sender, own_sender, receiver).root();
{
let _ar = AutoWorkerReset::new(global.r(), worker);
match js_context.evaluate_script(
match runtime.cx.evaluate_script(
global.r().reflector().get_jsobject(), source, url.serialize(), 1) {
Ok(_) => (),
Err(_) => println!("evaluate_script failed")