diff options
Diffstat (limited to 'components/script/dom')
68 files changed, 186 insertions, 181 deletions
diff --git a/components/script/dom/abstractworkerglobalscope.rs b/components/script/dom/abstractworkerglobalscope.rs index 4efc60d58c6..1ca0fdcacfd 100644 --- a/components/script/dom/abstractworkerglobalscope.rs +++ b/components/script/dom/abstractworkerglobalscope.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::DevtoolScriptControlMsg; use crate::dom::abstractworker::WorkerScriptMsg; use crate::dom::bindings::conversions::DerivedFrom; use crate::dom::bindings::reflector::DomObject; @@ -11,8 +10,9 @@ use crate::dom::globalscope::GlobalScope; use crate::dom::worker::TrustedWorkerAddress; use crate::dom::workerglobalscope::WorkerGlobalScope; use crate::script_runtime::{ScriptChan, CommonScriptMsg, ScriptPort}; -use servo_channel::{Receiver, Sender}; use crate::task_queue::{QueuedTaskConversion, TaskQueue}; +use devtools_traits::DevtoolScriptControlMsg; +use servo_channel::{Receiver, Sender}; /// A ScriptChan that can be cloned freely and will silently send a TrustedWorkerAddress with /// common event loop messages. While this SendableWorkerScriptChan is alive, the associated diff --git a/components/script/dom/analysernode.rs b/components/script/dom/analysernode.rs index 48c71c456c5..88cee14c3a1 100644 --- a/components/script/dom/analysernode.rs +++ b/components/script/dom/analysernode.rs @@ -13,6 +13,7 @@ use crate::dom::bindings::refcounted::Trusted; use crate::dom::bindings::reflector::reflect_dom_object; use crate::dom::bindings::root::DomRoot; use crate::dom::window::Window; +use crate::task_source::{TaskSource, TaskSourceName}; use dom_struct::dom_struct; use ipc_channel::ipc::{self, IpcReceiver}; use ipc_channel::router::ROUTER; @@ -21,7 +22,6 @@ use js::typedarray::{Float32Array, Uint8Array}; use servo_media::audio::analyser_node::AnalysisEngine; use servo_media::audio::block::Block; use servo_media::audio::node::AudioNodeInit; -use crate::task_source::{TaskSource, TaskSourceName}; #[dom_struct] pub struct AnalyserNode { diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index bf9b41034d7..b90fe33e347 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::AttrInfo; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::AttrBinding::{self, AttrMethods}; use crate::dom::bindings::inheritance::Castable; @@ -15,9 +14,10 @@ use crate::dom::mutationobserver::{Mutation, MutationObserver}; use crate::dom::node::Node; use crate::dom::virtualmethods::vtable_for; use crate::dom::window::Window; +use crate::script_thread::ScriptThread; +use devtools_traits::AttrInfo; use dom_struct::dom_struct; use html5ever::{Prefix, LocalName, Namespace}; -use crate::script_thread::ScriptThread; use servo_atoms::Atom; use std::borrow::ToOwned; use std::cell::Ref; diff --git a/components/script/dom/audiocontext.rs b/components/script/dom/audiocontext.rs index 5bf022fb96f..af7e63aa83d 100644 --- a/components/script/dom/audiocontext.rs +++ b/components/script/dom/audiocontext.rs @@ -16,10 +16,10 @@ use crate::dom::bindings::reflector::{DomObject, reflect_dom_object}; use crate::dom::bindings::root::DomRoot; use crate::dom::promise::Promise; use crate::dom::window::Window; +use crate::task_source::TaskSource; use dom_struct::dom_struct; use servo_media::audio::context::{LatencyCategory, ProcessingState, RealTimeAudioContextOptions}; use std::rc::Rc; -use crate::task_source::TaskSource; #[dom_struct] pub struct AudioContext { diff --git a/components/script/dom/audioscheduledsourcenode.rs b/components/script/dom/audioscheduledsourcenode.rs index 2f1917364ee..fa094555c1e 100644 --- a/components/script/dom/audioscheduledsourcenode.rs +++ b/components/script/dom/audioscheduledsourcenode.rs @@ -1,6 +1,7 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + use crate::dom::audionode::{AudioNode, UnwrappedAudioNodeOptions}; use crate::dom::baseaudiocontext::BaseAudioContext; use crate::dom::bindings::codegen::Bindings::AudioScheduledSourceNodeBinding::AudioScheduledSourceNodeMethods; @@ -9,11 +10,11 @@ use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::num::Finite; use crate::dom::bindings::refcounted::Trusted; use crate::dom::bindings::reflector::DomObject; +use crate::task_source::{TaskSource, TaskSourceName}; use dom_struct::dom_struct; use servo_media::audio::node::{AudioNodeMessage, AudioNodeInit, AudioScheduledSourceNodeMessage}; use servo_media::audio::node::OnEndedCallback; use std::cell::Cell; -use crate::task_source::{TaskSource, TaskSourceName}; #[dom_struct] pub struct AudioScheduledSourceNode { diff --git a/components/script/dom/baseaudiocontext.rs b/components/script/dom/baseaudiocontext.rs index 6a07b6b43b8..95ad60314ee 100644 --- a/components/script/dom/baseaudiocontext.rs +++ b/components/script/dom/baseaudiocontext.rs @@ -38,6 +38,7 @@ use crate::dom::oscillatornode::OscillatorNode; use crate::dom::pannernode::PannerNode; use crate::dom::promise::Promise; use crate::dom::window::Window; +use crate::task_source::{TaskSource, TaskSourceName}; use dom_struct::dom_struct; use js::rust::CustomAutoRooterGuard; use js::typedarray::ArrayBuffer; @@ -51,7 +52,6 @@ use std::collections::{HashMap, VecDeque}; use std::mem; use std::rc::Rc; use std::sync::{Arc, Mutex}; -use crate::task_source::{TaskSource, TaskSourceName}; use uuid::Uuid; #[allow(dead_code)] diff --git a/components/script/dom/bindings/error.rs b/components/script/dom/bindings/error.rs index c2d0be39a44..061e74fb3cc 100644 --- a/components/script/dom/bindings/error.rs +++ b/components/script/dom/bindings/error.rs @@ -7,7 +7,7 @@ #[cfg(feature = "js_backtrace")] use backtrace::Backtrace; #[cfg(feature = "js_backtrace")] -use dom::bindings::cell::DomRefCell; +use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::DOMExceptionBinding::DOMExceptionMethods; use crate::dom::bindings::codegen::PrototypeList::proto_id_to_name; use crate::dom::bindings::conversions::{ConversionResult, FromJSValConvertible, ToJSValConvertible}; diff --git a/components/script/dom/bindings/htmlconstructor.rs b/components/script/dom/bindings/htmlconstructor.rs index 282c9e556a1..9923ad8716d 100644 --- a/components/script/dom/bindings/htmlconstructor.rs +++ b/components/script/dom/bindings/htmlconstructor.rs @@ -76,6 +76,7 @@ use crate::dom::customelementregistry::ConstructionStackEntry; use crate::dom::element::{CustomElementState, Element, ElementCreator}; use crate::dom::htmlelement::HTMLElement; use crate::dom::window::Window; +use crate::script_thread::ScriptThread; use html5ever::LocalName; use html5ever::interface::QualName; use js::glue::UnwrapObject; @@ -83,7 +84,6 @@ use js::jsapi::{CallArgs, CurrentGlobalOrNull}; use js::jsapi::{JSAutoCompartment, JSContext, JSObject}; use js::rust::HandleObject; use js::rust::MutableHandleObject; -use crate::script_thread::ScriptThread; use std::ptr; // https://html.spec.whatwg.org/multipage/#htmlconstructor diff --git a/components/script/dom/bindings/refcounted.rs b/components/script/dom/bindings/refcounted.rs index f74fba6355f..740cb82b520 100644 --- a/components/script/dom/bindings/refcounted.rs +++ b/components/script/dom/bindings/refcounted.rs @@ -28,6 +28,7 @@ use crate::dom::bindings::reflector::{DomObject, Reflector}; use crate::dom::bindings::root::DomRoot; use crate::dom::bindings::trace::trace_reflector; use crate::dom::promise::Promise; +use crate::task::TaskOnce; use js::jsapi::JSTracer; use libc; use std::cell::RefCell; @@ -37,7 +38,6 @@ use std::hash::Hash; use std::marker::PhantomData; use std::rc::Rc; use std::sync::{Arc, Weak}; -use crate::task::TaskOnce; #[allow(missing_docs)] // FIXME mod dummy { diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index e6758dacaf2..669f9481fb5 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -37,8 +37,6 @@ use canvas_traits::webgl::{WebGLContextShareMode, WebGLError, WebGLFramebufferId use canvas_traits::webgl::{WebGLPipeline, WebGLProgramId, WebGLReceiver, WebGLRenderbufferId}; use canvas_traits::webgl::{WebGLSLVersion, WebGLSender, WebGLShaderId, WebGLTextureId}; use canvas_traits::webgl::{WebGLVersion, WebGLVertexArrayId}; -use cssparser::RGBA; -use devtools_traits::{CSSError, TimelineMarkerType, WorkerId}; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::error::Error; use crate::dom::bindings::refcounted::{Trusted, TrustedPromise}; @@ -49,6 +47,8 @@ use crate::dom::bindings::utils::WindowProxyHandler; use crate::dom::document::PendingRestyle; use crate::dom::htmlimageelement::SourceSet; use crate::dom::htmlmediaelement::MediaFrameRenderer; +use cssparser::RGBA; +use devtools_traits::{CSSError, TimelineMarkerType, WorkerId}; use encoding_rs::{Decoder, Encoding}; use euclid::{Transform2D, Transform3D, Point2D, Vector2D, Rect, TypedSize2D, TypedScale}; use euclid::Length as EuclidLength; diff --git a/components/script/dom/bluetooth.rs b/components/script/dom/bluetooth.rs index 1b5c911d2d5..b59c4bf49cd 100644 --- a/components/script/dom/bluetooth.rs +++ b/components/script/dom/bluetooth.rs @@ -8,8 +8,9 @@ use bluetooth_traits::blocklist::{Blocklist, uuid_is_blocklisted}; use bluetooth_traits::scanfilter::{BluetoothScanfilter, BluetoothScanfilterSequence}; use bluetooth_traits::scanfilter::{RequestDeviceoptions, ServiceUUIDSequence}; use crate::dom::bindings::cell::DomRefCell; -use crate::dom::bindings::codegen::Bindings::BluetoothBinding::{self, BluetoothDataFilterInit, BluetoothLEScanFilterInit}; +use crate::dom::bindings::codegen::Bindings::BluetoothBinding::{self, BluetoothDataFilterInit}; use crate::dom::bindings::codegen::Bindings::BluetoothBinding::{BluetoothMethods, RequestDeviceOptions}; +use crate::dom::bindings::codegen::Bindings::BluetoothBinding::BluetoothLEScanFilterInit; use crate::dom::bindings::codegen::Bindings::BluetoothPermissionResultBinding::BluetoothPermissionDescriptor; use crate::dom::bindings::codegen::Bindings::BluetoothRemoteGATTServerBinding::BluetoothRemoteGATTServerBinding:: BluetoothRemoteGATTServerMethods; @@ -28,6 +29,7 @@ use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::permissions::{get_descriptor_permission_state, PermissionAlgorithm}; use crate::dom::promise::Promise; +use crate::task::TaskOnce; use dom_struct::dom_struct; use ipc_channel::ipc::{self, IpcSender}; use ipc_channel::router::ROUTER; @@ -40,7 +42,6 @@ use std::collections::HashMap; use std::rc::Rc; use std::str::FromStr; use std::sync::{Arc, Mutex}; -use crate::task::TaskOnce; const KEY_CONVERSION_ERROR: &'static str = "This `manufacturerData` key can not be parsed as unsigned short:"; diff --git a/components/script/dom/canvasgradient.rs b/components/script/dom/canvasgradient.rs index d16662e8bd8..c3a8dfa7c4b 100644 --- a/components/script/dom/canvasgradient.rs +++ b/components/script/dom/canvasgradient.rs @@ -3,8 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use canvas_traits::canvas::{CanvasGradientStop, FillOrStrokeStyle, LinearGradientStyle, RadialGradientStyle}; -use cssparser::{Parser, ParserInput, RGBA}; -use cssparser::Color as CSSColor; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::CanvasGradientBinding; use crate::dom::bindings::codegen::Bindings::CanvasGradientBinding::CanvasGradientMethods; @@ -14,6 +12,8 @@ use crate::dom::bindings::reflector::{Reflector, reflect_dom_object}; use crate::dom::bindings::root::DomRoot; use crate::dom::bindings::str::DOMString; use crate::dom::globalscope::GlobalScope; +use cssparser::{Parser, ParserInput, RGBA}; +use cssparser::Color as CSSColor; use dom_struct::dom_struct; // https://html.spec.whatwg.org/multipage/#canvasgradient diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 99cb8399557..817250408d2 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -6,8 +6,6 @@ use canvas_traits::canvas::{Canvas2dMsg, CanvasMsg, CanvasId}; use canvas_traits::canvas::{CompositionOrBlending, FillOrStrokeStyle, FillRule}; use canvas_traits::canvas::{LineCapStyle, LineJoinStyle, LinearGradientStyle}; use canvas_traits::canvas::{RadialGradientStyle, RepetitionStyle}; -use cssparser::{Parser, ParserInput, RGBA}; -use cssparser::Color as CSSColor; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding; use crate::dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasFillRule; @@ -30,6 +28,9 @@ use crate::dom::globalscope::GlobalScope; use crate::dom::htmlcanvaselement::{CanvasContext, HTMLCanvasElement}; use crate::dom::imagedata::ImageData; use crate::dom::node::{Node, NodeDamage, window_from_node}; +use crate::unpremultiplytable::UNPREMULTIPLY_TABLE; +use cssparser::{Parser, ParserInput, RGBA}; +use cssparser::Color as CSSColor; use dom_struct::dom_struct; use euclid::{Transform2D, Point2D, Rect, Size2D, vec2}; use ipc_channel::ipc::{self, IpcSender}; @@ -48,7 +49,6 @@ use std::{fmt, mem}; use std::cell::Cell; use std::str::FromStr; use std::sync::Arc; -use crate::unpremultiplytable::UNPREMULTIPLY_TABLE; #[must_root] #[derive(Clone, JSTraceable, MallocSizeOf)] diff --git a/components/script/dom/console.rs b/components/script/dom/console.rs index ba8a9d45afe..18f2d64129e 100644 --- a/components/script/dom/console.rs +++ b/components/script/dom/console.rs @@ -2,11 +2,11 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::{ConsoleMessage, LogLevel, ScriptToDevtoolsControlMsg}; use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::str::DOMString; use crate::dom::globalscope::GlobalScope; use crate::dom::workerglobalscope::WorkerGlobalScope; +use devtools_traits::{ConsoleMessage, LogLevel, ScriptToDevtoolsControlMsg}; use std::io; // https://developer.mozilla.org/en-US/docs/Web/API/Console diff --git a/components/script/dom/create.rs b/components/script/dom/create.rs index b8afe815b8e..00526a9e59f 100644 --- a/components/script/dom/create.rs +++ b/components/script/dom/create.rs @@ -78,9 +78,9 @@ use crate::dom::htmlulistelement::HTMLUListElement; use crate::dom::htmlunknownelement::HTMLUnknownElement; use crate::dom::htmlvideoelement::HTMLVideoElement; use crate::dom::svgsvgelement::SVGSVGElement; +use crate::script_thread::ScriptThread; use html5ever::{LocalName, Prefix, QualName}; use js::jsapi::JSAutoCompartment; -use crate::script_thread::ScriptThread; use servo_config::prefs::PREFS; fn create_svg_element( diff --git a/components/script/dom/css.rs b/components/script/dom/css.rs index 123828a0690..a4539c17f76 100644 --- a/components/script/dom/css.rs +++ b/components/script/dom/css.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser, ParserInput, serialize_identifier}; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethods; use crate::dom::bindings::error::Fallible; use crate::dom::bindings::reflector::Reflector; @@ -10,6 +9,7 @@ use crate::dom::bindings::root::DomRoot; use crate::dom::bindings::str::DOMString; use crate::dom::window::Window; use crate::dom::worklet::Worklet; +use cssparser::{Parser, ParserInput, serialize_identifier}; use dom_struct::dom_struct; use style::context::QuirksMode; use style::parser::ParserContext; diff --git a/components/script/dom/csskeyframesrule.rs b/components/script/dom/csskeyframesrule.rs index 82e53c06402..27280cc651e 100644 --- a/components/script/dom/csskeyframesrule.rs +++ b/components/script/dom/csskeyframesrule.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser, ParserInput}; use crate::dom::bindings::codegen::Bindings::CSSKeyframesRuleBinding; use crate::dom::bindings::codegen::Bindings::CSSKeyframesRuleBinding::CSSKeyframesRuleMethods; use crate::dom::bindings::error::ErrorResult; @@ -15,6 +14,7 @@ use crate::dom::cssrule::{CSSRule, SpecificCSSRule}; use crate::dom::cssrulelist::{CSSRuleList, RulesSource}; use crate::dom::cssstylesheet::CSSStyleSheet; use crate::dom::window::Window; +use cssparser::{Parser, ParserInput}; use dom_struct::dom_struct; use servo_arc::Arc; use style::shared_lock::{Locked, ToCssWithGuard}; diff --git a/components/script/dom/cssmediarule.rs b/components/script/dom/cssmediarule.rs index 7e15c0e9da8..fc7608a476f 100644 --- a/components/script/dom/cssmediarule.rs +++ b/components/script/dom/cssmediarule.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser, ParserInput}; use crate::dom::bindings::codegen::Bindings::CSSMediaRuleBinding; use crate::dom::bindings::codegen::Bindings::CSSMediaRuleBinding::CSSMediaRuleMethods; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethods; @@ -14,6 +13,7 @@ use crate::dom::cssrule::SpecificCSSRule; use crate::dom::cssstylesheet::CSSStyleSheet; use crate::dom::medialist::MediaList; use crate::dom::window::Window; +use cssparser::{Parser, ParserInput}; use dom_struct::dom_struct; use servo_arc::Arc; use style::media_queries::MediaList as StyleMediaList; diff --git a/components/script/dom/cssstylerule.rs b/components/script/dom/cssstylerule.rs index 9d3b5fed9bb..662ea8bb542 100644 --- a/components/script/dom/cssstylerule.rs +++ b/components/script/dom/cssstylerule.rs @@ -2,8 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser as CssParser, ParserInput as CssParserInput}; -use cssparser::ToCss; use crate::dom::bindings::codegen::Bindings::CSSStyleRuleBinding::{self, CSSStyleRuleMethods}; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethods; use crate::dom::bindings::inheritance::Castable; @@ -14,6 +12,8 @@ use crate::dom::cssrule::{CSSRule, SpecificCSSRule}; use crate::dom::cssstyledeclaration::{CSSModificationAccess, CSSStyleDeclaration, CSSStyleOwner}; use crate::dom::cssstylesheet::CSSStyleSheet; use crate::dom::window::Window; +use cssparser::{Parser as CssParser, ParserInput as CssParserInput}; +use cssparser::ToCss; use dom_struct::dom_struct; use selectors::parser::SelectorList; use servo_arc::Arc; diff --git a/components/script/dom/cssstylevalue.rs b/components/script/dom/cssstylevalue.rs index 032d6c6aced..668c8bbec98 100644 --- a/components/script/dom/cssstylevalue.rs +++ b/components/script/dom/cssstylevalue.rs @@ -2,8 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::Parser; -use cssparser::ParserInput; use crate::dom::bindings::codegen::Bindings::CSSStyleValueBinding::CSSStyleValueMethods; use crate::dom::bindings::codegen::Bindings::CSSStyleValueBinding::Wrap; use crate::dom::bindings::reflector::Reflector; @@ -11,6 +9,8 @@ use crate::dom::bindings::reflector::reflect_dom_object; use crate::dom::bindings::root::DomRoot; use crate::dom::bindings::str::DOMString; use crate::dom::globalscope::GlobalScope; +use cssparser::Parser; +use cssparser::ParserInput; use dom_struct::dom_struct; use servo_url::ServoUrl; diff --git a/components/script/dom/csssupportsrule.rs b/components/script/dom/csssupportsrule.rs index b3976bea646..17005ce0aec 100644 --- a/components/script/dom/csssupportsrule.rs +++ b/components/script/dom/csssupportsrule.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser, ParserInput}; use crate::dom::bindings::codegen::Bindings::CSSSupportsRuleBinding; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethods; use crate::dom::bindings::reflector::{DomObject, reflect_dom_object}; @@ -12,6 +11,7 @@ use crate::dom::cssconditionrule::CSSConditionRule; use crate::dom::cssrule::SpecificCSSRule; use crate::dom::cssstylesheet::CSSStyleSheet; use crate::dom::window::Window; +use cssparser::{Parser, ParserInput}; use dom_struct::dom_struct; use servo_arc::Arc; use style::parser::ParserContext; diff --git a/components/script/dom/customelementregistry.rs b/components/script/dom/customelementregistry.rs index 4f53210a8c1..8a38a98dc49 100644 --- a/components/script/dom/customelementregistry.rs +++ b/components/script/dom/customelementregistry.rs @@ -25,6 +25,8 @@ use crate::dom::htmlelement::HTMLElement; use crate::dom::node::{document_from_node, Node, window_from_node}; use crate::dom::promise::Promise; use crate::dom::window::Window; +use crate::microtask::Microtask; +use crate::script_thread::ScriptThread; use dom_struct::dom_struct; use html5ever::{LocalName, Namespace, Prefix}; use js::conversions::ToJSValConvertible; @@ -34,8 +36,6 @@ use js::jsapi::{JSAutoCompartment, JSContext, JSObject}; use js::jsval::{JSVal, NullValue, ObjectValue, UndefinedValue}; use js::rust::{HandleObject, HandleValue, MutableHandleValue}; use js::rust::wrappers::{JS_GetProperty, Construct1, JS_SameValue}; -use crate::microtask::Microtask; -use crate::script_thread::ScriptThread; use std::cell::Cell; use std::collections::{HashMap, VecDeque}; use std::mem; diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 59f0f393be8..f880d09f11d 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -3,7 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use crate::devtools; -use devtools_traits::DevtoolScriptControlMsg; use crate::dom::abstractworker::{SimpleWorkerErrorHandler, WorkerScriptMsg}; use crate::dom::abstractworkerglobalscope::{SendableWorkerScriptChan, WorkerThreadWorkerChan}; use crate::dom::abstractworkerglobalscope::{WorkerEventLoopMethods, run_worker_event_loop}; @@ -23,6 +22,11 @@ use crate::dom::globalscope::GlobalScope; use crate::dom::messageevent::MessageEvent; use crate::dom::worker::{TrustedWorkerAddress, Worker}; use crate::dom::workerglobalscope::WorkerGlobalScope; +use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, new_rt_and_cx, Runtime}; +use crate::script_runtime::ScriptThreadEventCategory::WorkerEvent; +use crate::task_queue::{QueuedTask, QueuedTaskConversion, TaskQueue}; +use crate::task_source::TaskSourceName; +use devtools_traits::DevtoolScriptControlMsg; use dom_struct::dom_struct; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use ipc_channel::router::ROUTER; @@ -33,8 +37,6 @@ use js::rust::HandleValue; use msg::constellation_msg::TopLevelBrowsingContextId; use net_traits::{IpcSend, load_whole_resource}; use net_traits::request::{CredentialsMode, Destination, RequestInit}; -use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, new_rt_and_cx, Runtime}; -use crate::script_runtime::ScriptThreadEventCategory::WorkerEvent; use script_traits::{TimerEvent, TimerSource, WorkerGlobalScopeInit, WorkerScriptLoadOrigin}; use servo_channel::{channel, route_ipc_receiver_to_new_servo_sender, Sender, Receiver}; use servo_rand::random; @@ -44,8 +46,6 @@ use std::sync::Arc; use std::sync::atomic::AtomicBool; use std::thread; use style::thread_state::{self, ThreadState}; -use crate::task_queue::{QueuedTask, QueuedTaskConversion, TaskQueue}; -use crate::task_source::TaskSourceName; /// Set the `worker` field of a related DedicatedWorkerGlobalScope object to a particular /// value for the duration of this object's lifetime. This ensures that the related Worker diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index fb8e7b37bfd..9ce096e2e65 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -3,7 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use crate::cookie_rs; -use devtools_traits::ScriptToDevtoolsControlMsg; use crate::document_loader::{DocumentLoader, LoadType}; use crate::dom::activation::{ActivationSource, synthetic_click_activation}; use crate::dom::attr::Attr; @@ -12,7 +11,8 @@ use crate::dom::bindings::callback::ExceptionHandling; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::BeforeUnloadEventBinding::BeforeUnloadEventBinding::BeforeUnloadEventMethods; use crate::dom::bindings::codegen::Bindings::DocumentBinding; -use crate::dom::bindings::codegen::Bindings::DocumentBinding::{DocumentMethods, DocumentReadyState, ElementCreationOptions}; +use crate::dom::bindings::codegen::Bindings::DocumentBinding::{DocumentMethods, DocumentReadyState}; +use crate::dom::bindings::codegen::Bindings::DocumentBinding::ElementCreationOptions; use crate::dom::bindings::codegen::Bindings::EventBinding::EventBinding::EventMethods; use crate::dom::bindings::codegen::Bindings::HTMLIFrameElementBinding::HTMLIFrameElementBinding::HTMLIFrameElementMethods; use crate::dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; @@ -89,11 +89,16 @@ use crate::dom::virtualmethods::vtable_for; use crate::dom::webglcontextevent::WebGLContextEvent; use crate::dom::window::{ReflowReason, Window}; use crate::dom::windowproxy::WindowProxy; +use crate::fetch::FetchCanceller; +use crate::script_runtime::{CommonScriptMsg, ScriptThreadEventCategory}; +use crate::script_thread::{MainThreadScriptMsg, ScriptThread}; +use crate::task_source::{TaskSource, TaskSourceName}; +use crate::timers::OneshotTimerCallback; +use devtools_traits::ScriptToDevtoolsControlMsg; use dom_struct::dom_struct; use embedder_traits::EmbedderMsg; use encoding_rs::{Encoding, UTF_8}; use euclid::Point2D; -use crate::fetch::FetchCanceller; use html5ever::{LocalName, Namespace, QualName}; use hyper_serde::Serde; use ipc_channel::ipc::{self, IpcSender}; @@ -114,8 +119,6 @@ use profile_traits::ipc as profile_ipc; use profile_traits::time::{TimerMetadata, TimerMetadataFrameType, TimerMetadataReflowType}; use ref_slice::ref_slice; use script_layout_interface::message::{Msg, NodesFromPointQueryType, QueryMsg, ReflowGoal}; -use crate::script_runtime::{CommonScriptMsg, ScriptThreadEventCategory}; -use crate::script_thread::{MainThreadScriptMsg, ScriptThread}; use script_traits::{AnimationState, DocumentActivity, MouseButton, MouseEventType}; use script_traits::{MsDuration, ScriptMsg, TouchEventType, TouchId, UntrustedNodeAddress}; use servo_arc::Arc; @@ -141,9 +144,7 @@ use style::shared_lock::{SharedRwLock as StyleSharedRwLock, SharedRwLockReadGuar use style::str::{split_html_space_chars, str_join}; use style::stylesheet_set::DocumentStylesheetSet; use style::stylesheets::{CssRule, Stylesheet, Origin, OriginSet}; -use crate::task_source::{TaskSource, TaskSourceName}; use time; -use crate::timers::OneshotTimerCallback; use url::Host; use url::percent_encoding::percent_decode; diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 0cbf11fab78..2600f0cc575 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -4,7 +4,6 @@ //! Element nodes. -use devtools_traits::AttrInfo; use crate::dom::activation::Activatable; use crate::dom::attr::{Attr, AttrHelpersForLayout}; use crate::dom::bindings::cell::DomRefCell; @@ -75,6 +74,10 @@ use crate::dom::text::Text; use crate::dom::validation::Validatable; use crate::dom::virtualmethods::{VirtualMethods, vtable_for}; use crate::dom::window::ReflowReason; +use crate::script_thread::ScriptThread; +use crate::stylesheet_loader::StylesheetOwner; +use crate::task::TaskOnce; +use devtools_traits::AttrInfo; use dom_struct::dom_struct; use html5ever::{Prefix, LocalName, Namespace, QualName}; use html5ever::serialize; @@ -87,7 +90,6 @@ use msg::constellation_msg::InputMethodType; use net_traits::request::CorsSettings; use ref_filter_map::ref_filter_map; use script_layout_interface::message::ReflowGoal; -use crate::script_thread::ScriptThread; use selectors::Element as SelectorsElement; use selectors::attr::{AttrSelectorOperation, NamespaceConstraint, CaseSensitivity}; use selectors::matching::{ElementSelectorFlags, MatchingContext}; @@ -119,8 +121,6 @@ use style::shared_lock::{SharedRwLock, Locked}; use style::thread_state; use style::values::{CSSFloat, Either}; use style::values::{specified, computed}; -use crate::stylesheet_loader::StylesheetOwner; -use crate::task::TaskOnce; use xml5ever::serialize as xmlSerialize; use xml5ever::serialize::SerializeOpts as XmlSerializeOpts; use xml5ever::serialize::TraversalScope as XmlTraversalScope; diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs index 7999eed6423..d7151dbdcc1 100644 --- a/components/script/dom/event.rs +++ b/components/script/dom/event.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::{TimelineMarker, TimelineMarkerType}; use crate::dom::bindings::callback::ExceptionHandling; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::EventBinding; @@ -19,11 +18,12 @@ use crate::dom::globalscope::GlobalScope; use crate::dom::node::Node; use crate::dom::virtualmethods::vtable_for; use crate::dom::window::Window; +use crate::task::TaskOnce; +use devtools_traits::{TimelineMarker, TimelineMarkerType}; use dom_struct::dom_struct; use servo_atoms::Atom; use std::cell::Cell; use std::default::Default; -use crate::task::TaskOnce; use time; #[dom_struct] diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs index a1869e108f0..cd2136c72fa 100644 --- a/components/script/dom/eventsource.rs +++ b/components/script/dom/eventsource.rs @@ -14,9 +14,12 @@ use crate::dom::event::Event; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::messageevent::MessageEvent; +use crate::fetch::FetchCanceller; +use crate::network_listener::{NetworkListener, PreInvoke}; +use crate::task_source::{TaskSource, TaskSourceName}; +use crate::timers::OneshotTimerCallback; use dom_struct::dom_struct; use euclid::Length; -use crate::fetch::FetchCanceller; use headers_ext::ContentType; use http::header::{self, HeaderName, HeaderValue}; use ipc_channel::ipc; @@ -29,15 +32,12 @@ use net_traits::{CoreResourceMsg, FetchChannels, FetchMetadata}; use net_traits::{FetchResponseMsg, FetchResponseListener, NetworkError}; use net_traits::request::{CacheMode, CorsSettings, CredentialsMode}; use net_traits::request::{RequestInit, RequestMode}; -use crate::network_listener::{NetworkListener, PreInvoke}; use servo_atoms::Atom; use servo_url::ServoUrl; use std::cell::Cell; use std::mem; use std::str::{Chars, FromStr}; use std::sync::{Arc, Mutex}; -use crate::task_source::{TaskSource, TaskSourceName}; -use crate::timers::OneshotTimerCallback; use utf8; diff --git a/components/script/dom/filereader.rs b/components/script/dom/filereader.rs index c5baeede050..885ff56901d 100644 --- a/components/script/dom/filereader.rs +++ b/components/script/dom/filereader.rs @@ -20,6 +20,9 @@ use crate::dom::event::{Event, EventBubbles, EventCancelable}; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::progressevent::ProgressEvent; +use crate::task::TaskCanceller; +use crate::task_source::{TaskSource, TaskSourceName}; +use crate::task_source::file_reading::{FileReadingTask, FileReadingTaskSource}; use dom_struct::dom_struct; use encoding_rs::{Encoding, UTF_8}; use js::jsapi::Heap; @@ -34,9 +37,6 @@ use std::cell::Cell; use std::ptr; use std::sync::Arc; use std::thread; -use crate::task::TaskCanceller; -use crate::task_source::{TaskSource, TaskSourceName}; -use crate::task_source::file_reading::{FileReadingTask, FileReadingTaskSource}; #[derive(Clone, Copy, JSTraceable, MallocSizeOf, PartialEq)] pub enum FileReaderFunction { diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs index f974e2f4d50..20dd3d0e91e 100644 --- a/components/script/dom/globalscope.rs +++ b/components/script/dom/globalscope.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::{ScriptToDevtoolsControlMsg, WorkerId}; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::EventSourceBinding::EventSourceBinding::EventSourceMethods; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; @@ -25,6 +24,20 @@ use crate::dom::performance::Performance; use crate::dom::window::Window; use crate::dom::workerglobalscope::WorkerGlobalScope; use crate::dom::workletglobalscope::WorkletGlobalScope; +use crate::microtask::{Microtask, MicrotaskQueue}; +use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort}; +use crate::script_thread::{MainThreadScriptChan, ScriptThread}; +use crate::task::TaskCanceller; +use crate::task_source::TaskSourceName; +use crate::task_source::dom_manipulation::DOMManipulationTaskSource; +use crate::task_source::file_reading::FileReadingTaskSource; +use crate::task_source::networking::NetworkingTaskSource; +use crate::task_source::performance_timeline::PerformanceTimelineTaskSource; +use crate::task_source::remote_event::RemoteEventTaskSource; +use crate::task_source::websocket::WebsocketTaskSource; +use crate::timers::{IsInterval, OneshotTimerCallback, OneshotTimerHandle}; +use crate::timers::{OneshotTimers, TimerCallback}; +use devtools_traits::{ScriptToDevtoolsControlMsg, WorkerId}; use dom_struct::dom_struct; use ipc_channel::ipc::IpcSender; use js::{JSCLASS_IS_DOMJSCLASS, JSCLASS_IS_GLOBAL}; @@ -38,12 +51,9 @@ use js::rust::{CompileOptionsWrapper, Runtime, get_object_class}; use js::rust::{HandleValue, MutableHandleValue}; use js::rust::wrappers::Evaluate2; use libc; -use crate::microtask::{Microtask, MicrotaskQueue}; use msg::constellation_msg::PipelineId; use net_traits::{CoreResourceThread, ResourceThreads, IpcSend}; use profile_traits::{mem, time}; -use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort}; -use crate::script_thread::{MainThreadScriptChan, ScriptThread}; use script_traits::{MsDuration, ScriptToConstellationChan, TimerEvent}; use script_traits::{TimerEventId, TimerSchedulerMsg, TimerSource}; use servo_url::{MutableOrigin, ServoUrl}; @@ -54,17 +64,7 @@ use std::ffi::CString; use std::rc::Rc; use std::sync::Arc; use std::sync::atomic::{AtomicBool, Ordering}; -use crate::task::TaskCanceller; -use crate::task_source::TaskSourceName; -use crate::task_source::dom_manipulation::DOMManipulationTaskSource; -use crate::task_source::file_reading::FileReadingTaskSource; -use crate::task_source::networking::NetworkingTaskSource; -use crate::task_source::performance_timeline::PerformanceTimelineTaskSource; -use crate::task_source::remote_event::RemoteEventTaskSource; -use crate::task_source::websocket::WebsocketTaskSource; use time::{Timespec, get_time}; -use crate::timers::{IsInterval, OneshotTimerCallback, OneshotTimerHandle}; -use crate::timers::{OneshotTimers, TimerCallback}; #[derive(JSTraceable)] pub struct AutoCloseWorker(Arc<AtomicBool>); diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs index 2af9d637d5e..a72906e1337 100644 --- a/components/script/dom/htmlbodyelement.rs +++ b/components/script/dom/htmlbodyelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::RGBA; use crate::dom::attr::Attr; use crate::dom::bindings::codegen::Bindings::HTMLBodyElementBinding::{self, HTMLBodyElementMethods}; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; @@ -15,6 +14,7 @@ use crate::dom::eventtarget::EventTarget; use crate::dom::htmlelement::HTMLElement; use crate::dom::node::{Node, document_from_node, window_from_node}; use crate::dom::virtualmethods::VirtualMethods; +use cssparser::RGBA; use dom_struct::dom_struct; use embedder_traits::EmbedderMsg; use html5ever::{LocalName, Prefix}; diff --git a/components/script/dom/htmldetailselement.rs b/components/script/dom/htmldetailselement.rs index e838c24bde0..b3c8fadbc43 100644 --- a/components/script/dom/htmldetailselement.rs +++ b/components/script/dom/htmldetailselement.rs @@ -14,10 +14,10 @@ use crate::dom::eventtarget::EventTarget; use crate::dom::htmlelement::HTMLElement; use crate::dom::node::{Node, window_from_node}; use crate::dom::virtualmethods::VirtualMethods; +use crate::task_source::TaskSource; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use std::cell::Cell; -use crate::task_source::TaskSource; #[dom_struct] pub struct HTMLDetailsElement { diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs index b06df92d75a..371e55ea65a 100644 --- a/components/script/dom/htmlfontelement.rs +++ b/components/script/dom/htmlfontelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::RGBA; use crate::dom::attr::Attr; use crate::dom::bindings::codegen::Bindings::HTMLFontElementBinding; use crate::dom::bindings::codegen::Bindings::HTMLFontElementBinding::HTMLFontElementMethods; @@ -14,6 +13,7 @@ use crate::dom::element::{Element, RawLayoutElementHelpers}; use crate::dom::htmlelement::HTMLElement; use crate::dom::node::Node; use crate::dom::virtualmethods::VirtualMethods; +use cssparser::RGBA; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use servo_atoms::Atom; diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index ef3cce2ecce..848822126c8 100755 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -42,6 +42,8 @@ use crate::dom::node::{document_from_node, window_from_node}; use crate::dom::validitystate::ValidationFlags; use crate::dom::virtualmethods::VirtualMethods; use crate::dom::window::Window; +use crate::script_thread::MainThreadScriptMsg; +use crate::task_source::TaskSource; use dom_struct::dom_struct; use encoding_rs::{Encoding, UTF_8}; use headers_core::HeaderMapExt; @@ -49,7 +51,6 @@ use headers_ext::ContentType; use html5ever::{LocalName, Prefix}; use hyper::Method; use mime::{self, Mime}; -use crate::script_thread::MainThreadScriptMsg; use net_traits::http_percent_encode; use script_traits::LoadData; use servo_rand::random; @@ -57,7 +58,6 @@ use std::borrow::ToOwned; use std::cell::Cell; use style::attr::AttrValue; use style::str::split_html_space_chars; -use crate::task_source::TaskSource; use url::UrlQuery; use url::form_urlencoded::Serializer; diff --git a/components/script/dom/htmlhrelement.rs b/components/script/dom/htmlhrelement.rs index e9724984aaf..1abb3727a8b 100644 --- a/components/script/dom/htmlhrelement.rs +++ b/components/script/dom/htmlhrelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::RGBA; use crate::dom::bindings::codegen::Bindings::HTMLHRElementBinding::{self, HTMLHRElementMethods}; use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::root::{DomRoot, LayoutDom}; @@ -12,6 +11,7 @@ use crate::dom::element::{Element, RawLayoutElementHelpers}; use crate::dom::htmlelement::HTMLElement; use crate::dom::node::Node; use crate::dom::virtualmethods::VirtualMethods; +use cssparser::RGBA; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use style::attr::{AttrValue, LengthOrPercentageOrAuto}; diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index ed79eb5412b..2fe6ccb1537 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -23,13 +23,14 @@ use crate::dom::node::{Node, NodeDamage, UnbindContext, document_from_node, wind use crate::dom::virtualmethods::VirtualMethods; use crate::dom::window::ReflowReason; use crate::dom::windowproxy::WindowProxy; +use crate::script_thread::ScriptThread; +use crate::task_source::TaskSource; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use ipc_channel::ipc; use msg::constellation_msg::{BrowsingContextId, PipelineId, TopLevelBrowsingContextId}; use profile_traits::ipc as ProfiledIpc; use script_layout_interface::message::ReflowGoal; -use crate::script_thread::ScriptThread; use script_traits::{IFrameLoadInfo, IFrameLoadInfoWithData, JsEvalResult, LoadData, UpdatePipelineIdReason}; use script_traits::{NewLayoutInfo, ScriptMsg}; use script_traits::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed}; @@ -37,7 +38,6 @@ use servo_config::prefs::PREFS; use servo_url::ServoUrl; use std::cell::Cell; use style::attr::{AttrValue, LengthOrPercentageOrAuto}; -use crate::task_source::TaskSource; bitflags! { #[derive(JSTraceable, MallocSizeOf)] diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 4dab7af24cd..89f6eb66e25 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -3,7 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use app_units::{Au, AU_PER_PX}; -use cssparser::{Parser, ParserInput}; use crate::document_loader::{LoadType, LoadBlocker}; use crate::dom::activation::Activatable; use crate::dom::attr::Attr; @@ -38,12 +37,16 @@ use crate::dom::progressevent::ProgressEvent; use crate::dom::values::UNSIGNED_LONG_MAX; use crate::dom::virtualmethods::VirtualMethods; use crate::dom::window::Window; +use crate::microtask::{Microtask, MicrotaskRunnable}; +use crate::network_listener::{NetworkListener, PreInvoke}; +use crate::script_thread::ScriptThread; +use crate::task_source::{TaskSource, TaskSourceName}; +use cssparser::{Parser, ParserInput}; use dom_struct::dom_struct; use euclid::Point2D; use html5ever::{LocalName, Prefix}; use ipc_channel::ipc; use ipc_channel::router::ROUTER; -use crate::microtask::{Microtask, MicrotaskRunnable}; use mime::{self, Mime}; use net_traits::{FetchResponseListener, FetchMetadata, NetworkError, FetchResponseMsg}; use net_traits::image::base::{Image, ImageMetadata}; @@ -51,9 +54,7 @@ use net_traits::image_cache::{CanRequestImages, ImageCache, ImageOrMetadataAvail use net_traits::image_cache::{ImageResponder, ImageResponse, ImageState, PendingImageId}; use net_traits::image_cache::UsePlaceholder; use net_traits::request::RequestInit; -use crate::network_listener::{NetworkListener, PreInvoke}; use num_traits::ToPrimitive; -use crate::script_thread::ScriptThread; use servo_url::ServoUrl; use servo_url::origin::MutableOrigin; use std::cell::{Cell, RefMut}; @@ -72,7 +73,6 @@ use style::stylesheets::{CssRuleType, Origin}; use style::values::specified::{AbsoluteLength, source_size_list::SourceSizeList}; use style::values::specified::length::{Length, NoCalcLength}; use style_traits::ParsingMode; -use crate::task_source::{TaskSource, TaskSourceName}; enum ParseState { InDescriptor, diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index d1d8d7350df..ae4dc5c7eef 100755 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -37,6 +37,9 @@ use crate::dom::textcontrol::{TextControlElement, TextControlSelection}; use crate::dom::validation::Validatable; use crate::dom::validitystate::ValidationFlags; use crate::dom::virtualmethods::VirtualMethods; +use crate::textinput::{Direction, SelectionDirection, TextInput}; +use crate::textinput::KeyReaction::{DispatchInput, Nothing, RedrawSelection, TriggerDefaultAction}; +use crate::textinput::Lines::Single; use dom_struct::dom_struct; use embedder_traits::FilterPattern; use html5ever::{LocalName, Prefix}; @@ -55,9 +58,6 @@ use std::ops::Range; use style::attr::AttrValue; use style::element_state::ElementState; use style::str::split_commas; -use crate::textinput::{Direction, SelectionDirection, TextInput}; -use crate::textinput::KeyReaction::{DispatchInput, Nothing, RedrawSelection, TriggerDefaultAction}; -use crate::textinput::Lines::Single; const DEFAULT_SUBMIT_VALUE: &'static str = "Submit"; const DEFAULT_RESET_VALUE: &'static str = "Reset"; diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index 949a5dacd0f..dd32b053885 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser as CssParser, ParserInput}; use crate::dom::attr::Attr; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::DOMTokenListBinding::DOMTokenListBinding::DOMTokenListMethods; @@ -20,6 +19,8 @@ use crate::dom::htmlelement::HTMLElement; use crate::dom::node::{Node, UnbindContext, document_from_node, window_from_node}; use crate::dom::stylesheet::StyleSheet as DOMStyleSheet; use crate::dom::virtualmethods::VirtualMethods; +use crate::stylesheet_loader::{StylesheetLoader, StylesheetContextSource, StylesheetOwner}; +use cssparser::{Parser as CssParser, ParserInput}; use dom_struct::dom_struct; use embedder_traits::EmbedderMsg; use html5ever::{LocalName, Prefix}; @@ -34,7 +35,6 @@ use style::parser::ParserContext as CssParserContext; use style::str::HTML_SPACE_CHARACTERS; use style::stylesheets::{CssRuleType, Stylesheet}; use style_traits::ParsingMode; -use crate::stylesheet_loader::{StylesheetLoader, StylesheetContextSource, StylesheetOwner}; #[derive(Clone, Copy, JSTraceable, MallocSizeOf, PartialEq)] pub struct RequestGenerationId(u32); diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 0747f67a653..010795a0b80 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -32,22 +32,23 @@ use crate::dom::mediaerror::MediaError; use crate::dom::node::{document_from_node, window_from_node, Node, NodeDamage, UnbindContext}; use crate::dom::promise::Promise; use crate::dom::virtualmethods::VirtualMethods; -use dom_struct::dom_struct; use crate::fetch::FetchCanceller; +use crate::microtask::{Microtask, MicrotaskRunnable}; +use crate::network_listener::{NetworkListener, PreInvoke}; +use crate::script_thread::ScriptThread; +use crate::task_source::{TaskSource, TaskSourceName}; +use dom_struct::dom_struct; use headers_core::HeaderMapExt; use headers_ext::ContentLength; use html5ever::{LocalName, Prefix}; use http::header::{self, HeaderMap, HeaderValue}; use ipc_channel::ipc; use ipc_channel::router::ROUTER; -use crate::microtask::{Microtask, MicrotaskRunnable}; use mime::{self, Mime}; use net_traits::{CoreResourceMsg, FetchChannels, FetchResponseListener, FetchMetadata, Metadata}; use net_traits::NetworkError; use net_traits::request::{CredentialsMode, Destination, RequestInit}; -use crate::network_listener::{NetworkListener, PreInvoke}; use script_layout_interface::HTMLMediaData; -use crate::script_thread::ScriptThread; use servo_media::Error as ServoMediaError; use servo_media::ServoMedia; use servo_media::player::{PlaybackState, Player, PlayerEvent, StreamType}; @@ -59,7 +60,6 @@ use std::f64; use std::mem; use std::rc::Rc; use std::sync::{Arc, Mutex}; -use crate::task_source::{TaskSource, TaskSourceName}; use time::{self, Timespec, Duration}; use webrender_api::{ImageData, ImageDescriptor, ImageFormat, ImageKey, RenderApi}; use webrender_api::{RenderApiSender, Transaction}; diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 10ecc1786c0..2b941b909dc 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -22,6 +22,8 @@ use crate::dom::htmlelement::HTMLElement; use crate::dom::node::{ChildrenMutation, CloneChildrenFlag, Node}; use crate::dom::node::{document_from_node, window_from_node}; use crate::dom::virtualmethods::VirtualMethods; +use crate::network_listener::{NetworkListener, PreInvoke}; +use crate::task_source::TaskSourceName; use dom_struct::dom_struct; use encoding_rs::Encoding; use html5ever::{LocalName, Prefix}; @@ -30,7 +32,6 @@ use ipc_channel::router::ROUTER; use js::jsval::UndefinedValue; use net_traits::{FetchMetadata, FetchResponseListener, Metadata, NetworkError}; use net_traits::request::{CorsSettings, CredentialsMode, Destination, RequestInit, RequestMode}; -use crate::network_listener::{NetworkListener, PreInvoke}; use servo_atoms::Atom; use servo_config::opts; use servo_url::ServoUrl; @@ -41,7 +42,6 @@ use std::path::PathBuf; use std::process::{Command, Stdio}; use std::sync::{Arc, Mutex}; use style::str::{HTML_SPACE_CHARACTERS, StaticStringVec}; -use crate::task_source::TaskSourceName; use uuid::Uuid; #[dom_struct] diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs index bca4d177c32..f9a45cc2314 100644 --- a/components/script/dom/htmlstyleelement.rs +++ b/components/script/dom/htmlstyleelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser as CssParser, ParserInput}; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::HTMLStyleElementBinding; use crate::dom::bindings::codegen::Bindings::HTMLStyleElementBinding::HTMLStyleElementMethods; @@ -16,6 +15,8 @@ use crate::dom::htmlelement::HTMLElement; use crate::dom::node::{ChildrenMutation, Node, UnbindContext, document_from_node, window_from_node}; use crate::dom::stylesheet::StyleSheet as DOMStyleSheet; use crate::dom::virtualmethods::VirtualMethods; +use crate::stylesheet_loader::{StylesheetLoader, StylesheetOwner}; +use cssparser::{Parser as CssParser, ParserInput}; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use net_traits::ReferrerPolicy; @@ -25,7 +26,6 @@ use style::media_queries::MediaList; use style::parser::ParserContext as CssParserContext; use style::stylesheets::{CssRuleType, Stylesheet, Origin}; use style_traits::ParsingMode; -use crate::stylesheet_loader::{StylesheetLoader, StylesheetOwner}; #[dom_struct] pub struct HTMLStyleElement { diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index 07bcc24feb8..ddf668bb4d4 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::RGBA; use crate::dom::bindings::codegen::Bindings::HTMLTableCellElementBinding; use crate::dom::bindings::codegen::Bindings::HTMLTableCellElementBinding::HTMLTableCellElementMethods; use crate::dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; @@ -16,6 +15,7 @@ use crate::dom::htmlelement::HTMLElement; use crate::dom::htmltablerowelement::HTMLTableRowElement; use crate::dom::node::Node; use crate::dom::virtualmethods::VirtualMethods; +use cssparser::RGBA; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use style::attr::{AttrValue, LengthOrPercentageOrAuto}; diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index 25ad9fbf094..218f5e44d41 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::RGBA; use crate::dom::attr::Attr; use crate::dom::bindings::codegen::Bindings::HTMLCollectionBinding::HTMLCollectionMethods; use crate::dom::bindings::codegen::Bindings::HTMLTableElementBinding; @@ -22,6 +21,7 @@ use crate::dom::htmltablerowelement::HTMLTableRowElement; use crate::dom::htmltablesectionelement::HTMLTableSectionElement; use crate::dom::node::{Node, document_from_node, window_from_node}; use crate::dom::virtualmethods::VirtualMethods; +use cssparser::RGBA; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use std::cell::Cell; diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs index 0666c9a90ed..e84cad5164a 100644 --- a/components/script/dom/htmltablerowelement.rs +++ b/components/script/dom/htmltablerowelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::RGBA; use crate::dom::bindings::codegen::Bindings::HTMLTableElementBinding::HTMLTableElementMethods; use crate::dom::bindings::codegen::Bindings::HTMLTableRowElementBinding::{self, HTMLTableRowElementMethods}; use crate::dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding::HTMLTableSectionElementMethods; @@ -20,6 +19,7 @@ use crate::dom::htmltableelement::HTMLTableElement; use crate::dom::htmltablesectionelement::HTMLTableSectionElement; use crate::dom::node::{Node, window_from_node}; use crate::dom::virtualmethods::VirtualMethods; +use cssparser::RGBA; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use style::attr::AttrValue; diff --git a/components/script/dom/htmltablesectionelement.rs b/components/script/dom/htmltablesectionelement.rs index 18a9488e70f..c45c2450064 100644 --- a/components/script/dom/htmltablesectionelement.rs +++ b/components/script/dom/htmltablesectionelement.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::RGBA; use crate::dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding::{self, HTMLTableSectionElementMethods}; use crate::dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use crate::dom::bindings::error::{ErrorResult, Fallible}; @@ -16,6 +15,7 @@ use crate::dom::htmlelement::HTMLElement; use crate::dom::htmltablerowelement::HTMLTableRowElement; use crate::dom::node::{Node, window_from_node}; use crate::dom::virtualmethods::VirtualMethods; +use cssparser::RGBA; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use style::attr::AttrValue; diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index fbbbd49a3ac..e919d10a1bd 100755 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -28,6 +28,7 @@ use crate::dom::nodelist::NodeList; use crate::dom::textcontrol::{TextControlElement, TextControlSelection}; use crate::dom::validation::Validatable; use crate::dom::virtualmethods::VirtualMethods; +use crate::textinput::{Direction, KeyReaction, Lines, SelectionDirection, TextInput}; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use script_traits::ScriptToConstellationChan; @@ -36,7 +37,6 @@ use std::default::Default; use std::ops::Range; use style::attr::AttrValue; use style::element_state::ElementState; -use crate::textinput::{Direction, KeyReaction, Lines, SelectionDirection, TextInput}; #[dom_struct] pub struct HTMLTextAreaElement { diff --git a/components/script/dom/medialist.rs b/components/script/dom/medialist.rs index f9bb9d4f38d..5293947354b 100644 --- a/components/script/dom/medialist.rs +++ b/components/script/dom/medialist.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use cssparser::{Parser, ParserInput}; use crate::dom::bindings::codegen::Bindings::MediaListBinding; use crate::dom::bindings::codegen::Bindings::MediaListBinding::MediaListMethods; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethods; @@ -11,6 +10,7 @@ use crate::dom::bindings::root::{Dom, DomRoot}; use crate::dom::bindings::str::DOMString; use crate::dom::cssstylesheet::CSSStyleSheet; use crate::dom::window::Window; +use cssparser::{Parser, ParserInput}; use dom_struct::dom_struct; use servo_arc::Arc; use style::media_queries::MediaList as StyleMediaList; diff --git a/components/script/dom/mutationobserver.rs b/components/script/dom/mutationobserver.rs index 31a0b8a37a3..362c05b8197 100644 --- a/components/script/dom/mutationobserver.rs +++ b/components/script/dom/mutationobserver.rs @@ -15,10 +15,10 @@ use crate::dom::bindings::str::DOMString; use crate::dom::mutationrecord::MutationRecord; use crate::dom::node::Node; use crate::dom::window::Window; -use dom_struct::dom_struct; -use html5ever::{Namespace, LocalName}; use crate::microtask::Microtask; use crate::script_thread::ScriptThread; +use dom_struct::dom_struct; +use html5ever::{Namespace, LocalName}; use std::rc::Rc; #[dom_struct] diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 636c5c6e37e..3fbc1b81c0b 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -5,7 +5,6 @@ //! The core DOM types. Defines the basic DOM hierarchy as well as all the HTML elements. use app_units::Au; -use devtools_traits::NodeInfo; use crate::document_loader::DocumentLoader; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods; @@ -55,6 +54,8 @@ use crate::dom::svgsvgelement::{SVGSVGElement, LayoutSVGSVGElementHelpers}; use crate::dom::text::Text; use crate::dom::virtualmethods::{VirtualMethods, vtable_for}; use crate::dom::window::Window; +use crate::script_thread::ScriptThread; +use devtools_traits::NodeInfo; use dom_struct::dom_struct; use euclid::{Point2D, Vector2D, Rect, Size2D}; use html5ever::{Prefix, Namespace, QualName}; @@ -67,7 +68,6 @@ use ref_slice::ref_slice; use script_layout_interface::{HTMLCanvasData, HTMLMediaData, LayoutElementType, LayoutNodeType}; use script_layout_interface::{OpaqueStyleAndLayoutData, SVGSVGData, TrustedNodeAddress}; use script_layout_interface::message::Msg; -use crate::script_thread::ScriptThread; use script_traits::DocumentActivity; use script_traits::UntrustedNodeAddress; use selectors::matching::{matches_selector_list, MatchingContext, MatchingMode}; diff --git a/components/script/dom/offlineaudiocontext.rs b/components/script/dom/offlineaudiocontext.rs index d6acf4a11d3..8d2d0d6663b 100644 --- a/components/script/dom/offlineaudiocontext.rs +++ b/components/script/dom/offlineaudiocontext.rs @@ -20,6 +20,7 @@ use crate::dom::event::{Event, EventBubbles, EventCancelable}; use crate::dom::offlineaudiocompletionevent::OfflineAudioCompletionEvent; use crate::dom::promise::Promise; use crate::dom::window::Window; +use crate::task_source::{TaskSource, TaskSourceName}; use dom_struct::dom_struct; use servo_media::audio::context::OfflineAudioContextOptions as ServoMediaOfflineAudioContextOptions; use std::cell::Cell; @@ -27,7 +28,6 @@ use std::rc::Rc; use std::sync::{Arc, Mutex}; use std::sync::mpsc; use std::thread::Builder; -use crate::task_source::{TaskSource, TaskSourceName}; #[dom_struct] pub struct OfflineAudioContext { diff --git a/components/script/dom/permissions.rs b/components/script/dom/permissions.rs index 9e6dd0b2cc4..2c0e8e95269 100644 --- a/components/script/dom/permissions.rs +++ b/components/script/dom/permissions.rs @@ -2,7 +2,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use crate::dom::bindings::codegen::Bindings::PermissionStatusBinding::{PermissionDescriptor, PermissionName, PermissionState}; +use crate::dom::bindings::codegen::Bindings::PermissionStatusBinding::{PermissionName, PermissionState}; +use crate::dom::bindings::codegen::Bindings::PermissionStatusBinding::PermissionDescriptor; use crate::dom::bindings::codegen::Bindings::PermissionStatusBinding::PermissionStatusMethods; use crate::dom::bindings::codegen::Bindings::PermissionsBinding::{self, PermissionsMethods}; use crate::dom::bindings::error::Error; diff --git a/components/script/dom/serviceworker.rs b/components/script/dom/serviceworker.rs index b6fce511a9f..0d87aa7eac9 100644 --- a/components/script/dom/serviceworker.rs +++ b/components/script/dom/serviceworker.rs @@ -14,13 +14,13 @@ use crate::dom::bindings::str::USVString; use crate::dom::bindings::structuredclone::StructuredCloneData; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; +use crate::task::TaskOnce; use dom_struct::dom_struct; use js::jsapi::JSContext; use js::rust::HandleValue; use script_traits::{ScriptMsg, DOMMessage}; use servo_url::ServoUrl; use std::cell::Cell; -use crate::task::TaskOnce; pub type TrustedServiceWorkerAddress = Trusted<ServiceWorker>; diff --git a/components/script/dom/serviceworkercontainer.rs b/components/script/dom/serviceworkercontainer.rs index 2eafbfc1031..e650002b348 100644 --- a/components/script/dom/serviceworkercontainer.rs +++ b/components/script/dom/serviceworkercontainer.rs @@ -13,9 +13,9 @@ use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::promise::Promise; use crate::dom::serviceworker::ServiceWorker; -use dom_struct::dom_struct; use crate::script_thread::ScriptThread; use crate::serviceworkerjob::{Job, JobType}; +use dom_struct::dom_struct; use std::default::Default; use std::rc::Rc; diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs index 4f79cd493ff..650308438a5 100644 --- a/components/script/dom/serviceworkerglobalscope.rs +++ b/components/script/dom/serviceworkerglobalscope.rs @@ -3,7 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use crate::devtools; -use devtools_traits::DevtoolScriptControlMsg; use crate::dom::abstractworker::WorkerScriptMsg; use crate::dom::abstractworkerglobalscope::{WorkerEventLoopMethods, run_worker_event_loop}; use crate::dom::bindings::codegen::Bindings::ServiceWorkerGlobalScopeBinding; @@ -20,13 +19,16 @@ use crate::dom::extendablemessageevent::ExtendableMessageEvent; use crate::dom::globalscope::GlobalScope; use crate::dom::worker::TrustedWorkerAddress; use crate::dom::workerglobalscope::WorkerGlobalScope; +use crate::script_runtime::{CommonScriptMsg, ScriptChan, new_rt_and_cx, Runtime}; +use crate::task_queue::{QueuedTask, QueuedTaskConversion, TaskQueue}; +use crate::task_source::TaskSourceName; +use devtools_traits::DevtoolScriptControlMsg; use dom_struct::dom_struct; use ipc_channel::ipc::{self, IpcSender, IpcReceiver}; use js::jsapi::{JSAutoCompartment, JSContext, JS_AddInterruptCallback}; use js::jsval::UndefinedValue; use net_traits::{load_whole_resource, IpcSend, CustomResponseMediator}; use net_traits::request::{CredentialsMode, Destination, RequestInit}; -use crate::script_runtime::{CommonScriptMsg, ScriptChan, new_rt_and_cx, Runtime}; use script_traits::{TimerEvent, WorkerGlobalScopeInit, ScopeThings, ServiceWorkerMsg, WorkerScriptLoadOrigin}; use servo_channel::{channel, route_ipc_receiver_to_new_servo_sender, Receiver, Sender}; use servo_config::prefs::PREFS; @@ -35,8 +37,6 @@ use servo_url::ServoUrl; use std::thread; use std::time::Duration; use style::thread_state::{self, ThreadState}; -use crate::task_queue::{QueuedTask, QueuedTaskConversion, TaskQueue}; -use crate::task_source::TaskSourceName; /// Messages used to control service worker event loop pub enum ServiceWorkerScriptMsg { diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs index f52499f8270..8ce775f6fa8 100644 --- a/components/script/dom/servoparser/mod.rs +++ b/components/script/dom/servoparser/mod.rs @@ -29,6 +29,8 @@ use crate::dom::node::Node; use crate::dom::processinginstruction::ProcessingInstruction; use crate::dom::text::Text; use crate::dom::virtualmethods::vtable_for; +use crate::network_listener::PreInvoke; +use crate::script_thread::ScriptThread; use dom_struct::dom_struct; use embedder_traits::resources::{self, Resource}; use html5ever::{Attribute, ExpandedName, LocalName, QualName}; @@ -39,10 +41,8 @@ use hyper_serde::Serde; use mime::{self, Mime}; use msg::constellation_msg::PipelineId; use net_traits::{FetchMetadata, FetchResponseListener, Metadata, NetworkError}; -use crate::network_listener::PreInvoke; use profile_traits::time::{TimerMetadata, TimerMetadataFrameType}; use profile_traits::time::{TimerMetadataReflowType, ProfilerCategory, profile}; -use crate::script_thread::ScriptThread; use script_traits::DocumentActivity; use servo_config::prefs::PREFS; use servo_url::ServoUrl; diff --git a/components/script/dom/storage.rs b/components/script/dom/storage.rs index 251719eb809..030d8f662b1 100644 --- a/components/script/dom/storage.rs +++ b/components/script/dom/storage.rs @@ -13,6 +13,7 @@ use crate::dom::bindings::str::DOMString; use crate::dom::event::{Event, EventBubbles, EventCancelable}; use crate::dom::storageevent::StorageEvent; use crate::dom::window::Window; +use crate::task_source::TaskSource; use dom_struct::dom_struct; use ipc_channel::ipc::IpcSender; use net_traits::IpcSend; @@ -20,7 +21,6 @@ use net_traits::storage_thread::{StorageThreadMsg, StorageType}; use profile_traits::ipc; use script_traits::ScriptMsg; use servo_url::ServoUrl; -use crate::task_source::TaskSource; #[dom_struct] pub struct Storage { diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index 9e87a0f12db..436829b1876 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -17,8 +17,9 @@ use crate::dom::bindings::codegen::UnionTypes::{ByteStringOrLong, ByteStringSequ use crate::dom::bindings::codegen::UnionTypes::{ByteStringSequenceOrLong, DocumentOrTestTypedef}; use crate::dom::bindings::codegen::UnionTypes::{EventOrUSVString, HTMLElementOrLong, LongSequenceOrTestTypedef}; use crate::dom::bindings::codegen::UnionTypes::{HTMLElementOrUnsignedLongOrStringOrBoolean, LongSequenceOrBoolean}; -use crate::dom::bindings::codegen::UnionTypes::{StringOrLongSequence, StringOrStringSequence, StringSequenceOrUnsignedLong}; -use crate::dom::bindings::codegen::UnionTypes::{StringOrUnsignedLong, StringOrBoolean, UnsignedLongOrBoolean}; +use crate::dom::bindings::codegen::UnionTypes::{StringOrBoolean, UnsignedLongOrBoolean}; +use crate::dom::bindings::codegen::UnionTypes::{StringOrLongSequence, StringOrStringSequence}; +use crate::dom::bindings::codegen::UnionTypes::{StringSequenceOrUnsignedLong, StringOrUnsignedLong}; use crate::dom::bindings::error::{Error, Fallible}; use crate::dom::bindings::mozmap::MozMap; use crate::dom::bindings::num::Finite; @@ -33,6 +34,7 @@ use crate::dom::globalscope::GlobalScope; use crate::dom::promise::Promise; use crate::dom::promisenativehandler::{PromiseNativeHandler, Callback}; use crate::dom::url::URL; +use crate::timers::OneshotTimerCallback; use dom_struct::dom_struct; use js::jsapi::{Heap, JSContext, JSObject}; use js::jsapi::{JS_NewPlainObject, JS_NewUint8ClampedArray}; @@ -46,7 +48,6 @@ use std::borrow::ToOwned; use std::ptr; use std::ptr::NonNull; use std::rc::Rc; -use crate::timers::OneshotTimerCallback; #[dom_struct] pub struct TestBinding { diff --git a/components/script/dom/testworklet.rs b/components/script/dom/testworklet.rs index e6fa2150274..ea25de058d1 100644 --- a/components/script/dom/testworklet.rs +++ b/components/script/dom/testworklet.rs @@ -18,8 +18,8 @@ use crate::dom::promise::Promise; use crate::dom::window::Window; use crate::dom::worklet::Worklet; use crate::dom::workletglobalscope::WorkletGlobalScopeType; -use dom_struct::dom_struct; use crate::script_thread::ScriptThread; +use dom_struct::dom_struct; use std::rc::Rc; #[dom_struct] diff --git a/components/script/dom/textcontrol.rs b/components/script/dom/textcontrol.rs index ef4f547537b..2b862c2c6cf 100644 --- a/components/script/dom/textcontrol.rs +++ b/components/script/dom/textcontrol.rs @@ -15,8 +15,8 @@ use crate::dom::bindings::str::DOMString; use crate::dom::event::{EventBubbles, EventCancelable}; use crate::dom::eventtarget::EventTarget; use crate::dom::node::{Node, NodeDamage, window_from_node}; -use script_traits::ScriptToConstellationChan; use crate::textinput::{SelectionDirection, SelectionState, TextInput}; +use script_traits::ScriptToConstellationChan; pub trait TextControlElement: DerivedFrom<EventTarget> + DerivedFrom<Node> { fn selection_api_applies(&self) -> bool; diff --git a/components/script/dom/vrdisplay.rs b/components/script/dom/vrdisplay.rs index 6f8e111b4ea..3bd44601c16 100644 --- a/components/script/dom/vrdisplay.rs +++ b/components/script/dom/vrdisplay.rs @@ -30,11 +30,12 @@ use crate::dom::vrframedata::VRFrameData; use crate::dom::vrpose::VRPose; use crate::dom::vrstageparameters::VRStageParameters; use crate::dom::webglrenderingcontext::WebGLRenderingContext; +use crate::script_runtime::CommonScriptMsg; +use crate::script_runtime::ScriptThreadEventCategory::WebVREvent; +use crate::task_source::TaskSourceName; use dom_struct::dom_struct; use ipc_channel::ipc::IpcSender; use profile_traits::ipc; -use crate::script_runtime::CommonScriptMsg; -use crate::script_runtime::ScriptThreadEventCategory::WebVREvent; use serde_bytes::ByteBuf; use servo_channel::{channel, Sender}; use std::cell::Cell; @@ -42,7 +43,6 @@ use std::mem; use std::ops::Deref; use std::rc::Rc; use std::thread; -use crate::task_source::TaskSourceName; use webvr_traits::{WebVRDisplayData, WebVRDisplayEvent, WebVRFrameData, WebVRLayer, WebVRMsg}; #[dom_struct] diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 117a5a1244a..c6efde14cfc 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -20,6 +20,11 @@ use crate::dom::event::{Event, EventBubbles, EventCancelable}; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::messageevent::MessageEvent; +use crate::script_runtime::CommonScriptMsg; +use crate::script_runtime::ScriptThreadEventCategory::WebSocketEvent; +use crate::task::{TaskOnce, TaskCanceller}; +use crate::task_source::TaskSource; +use crate::task_source::websocket::WebsocketTaskSource; use dom_struct::dom_struct; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use js::jsapi::{JSAutoCompartment, JSObject}; @@ -31,16 +36,11 @@ use net_traits::{WebSocketDomAction, WebSocketNetworkEvent}; use net_traits::MessageData; use net_traits::request::{RequestInit, RequestMode}; use profile_traits::ipc as ProfiledIpc; -use crate::script_runtime::CommonScriptMsg; -use crate::script_runtime::ScriptThreadEventCategory::WebSocketEvent; use servo_url::{ImmutableOrigin, ServoUrl}; use std::borrow::ToOwned; use std::cell::Cell; use std::ptr; use std::thread; -use crate::task::{TaskOnce, TaskCanceller}; -use crate::task_source::TaskSource; -use crate::task_source::websocket::WebsocketTaskSource; #[derive(Clone, Copy, Debug, JSTraceable, MallocSizeOf, PartialEq)] enum WebSocketRequestState { diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index b9ad630825c..25fee74860c 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -6,8 +6,6 @@ use app_units::Au; use base64; use bluetooth_traits::BluetoothRequest; use canvas_traits::webgl::WebGLChan; -use cssparser::{Parser, ParserInput}; -use devtools_traits::{ScriptToDevtoolsControlMsg, TimelineMarker, TimelineMarkerType}; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::DocumentBinding::{DocumentMethods, DocumentReadyState}; use crate::dom::bindings::codegen::Bindings::FunctionBinding::Function; @@ -54,10 +52,30 @@ use crate::dom::testrunner::TestRunner; use crate::dom::windowproxy::WindowProxy; use crate::dom::worklet::Worklet; use crate::dom::workletglobalscope::WorkletGlobalScopeType; +use crate::fetch; +use crate::layout_image::fetch_image_for_layout; +use crate::microtask::MicrotaskQueue; +use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, ScriptThreadEventCategory, Runtime}; +use crate::script_thread::{ImageCacheMsg, MainThreadScriptChan, MainThreadScriptMsg}; +use crate::script_thread::{ScriptThread, SendableMainThreadScriptChan}; +use crate::task::TaskCanceller; +use crate::task_source::TaskSourceName; +use crate::task_source::dom_manipulation::DOMManipulationTaskSource; +use crate::task_source::file_reading::FileReadingTaskSource; +use crate::task_source::history_traversal::HistoryTraversalTaskSource; +use crate::task_source::media_element::MediaElementTaskSource; +use crate::task_source::networking::NetworkingTaskSource; +use crate::task_source::performance_timeline::PerformanceTimelineTaskSource; +use crate::task_source::remote_event::RemoteEventTaskSource; +use crate::task_source::user_interaction::UserInteractionTaskSource; +use crate::task_source::websocket::WebsocketTaskSource; +use crate::timers::{IsInterval, TimerCallback}; +use crate::webdriver_handlers::jsval_to_webdriver; +use cssparser::{Parser, ParserInput}; +use devtools_traits::{ScriptToDevtoolsControlMsg, TimelineMarker, TimelineMarkerType}; use dom_struct::dom_struct; use embedder_traits::EmbedderMsg; use euclid::{Point2D, Vector2D, Rect, Size2D, TypedPoint2D, TypedScale, TypedSize2D}; -use crate::fetch; use ipc_channel::ipc::IpcSender; use ipc_channel::router::ROUTER; use js::jsapi::JSAutoCompartment; @@ -68,9 +86,7 @@ use js::jsval::JSVal; use js::jsval::UndefinedValue; use js::rust::HandleValue; use js::rust::wrappers::JS_DefineProperty; -use crate::layout_image::fetch_image_for_layout; use libc; -use crate::microtask::MicrotaskQueue; use msg::constellation_msg::PipelineId; use net_traits::{ResourceThreads, ReferrerPolicy}; use net_traits::image_cache::{ImageCache, ImageResponder, ImageResponse}; @@ -85,9 +101,6 @@ use script_layout_interface::message::{Msg, Reflow, QueryMsg, ReflowGoal, Script use script_layout_interface::reporter::CSSErrorReporter; use script_layout_interface::rpc::{ContentBoxResponse, ContentBoxesResponse, LayoutRPC}; use script_layout_interface::rpc::{NodeScrollIdResponse, ResolvedStyleResponse, TextIndexResponse}; -use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, ScriptThreadEventCategory, Runtime}; -use crate::script_thread::{ImageCacheMsg, MainThreadScriptChan, MainThreadScriptMsg}; -use crate::script_thread::{ScriptThread, SendableMainThreadScriptChan}; use script_traits::{ConstellationControlMsg, DocumentState, LoadData}; use script_traits::{ScriptToConstellationChan, ScriptMsg, ScrollState, TimerEvent, TimerEventId}; use script_traits::{TimerSchedulerMsg, UntrustedNodeAddress, WindowSizeData, WindowSizeType}; @@ -118,21 +131,8 @@ use style::selector_parser::PseudoElement; use style::str::HTML_SPACE_CHARACTERS; use style::stylesheets::CssRuleType; use style_traits::{CSSPixel, DevicePixel, ParsingMode}; -use crate::task::TaskCanceller; -use crate::task_source::TaskSourceName; -use crate::task_source::dom_manipulation::DOMManipulationTaskSource; -use crate::task_source::file_reading::FileReadingTaskSource; -use crate::task_source::history_traversal::HistoryTraversalTaskSource; -use crate::task_source::media_element::MediaElementTaskSource; -use crate::task_source::networking::NetworkingTaskSource; -use crate::task_source::performance_timeline::PerformanceTimelineTaskSource; -use crate::task_source::remote_event::RemoteEventTaskSource; -use crate::task_source::user_interaction::UserInteractionTaskSource; -use crate::task_source::websocket::WebsocketTaskSource; use time; -use crate::timers::{IsInterval, TimerCallback}; use url::Position; -use crate::webdriver_handlers::jsval_to_webdriver; use webrender_api::{DeviceIntPoint, DeviceUintSize, DocumentId, ExternalScrollId, RenderApiSender}; use webvr_traits::WebVRMsg; diff --git a/components/script/dom/windowproxy.rs b/components/script/dom/windowproxy.rs index 0cbcf7c2df5..bc0fe4a9e09 100644 --- a/components/script/dom/windowproxy.rs +++ b/components/script/dom/windowproxy.rs @@ -17,6 +17,7 @@ use crate::dom::document::Document; use crate::dom::element::Element; use crate::dom::globalscope::GlobalScope; use crate::dom::window::Window; +use crate::script_thread::ScriptThread; use dom_struct::dom_struct; use embedder_traits::EmbedderMsg; use ipc_channel::ipc; @@ -43,7 +44,6 @@ use js::rust::wrappers::{NewWindowProxy, SetWindowProxy, JS_TransplantObject}; use msg::constellation_msg::BrowsingContextId; use msg::constellation_msg::PipelineId; use msg::constellation_msg::TopLevelBrowsingContextId; -use crate::script_thread::ScriptThread; use script_traits::{AuxiliaryBrowsingContextLoadInfo, LoadData, NewLayoutInfo, ScriptMsg}; use servo_config::prefs::PREFS; use servo_url::ServoUrl; diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index d3455845cbf..3ad9525466c 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::{DevtoolsPageInfo, ScriptToDevtoolsControlMsg}; use crate::dom::abstractworker::SimpleWorkerErrorHandler; use crate::dom::abstractworker::WorkerScriptMsg; use crate::dom::bindings::codegen::Bindings::WorkerBinding; @@ -19,6 +18,8 @@ use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::messageevent::MessageEvent; use crate::dom::workerglobalscope::prepare_workerscope_init; +use crate::task::TaskOnce; +use devtools_traits::{DevtoolsPageInfo, ScriptToDevtoolsControlMsg}; use dom_struct::dom_struct; use ipc_channel::ipc; use js::jsapi::{JSAutoCompartment, JSContext, JS_RequestInterruptCallback}; @@ -29,7 +30,6 @@ use servo_channel::{channel, Sender}; use std::cell::Cell; use std::sync::Arc; use std::sync::atomic::{AtomicBool, Ordering}; -use crate::task::TaskOnce; pub type TrustedWorkerAddress = Trusted<Worker>; diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs index 8ca6aed86fc..e7c141f1500 100644 --- a/components/script/dom/workerglobalscope.rs +++ b/components/script/dom/workerglobalscope.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::{DevtoolScriptControlMsg, WorkerId}; use crate::dom::bindings::codegen::Bindings::FunctionBinding::Function; use crate::dom::bindings::codegen::Bindings::RequestBinding::RequestInit; use crate::dom::bindings::codegen::Bindings::WorkerGlobalScopeBinding::WorkerGlobalScopeMethods; @@ -23,8 +22,18 @@ use crate::dom::serviceworkerglobalscope::ServiceWorkerGlobalScope; use crate::dom::window::{base64_atob, base64_btoa}; use crate::dom::workerlocation::WorkerLocation; use crate::dom::workernavigator::WorkerNavigator; -use dom_struct::dom_struct; use crate::fetch; +use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, get_reports, Runtime}; +use crate::task::TaskCanceller; +use crate::task_source::dom_manipulation::DOMManipulationTaskSource; +use crate::task_source::file_reading::FileReadingTaskSource; +use crate::task_source::networking::NetworkingTaskSource; +use crate::task_source::performance_timeline::PerformanceTimelineTaskSource; +use crate::task_source::remote_event::RemoteEventTaskSource; +use crate::task_source::websocket::WebsocketTaskSource; +use crate::timers::{IsInterval, TimerCallback}; +use devtools_traits::{DevtoolScriptControlMsg, WorkerId}; +use dom_struct::dom_struct; use ipc_channel::ipc::IpcSender; use js::jsapi::{JSAutoCompartment, JSContext}; use js::jsval::UndefinedValue; @@ -33,7 +42,6 @@ use js::rust::HandleValue; use msg::constellation_msg::PipelineId; use net_traits::{IpcSend, load_whole_resource}; use net_traits::request::{CredentialsMode, Destination, RequestInit as NetRequestInit}; -use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, get_reports, Runtime}; use script_traits::{TimerEvent, TimerEventId}; use script_traits::WorkerGlobalScopeInit; use servo_channel::Receiver; @@ -42,15 +50,7 @@ use std::default::Default; use std::rc::Rc; use std::sync::Arc; use std::sync::atomic::{AtomicBool, Ordering}; -use crate::task::TaskCanceller; -use crate::task_source::dom_manipulation::DOMManipulationTaskSource; -use crate::task_source::file_reading::FileReadingTaskSource; -use crate::task_source::networking::NetworkingTaskSource; -use crate::task_source::performance_timeline::PerformanceTimelineTaskSource; -use crate::task_source::remote_event::RemoteEventTaskSource; -use crate::task_source::websocket::WebsocketTaskSource; use time::precise_time_ns; -use crate::timers::{IsInterval, TimerCallback}; pub fn prepare_workerscope_init( global: &GlobalScope, diff --git a/components/script/dom/worklet.rs b/components/script/dom/worklet.rs index 519c0fbe65d..346ba443f54 100644 --- a/components/script/dom/worklet.rs +++ b/components/script/dom/worklet.rs @@ -32,6 +32,13 @@ use crate::dom::workletglobalscope::WorkletGlobalScope; use crate::dom::workletglobalscope::WorkletGlobalScopeInit; use crate::dom::workletglobalscope::WorkletGlobalScopeType; use crate::dom::workletglobalscope::WorkletTask; +use crate::script_runtime::CommonScriptMsg; +use crate::script_runtime::Runtime; +use crate::script_runtime::ScriptThreadEventCategory; +use crate::script_runtime::new_rt_and_cx; +use crate::script_thread::{MainThreadScriptMsg, ScriptThread}; +use crate::task::TaskBox; +use crate::task_source::TaskSourceName; use dom_struct::dom_struct; use js::jsapi::JSGCParamKey; use js::jsapi::JSTracer; @@ -43,11 +50,6 @@ use net_traits::load_whole_resource; use net_traits::request::Destination; use net_traits::request::RequestInit; use net_traits::request::RequestMode; -use crate::script_runtime::CommonScriptMsg; -use crate::script_runtime::Runtime; -use crate::script_runtime::ScriptThreadEventCategory; -use crate::script_runtime::new_rt_and_cx; -use crate::script_thread::{MainThreadScriptMsg, ScriptThread}; use servo_channel::{channel, Sender, Receiver}; use servo_rand; use servo_url::ImmutableOrigin; @@ -63,8 +65,6 @@ use std::thread; use style::thread_state::{self, ThreadState}; use swapper::Swapper; use swapper::swapper; -use crate::task::TaskBox; -use crate::task_source::TaskSourceName; use uuid::Uuid; // Magic numbers diff --git a/components/script/dom/workletglobalscope.rs b/components/script/dom/workletglobalscope.rs index 4cd27de3e87..eae9281b687 100644 --- a/components/script/dom/workletglobalscope.rs +++ b/components/script/dom/workletglobalscope.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use devtools_traits::ScriptToDevtoolsControlMsg; use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::root::DomRoot; use crate::dom::globalscope::GlobalScope; @@ -11,6 +10,8 @@ use crate::dom::paintworkletglobalscope::PaintWorkletTask; use crate::dom::testworkletglobalscope::TestWorkletGlobalScope; use crate::dom::testworkletglobalscope::TestWorkletTask; use crate::dom::worklet::WorkletExecutor; +use crate::script_thread::MainThreadScriptMsg; +use devtools_traits::ScriptToDevtoolsControlMsg; use dom_struct::dom_struct; use ipc_channel::ipc; use ipc_channel::ipc::IpcSender; @@ -22,7 +23,6 @@ use net_traits::ResourceThreads; use net_traits::image_cache::ImageCache; use profile_traits::mem; use profile_traits::time; -use crate::script_thread::MainThreadScriptMsg; use script_traits::{Painter, ScriptMsg}; use script_traits::{ScriptToConstellationChan, TimerSchedulerMsg}; use servo_atoms::Atom; diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index df9d6374970..cd3be4c6faf 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -35,10 +35,14 @@ use crate::dom::window::Window; use crate::dom::workerglobalscope::WorkerGlobalScope; use crate::dom::xmlhttprequesteventtarget::XMLHttpRequestEventTarget; use crate::dom::xmlhttprequestupload::XMLHttpRequestUpload; +use crate::fetch::FetchCanceller; +use crate::network_listener::{NetworkListener, PreInvoke}; +use crate::task_source::TaskSourceName; +use crate::task_source::networking::NetworkingTaskSource; +use crate::timers::{OneshotTimerCallback, OneshotTimerHandle}; use dom_struct::dom_struct; use encoding_rs::{Encoding, UTF_8}; use euclid::Length; -use crate::fetch::FetchCanceller; use headers_core::HeaderMapExt; use headers_ext::{ContentLength, ContentType}; use html5ever::serialize; @@ -59,7 +63,6 @@ use net_traits::{FetchResponseListener, NetworkError, ReferrerPolicy}; use net_traits::CoreResourceMsg::Fetch; use net_traits::request::{CredentialsMode, Destination, RequestInit, RequestMode}; use net_traits::trim_http_whitespace; -use crate::network_listener::{NetworkListener, PreInvoke}; use script_traits::DocumentActivity; use servo_atoms::Atom; use servo_url::ServoUrl; @@ -71,10 +74,7 @@ use std::ptr::NonNull; use std::slice; use std::str::{self, FromStr}; use std::sync::{Arc, Mutex}; -use crate::task_source::TaskSourceName; -use crate::task_source::networking::NetworkingTaskSource; use time; -use crate::timers::{OneshotTimerCallback, OneshotTimerHandle}; use url::Position; #[derive(Clone, Copy, Debug, JSTraceable, MallocSizeOf, PartialEq)] |