diff options
Diffstat (limited to 'components/script/script_runtime.rs')
-rw-r--r-- | components/script/script_runtime.rs | 117 |
1 files changed, 52 insertions, 65 deletions
diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index 3d88c50a671..239c056a99d 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -7,23 +7,68 @@ #![allow(dead_code)] +use core::ffi::c_char; +use std::cell::Cell; +use std::ffi::CString; +use std::io::{stdout, Write}; +use std::ops::Deref; +use std::os::raw::c_void; +use std::rc::Rc; +use std::sync::{Arc, Mutex}; +use std::time::Duration; +use std::{fmt, os, ptr, thread}; + +use js::glue::{ + CollectServoSizes, CreateJobQueue, DeleteJobQueue, DispatchableRun, JobQueueTraps, + RUST_js_GetErrorMessage, SetBuildId, StreamConsumerConsumeChunk, + StreamConsumerNoteResponseURLs, StreamConsumerStreamEnd, StreamConsumerStreamError, +}; +use js::jsapi::{ + BuildIdCharVector, ContextOptionsRef, DisableIncrementalGC, Dispatchable as JSRunnable, + Dispatchable_MaybeShuttingDown, GCDescription, GCOptions, GCProgress, GCReason, + GetPromiseUserInputEventHandlingState, HandleObject, Heap, InitConsumeStreamCallback, + InitDispatchToEventLoop, JSContext as RawJSContext, JSGCParamKey, JSGCStatus, + JSJitCompilerOption, JSObject, JSSecurityCallbacks, JSTracer, JS_AddExtraGCRootsTracer, + JS_InitDestroyPrincipalsCallback, JS_RequestInterruptCallback, JS_SetGCCallback, + JS_SetGCParameter, JS_SetGlobalJitCompilerOption, JS_SetOffthreadIonCompilationEnabled, + JS_SetParallelParsingEnabled, JS_SetSecurityCallbacks, JobQueue, MimeType, + PromiseRejectionHandlingState, PromiseUserInputEventHandlingState, SetDOMCallbacks, + SetGCSliceCallback, SetJobQueue, SetPreserveWrapperCallbacks, SetProcessBuildIdOp, + SetPromiseRejectionTrackerCallback, StreamConsumer as JSStreamConsumer, +}; +use js::jsval::UndefinedValue; +use js::panic::wrap_panic; +use js::rust::wrappers::{GetPromiseIsHandled, JS_GetPromiseResult}; +use js::rust::{ + Handle, HandleObject as RustHandleObject, IntoHandle, JSEngine, JSEngineHandle, ParentRuntime, + Runtime as RustRuntime, +}; +use lazy_static::lazy_static; +use malloc_size_of::MallocSizeOfOps; +use msg::constellation_msg::PipelineId; +use profile_traits::mem::{Report, ReportKind, ReportsChan}; +use profile_traits::path; +use servo_config::{opts, pref}; +use style::thread_state::{self, ThreadState}; +use time::{now, Tm}; + use crate::body::BodyMixin; use crate::dom::bindings::codegen::Bindings::PromiseBinding::PromiseJobCallback; use crate::dom::bindings::codegen::Bindings::ResponseBinding::ResponseBinding::ResponseMethods; use crate::dom::bindings::codegen::Bindings::ResponseBinding::ResponseType as DOMResponseType; -use crate::dom::bindings::conversions::get_dom_class; -use crate::dom::bindings::conversions::private_from_object; -use crate::dom::bindings::conversions::root_from_handleobject; +use crate::dom::bindings::conversions::{ + get_dom_class, private_from_object, root_from_handleobject, +}; use crate::dom::bindings::error::{throw_dom_exception, Error}; use crate::dom::bindings::inheritance::Castable; -use crate::dom::bindings::principals; -use crate::dom::bindings::refcounted::{trace_refcounted_objects, LiveDOMReferences}; -use crate::dom::bindings::refcounted::{Trusted, TrustedPromise}; +use crate::dom::bindings::refcounted::{ + trace_refcounted_objects, LiveDOMReferences, Trusted, TrustedPromise, +}; use crate::dom::bindings::reflector::DomObject; use crate::dom::bindings::root::trace_roots; -use crate::dom::bindings::settings_stack; use crate::dom::bindings::trace::JSTraceable; use crate::dom::bindings::utils::DOM_CALLBACKS; +use crate::dom::bindings::{principals, settings_stack}; use crate::dom::event::{Event, EventBubbles, EventCancelable, EventStatus}; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; @@ -37,64 +82,6 @@ use crate::script_thread::trace_thread; use crate::task::TaskBox; use crate::task_source::networking::NetworkingTaskSource; use crate::task_source::{TaskSource, TaskSourceName}; -use core::ffi::c_char; -use js::glue::{CollectServoSizes, CreateJobQueue, DeleteJobQueue, DispatchableRun}; -use js::glue::{JobQueueTraps, RUST_js_GetErrorMessage, SetBuildId, StreamConsumerConsumeChunk}; -use js::glue::{ - StreamConsumerNoteResponseURLs, StreamConsumerStreamEnd, StreamConsumerStreamError, -}; -use js::jsapi::ContextOptionsRef; -use js::jsapi::GetPromiseUserInputEventHandlingState; -use js::jsapi::InitConsumeStreamCallback; -use js::jsapi::InitDispatchToEventLoop; -use js::jsapi::MimeType; -use js::jsapi::PromiseUserInputEventHandlingState; -use js::jsapi::StreamConsumer as JSStreamConsumer; -use js::jsapi::{BuildIdCharVector, DisableIncrementalGC, GCDescription, GCProgress}; -use js::jsapi::{Dispatchable as JSRunnable, Dispatchable_MaybeShuttingDown}; -use js::jsapi::{ - GCOptions, GCReason, JSGCStatus, JS_AddExtraGCRootsTracer, JS_RequestInterruptCallback, - JS_SetGCCallback, -}; -use js::jsapi::{HandleObject, Heap, JobQueue}; -use js::jsapi::{JSContext as RawJSContext, JSTracer, SetDOMCallbacks, SetGCSliceCallback}; -use js::jsapi::{JSGCParamKey, JS_SetGCParameter, JS_SetGlobalJitCompilerOption}; -use js::jsapi::{ - JSJitCompilerOption, JS_SetOffthreadIonCompilationEnabled, JS_SetParallelParsingEnabled, -}; -use js::jsapi::{JSObject, PromiseRejectionHandlingState, SetPreserveWrapperCallbacks}; -use js::jsapi::{JSSecurityCallbacks, JS_InitDestroyPrincipalsCallback, JS_SetSecurityCallbacks}; -use js::jsapi::{SetJobQueue, SetProcessBuildIdOp, SetPromiseRejectionTrackerCallback}; -use js::jsval::UndefinedValue; -use js::panic::wrap_panic; -use js::rust::wrappers::{GetPromiseIsHandled, JS_GetPromiseResult}; -use js::rust::Handle; -use js::rust::HandleObject as RustHandleObject; -use js::rust::IntoHandle; -use js::rust::ParentRuntime; -use js::rust::Runtime as RustRuntime; -use js::rust::{JSEngine, JSEngineHandle}; -use lazy_static::lazy_static; -use malloc_size_of::MallocSizeOfOps; -use msg::constellation_msg::PipelineId; -use profile_traits::mem::{Report, ReportKind, ReportsChan}; -use profile_traits::path; -use servo_config::opts; -use servo_config::pref; -use std::cell::Cell; -use std::ffi::CString; -use std::fmt; -use std::io::{stdout, Write}; -use std::ops::Deref; -use std::os; -use std::os::raw::c_void; -use std::ptr; -use std::rc::Rc; -use std::sync::{Arc, Mutex}; -use std::thread; -use std::time::Duration; -use style::thread_state::{self, ThreadState}; -use time::{now, Tm}; static JOB_QUEUE_TRAPS: JobQueueTraps = JobQueueTraps { getIncumbentGlobal: Some(get_incumbent_global), |