diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-09-19 13:34:51 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-09-19 13:34:51 -0600 |
commit | a0d3c9223f09757124b1520c4f17e94fa8bbe249 (patch) | |
tree | 1dd3e40e5a554466dfb4575758ad15967927d44d | |
parent | 7f2d81933a6158926ff6d03acbc05f191cd5adb3 (diff) | |
parent | de3547e401a0ace8b6bfb4b488ed0be9d5b3d79c (diff) | |
download | servo-a0d3c9223f09757124b1520c4f17e94fa8bbe249.tar.gz servo-a0d3c9223f09757124b1520c4f17e94fa8bbe249.zip |
Auto merge of #7662 - nerith:import, r=frewsxcv
Check for multiple import blocks separated by whitespace
Fixes #7381.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7662)
<!-- Reviewable:end -->
214 files changed, 620 insertions, 933 deletions
diff --git a/components/canvas/canvas_paint_task.rs b/components/canvas/canvas_paint_task.rs index bd15ab492f5..cf179fc9600 100644 --- a/components/canvas/canvas_paint_task.rs +++ b/components/canvas/canvas_paint_task.rs @@ -17,13 +17,12 @@ use ipc_channel::ipc::{self, IpcSender}; use ipc_channel::router::ROUTER; use layers::platform::surface::NativeSurface; use num::ToPrimitive; -use util::opts; -use util::task::spawn_named; -use util::vec::byte_swap; - use std::borrow::ToOwned; use std::mem; use std::sync::mpsc::{channel, Sender}; +use util::opts; +use util::task::spawn_named; +use util::vec::byte_swap; impl<'a> CanvasPaintTask<'a> { /// It reads image data from the canvas diff --git a/components/canvas/webgl_paint_task.rs b/components/canvas/webgl_paint_task.rs index 3204c3cd08b..b10e31a01e0 100644 --- a/components/canvas/webgl_paint_task.rs +++ b/components/canvas/webgl_paint_task.rs @@ -8,9 +8,6 @@ use core::nonzero::NonZero; use euclid::size::Size2D; use gleam::gl; use gleam::gl::types::{GLsizei}; - -use util::task::spawn_named; - use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory}; use ipc_channel::router::ROUTER; use layers::platform::surface::NativeSurface; @@ -18,6 +15,7 @@ use offscreen_gl_context::{GLContext, GLContextAttributes, ColorAttachmentType}; use std::borrow::ToOwned; use std::slice::bytes::copy_memory; use std::sync::mpsc::{channel, Sender}; +use util::task::spawn_named; use util::vec::byte_swap; pub struct WebGLPaintTask { diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index a35ffe80e35..40ea8f7fb33 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -6,12 +6,6 @@ use compositor_layer::{CompositorData, CompositorLayer, WantsScrollEventsFlag}; use compositor_task::{CompositorEventListener, CompositorProxy}; use compositor_task::{CompositorReceiver, InitialCompositorState, Msg}; use constellation::SendableFrameTree; -use pipeline::CompositionPipeline; -use scrolling::ScrollingTimerProxy; -use surface_map::SurfaceMap; -use windowing; -use windowing::{MouseWindowEvent, WindowEvent, WindowMethods, WindowNavigateMsg}; - use euclid::point::TypedPoint2D; use euclid::rect::TypedRect; use euclid::scale_factor::ScaleFactor; @@ -37,10 +31,12 @@ use msg::constellation_msg::Msg as ConstellationMsg; use msg::constellation_msg::{ConstellationChan, NavigationDirection}; use msg::constellation_msg::{Key, KeyModifiers, KeyState, LoadData}; use msg::constellation_msg::{PipelineId, WindowSizeData}; +use pipeline::CompositionPipeline; use png; use profile_traits::mem::{self, Reporter, ReporterRequest, ReportKind}; use profile_traits::time::{self, ProfilerCategory, profile}; use script_traits::{ConstellationControlMsg, LayoutControlMsg}; +use scrolling::ScrollingTimerProxy; use std::collections::HashMap; use std::collections::hash_map::Entry::{Occupied, Vacant}; use std::mem as std_mem; @@ -48,10 +44,13 @@ use std::rc::Rc; use std::slice::bytes::copy_memory; use std::sync::mpsc::Sender; use style_traits::viewport::ViewportConstraints; +use surface_map::SurfaceMap; use time::{precise_time_ns, precise_time_s}; use url::Url; use util::geometry::{Au, PagePx, ScreenPx, ViewportPx}; use util::opts; +use windowing; +use windowing::{MouseWindowEvent, WindowEvent, WindowMethods, WindowNavigateMsg}; const BUFFER_MAP_SIZE: usize = 10000000; diff --git a/components/compositing/compositor_layer.rs b/components/compositing/compositor_layer.rs index 5f61cbc3544..7132ee7bb29 100644 --- a/components/compositing/compositor_layer.rs +++ b/components/compositing/compositor_layer.rs @@ -2,10 +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 compositor::IOCompositor; -use windowing::{MouseWindowEvent, WindowMethods}; - use azure::azure_hl; +use compositor::IOCompositor; use euclid::length::Length; use euclid::point::{Point2D, TypedPoint2D}; use euclid::rect::Rect; @@ -18,6 +16,7 @@ use msg::constellation_msg::PipelineId; use script_traits::CompositorEvent::{ClickEvent, MouseDownEvent, MouseMoveEvent, MouseUpEvent}; use script_traits::ConstellationControlMsg; use std::rc::Rc; +use windowing::{MouseWindowEvent, WindowMethods}; #[derive(Debug)] pub struct CompositorData { diff --git a/components/compositing/compositor_task.rs b/components/compositing/compositor_task.rs index eaf0645d2df..b32f403c971 100644 --- a/components/compositing/compositor_task.rs +++ b/components/compositing/compositor_task.rs @@ -8,10 +8,8 @@ pub use windowing; pub use constellation::SendableFrameTree; use compositor; -use headless; -use windowing::{WindowEvent, WindowMethods}; - use euclid::{Size2D, Point2D, Rect}; +use headless; use ipc_channel::ipc::{IpcReceiver, IpcSender}; use layers::layers::{BufferRequest, LayerBufferSet}; use layers::platform::surface::{NativeDisplay, NativeSurface}; @@ -28,6 +26,7 @@ use std::sync::mpsc::{channel, Sender, Receiver}; use style_traits::viewport::ViewportConstraints; use url::Url; use util::cursor::Cursor; +use windowing::{WindowEvent, WindowMethods}; /// Sends messages to the compositor. This is a trait supplied by the port because the method used /// to communicate with the compositor may have to kick OS event loops awake, communicate cross- diff --git a/components/compositing/constellation.rs b/components/compositing/constellation.rs index 46088f4dc09..0fbf07d5527 100644 --- a/components/compositing/constellation.rs +++ b/components/compositing/constellation.rs @@ -9,8 +9,6 @@ //! navigation context, each `Pipeline` encompassing a `ScriptTask`, //! `LayoutTask`, and `PaintTask`. -use pipeline::{Pipeline, CompositionPipeline, InitialPipelineState}; - use canvas::canvas_paint_task::CanvasPaintTask; use canvas::webgl_paint_task::WebGLPaintTask; use canvas_traits::CanvasMsg; @@ -39,6 +37,7 @@ use net_traits::image_cache_task::ImageCacheTask; use net_traits::storage_task::{StorageTask, StorageTaskMsg}; use net_traits::{self, ResourceTask}; use offscreen_gl_context::GLContextAttributes; +use pipeline::{Pipeline, CompositionPipeline, InitialPipelineState}; use profile_traits::mem; use profile_traits::time; use script_traits::{CompositorEvent, ConstellationControlMsg, LayoutControlMsg}; diff --git a/components/compositing/headless.rs b/components/compositing/headless.rs index c5216152095..17bc07698da 100644 --- a/components/compositing/headless.rs +++ b/components/compositing/headless.rs @@ -4,8 +4,6 @@ use compositor_task::{CompositorEventListener, CompositorReceiver}; use compositor_task::{InitialCompositorState, Msg}; -use windowing::WindowEvent; - use euclid::scale_factor::ScaleFactor; use euclid::{Size2D, Point2D}; use msg::constellation_msg::AnimationState; @@ -13,6 +11,7 @@ use msg::constellation_msg::Msg as ConstellationMsg; use msg::constellation_msg::{ConstellationChan, WindowSizeData}; use profile_traits::mem; use profile_traits::time; +use windowing::WindowEvent; /// Starts the compositor, which listens for messages on the specified port. /// diff --git a/components/compositing/pipeline.rs b/components/compositing/pipeline.rs index c30eab7e9b0..557c8725138 100644 --- a/components/compositing/pipeline.rs +++ b/components/compositing/pipeline.rs @@ -3,10 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use CompositorProxy; -use layout_traits::{LayoutTaskFactory, LayoutControlChan}; -use script_traits::{ConstellationControlMsg, InitialScriptState}; -use script_traits::{LayoutControlMsg, NewLayoutInfo, ScriptTaskFactory}; - use compositor_task; use devtools_traits::{DevtoolsControlMsg, ScriptToDevtoolsControlMsg}; use euclid::rect::{TypedRect}; @@ -16,6 +12,7 @@ use gfx::paint_task::{ChromeToPaintMsg, LayoutToPaintMsg, PaintTask}; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use ipc_channel::router::ROUTER; use layers::geometry::DevicePixel; +use layout_traits::{LayoutTaskFactory, LayoutControlChan}; use msg::constellation_msg::{ConstellationChan, Failure, FrameId, PipelineId, SubpageId}; use msg::constellation_msg::{LoadData, WindowSizeData, PipelineExitType, MozBrowserEvent}; use net_traits::ResourceTask; @@ -23,6 +20,8 @@ use net_traits::image_cache_task::ImageCacheTask; use net_traits::storage_task::StorageTask; use profile_traits::mem as profile_mem; use profile_traits::time; +use script_traits::{ConstellationControlMsg, InitialScriptState}; +use script_traits::{LayoutControlMsg, NewLayoutInfo, ScriptTaskFactory}; use std::any::Any; use std::mem; use std::sync::mpsc::{Receiver, Sender, channel}; diff --git a/components/compositing/scrolling.rs b/components/compositing/scrolling.rs index f19a8b9b9da..df266f1741e 100644 --- a/components/compositing/scrolling.rs +++ b/components/compositing/scrolling.rs @@ -5,7 +5,6 @@ //! A timer thread that gives the painting task a little time to catch up when the user scrolls. use compositor_task::{CompositorProxy, Msg}; - use std::sync::mpsc::{Receiver, Sender, channel}; use std::thread::{Builder, sleep_ms}; use time; diff --git a/components/compositing/windowing.rs b/components/compositing/windowing.rs index 99cd0615c25..a5afcb999ca 100644 --- a/components/compositing/windowing.rs +++ b/components/compositing/windowing.rs @@ -5,7 +5,6 @@ //! Abstract windowing methods. The concrete implementations of these can be found in `platform/`. use compositor_task::{CompositorProxy, CompositorReceiver}; - use euclid::point::TypedPoint2D; use euclid::scale_factor::ScaleFactor; use euclid::size::TypedSize2D; diff --git a/components/devtools/actors/console.rs b/components/devtools/actors/console.rs index 5e2a3cfd526..ae054ebf52c 100644 --- a/components/devtools/actors/console.rs +++ b/components/devtools/actors/console.rs @@ -9,15 +9,13 @@ use actor::{Actor, ActorRegistry, ActorMessageStatus}; use actors::object::ObjectActor; -use protocol::JsonPacketStream; - use devtools_traits::CachedConsoleMessage; use devtools_traits::EvaluateJSReply::{NullValue, VoidValue, NumberValue}; use devtools_traits::EvaluateJSReply::{StringValue, BooleanValue, ActorValue}; use devtools_traits::{CachedConsoleMessageTypes, DevtoolScriptControlMsg, PAGE_ERROR, CONSOLE_API}; -use msg::constellation_msg::PipelineId; - use ipc_channel::ipc::{self, IpcSender}; +use msg::constellation_msg::PipelineId; +use protocol::JsonPacketStream; use rustc_serialize::json::{self, Json, ToJson}; use std::cell::RefCell; use std::collections::BTreeMap; diff --git a/components/devtools/actors/framerate.rs b/components/devtools/actors/framerate.rs index bc3937e9ce8..325572d1d91 100644 --- a/components/devtools/actors/framerate.rs +++ b/components/devtools/actors/framerate.rs @@ -2,17 +2,16 @@ * 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 actor::{Actor, ActorRegistry, ActorMessageStatus}; +use actors::timeline::HighResolutionStamp; +use devtools_traits::DevtoolScriptControlMsg; use ipc_channel::ipc::IpcSender; +use msg::constellation_msg::PipelineId; use rustc_serialize::json; use std::mem; use std::net::TcpStream; use time::precise_time_ns; -use actor::{Actor, ActorRegistry, ActorMessageStatus}; -use actors::timeline::HighResolutionStamp; -use devtools_traits::DevtoolScriptControlMsg; -use msg::constellation_msg::PipelineId; - pub struct FramerateActor { name: String, pipeline: PipelineId, diff --git a/components/devtools/actors/inspector.rs b/components/devtools/actors/inspector.rs index 7dd132a2eb0..b319e4ac703 100644 --- a/components/devtools/actors/inspector.rs +++ b/components/devtools/actors/inspector.rs @@ -5,15 +5,13 @@ //! Liberally derived from the [Firefox JS implementation] //! (http://mxr.mozilla.org/mozilla-central/source/toolkit/devtools/server/actors/inspector.js). +use actor::{Actor, ActorRegistry, ActorMessageStatus}; use devtools_traits::DevtoolScriptControlMsg::{GetLayout, ModifyAttribute}; use devtools_traits::DevtoolScriptControlMsg::{GetRootNode, GetDocumentElement, GetChildren}; use devtools_traits::{DevtoolScriptControlMsg, NodeInfo, ComputedNodeLayout}; - -use actor::{Actor, ActorRegistry, ActorMessageStatus}; -use protocol::JsonPacketStream; - use ipc_channel::ipc::{self, IpcSender}; use msg::constellation_msg::PipelineId; +use protocol::JsonPacketStream; use rustc_serialize::json::{self, Json, ToJson}; use std::cell::RefCell; use std::collections::BTreeMap; diff --git a/components/devtools/actors/memory.rs b/components/devtools/actors/memory.rs index 1011cfd9dab..daf5b4908f1 100644 --- a/components/devtools/actors/memory.rs +++ b/components/devtools/actors/memory.rs @@ -2,11 +2,10 @@ * 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 actor::{Actor, ActorRegistry, ActorMessageStatus}; use rustc_serialize::json; use std::net::TcpStream; -use actor::{Actor, ActorRegistry, ActorMessageStatus}; - #[derive(RustcEncodable)] pub struct TimelineMemoryReply { jsObjectSize: u64, diff --git a/components/devtools/actors/performance.rs b/components/devtools/actors/performance.rs index 4c6d276783b..e2c2d26ed78 100644 --- a/components/devtools/actors/performance.rs +++ b/components/devtools/actors/performance.rs @@ -4,7 +4,6 @@ use actor::{Actor, ActorRegistry, ActorMessageStatus}; use protocol::JsonPacketStream; - use rustc_serialize::json; use std::net::TcpStream; diff --git a/components/devtools/actors/profiler.rs b/components/devtools/actors/profiler.rs index fab3cc18249..938b98b28be 100644 --- a/components/devtools/actors/profiler.rs +++ b/components/devtools/actors/profiler.rs @@ -3,7 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use actor::{Actor, ActorRegistry, ActorMessageStatus}; - use rustc_serialize::json; use std::net::TcpStream; diff --git a/components/devtools/actors/root.rs b/components/devtools/actors/root.rs index 5a7c29ae951..b5334daa313 100644 --- a/components/devtools/actors/root.rs +++ b/components/devtools/actors/root.rs @@ -10,7 +10,6 @@ use actor::{Actor, ActorRegistry, ActorMessageStatus}; use actors::tab::{TabActor, TabActorMsg}; use protocol::JsonPacketStream; - use rustc_serialize::json; use std::net::TcpStream; diff --git a/components/devtools/actors/tab.rs b/components/devtools/actors/tab.rs index 36083a6aafd..3567127c05d 100644 --- a/components/devtools/actors/tab.rs +++ b/components/devtools/actors/tab.rs @@ -11,7 +11,6 @@ use actor::{Actor, ActorRegistry, ActorMessageStatus}; use actors::console::ConsoleActor; use devtools_traits::DevtoolScriptControlMsg::WantsLiveNotifications; use protocol::JsonPacketStream; - use rustc_serialize::json; use std::net::TcpStream; diff --git a/components/devtools/actors/timeline.rs b/components/devtools/actors/timeline.rs index 138aab3eabc..17bf03807f1 100644 --- a/components/devtools/actors/timeline.rs +++ b/components/devtools/actors/timeline.rs @@ -2,22 +2,21 @@ * 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 actor::{Actor, ActorRegistry, ActorMessageStatus}; +use actors::framerate::FramerateActor; +use actors::memory::{MemoryActor, TimelineMemoryReply}; +use devtools_traits::DevtoolScriptControlMsg; +use devtools_traits::DevtoolScriptControlMsg::{SetTimelineMarkers, DropTimelineMarkers}; +use devtools_traits::{PreciseTime, TimelineMarker, TimelineMarkerType}; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use msg::constellation_msg::PipelineId; +use protocol::JsonPacketStream; use rustc_serialize::{json, Encoder, Encodable}; use std::cell::RefCell; use std::net::TcpStream; use std::sync::mpsc::channel; use std::sync::{Arc, Mutex}; use std::thread::sleep_ms; - -use actor::{Actor, ActorRegistry, ActorMessageStatus}; -use actors::framerate::FramerateActor; -use actors::memory::{MemoryActor, TimelineMemoryReply}; -use devtools_traits::DevtoolScriptControlMsg; -use devtools_traits::DevtoolScriptControlMsg::{SetTimelineMarkers, DropTimelineMarkers}; -use devtools_traits::{PreciseTime, TimelineMarker, TimelineMarkerType}; -use protocol::JsonPacketStream; use util::task; pub struct TimelineActor { diff --git a/components/devtools/lib.rs b/components/devtools/lib.rs index e552f5ed0ff..d33a82638cb 100644 --- a/components/devtools/lib.rs +++ b/components/devtools/lib.rs @@ -43,15 +43,12 @@ use actors::root::RootActor; use actors::tab::TabActor; use actors::timeline::TimelineActor; use actors::worker::WorkerActor; -use protocol::JsonPacketStream; - use devtools_traits::{ChromeToDevtoolsControlMsg, ConsoleMessage, DevtoolsControlMsg}; use devtools_traits::{DevtoolsPageInfo, DevtoolScriptControlMsg, LogLevel, NetworkEvent}; use devtools_traits::{ScriptToDevtoolsControlMsg}; -use msg::constellation_msg::{PipelineId, WorkerId}; -use util::task::spawn_named; - use ipc_channel::ipc::IpcSender; +use msg::constellation_msg::{PipelineId, WorkerId}; +use protocol::JsonPacketStream; use std::borrow::ToOwned; use std::cell::RefCell; use std::collections::HashMap; @@ -61,6 +58,7 @@ use std::net::{TcpListener, TcpStream, Shutdown}; use std::sync::mpsc::{channel, Receiver, Sender, RecvError}; use std::sync::{Arc, Mutex}; use time::precise_time_ns; +use util::task::spawn_named; mod actor; /// Corresponds to http://mxr.mozilla.org/mozilla-central/source/toolkit/devtools/server/actors/ diff --git a/components/devtools_traits/lib.rs b/components/devtools_traits/lib.rs index c8889fcd5fb..61ab9148144 100644 --- a/components/devtools_traits/lib.rs +++ b/components/devtools_traits/lib.rs @@ -27,18 +27,16 @@ extern crate hyper; extern crate util; extern crate time; -use msg::constellation_msg::{PipelineId, WorkerId}; -use rustc_serialize::{Decodable, Decoder}; -use url::Url; -use util::str::DOMString; - use hyper::header::Headers; use hyper::http::RawStatus; use hyper::method::Method; use ipc_channel::ipc::IpcSender; -use time::Duration; - +use msg::constellation_msg::{PipelineId, WorkerId}; +use rustc_serialize::{Decodable, Decoder}; use std::net::TcpStream; +use time::Duration; +use url::Url; +use util::str::DOMString; // Information would be attached to NewGlobal to be received and show in devtools. // Extend these fields if we need more information. diff --git a/components/gfx/display_list/mod.rs b/components/gfx/display_list/mod.rs index d6192cbc285..dc62e8a1fa2 100644 --- a/components/gfx/display_list/mod.rs +++ b/components/gfx/display_list/mod.rs @@ -16,15 +16,9 @@ #![deny(unsafe_code)] -use display_list::optimizer::DisplayListOptimizer; -use paint_context::PaintContext; -use self::DisplayItem::*; -use self::DisplayItemIterator::*; -use text::TextRun; -use text::glyph::CharIndex; - use azure::azure::AzFloat; use azure::azure_hl::Color; +use display_list::optimizer::DisplayListOptimizer; use euclid::approxeq::ApproxEq; use euclid::num::Zero; use euclid::{Point2D, Rect, SideOffsets2D, Size2D, Matrix2D, Matrix4}; @@ -32,7 +26,10 @@ use gfx_traits::color; use libc::uintptr_t; use msg::compositor_msg::{LayerId, LayerKind, ScrollPolicy}; use net_traits::image::base::Image; +use paint_context::PaintContext; use paint_task::PaintLayer; +use self::DisplayItem::*; +use self::DisplayItemIterator::*; use smallvec::SmallVec; use std::collections::linked_list::{self, LinkedList}; use std::fmt; @@ -42,6 +39,8 @@ use std::sync::Arc; use style::computed_values::{border_style, cursor, filter, image_rendering, mix_blend_mode}; use style::computed_values::{pointer_events}; use style::properties::ComputedValues; +use text::TextRun; +use text::glyph::CharIndex; use util::cursor::Cursor; use util::geometry::{self, Au, MAX_RECT, ZERO_RECT}; use util::linked_list::prepend_from; diff --git a/components/gfx/display_list/optimizer.rs b/components/gfx/display_list/optimizer.rs index ecfb0c668ff..686007b8788 100644 --- a/components/gfx/display_list/optimizer.rs +++ b/components/gfx/display_list/optimizer.rs @@ -5,7 +5,6 @@ //! Transforms a display list to produce a visually-equivalent, but cheaper-to-paint, one. use display_list::{DisplayItem, DisplayList, StackingContext}; - use euclid::rect::Rect; use euclid::{Matrix2D, Matrix4}; use std::collections::linked_list::LinkedList; diff --git a/components/gfx/filters.rs b/components/gfx/filters.rs index 832cc437c74..e0c6e5ca3ea 100644 --- a/components/gfx/filters.rs +++ b/components/gfx/filters.rs @@ -9,7 +9,6 @@ use azure::azure_hl::{ColorMatrixAttribute, ColorMatrixInput, CompositeInput, Dr use azure::azure_hl::{FilterNode, FilterType, LinearTransferAttribute, LinearTransferInput}; use azure::azure_hl::{GaussianBlurAttribute, GaussianBlurInput}; use azure::azure_hl::{Matrix5x4, TableTransferAttribute, TableTransferInput}; - use style::computed_values::filter; use util::geometry::Au; diff --git a/components/gfx/font.rs b/components/gfx/font.rs index e8636aa802f..8716533d77c 100644 --- a/components/gfx/font.rs +++ b/components/gfx/font.rs @@ -3,6 +3,10 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use euclid::{Point2D, Rect, Size2D}; +use font_template::FontTemplateDescriptor; +use platform::font::{FontHandle, FontTable}; +use platform::font_context::FontContextHandle; +use platform::font_template::FontTemplateData; use smallvec::SmallVec; use std::borrow::ToOwned; use std::cell::RefCell; @@ -11,15 +15,10 @@ use std::str; use std::sync::Arc; use style::computed_values::{font_stretch, font_variant, font_weight}; use style::properties::style_structs::Font as FontStyle; -use util::cache::HashCache; - -use font_template::FontTemplateDescriptor; -use platform::font::{FontHandle, FontTable}; -use platform::font_context::FontContextHandle; -use platform::font_template::FontTemplateData; use text::Shaper; use text::glyph::{GlyphStore, GlyphId}; use text::shaping::ShaperMethods; +use util::cache::HashCache; use util::geometry::Au; // FontHandle encapsulates access to the platform's font API, diff --git a/components/gfx/font_context.rs b/components/gfx/font_context.rs index c4aa6212591..e0fa69800e1 100644 --- a/components/gfx/font_context.rs +++ b/components/gfx/font_context.rs @@ -2,23 +2,20 @@ * 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 font::SpecifiedFontStyle; -use font::{Font, FontGroup}; -use platform::font_context::FontContextHandle; -use style::computed_values::{font_style, font_variant}; - +use azure::azure_hl::BackendType; +#[cfg(any(target_os = "linux", target_os = "android"))] +use azure::scaled_font::FontInfo; +use azure::scaled_font::ScaledFont; use fnv::FnvHasher; use font::FontHandleMethods; +use font::SpecifiedFontStyle; +use font::{Font, FontGroup}; use font_cache_task::FontCacheTask; use font_template::FontTemplateDescriptor; use platform::font::FontHandle; +use platform::font_context::FontContextHandle; use platform::font_template::FontTemplateData; use smallvec::SmallVec; -use string_cache::Atom; -use util::cache::HashCache; -use util::geometry::Au; -use util::mem::HeapSizeOf; - use std::borrow::{self, ToOwned}; use std::cell::RefCell; use std::collections::HashMap; @@ -27,12 +24,11 @@ use std::default::Default; use std::hash::{Hash, Hasher}; use std::rc::Rc; use std::sync::Arc; - -use azure::azure_hl::BackendType; -use azure::scaled_font::ScaledFont; - -#[cfg(any(target_os = "linux", target_os = "android"))] -use azure::scaled_font::FontInfo; +use string_cache::Atom; +use style::computed_values::{font_style, font_variant}; +use util::cache::HashCache; +use util::geometry::Au; +use util::mem::HeapSizeOf; #[cfg(any(target_os = "linux", target_os = "android"))] fn create_scaled_font(template: &Arc<FontTemplateData>, pt_size: Au) -> ScaledFont { diff --git a/components/gfx/font_template.rs b/components/gfx/font_template.rs index 62c4d087ee1..843216a81bb 100644 --- a/components/gfx/font_template.rs +++ b/components/gfx/font_template.rs @@ -6,9 +6,8 @@ use font::FontHandleMethods; use platform::font::FontHandle; use platform::font_context::FontContextHandle; use platform::font_template::FontTemplateData; -use string_cache::Atom; - use std::sync::{Arc, Weak}; +use string_cache::Atom; use style::computed_values::{font_stretch, font_weight}; /// Describes how to select a font from a given family. This is very basic at the moment and needs diff --git a/components/gfx/paint_context.rs b/components/gfx/paint_context.rs index ab258e2ef6e..ff60e90a1af 100644 --- a/components/gfx/paint_context.rs +++ b/components/gfx/paint_context.rs @@ -4,15 +4,6 @@ //! Painting of display lists using Moz2D/Azure. -use display_list::TextOrientation::{SidewaysLeft, SidewaysRight, Upright}; -use display_list::{BLUR_INFLATION_FACTOR, BorderRadii, BoxShadowClipMode, ClippingRegion}; -use display_list::{TextDisplayItem}; -use filters; -use font_context::FontContext; -use gfx_traits::color; -use text::TextRun; -use text::glyph::CharIndex; - use azure::azure::AzIntSize; use azure::azure_hl::{AntialiasMode, Color, ColorPattern, CompositionOp}; use azure::azure_hl::{DrawOptions, DrawSurfaceOptions, DrawTarget, ExtendMode, FilterType}; @@ -23,11 +14,17 @@ use azure::azure_hl::{Pattern, PatternRef, Path, PathBuilder, SurfacePattern}; use azure::scaled_font::ScaledFont; use azure::{AzFloat, struct__AzDrawOptions, struct__AzGlyph}; use azure::{struct__AzGlyphBuffer, struct__AzPoint, AzDrawTargetFillGlyphs}; +use display_list::TextOrientation::{SidewaysLeft, SidewaysRight, Upright}; +use display_list::{BLUR_INFLATION_FACTOR, BorderRadii, BoxShadowClipMode, ClippingRegion}; +use display_list::{TextDisplayItem}; use euclid::matrix2d::Matrix2D; use euclid::point::Point2D; use euclid::rect::Rect; use euclid::side_offsets::SideOffsets2D; use euclid::size::Size2D; +use filters; +use font_context::FontContext; +use gfx_traits::color; use libc::types::common::c99::uint32_t; use msg::compositor_msg::LayerKind; use net_traits::image::base::{Image, PixelFormat}; @@ -37,6 +34,8 @@ use std::mem; use std::ptr; use std::sync::Arc; use style::computed_values::{border_style, filter, image_rendering, mix_blend_mode}; +use text::TextRun; +use text::glyph::CharIndex; use util::geometry::{self, Au, MAX_RECT, ZERO_RECT}; use util::opts; use util::range::Range; diff --git a/components/gfx/paint_task.rs b/components/gfx/paint_task.rs index 914a41ec9e0..563bbe04a0e 100644 --- a/components/gfx/paint_task.rs +++ b/components/gfx/paint_task.rs @@ -4,18 +4,16 @@ //! The task that handles all painting. -use display_list::{self, StackingContext}; -use font_cache_task::FontCacheTask; -use font_context::FontContext; -use paint_context::PaintContext; - use azure::AzFloat; use azure::azure_hl::{SurfaceFormat, Color, DrawTarget, BackendType}; use canvas_traits::CanvasMsg; +use display_list::{self, StackingContext}; use euclid::Matrix4; use euclid::point::Point2D; use euclid::rect::Rect; use euclid::size::Size2D; +use font_cache_task::FontCacheTask; +use font_context::FontContext; use ipc_channel::ipc::IpcSender; use layers::layers::{BufferRequest, LayerBuffer, LayerBufferSet}; use layers::platform::surface::{NativeDisplay, NativeSurface}; @@ -24,6 +22,7 @@ use msg::compositor_msg::{LayerProperties, PaintListener}; use msg::constellation_msg::Msg as ConstellationMsg; use msg::constellation_msg::PipelineExitType; use msg::constellation_msg::{ConstellationChan, Failure, PipelineId}; +use paint_context::PaintContext; use profile_traits::mem::{self, ReportsChan}; use profile_traits::time::{self, profile}; use rand::{self, Rng}; diff --git a/components/gfx/platform/freetype/font.rs b/components/gfx/platform/freetype/font.rs index 1e4937acc91..e08a93afce5 100644 --- a/components/gfx/platform/freetype/font.rs +++ b/components/gfx/platform/freetype/font.rs @@ -6,14 +6,6 @@ extern crate freetype; use font::{FontHandleMethods, FontMetrics, FontTableMethods}; use font::{FontTableTag, FractionalPixel}; -use platform::font_context::FontContextHandle; -use platform::font_template::FontTemplateData; -use style::computed_values::{font_stretch, font_weight}; -use text::glyph::GlyphId; -use text::util::{float_to_fixed, fixed_to_float}; -use util::geometry::Au; -use util::str::c_str_to_string; - use freetype::freetype::{FTErrorMethods, FT_F26Dot6, FT_Face, FT_FaceRec}; use freetype::freetype::{FT_Get_Char_Index, FT_Get_Postscript_Name}; use freetype::freetype::{FT_Get_Kerning, FT_Get_Sfnt_Table, FT_Load_Sfnt_Table}; @@ -24,11 +16,17 @@ use freetype::freetype::{FT_New_Memory_Face, FT_Done_Face}; use freetype::freetype::{FT_SizeRec, FT_UInt, FT_Size_Metrics, struct_FT_Vector_}; use freetype::freetype::{ft_sfnt_os2}; use freetype::tt_os2::TT_OS2; - use libc::c_char; +use platform::font_context::FontContextHandle; +use platform::font_template::FontTemplateData; use std::mem; use std::ptr; use std::sync::Arc; +use style::computed_values::{font_stretch, font_weight}; +use text::glyph::GlyphId; +use text::util::{float_to_fixed, fixed_to_float}; +use util::geometry::Au; +use util::str::c_str_to_string; fn float_to_fixed_ft(f: f64) -> i32 { float_to_fixed(6, f) diff --git a/components/gfx/platform/freetype/font_context.rs b/components/gfx/platform/freetype/font_context.rs index 887c321781d..4f616cfba45 100644 --- a/components/gfx/platform/freetype/font_context.rs +++ b/components/gfx/platform/freetype/font_context.rs @@ -9,14 +9,12 @@ use freetype::freetype::FT_Library; use freetype::freetype::FT_Memory; use freetype::freetype::FT_New_Library; use freetype::freetype::struct_FT_MemoryRec_; - +use libc::{c_void, c_long}; use std::ptr; use std::rc::Rc; use std::rt::heap; use util::mem::{HeapSizeOf, heap_size_of}; -use libc::{c_void, c_long}; - // We pass a |User| struct -- via an opaque |void*| -- to FreeType each time a new instance is // created. FreeType passes it back to the ft_alloc/ft_realloc/ft_free callbacks. We use it to // record the memory usage of each FreeType instance. diff --git a/components/gfx/platform/freetype/font_list.rs b/components/gfx/platform/freetype/font_list.rs index 0b1a05aa8dd..5e3b76b9271 100644 --- a/components/gfx/platform/freetype/font_list.rs +++ b/components/gfx/platform/freetype/font_list.rs @@ -13,14 +13,12 @@ use fontconfig::fontconfig::{FcDefaultSubstitute, FcFontMatch, FcNameParse, FcPa use fontconfig::fontconfig::{FcObjectSetAdd, FcPatternGetInteger}; use fontconfig::fontconfig::{FcPatternAddString, FcFontSetList, FcObjectSetCreate, FcObjectSetDestroy}; use fontconfig::fontconfig::{FcPatternDestroy, FcFontSetDestroy, FcMatchPattern, FcPatternCreate}; - -use util::str::c_str_to_string; - use libc; use libc::{c_int, c_char}; use std::borrow::ToOwned; use std::ffi::CString; use std::ptr; +use util::str::c_str_to_string; static FC_FAMILY: &'static [u8] = b"family\0"; static FC_FILE: &'static [u8] = b"file\0"; diff --git a/components/gfx/platform/macos/font.rs b/components/gfx/platform/macos/font.rs index dd045dff3e1..fa29592d184 100644 --- a/components/gfx/platform/macos/font.rs +++ b/components/gfx/platform/macos/font.rs @@ -8,15 +8,6 @@ extern crate core_foundation; extern crate core_graphics; extern crate core_text; -use font::FontTableTag; -use font::FractionalPixel; -use font::{FontHandleMethods, FontMetrics, FontTableMethods}; -use platform::font_template::FontTemplateData; -use platform::macos::font_context::FontContextHandle; -use style::computed_values::{font_stretch, font_weight}; -use text::glyph::GlyphId; -use util::geometry::{Au, px_to_pt}; - use core_foundation::base::CFIndex; use core_foundation::data::CFData; use core_foundation::string::UniChar; @@ -25,9 +16,16 @@ use core_graphics::geometry::CGRect; use core_text::font::CTFont; use core_text::font_descriptor::{SymbolicTraitAccessors, TraitAccessors}; use core_text::font_descriptor::{kCTFontDefaultOrientation}; - +use font::FontTableTag; +use font::FractionalPixel; +use font::{FontHandleMethods, FontMetrics, FontTableMethods}; +use platform::font_template::FontTemplateData; +use platform::macos::font_context::FontContextHandle; use std::ptr; use std::sync::Arc; +use style::computed_values::{font_stretch, font_weight}; +use text::glyph::GlyphId; +use util::geometry::{Au, px_to_pt}; pub struct FontTable { data: CFData, diff --git a/components/gfx/platform/macos/font_list.rs b/components/gfx/platform/macos/font_list.rs index 0fe81ef6185..f0b629944ed 100644 --- a/components/gfx/platform/macos/font_list.rs +++ b/components/gfx/platform/macos/font_list.rs @@ -6,7 +6,6 @@ use core_foundation::base::TCFType; use core_foundation::string::{CFString, CFStringRef}; use core_text; use core_text::font_descriptor::{CTFontDescriptor, CTFontDescriptorRef}; - use std::borrow::ToOwned; use std::mem; diff --git a/components/gfx/platform/macos/font_template.rs b/components/gfx/platform/macos/font_template.rs index bff979519aa..cc1e9c5e68c 100644 --- a/components/gfx/platform/macos/font_template.rs +++ b/components/gfx/platform/macos/font_template.rs @@ -6,7 +6,6 @@ use core_graphics::data_provider::CGDataProvider; use core_graphics::font::CGFont; use core_text; use core_text::font::CTFont; - use serde::de::{Error, Visitor}; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use std::borrow::ToOwned; diff --git a/components/gfx/text/glyph.rs b/components/gfx/text/glyph.rs index 9ce46b79045..f293ff4f3d3 100644 --- a/components/gfx/text/glyph.rs +++ b/components/gfx/text/glyph.rs @@ -3,10 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use euclid::point::Point2D; - #[cfg(any(target_arch = "x86_64", target_arch = "aarch64"))] use simd::u32x4; - use std::cmp::{Ordering, PartialOrd}; use std::fmt; use std::mem; diff --git a/components/gfx/text/shaping/harfbuzz.rs b/components/gfx/text/shaping/harfbuzz.rs index a2580ac1c43..4334530664c 100644 --- a/components/gfx/text/shaping/harfbuzz.rs +++ b/components/gfx/text/shaping/harfbuzz.rs @@ -4,14 +4,9 @@ extern crate harfbuzz; +use euclid::Point2D; use font::{DISABLE_KERNING_SHAPING_FLAG, Font, FontHandleMethods, FontTableMethods, FontTableTag}; use font::{IGNORE_LIGATURES_SHAPING_FLAG, RTL_FLAG, ShapingOptions}; -use platform::font::FontTable; -use text::glyph::{CharIndex, GlyphStore, GlyphId, GlyphData}; -use text::shaping::ShaperMethods; -use text::util::{float_to_fixed, fixed_to_float, is_bidi_control}; - -use euclid::Point2D; use harfbuzz::{HB_MEMORY_MODE_READONLY, HB_DIRECTION_LTR, HB_DIRECTION_RTL}; use harfbuzz::{RUST_hb_blob_create, RUST_hb_face_create_for_tables}; use harfbuzz::{RUST_hb_buffer_add_utf8}; @@ -39,9 +34,13 @@ use harfbuzz::{hb_glyph_info_t}; use harfbuzz::{hb_glyph_position_t}; use harfbuzz::{hb_position_t, hb_tag_t}; use libc::{c_uint, c_int, c_void, c_char}; +use platform::font::FontTable; use std::char; use std::cmp; use std::ptr; +use text::glyph::{CharIndex, GlyphStore, GlyphId, GlyphData}; +use text::shaping::ShaperMethods; +use text::util::{float_to_fixed, fixed_to_float, is_bidi_control}; use util::geometry::Au; use util::range::Range; diff --git a/components/gfx/text/text_run.rs b/components/gfx/text/text_run.rs index ec1fc7e2744..77ee7a25fa3 100644 --- a/components/gfx/text/text_run.rs +++ b/components/gfx/text/text_run.rs @@ -5,16 +5,14 @@ use font::{Font, FontHandleMethods, FontMetrics, IS_WHITESPACE_SHAPING_FLAG, RunMetrics}; use font::{ShapingOptions}; use platform::font_template::FontTemplateData; +use std::cmp::{Ordering, max}; +use std::slice::Iter; +use std::sync::Arc; use text::glyph::{CharIndex, GlyphStore}; - use util::geometry::Au; use util::range::Range; use util::vec::{Comparator, FullBinarySearchMethods}; -use std::cmp::{Ordering, max}; -use std::slice::Iter; -use std::sync::Arc; - /// A single "paragraph" of text in one font size and style. #[derive(Clone, Deserialize, Serialize)] pub struct TextRun { diff --git a/components/layout/animation.rs b/components/layout/animation.rs index 26c40bade35..dcb860308ef 100644 --- a/components/layout/animation.rs +++ b/components/layout/animation.rs @@ -4,11 +4,10 @@ //! CSS transitions and animations. -use flow::{self, Flow}; -use incremental::{self, RestyleDamage}; - use clock_ticks; +use flow::{self, Flow}; use gfx::display_list::OpaqueNode; +use incremental::{self, RestyleDamage}; use layout_task::{LayoutTask, LayoutTaskData}; use msg::constellation_msg::{AnimationState, Msg, PipelineId}; use script::layout_interface::Animation; diff --git a/components/layout/block.rs b/components/layout/block.rs index af37b5d0938..19bd4fcac3d 100644 --- a/components/layout/block.rs +++ b/components/layout/block.rs @@ -30,6 +30,7 @@ use context::LayoutContext; use display_list_builder::{BlockFlowDisplayListBuilding, BorderPaintingMode}; use display_list_builder::{FragmentDisplayListBuilding}; +use euclid::{Point2D, Rect, Size2D}; use floats::{ClearType, FloatKind, Floats, PlacementInfo}; use flow::{BLOCK_POSITION_IS_STATIC}; use flow::{CLEARS_LEFT, CLEARS_RIGHT}; @@ -43,15 +44,12 @@ use flow::{self, BaseFlow, EarlyAbsolutePositionInfo, ForceNonfloatedFlag, FlowC use flow_ref; use fragment::{CoordinateSystem, Fragment, FragmentBorderBoxIterator, HAS_LAYER}; use fragment::{SpecificFragmentInfo}; +use gfx::display_list::{ClippingRegion, DisplayList}; use incremental::{REFLOW, REFLOW_OUT_OF_FLOW}; use layout_debug; use layout_task::DISPLAY_PORT_SIZE_FACTOR; use model::{IntrinsicISizes, MarginCollapseInfo}; use model::{MaybeAuto, CollapsibleMargins, specified, specified_or_none}; -use wrapper::PseudoElementType; - -use euclid::{Point2D, Rect, Size2D}; -use gfx::display_list::{ClippingRegion, DisplayList}; use msg::compositor_msg::{LayerId, LayerType}; use rustc_serialize::{Encoder, Encodable}; use std::cmp::{max, min}; @@ -65,6 +63,7 @@ use style::values::computed::{LengthOrPercentage, LengthOrPercentageOrAuto}; use util::geometry::{Au, MAX_AU, MAX_RECT}; use util::logical_geometry::{LogicalPoint, LogicalRect, LogicalSize, WritingMode}; use util::opts; +use wrapper::PseudoElementType; /// Information specific to floated blocks. #[derive(Clone, RustcEncodable)] diff --git a/components/layout/construct.rs b/components/layout/construct.rs index d13fd01bb02..28a7ec7c2e1 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -26,24 +26,13 @@ use fragment::{Fragment, GeneratedContentInfo, IframeFragmentInfo}; use fragment::{InlineAbsoluteHypotheticalFragmentInfo, TableColumnFragmentInfo}; use fragment::{InlineBlockFragmentInfo, SpecificFragmentInfo, UnscannedTextFragmentInfo}; use fragment::{WhitespaceStrippingResult}; +use gfx::display_list::OpaqueNode; use incremental::{RECONSTRUCT_FLOW, RestyleDamage}; use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFlow, InlineFragmentNodeFlags}; use inline::{InlineFragmentNodeInfo, LAST_FRAGMENT_OF_ELEMENT}; use list_item::{ListItemFlow, ListStyleTypeContent}; use multicol::MulticolFlow; use parallel; -use table::TableFlow; -use table_caption::TableCaptionFlow; -use table_cell::TableCellFlow; -use table_colgroup::TableColGroupFlow; -use table_row::TableRowFlow; -use table_rowgroup::TableRowGroupFlow; -use table_wrapper::TableWrapperFlow; -use text::TextRunScanner; -use traversal::PostorderNodeMutTraversal; -use wrapper::{PseudoElementType, TextContent, ThreadSafeLayoutNode}; - -use gfx::display_list::OpaqueNode; use script::dom::characterdata::CharacterDataTypeId; use script::dom::element::ElementTypeId; use script::dom::htmlelement::HTMLElementTypeId; @@ -58,9 +47,19 @@ use style::computed_values::content::ContentItem; use style::computed_values::{caption_side, display, empty_cells, float, list_style_position}; use style::computed_values::{position}; use style::properties::{self, ComputedValues}; +use table::TableFlow; +use table_caption::TableCaptionFlow; +use table_cell::TableCellFlow; +use table_colgroup::TableColGroupFlow; +use table_row::TableRowFlow; +use table_rowgroup::TableRowGroupFlow; +use table_wrapper::TableWrapperFlow; +use text::TextRunScanner; +use traversal::PostorderNodeMutTraversal; use url::Url; use util::linked_list; use util::opts; +use wrapper::{PseudoElementType, TextContent, ThreadSafeLayoutNode}; /// The results of flow construction for a DOM node. #[derive(Clone)] diff --git a/components/layout/context.rs b/components/layout/context.rs index 3003c6cf56a..5497fab803c 100644 --- a/components/layout/context.rs +++ b/components/layout/context.rs @@ -6,9 +6,8 @@ #![deny(unsafe_code)] -use css::matching::{ApplicableDeclarationsCache, StyleSharingCandidateCache}; - use canvas_traits::CanvasMsg; +use css::matching::{ApplicableDeclarationsCache, StyleSharingCandidateCache}; use euclid::{Rect, Size2D}; use fnv::FnvHasher; use gfx::display_list::OpaqueNode; diff --git a/components/layout/css/matching.rs b/components/layout/css/matching.rs index ded2d27842b..388a64ea645 100644 --- a/components/layout/css/matching.rs +++ b/components/layout/css/matching.rs @@ -10,9 +10,6 @@ use animation; use context::SharedLayoutContext; use data::LayoutDataWrapper; use incremental::{self, RestyleDamage}; -use smallvec::SmallVec; -use wrapper::{LayoutElement, LayoutNode}; - use script::dom::characterdata::CharacterDataTypeId; use script::dom::node::NodeTypeId; use script::layout_interface::Animation; @@ -21,6 +18,7 @@ use selectors::matching::{CommonStyleAffectingAttributeMode, CommonStyleAffectin use selectors::matching::{common_style_affecting_attributes, rare_style_affecting_attributes}; use selectors::parser::PseudoElement; use selectors::{Element}; +use smallvec::SmallVec; use std::borrow::ToOwned; use std::hash::{Hash, Hasher}; use std::slice::Iter; @@ -34,6 +32,7 @@ use util::arc_ptr_eq; use util::cache::{LRUCache, SimpleHashCache}; use util::opts; use util::vec::ForgetfulSink; +use wrapper::{LayoutElement, LayoutNode}; pub struct ApplicableDeclarations { pub normal: SmallVec<[DeclarationBlock; 16]>, diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index 31cf9d5d231..4b5f0e8052b 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -12,20 +12,15 @@ use azure::azure_hl::Color; use block::BlockFlow; +use canvas_traits::{CanvasMsg, FromLayoutMsg}; use context::LayoutContext; +use euclid::Matrix4; +use euclid::{Point2D, Point3D, Rect, Size2D, SideOffsets2D}; use flex::FlexFlow; use flow::{self, BaseFlow, Flow, IS_ABSOLUTELY_POSITIONED}; use flow_ref; use fragment::{CoordinateSystem, Fragment, HAS_LAYER, IframeFragmentInfo, ImageFragmentInfo}; use fragment::{ScannedTextFragmentInfo, SpecificFragmentInfo}; -use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFlow, LAST_FRAGMENT_OF_ELEMENT}; -use list_item::ListItemFlow; -use model::{self, MaybeAuto, ToGfxMatrix}; -use table_cell::CollapsedBordersForCell; - -use canvas_traits::{CanvasMsg, FromLayoutMsg}; -use euclid::Matrix4; -use euclid::{Point2D, Point3D, Rect, Size2D, SideOffsets2D}; use gfx::display_list::{BLUR_INFLATION_FACTOR, BaseDisplayItem, BorderDisplayItem}; use gfx::display_list::{BorderRadii, BoxShadowClipMode, BoxShadowDisplayItem, ClippingRegion}; use gfx::display_list::{DisplayItem, DisplayList, DisplayItemMetadata}; @@ -36,7 +31,10 @@ use gfx::display_list::{StackingContext, TextDisplayItem, TextOrientation}; use gfx::paint_task::THREAD_TINT_COLORS; use gfx::text::glyph::CharIndex; use gfx_traits::color; +use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFlow, LAST_FRAGMENT_OF_ELEMENT}; use ipc_channel::ipc::{self, IpcSharedMemory}; +use list_item::ListItemFlow; +use model::{self, MaybeAuto, ToGfxMatrix}; use msg::compositor_msg::{ScrollPolicy, LayerId}; use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::Msg as ConstellationMsg; @@ -59,6 +57,7 @@ use style::values::computed; use style::values::computed::LinearGradient; use style::values::computed::{LengthOrNone, LengthOrPercentage, LengthOrPercentageOrAuto}; use style::values::specified::{AngleOrCorner, HorizontalDirection, VerticalDirection}; +use table_cell::CollapsedBordersForCell; use url::Url; use util::cursor::Cursor; use util::geometry::{AU_PER_PX, Au, ZERO_POINT}; diff --git a/components/layout/flex.rs b/components/layout/flex.rs index d9a9b5d9ff9..a5b55e37833 100644 --- a/components/layout/flex.rs +++ b/components/layout/flex.rs @@ -9,6 +9,7 @@ use block::BlockFlow; use context::LayoutContext; use display_list_builder::FlexFlowDisplayListBuilding; +use euclid::{Point2D, Rect}; use floats::FloatKind; use flow; use flow::INLINE_POSITION_IS_STATIC; @@ -18,19 +19,17 @@ use flow::mut_base; use flow::{Flow, FlowClass, OpaqueFlow}; use flow::{HAS_LEFT_FLOATED_DESCENDANTS, HAS_RIGHT_FLOATED_DESCENDANTS}; use fragment::{Fragment, FragmentBorderBoxIterator}; +use gfx::display_list::DisplayList; use incremental::{REFLOW, REFLOW_OUT_OF_FLOW}; use layout_debug; -use model::{IntrinsicISizes}; -use style::computed_values::{flex_direction, float}; -use style::properties::style_structs; -use style::values::computed::LengthOrPercentageOrAuto; - -use euclid::{Point2D, Rect}; -use gfx::display_list::DisplayList; use model::MaybeAuto; +use model::{IntrinsicISizes}; use std::cmp::max; use std::sync::Arc; +use style::computed_values::{flex_direction, float}; use style::properties::ComputedValues; +use style::properties::style_structs; +use style::values::computed::LengthOrPercentageOrAuto; use util::geometry::Au; use util::logical_geometry::LogicalSize; use util::opts; diff --git a/components/layout/flow.rs b/components/layout/flow.rs index 578a95fb05c..3c14fab304c 100644 --- a/components/layout/flow.rs +++ b/components/layout/flow.rs @@ -28,28 +28,19 @@ use block::BlockFlow; use context::LayoutContext; use display_list_builder::DisplayListBuildingResult; +use euclid::{Point2D, Rect, Size2D}; use floats::Floats; use flow_list::{FlowList, FlowListIterator, MutFlowListIterator}; use flow_ref::{self, FlowRef, WeakFlowRef}; use fragment::{Fragment, FragmentBorderBoxIterator, SpecificFragmentInfo}; +use gfx::display_list::ClippingRegion; use incremental::{self, RECONSTRUCT_FLOW, REFLOW, REFLOW_OUT_OF_FLOW, RestyleDamage}; use inline::InlineFlow; use model::{CollapsibleMargins, IntrinsicISizes, MarginCollapseInfo}; -use multicol::MulticolFlow; -use parallel::FlowParallelInfo; -use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize, TableFlow}; -use table_caption::TableCaptionFlow; -use table_cell::TableCellFlow; -use table_colgroup::TableColGroupFlow; -use table_row::TableRowFlow; -use table_rowgroup::TableRowGroupFlow; -use table_wrapper::TableWrapperFlow; -use wrapper::{PseudoElementType, ThreadSafeLayoutNode}; - -use euclid::{Point2D, Rect, Size2D}; -use gfx::display_list::ClippingRegion; use msg::compositor_msg::{LayerId, LayerType}; use msg::constellation_msg::ConstellationChan; +use multicol::MulticolFlow; +use parallel::FlowParallelInfo; use rustc_serialize::{Encoder, Encodable}; use std::fmt; use std::iter::Zip; @@ -61,8 +52,16 @@ use std::sync::atomic::Ordering; use style::computed_values::{clear, display, empty_cells, float, position, text_align}; use style::properties::{self, ComputedValues}; use style::values::computed::LengthOrPercentageOrAuto; +use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize, TableFlow}; +use table_caption::TableCaptionFlow; +use table_cell::TableCellFlow; +use table_colgroup::TableColGroupFlow; +use table_row::TableRowFlow; +use table_rowgroup::TableRowGroupFlow; +use table_wrapper::TableWrapperFlow; use util::geometry::{Au, ZERO_RECT}; use util::logical_geometry::{LogicalRect, LogicalSize, WritingMode}; +use wrapper::{PseudoElementType, ThreadSafeLayoutNode}; /// Virtual methods that make up a float context. /// diff --git a/components/layout/flow_list.rs b/components/layout/flow_list.rs index af54dddee9d..8f16fc0fa3d 100644 --- a/components/layout/flow_list.rs +++ b/components/layout/flow_list.rs @@ -4,7 +4,6 @@ use flow::Flow; use flow_ref::{self, FlowRef}; - use std::collections::{linked_list, LinkedList}; // This needs to be reworked now that we have dynamically-sized types in Rust. diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index f73e6013c57..f4a95e64108 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -8,24 +8,21 @@ use canvas_traits::CanvasMsg; use context::LayoutContext; +use euclid::{Point2D, Rect, Size2D}; use floats::ClearType; use flow; use flow::Flow; use flow_ref::{self, FlowRef}; -use incremental::{self, RestyleDamage}; -use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFragmentContext, InlineFragmentNodeInfo}; -use inline::{InlineMetrics, LAST_FRAGMENT_OF_ELEMENT}; -use layout_debug; -use model::{self, IntrinsicISizes, IntrinsicISizesContribution, MaybeAuto, specified}; -use text; -use wrapper::{PseudoElementType, ThreadSafeLayoutNode}; - -use euclid::{Point2D, Rect, Size2D}; use gfx; use gfx::display_list::{BLUR_INFLATION_FACTOR, OpaqueNode}; use gfx::text::glyph::CharIndex; use gfx::text::text_run::{TextRun, TextRunSlice}; +use incremental::{self, RestyleDamage}; +use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFragmentContext, InlineFragmentNodeInfo}; +use inline::{InlineMetrics, LAST_FRAGMENT_OF_ELEMENT}; use ipc_channel::ipc::IpcSender; +use layout_debug; +use model::{self, IntrinsicISizes, IntrinsicISizesContribution, MaybeAuto, specified}; use msg::constellation_msg::{ConstellationChan, Msg, PipelineId, SubpageId}; use net_traits::image::base::Image; use net_traits::image_cache_task::UsePlaceholder; @@ -43,6 +40,7 @@ use style::computed_values::{word_break, z_index}; use style::properties::ComputedValues; use style::values::computed::{LengthOrPercentage, LengthOrPercentageOrAuto}; use style::values::computed::{LengthOrPercentageOrNone}; +use text; use text::TextRunScanner; use url::Url; use util; @@ -50,6 +48,7 @@ use util::geometry::{Au, ZERO_POINT}; use util::logical_geometry::{LogicalRect, LogicalSize, LogicalMargin, WritingMode}; use util::range::*; use util::str::{is_whitespace, slice_chars}; +use wrapper::{PseudoElementType, ThreadSafeLayoutNode}; /// Fragments (`struct Fragment`) are the leaves of the layout tree. They cannot position /// themselves. In general, fragments do not have a simple correspondence with CSS fragments in the diff --git a/components/layout/generated_content.rs b/components/layout/generated_content.rs index 2e823d3bc1d..5a907bb6ac7 100644 --- a/components/layout/generated_content.rs +++ b/components/layout/generated_content.rs @@ -12,17 +12,16 @@ use context::LayoutContext; use flow::{InorderFlowTraversal}; use flow::{self, AFFECTS_COUNTERS, Flow, HAS_COUNTER_AFFECTING_CHILDREN, ImmutableFlowUtils}; use fragment::{Fragment, GeneratedContentInfo, SpecificFragmentInfo, UnscannedTextFragmentInfo}; +use gfx::display_list::OpaqueNode; use incremental::{self, RESOLVE_GENERATED_CONTENT}; use smallvec::SmallVec; -use text::TextRunScanner; -use wrapper::PseudoElementType; - -use gfx::display_list::OpaqueNode; use std::collections::{LinkedList, HashMap}; use std::sync::Arc; use style::computed_values::content::ContentItem; use style::computed_values::{display, list_style_type}; use style::properties::ComputedValues; +use text::TextRunScanner; +use wrapper::PseudoElementType; // Decimal styles per CSS-COUNTER-STYLES § 6.1: static DECIMAL: [char; 10] = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ]; diff --git a/components/layout/incremental.rs b/components/layout/incremental.rs index adabc4bb471..6f60e9a2ab8 100644 --- a/components/layout/incremental.rs +++ b/components/layout/incremental.rs @@ -3,7 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use flow::{self, AFFECTS_COUNTERS, Flow, HAS_COUNTER_AFFECTING_CHILDREN, IS_ABSOLUTELY_POSITIONED}; - use std::fmt; use std::sync::Arc; use style::computed_values::float; diff --git a/components/layout/inline.rs b/components/layout/inline.rs index 00043037f9d..b91cfd790bc 100644 --- a/components/layout/inline.rs +++ b/components/layout/inline.rs @@ -7,21 +7,18 @@ use block::{AbsoluteAssignBSizesTraversal, AbsoluteStoreOverflowTraversal}; use context::LayoutContext; use display_list_builder::{FragmentDisplayListBuilding, InlineFlowDisplayListBuilding}; +use euclid::{Point2D, Rect, Size2D}; use floats::{FloatKind, Floats, PlacementInfo}; use flow::{MutableFlowUtils, EarlyAbsolutePositionInfo, OpaqueFlow}; use flow::{self, BaseFlow, FlowClass, Flow, ForceNonfloatedFlag, IS_ABSOLUTELY_POSITIONED}; use flow_ref; use fragment::{CoordinateSystem, Fragment, FragmentBorderBoxIterator, SpecificFragmentInfo}; -use incremental::{REFLOW, REFLOW_OUT_OF_FLOW, RESOLVE_GENERATED_CONTENT}; -use layout_debug; -use model::IntrinsicISizesContribution; -use text; -use wrapper::PseudoElementType; - -use euclid::{Point2D, Rect, Size2D}; use gfx::display_list::OpaqueNode; use gfx::font::FontMetrics; use gfx::font_context::FontContext; +use incremental::{REFLOW, REFLOW_OUT_OF_FLOW, RESOLVE_GENERATED_CONTENT}; +use layout_debug; +use model::IntrinsicISizesContribution; use std::cmp::max; use std::collections::VecDeque; use std::fmt; @@ -31,11 +28,13 @@ use std::sync::Arc; use style::computed_values::{display, overflow_x, position, text_align, text_justify}; use style::computed_values::{text_overflow, vertical_align, white_space}; use style::properties::ComputedValues; +use text; use unicode_bidi; use util; use util::geometry::{Au, MAX_AU, ZERO_RECT}; use util::logical_geometry::{LogicalRect, LogicalSize, WritingMode}; use util::range::{Range, RangeIndex}; +use wrapper::PseudoElementType; // From gfxFontConstants.h in Firefox static FONT_SUBSCRIPT_OFFSET_RATIO: f32 = 0.20; diff --git a/components/layout/layout_debug.rs b/components/layout/layout_debug.rs index 93e68f7fbe0..24d20442457 100644 --- a/components/layout/layout_debug.rs +++ b/components/layout/layout_debug.rs @@ -10,7 +10,6 @@ use flow; use flow_ref::FlowRef; use rustc_serialize::json; - use std::borrow::ToOwned; use std::cell::RefCell; use std::fs::File; diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs index 25bbb4bf487..2bf311647c0 100644 --- a/components/layout/layout_task.rs +++ b/components/layout/layout_task.rs @@ -8,26 +8,13 @@ #![allow(unsafe_code)] use animation; +use azure::azure::AzColor; +use canvas_traits::CanvasMsg; use construct::ConstructionResult; use context::{SharedLayoutContext, heap_size_of_local_context}; use cssparser::ToCss; use data::LayoutDataWrapper; use display_list_builder::ToGfxColor; -use flow::{self, Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUtils}; -use flow_ref::{self, FlowRef}; -use fragment::{Fragment, FragmentBorderBoxIterator, SpecificFragmentInfo}; -use incremental::{LayoutDamageComputation, REFLOW, REFLOW_ENTIRE_DOCUMENT, REPAINT}; -use layout_debug; -use opaque_node::OpaqueNodeMethods; -use parallel::{self, WorkQueueData}; -use query::{LayoutRPCImpl, process_content_box_request, process_content_boxes_request}; -use query::{MarginPadding, MarginRetrievingFragmentBorderBoxIterator, PositionProperty}; -use query::{PositionRetrievingFragmentBorderBoxIterator, Side}; -use sequential; -use wrapper::LayoutNode; - -use azure::azure::AzColor; -use canvas_traits::CanvasMsg; use encoding::EncodingRef; use encoding::all::UTF_8; use euclid::Matrix4; @@ -35,14 +22,19 @@ use euclid::point::Point2D; use euclid::rect::Rect; use euclid::scale_factor::ScaleFactor; use euclid::size::Size2D; +use flow::{self, Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUtils}; +use flow_ref::{self, FlowRef}; use fnv::FnvHasher; +use fragment::{Fragment, FragmentBorderBoxIterator, SpecificFragmentInfo}; use gfx::display_list::StackingContext; use gfx::display_list::{ClippingRegion, DisplayList, OpaqueNode}; use gfx::font_cache_task::FontCacheTask; use gfx::paint_task::{LayoutToPaintMsg, PaintLayer}; use gfx_traits::color; +use incremental::{LayoutDamageComputation, REFLOW, REFLOW_ENTIRE_DOCUMENT, REPAINT}; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use ipc_channel::router::ROUTER; +use layout_debug; use layout_traits::LayoutTaskFactory; use log; use msg::compositor_msg::{Epoch, ScrollPolicy, LayerId}; @@ -50,9 +42,14 @@ use msg::constellation_msg::Msg as ConstellationMsg; use msg::constellation_msg::{ConstellationChan, Failure, PipelineExitType, PipelineId}; use net_traits::image_cache_task::{ImageCacheTask, ImageCacheResult, ImageCacheChan}; use net_traits::{load_bytes_iter, PendingAsyncLoad}; +use opaque_node::OpaqueNodeMethods; +use parallel::{self, WorkQueueData}; use profile_traits::mem::{self, Report, ReportKind, ReportsChan}; use profile_traits::time::{TimerMetadataFrameType, TimerMetadataReflowType}; use profile_traits::time::{self, ProfilerMetadata, profile}; +use query::{LayoutRPCImpl, process_content_box_request, process_content_boxes_request}; +use query::{MarginPadding, MarginRetrievingFragmentBorderBoxIterator, PositionProperty}; +use query::{PositionRetrievingFragmentBorderBoxIterator, Side}; use script::dom::bindings::js::LayoutJS; use script::dom::node::{LayoutData, Node}; use script::layout_interface::Animation; @@ -62,6 +59,7 @@ use script::layout_interface::{ScriptLayoutChan, ScriptReflow, TrustedNodeAddres use script_traits::StylesheetLoadResponder; use script_traits::{ConstellationControlMsg, LayoutControlMsg, OpaqueScriptLayoutChannel}; use selectors::parser::PseudoElement; +use sequential; use serde_json; use std::borrow::ToOwned; use std::cell::Cell; @@ -87,6 +85,7 @@ use util::opts; use util::task::spawn_named_with_send_on_failure; use util::task_state; use util::workqueue::WorkQueue; +use wrapper::LayoutNode; use wrapper::ThreadSafeLayoutNode; /// The number of screens of data we're allowed to generate display lists for in each direction. diff --git a/components/layout/list_item.rs b/components/layout/list_item.rs index d120016dce7..630453e0b09 100644 --- a/components/layout/list_item.rs +++ b/components/layout/list_item.rs @@ -10,19 +10,18 @@ use block::BlockFlow; use context::LayoutContext; use display_list_builder::ListItemFlowDisplayListBuilding; +use euclid::{Point2D, Rect}; use floats::FloatKind; use flow::{Flow, FlowClass, OpaqueFlow}; use fragment::{CoordinateSystem, Fragment, FragmentBorderBoxIterator, GeneratedContentInfo}; use generated_content; +use gfx::display_list::DisplayList; use incremental::RESOLVE_GENERATED_CONTENT; use inline::InlineMetrics; -use text; - -use euclid::{Point2D, Rect}; -use gfx::display_list::DisplayList; use std::sync::Arc; use style::computed_values::{list_style_type, position}; use style::properties::ComputedValues; +use text; use util::geometry::Au; use util::logical_geometry::LogicalSize; use util::opts; diff --git a/components/layout/model.rs b/components/layout/model.rs index ebdc32aa497..3be66aec4fc 100644 --- a/components/layout/model.rs +++ b/components/layout/model.rs @@ -6,9 +6,8 @@ #![deny(unsafe_code)] -use fragment::Fragment; - use euclid::{Matrix4, SideOffsets2D, Size2D}; +use fragment::Fragment; use std::cmp::{max, min}; use std::fmt; use style::computed_values::transform::ComputedMatrix; diff --git a/components/layout/multicol.rs b/components/layout/multicol.rs index 6de9e051b44..5198dbdf0fe 100644 --- a/components/layout/multicol.rs +++ b/components/layout/multicol.rs @@ -8,11 +8,10 @@ use block::BlockFlow; use context::LayoutContext; +use euclid::{Point2D, Rect}; use floats::FloatKind; use flow::{FlowClass, Flow, OpaqueFlow}; use fragment::{Fragment, FragmentBorderBoxIterator}; - -use euclid::{Point2D, Rect}; use std::fmt; use std::sync::Arc; use style::properties::ComputedValues; diff --git a/components/layout/parallel.rs b/components/layout/parallel.rs index 576e9ae9f21..8b63159bec8 100644 --- a/components/layout/parallel.rs +++ b/components/layout/parallel.rs @@ -12,19 +12,18 @@ use context::{LayoutContext, SharedLayoutContext}; use flow; use flow::{Flow, MutableFlowUtils, PreorderFlowTraversal, PostorderFlowTraversal}; use flow_ref::{self, FlowRef}; +use profile_traits::time::{self, ProfilerMetadata, profile}; +use std::mem; +use std::sync::atomic::{AtomicIsize, Ordering}; use traversal::PostorderNodeMutTraversal; use traversal::{BubbleISizes, AssignISizes, AssignBSizesAndStoreOverflow}; use traversal::{ComputeAbsolutePositions, BuildDisplayList}; use traversal::{PreorderDomTraversal, PostorderDomTraversal}; use traversal::{RecalcStyleForNode, ConstructFlows}; -use wrapper::UnsafeLayoutNode; -use wrapper::{layout_node_to_unsafe_layout_node, layout_node_from_unsafe_layout_node, LayoutNode}; - -use profile_traits::time::{self, ProfilerMetadata, profile}; -use std::mem; -use std::sync::atomic::{AtomicIsize, Ordering}; use util::opts; use util::workqueue::{WorkQueue, WorkUnit, WorkerProxy}; +use wrapper::UnsafeLayoutNode; +use wrapper::{layout_node_to_unsafe_layout_node, layout_node_from_unsafe_layout_node, LayoutNode}; const CHUNK_SIZE: usize = 64; diff --git a/components/layout/query.rs b/components/layout/query.rs index 80ea4c534ca..1f1eb3e6a3b 100644 --- a/components/layout/query.rs +++ b/components/layout/query.rs @@ -4,13 +4,12 @@ //! Utilities for querying the layout, as needed by the layout task. -use layout_task::{LayoutTaskData, RWGuard}; - use euclid::point::Point2D; use euclid::rect::Rect; use flow_ref::FlowRef; use fragment::{Fragment, FragmentBorderBoxIterator}; use gfx::display_list::{DisplayItemMetadata, OpaqueNode}; +use layout_task::{LayoutTaskData, RWGuard}; use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::Msg as ConstellationMsg; use opaque_node::OpaqueNodeMethods; @@ -18,7 +17,6 @@ use script::layout_interface::{ContentBoxResponse, ContentBoxesResponse, NodeGeo use script::layout_interface::{HitTestResponse, LayoutRPC, MouseOverResponse, OffsetParentResponse}; use script::layout_interface::{ResolvedStyleResponse, ScriptLayoutChan, TrustedNodeAddress}; use sequential; - use std::sync::{Arc, Mutex}; use util::cursor::Cursor; use util::geometry::Au; diff --git a/components/layout/sequential.rs b/components/layout/sequential.rs index e1ceeb2714e..7cb3f28a89d 100644 --- a/components/layout/sequential.rs +++ b/components/layout/sequential.rs @@ -5,6 +5,7 @@ //! Implements sequential traversals over the DOM and flow trees. use context::{LayoutContext, SharedLayoutContext}; +use euclid::point::Point2D; use flow::{PostorderFlowTraversal, PreorderFlowTraversal}; use flow::{self, Flow, ImmutableFlowUtils, InorderFlowTraversal, MutableFlowUtils}; use flow_ref::{self, FlowRef}; @@ -15,11 +16,9 @@ use traversal::{AssignBSizesAndStoreOverflow, AssignISizes}; use traversal::{BubbleISizes, RecalcStyleForNode, ConstructFlows}; use traversal::{ComputeAbsolutePositions, BuildDisplayList}; use traversal::{PreorderDomTraversal, PostorderDomTraversal}; -use wrapper::LayoutNode; - -use euclid::point::Point2D; use util::geometry::{Au, ZERO_POINT}; use util::opts; +use wrapper::LayoutNode; pub fn traverse_dom_preorder(root: LayoutNode, shared_layout_context: &SharedLayoutContext) { diff --git a/components/layout/table.rs b/components/layout/table.rs index b214e6d3ddc..eabe20f335f 100644 --- a/components/layout/table.rs +++ b/components/layout/table.rs @@ -10,18 +10,14 @@ use block::{ISizeConstraintInput, ISizeConstraintSolution}; use block::{self, BlockFlow, CandidateBSizeIterator, ISizeAndMarginsComputer}; use context::LayoutContext; use display_list_builder::{BlockFlowDisplayListBuilding, BorderPaintingMode}; +use euclid::{Point2D, Rect}; use flow::{IMPACTED_BY_RIGHT_FLOATS, ImmutableFlowUtils, MutableFlowUtils, OpaqueFlow}; use flow::{self, EarlyAbsolutePositionInfo, Flow, FlowClass, IMPACTED_BY_LEFT_FLOATS}; use fragment::{Fragment, FragmentBorderBoxIterator}; +use gfx::display_list::DisplayList; use incremental::{REFLOW, REFLOW_OUT_OF_FLOW}; use layout_debug; use model::{IntrinsicISizes, IntrinsicISizesContribution, MaybeAuto}; -use table_row::{TableRowFlow}; -use table_row::{self, CellIntrinsicInlineSize, CollapsedBorder, CollapsedBorderProvenance}; -use table_wrapper::TableLayout; - -use euclid::{Point2D, Rect}; -use gfx::display_list::DisplayList; use std::cmp; use std::fmt; use std::sync::Arc; @@ -29,6 +25,9 @@ use style::computed_values::{border_collapse, border_spacing, table_layout}; use style::properties::ComputedValues; use style::values::CSSFloat; use style::values::computed::LengthOrPercentageOrAuto; +use table_row::{TableRowFlow}; +use table_row::{self, CellIntrinsicInlineSize, CollapsedBorder, CollapsedBorderProvenance}; +use table_wrapper::TableLayout; use util::geometry::Au; use util::logical_geometry::LogicalSize; diff --git a/components/layout/table_caption.rs b/components/layout/table_caption.rs index afce73b44c5..646a4498568 100644 --- a/components/layout/table_caption.rs +++ b/components/layout/table_caption.rs @@ -8,10 +8,9 @@ use block::BlockFlow; use context::LayoutContext; +use euclid::{Point2D, Rect}; use flow::{FlowClass, Flow, OpaqueFlow}; use fragment::{Fragment, FragmentBorderBoxIterator}; - -use euclid::{Point2D, Rect}; use std::fmt; use std::sync::Arc; use style::properties::ComputedValues; diff --git a/components/layout/table_cell.rs b/components/layout/table_cell.rs index f0f1495d8bb..1cdd22bada1 100644 --- a/components/layout/table_cell.rs +++ b/components/layout/table_cell.rs @@ -8,25 +8,24 @@ use block::{BlockFlow, ISizeAndMarginsComputer, MarginsMayCollapseFlag}; use context::LayoutContext; +use cssparser::Color; use display_list_builder::{BlockFlowDisplayListBuilding, BorderPaintingMode}; +use euclid::{Point2D, Rect, SideOffsets2D, Size2D}; use flow::{Flow, FlowClass, OpaqueFlow}; use fragment::{Fragment, FragmentBorderBoxIterator}; +use gfx::display_list::DisplayList; use layout_debug; use model::MaybeAuto; -use table::InternalTable; -use table_row::{CollapsedBorder, CollapsedBorderProvenance}; -use wrapper::ThreadSafeLayoutNode; - -use cssparser::Color; -use euclid::{Point2D, Rect, SideOffsets2D, Size2D}; -use gfx::display_list::DisplayList; use std::fmt; use std::sync::Arc; use style::computed_values::{border_collapse, border_top_style}; use style::legacy::UnsignedIntegerAttribute; use style::properties::ComputedValues; +use table::InternalTable; +use table_row::{CollapsedBorder, CollapsedBorderProvenance}; use util::geometry::Au; use util::logical_geometry::{LogicalMargin, LogicalRect, LogicalSize, WritingMode}; +use wrapper::ThreadSafeLayoutNode; /// A table formatting context. #[derive(RustcEncodable)] diff --git a/components/layout/table_colgroup.rs b/components/layout/table_colgroup.rs index f62083cc649..987ee717417 100644 --- a/components/layout/table_colgroup.rs +++ b/components/layout/table_colgroup.rs @@ -7,11 +7,10 @@ #![deny(unsafe_code)] use context::LayoutContext; +use euclid::{Point2D, Rect}; use flow::{BaseFlow, FlowClass, Flow, ForceNonfloatedFlag, OpaqueFlow}; use fragment::{Fragment, FragmentBorderBoxIterator, SpecificFragmentInfo}; use layout_debug; - -use euclid::{Point2D, Rect}; use std::cmp::max; use std::fmt; use std::sync::Arc; diff --git a/components/layout/table_row.rs b/components/layout/table_row.rs index 5a4d10b47d7..4824d89aea6 100644 --- a/components/layout/table_row.rs +++ b/components/layout/table_row.rs @@ -8,18 +8,15 @@ use block::{BlockFlow, ISizeAndMarginsComputer}; use context::LayoutContext; +use cssparser::{Color, RGBA}; use display_list_builder::{BlockFlowDisplayListBuilding, BorderPaintingMode}; +use euclid::{Point2D, Rect}; use flow::{self, EarlyAbsolutePositionInfo, FlowClass, Flow, ImmutableFlowUtils, OpaqueFlow}; use flow_list::MutFlowListIterator; use fragment::{Fragment, FragmentBorderBoxIterator}; +use gfx::display_list::DisplayList; use layout_debug; use model::MaybeAuto; -use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize, InternalTable, VecExt}; -use table_cell::{CollapsedBordersForCell, TableCellFlow}; - -use cssparser::{Color, RGBA}; -use euclid::{Point2D, Rect}; -use gfx::display_list::DisplayList; use rustc_serialize::{Encoder, Encodable}; use std::cmp::max; use std::fmt; @@ -28,6 +25,8 @@ use std::sync::Arc; use style::computed_values::{border_collapse, border_spacing, border_top_style}; use style::properties::ComputedValues; use style::values::computed::LengthOrPercentageOrAuto; +use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize, InternalTable, VecExt}; +use table_cell::{CollapsedBordersForCell, TableCellFlow}; use util::geometry::Au; use util::logical_geometry::{LogicalSize, PhysicalSide, WritingMode}; diff --git a/components/layout/table_rowgroup.rs b/components/layout/table_rowgroup.rs index 9c91ea1f3bb..29497e28ad6 100644 --- a/components/layout/table_rowgroup.rs +++ b/components/layout/table_rowgroup.rs @@ -8,19 +8,18 @@ use block::{BlockFlow, ISizeAndMarginsComputer}; use context::LayoutContext; +use euclid::{Point2D, Rect}; use flow::{FlowClass, Flow, OpaqueFlow}; use fragment::{Fragment, FragmentBorderBoxIterator}; use layout_debug; -use style::computed_values::{border_collapse, border_spacing}; -use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize, InternalTable, TableLikeFlow}; -use table_row::{self, CollapsedBordersForRow}; - -use euclid::{Point2D, Rect}; use rustc_serialize::{Encoder, Encodable}; use std::fmt; use std::iter::{IntoIterator, Iterator, Peekable}; use std::sync::Arc; +use style::computed_values::{border_collapse, border_spacing}; use style::properties::ComputedValues; +use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize, InternalTable, TableLikeFlow}; +use table_row::{self, CollapsedBordersForRow}; use util::geometry::Au; use util::logical_geometry::{LogicalSize, WritingMode}; diff --git a/components/layout/table_wrapper.rs b/components/layout/table_wrapper.rs index 9ed64e8ec6a..a3c08a07e1a 100644 --- a/components/layout/table_wrapper.rs +++ b/components/layout/table_wrapper.rs @@ -16,15 +16,12 @@ use block::{BlockFlow, FloatNonReplaced, AbsoluteNonReplaced, ISizeAndMarginsComputer, ISizeConstraintInput}; use block::{ISizeConstraintSolution, MarginsMayCollapseFlag}; use context::LayoutContext; +use euclid::{Point2D, Rect}; use floats::FloatKind; use flow::{FlowClass, Flow, ImmutableFlowUtils}; use flow::{IMPACTED_BY_LEFT_FLOATS, IMPACTED_BY_RIGHT_FLOATS, INLINE_POSITION_IS_STATIC, OpaqueFlow}; use fragment::{Fragment, FragmentBorderBoxIterator}; use model::MaybeAuto; -use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize}; -use table_row; - -use euclid::{Point2D, Rect}; use std::cmp::{max, min}; use std::fmt; use std::ops::Add; @@ -33,6 +30,8 @@ use style::computed_values::{border_collapse, table_layout}; use style::properties::ComputedValues; use style::values::CSSFloat; use style::values::computed::LengthOrPercentageOrAuto; +use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize}; +use table_row; use util::geometry::Au; use util::logical_geometry::LogicalSize; diff --git a/components/layout/text.rs b/components/layout/text.rs index 4657dc86e23..e90a1d639df 100644 --- a/components/layout/text.rs +++ b/components/layout/text.rs @@ -7,14 +7,13 @@ #![deny(unsafe_code)] use fragment::{Fragment, SpecificFragmentInfo, ScannedTextFragmentInfo, UnscannedTextFragmentInfo}; -use inline::InlineFragments; - use gfx::font::{DISABLE_KERNING_SHAPING_FLAG, FontMetrics, IGNORE_LIGATURES_SHAPING_FLAG}; use gfx::font::{RTL_FLAG, RunMetrics, ShapingFlags, ShapingOptions}; use gfx::font_context::FontContext; use gfx::text::glyph::CharIndex; use gfx::text::text_run::TextRun; use gfx::text::util::{self, CompressionMode}; +use inline::InlineFragments; use std::borrow::ToOwned; use std::collections::LinkedList; use std::mem; diff --git a/components/layout/traversal.rs b/components/layout/traversal.rs index ed8ae6ab76a..33cd978ae37 100644 --- a/components/layout/traversal.rs +++ b/components/layout/traversal.rs @@ -11,15 +11,13 @@ use flow::{MutableFlowUtils, PreorderFlowTraversal, PostorderFlowTraversal}; use flow::{self, Flow}; use incremental::{self, BUBBLE_ISIZES, REFLOW, REFLOW_OUT_OF_FLOW, RestyleDamage}; use script::layout_interface::ReflowGoal; -use wrapper::{ThreadSafeLayoutNode, UnsafeLayoutNode}; -use wrapper::{layout_node_to_unsafe_layout_node, LayoutNode}; - use selectors::bloom::BloomFilter; -use util::opts; -use util::tid::tid; - use std::cell::RefCell; use std::mem; +use util::opts; +use util::tid::tid; +use wrapper::{ThreadSafeLayoutNode, UnsafeLayoutNode}; +use wrapper::{layout_node_to_unsafe_layout_node, LayoutNode}; /// Every time we do another layout, the old bloom filters are invalid. This is /// detected by ticking a generation number every layout. diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 8dfa9907770..0cfe3dd9399 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -33,13 +33,12 @@ use canvas_traits::CanvasMsg; use context::SharedLayoutContext; use data::{LayoutDataFlags, LayoutDataWrapper, PrivateLayoutData}; -use incremental::RestyleDamage; -use opaque_node::OpaqueNodeMethods; - use gfx::display_list::OpaqueNode; use gfx::text::glyph::CharIndex; +use incremental::RestyleDamage; use ipc_channel::ipc::IpcSender; use msg::constellation_msg::{PipelineId, SubpageId}; +use opaque_node::OpaqueNodeMethods; use script::dom::attr::AttrValue; use script::dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementCast}; use script::dom::bindings::codegen::InheritTypes::{HTMLIFrameElementCast, HTMLCanvasElementCast}; diff --git a/components/msg/compositor_msg.rs b/components/msg/compositor_msg.rs index d71291eae7c..3ac57165c34 100644 --- a/components/msg/compositor_msg.rs +++ b/components/msg/compositor_msg.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use azure::azure_hl::Color; +use constellation_msg::PipelineId; use constellation_msg::{Key, KeyState, KeyModifiers}; use euclid::Matrix4; use euclid::{Size2D, Point2D, Rect}; @@ -12,8 +13,6 @@ use layers::platform::surface::NativeDisplay; use std::fmt; use std::fmt::{Formatter, Debug}; -use constellation_msg::PipelineId; - /// A newtype struct for denoting the age of messages; prevents race conditions. #[derive(PartialEq, Eq, Debug, Copy, Clone, PartialOrd, Ord, Deserialize, Serialize)] pub struct Epoch(pub u32); diff --git a/components/msg/webdriver_msg.rs b/components/msg/webdriver_msg.rs index dd90a3492d9..db0fccac228 100644 --- a/components/msg/webdriver_msg.rs +++ b/components/msg/webdriver_msg.rs @@ -3,7 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use constellation_msg::{PipelineId, SubpageId}; - use ipc_channel::ipc::IpcSender; use rustc_serialize::json::{Json, ToJson}; use url::Url; diff --git a/components/net/about_loader.rs b/components/net/about_loader.rs index 105162f29d0..a27950f97b0 100644 --- a/components/net/about_loader.rs +++ b/components/net/about_loader.rs @@ -3,19 +3,17 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use file_loader; +use hyper::header::ContentType; +use hyper::http::RawStatus; +use hyper::mime::{Mime, TopLevel, SubLevel}; use mime_classifier::MIMEClassifier; use net_traits::ProgressMsg::Done; use net_traits::{LoadData, Metadata, LoadConsumer}; use resource_task::start_sending; - -use hyper::header::ContentType; -use hyper::http::RawStatus; -use hyper::mime::{Mime, TopLevel, SubLevel}; -use url::Url; -use util::resource_files::resources_dir_path; - use std::fs::PathExt; use std::sync::Arc; +use url::Url; +use util::resource_files::resources_dir_path; pub fn factory(mut load_data: LoadData, start_chan: LoadConsumer, classifier: Arc<MIMEClassifier>) { match load_data.url.non_relative_scheme_data().unwrap() { diff --git a/components/net/cookie.rs b/components/net/cookie.rs index acf2edf28d0..7351e14e5c8 100644 --- a/components/net/cookie.rs +++ b/components/net/cookie.rs @@ -5,10 +5,9 @@ //! Implementation of cookie creation and matching as specified by //! http://tools.ietf.org/html/rfc6265 +use cookie_rs; use net_traits::CookieSource; use pub_domains::PUB_DOMAINS; - -use cookie_rs; use std::borrow::ToOwned; use std::net::{Ipv4Addr, Ipv6Addr}; use time::{Tm, now, at, Duration}; diff --git a/components/net/data_loader.rs b/components/net/data_loader.rs index 28134d43d97..ee556b0d645 100644 --- a/components/net/data_loader.rs +++ b/components/net/data_loader.rs @@ -2,14 +2,12 @@ * 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 hyper::mime::Mime; use mime_classifier::MIMEClassifier; use net_traits::ProgressMsg::{Payload, Done}; use net_traits::{LoadData, Metadata, LoadConsumer}; use resource_task::start_sending; - use rustc_serialize::base64::FromBase64; - -use hyper::mime::Mime; use std::sync::Arc; use url::SchemeData; use url::percent_encoding::percent_decode; diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs index 28b3786809f..9d01311b532 100644 --- a/components/net/file_loader.rs +++ b/components/net/file_loader.rs @@ -6,7 +6,6 @@ use mime_classifier::MIMEClassifier; use net_traits::ProgressMsg::{Payload, Done}; use net_traits::{LoadData, Metadata, LoadConsumer}; use resource_task::{start_sending, start_sending_sniffed, ProgressSender}; - use std::borrow::ToOwned; use std::error::Error; use std::fs::File; diff --git a/components/net/hsts.rs b/components/net/hsts.rs index 1b8559243ee..ea8a04e16f6 100644 --- a/components/net/hsts.rs +++ b/components/net/hsts.rs @@ -4,11 +4,9 @@ use net_traits::{IncludeSubdomains, IPV4_REGEX, IPV6_REGEX}; use rustc_serialize::json::{decode}; +use std::str::{from_utf8}; use time; use url::Url; - -use std::str::{from_utf8}; - use util::resource_files::read_resource_file; #[derive(RustcDecodable, RustcEncodable, Clone)] diff --git a/components/net/storage_task.rs b/components/net/storage_task.rs index 9a69a815df9..9c4934a07ee 100644 --- a/components/net/storage_task.rs +++ b/components/net/storage_task.rs @@ -3,13 +3,12 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; +use net_traits::storage_task::{StorageTask, StorageTaskMsg, StorageType}; use std::borrow::ToOwned; use std::collections::BTreeMap; use std::collections::HashMap; use std::sync::mpsc::channel; use url::Url; - -use net_traits::storage_task::{StorageTask, StorageTaskMsg, StorageType}; use util::str::DOMString; use util::task::spawn_named; diff --git a/components/net_traits/hosts.rs b/components/net_traits/hosts.rs index 862223b4b34..67001324dcf 100644 --- a/components/net_traits/hosts.rs +++ b/components/net_traits/hosts.rs @@ -7,7 +7,6 @@ use std::env; use std::fs::File; use std::io::{BufReader, Read}; use url::Url; - use {IPV4_REGEX, IPV6_REGEX}; static mut HOST_TABLE: Option<*mut HashMap<String, String>> = None; diff --git a/components/net_traits/lib.rs b/components/net_traits/lib.rs index 6b68a005c7a..7f97c143de7 100644 --- a/components/net_traits/lib.rs +++ b/components/net_traits/lib.rs @@ -35,11 +35,10 @@ use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use msg::constellation_msg::{PipelineId}; use regex::Regex; use serde::{Deserializer, Serializer}; +use std::thread; use url::Url; use util::mem::HeapSizeOf; -use std::thread; - pub mod hosts; pub mod image_cache_task; pub mod net_error_list; diff --git a/components/net_traits/storage_task.rs b/components/net_traits/storage_task.rs index 261e6cb1f7b..129be8e79d2 100644 --- a/components/net_traits/storage_task.rs +++ b/components/net_traits/storage_task.rs @@ -4,7 +4,6 @@ use ipc_channel::ipc::IpcSender; use url::Url; - use util::str::DOMString; #[derive(Copy, Clone, Deserialize, Serialize, HeapSizeOf)] diff --git a/components/plugins/lib.rs b/components/plugins/lib.rs index 4124d552988..250fa500a5e 100644 --- a/components/plugins/lib.rs +++ b/components/plugins/lib.rs @@ -27,7 +27,6 @@ extern crate clippy; use rustc::lint::LintPassObject; use rustc::plugin::Registry; use syntax::ext::base::*; - use syntax::feature_gate::AttributeType::Whitelisted; use syntax::parse::token::intern; diff --git a/components/plugins/lints/inheritance_integrity.rs b/components/plugins/lints/inheritance_integrity.rs index 70fbed0c016..ac9c965e7b2 100644 --- a/components/plugins/lints/inheritance_integrity.rs +++ b/components/plugins/lints/inheritance_integrity.rs @@ -6,7 +6,6 @@ use rustc::lint::{Context, LintPass, LintArray, Level}; use rustc::middle::def; use rustc::middle::def_id::DefId; use syntax::ast; - use utils::match_lang_ty; declare_lint!(INHERITANCE_INTEGRITY, Deny, diff --git a/components/plugins/utils.rs b/components/plugins/utils.rs index 580cfe9efc5..3780f1932a2 100644 --- a/components/plugins/utils.rs +++ b/components/plugins/utils.rs @@ -6,7 +6,6 @@ use rustc::ast_map; use rustc::lint::Context; use rustc::middle::def; use rustc::middle::def_id::DefId; - use syntax::ast; use syntax::ast::{TyPath, Path, AngleBracketedParameters, PathSegment, Ty}; use syntax::attr::mark_used; diff --git a/components/profile_traits/mem.rs b/components/profile_traits/mem.rs index 25b4b8d2252..caf7ba8a793 100644 --- a/components/profile_traits/mem.rs +++ b/components/profile_traits/mem.rs @@ -8,7 +8,6 @@ use ipc_channel::ipc::{self, IpcSender}; use ipc_channel::router::ROUTER; - use std::marker::Send; use std::sync::mpsc::Sender; diff --git a/components/script/clipboard_provider.rs b/components/script/clipboard_provider.rs index ce57a82857d..81860f59eef 100644 --- a/components/script/clipboard_provider.rs +++ b/components/script/clipboard_provider.rs @@ -2,10 +2,9 @@ * 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 ipc_channel::ipc; use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::Msg as ConstellationMsg; - -use ipc_channel::ipc; use std::borrow::ToOwned; use std::sync::mpsc::channel; diff --git a/components/script/cors.rs b/components/script/cors.rs index 587cdaacf87..4de0a5ad396 100644 --- a/components/script/cors.rs +++ b/components/script/cors.rs @@ -9,17 +9,6 @@ //! This library will eventually become the core of the Fetch crate //! with CORSRequest being expanded into FetchRequest (etc) -use net_traits::{AsyncResponseListener, ResponseAction, Metadata}; -use network_listener::{NetworkListener, PreInvoke}; -use script_task::ScriptChan; - -use std::ascii::AsciiExt; -use std::borrow::ToOwned; -use std::cell::RefCell; -use std::sync::{Arc, Mutex}; -use time; -use time::{now, Timespec}; - use hyper::client::Request; use hyper::header::{AccessControlMaxAge, AccessControlAllowOrigin}; use hyper::header::{AccessControlRequestHeaders, AccessControlAllowHeaders}; @@ -29,7 +18,15 @@ use hyper::header::{Headers, HeaderView}; use hyper::method::Method; use hyper::mime::{Mime, TopLevel, SubLevel}; use hyper::status::StatusClass::Success; - +use net_traits::{AsyncResponseListener, ResponseAction, Metadata}; +use network_listener::{NetworkListener, PreInvoke}; +use script_task::ScriptChan; +use std::ascii::AsciiExt; +use std::borrow::ToOwned; +use std::cell::RefCell; +use std::sync::{Arc, Mutex}; +use time; +use time::{now, Timespec}; use unicase::UniCase; use url::{SchemeData, Url}; use util::mem::HeapSizeOf; diff --git a/components/script/dom/activation.rs b/components/script/dom/activation.rs index d14861ed686..10c2020dd31 100644 --- a/components/script/dom/activation.rs +++ b/components/script/dom/activation.rs @@ -9,7 +9,6 @@ use dom::event::{Event, EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; use dom::mouseevent::MouseEvent; use dom::node::window_from_node; - use std::borrow::ToOwned; /// Trait for elements with defined activation behavior diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index 32178148ccf..a96f3a72e09 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -2,6 +2,7 @@ * 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 dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::AttrBinding::{self, AttrMethods}; use dom::bindings::codegen::InheritTypes::NodeCast; @@ -12,16 +13,12 @@ use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::element::{AttributeMutation, Element}; use dom::virtualmethods::vtable_for; use dom::window::Window; - -use devtools_traits::AttrInfo; -use util::str::{DOMString, parse_unsigned_integer, split_html_space_chars, str_join}; - -use string_cache::{Atom, Namespace}; - use std::borrow::ToOwned; use std::cell::Ref; use std::mem; use std::ops::Deref; +use string_cache::{Atom, Namespace}; +use util::str::{DOMString, parse_unsigned_integer, split_html_space_chars, str_join}; #[derive(JSTraceable, PartialEq, Clone, HeapSizeOf)] pub enum AttrValue { diff --git a/components/script/dom/bindings/callback.rs b/components/script/dom/bindings/callback.rs index e5a887a88b0..4a54db01875 100644 --- a/components/script/dom/bindings/callback.rs +++ b/components/script/dom/bindings/callback.rs @@ -16,7 +16,6 @@ use js::jsapi::{JS_GetProperty, JS_IsExceptionPending, JS_ReportPendingException use js::jsapi::{JS_SaveFrameChain, JS_RestoreFrameChain}; use js::jsapi::{RootedObject, RootedValue, MutableHandleObject, Heap}; use js::jsval::{JSVal, UndefinedValue}; - use std::default::Default; use std::ffi::CString; use std::intrinsics::return_address; diff --git a/components/script/dom/bindings/cell.rs b/components/script/dom/bindings/cell.rs index e2cbe4bfef5..18fffa56b33 100644 --- a/components/script/dom/bindings/cell.rs +++ b/components/script/dom/bindings/cell.rs @@ -6,12 +6,10 @@ use dom::bindings::trace::JSTraceable; use js::jsapi::{JSTracer}; - +use std::cell::{BorrowState, RefCell, Ref, RefMut}; use util::task_state; use util::task_state::SCRIPT; -use std::cell::{BorrowState, RefCell, Ref, RefMut}; - /// A mutable field in the DOM. /// /// This extends the API of `core::cell::RefCell` to allow unsafe access in diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index 7118bef0e68..2922e2250ae 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -32,14 +32,13 @@ //! | sequences | `Vec<T>` | //! | union types | `T` | +use core::nonzero::NonZero; use dom::bindings::codegen::PrototypeList; use dom::bindings::error::throw_type_error; use dom::bindings::js::Root; use dom::bindings::num::Finite; use dom::bindings::str::{ByteString, USVString}; use dom::bindings::utils::{Reflectable, Reflector, DOMClass}; -use util::str::DOMString; - use js; use js::glue::{GetProxyPrivate, IsWrapper, RUST_JS_NumberValue}; use js::glue::{RUST_JSID_IS_STRING, RUST_JSID_TO_STRING, UnwrapObject}; @@ -54,8 +53,6 @@ use js::jsval::{UndefinedValue, NullValue, BooleanValue, Int32Value, UInt32Value use js::rust::{ToUint16, ToNumber, ToBoolean, ToString}; use js::rust::{ToUint32, ToInt32}; use js::rust::{ToUint64, ToInt64}; - -use core::nonzero::NonZero; use libc; use num::Float; use num::traits::{Bounded, Zero}; @@ -64,6 +61,7 @@ use std::char; use std::ptr; use std::rc::Rc; use std::slice; +use util::str::DOMString; trait As<O>: Copy { fn cast(self) -> O; diff --git a/components/script/dom/bindings/error.rs b/components/script/dom/bindings/error.rs index a5fb6d90e51..6fb338fd31d 100644 --- a/components/script/dom/bindings/error.rs +++ b/components/script/dom/bindings/error.rs @@ -8,21 +8,18 @@ use dom::bindings::codegen::PrototypeList::proto_id_to_name; use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::global::GlobalRef; use dom::domexception::{DOMException, DOMErrorName}; - -use util::mem::HeapSizeOf; -use util::str::DOMString; - use js::jsapi::JSAutoCompartment; use js::jsapi::{JSContext, JSObject, RootedValue}; use js::jsapi::{JS_IsExceptionPending, JS_SetPendingException, JS_ReportPendingException}; use js::jsapi::{JS_ReportErrorNumber1, JSErrorFormatString, JSExnType}; use js::jsapi::{JS_SaveFrameChain, JS_RestoreFrameChain}; use js::jsval::UndefinedValue; - use libc; use std::ffi::CString; use std::mem; use std::ptr; +use util::mem::HeapSizeOf; +use util::str::DOMString; /// DOM exceptions that can be thrown by a native DOM method. #[derive(Debug, Clone, HeapSizeOf)] diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs index 3ff081521cc..a2602a2ed2e 100644 --- a/components/script/dom/bindings/global.rs +++ b/components/script/dom/bindings/global.rs @@ -14,18 +14,15 @@ use dom::bindings::js::{JS, Root}; use dom::bindings::utils::{Reflectable, Reflector}; use dom::window::{self, ScriptHelpers}; use dom::workerglobalscope::WorkerGlobalScope; -use script_task::{ScriptChan, ScriptPort, CommonScriptMsg, ScriptTask}; - -use msg::constellation_msg::{ConstellationChan, PipelineId, WorkerId}; -use net_traits::ResourceTask; -use profile_traits::mem; - use ipc_channel::ipc::IpcSender; use js::jsapi::{GetGlobalForObjectCrossCompartment}; use js::jsapi::{JSContext, JSObject, JS_GetClass, MutableHandleValue}; use js::{JSCLASS_IS_GLOBAL, JSCLASS_IS_DOMJSCLASS}; +use msg::constellation_msg::{ConstellationChan, PipelineId, WorkerId}; +use net_traits::ResourceTask; +use profile_traits::mem; +use script_task::{ScriptChan, ScriptPort, CommonScriptMsg, ScriptTask}; use url::Url; - use util::mem::HeapSizeOf; /// A freely-copyable reference to a rooted global object. diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index e50bf68e478..065604d6976 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -23,6 +23,7 @@ //! originating `Root<T>`. //! +use core::nonzero::NonZero; use dom::bindings::trace::JSTraceable; use dom::bindings::trace::trace_reflector; use dom::bindings::utils::{Reflector, Reflectable}; @@ -31,12 +32,10 @@ use js::jsapi::{JSObject, Heap, JSTracer}; use js::jsval::JSVal; use layout_interface::TrustedNodeAddress; use script_task::STACK_ROOTS; -use util::mem::HeapSizeOf; - -use core::nonzero::NonZero; use std::cell::{Cell, UnsafeCell}; use std::default::Default; use std::ops::Deref; +use util::mem::HeapSizeOf; /// A traced reference to a DOM object. Must only be used as a field in other /// DOM objects. diff --git a/components/script/dom/bindings/proxyhandler.rs b/components/script/dom/bindings/proxyhandler.rs index 66240df0d2c..8ad7a819206 100644 --- a/components/script/dom/bindings/proxyhandler.rs +++ b/components/script/dom/bindings/proxyhandler.rs @@ -20,7 +20,6 @@ use js::jsapi::{JS_StrictPropertyStub, JSErrNum}; use js::jsval::ObjectValue; use js::{JSPROP_GETTER, JSPROP_ENUMERATE, JSPROP_READONLY}; use js::{JSTrue, JSFalse}; - use libc; use std::mem; use std::ptr; diff --git a/components/script/dom/bindings/refcounted.rs b/components/script/dom/bindings/refcounted.rs index a1adf059dba..755f8ec6076 100644 --- a/components/script/dom/bindings/refcounted.rs +++ b/components/script/dom/bindings/refcounted.rs @@ -22,15 +22,13 @@ //! is rooted when a hashmap entry is first created, and unrooted when the hashmap entry //! is removed. +use core::nonzero::NonZero; use dom::bindings::js::Root; use dom::bindings::trace::trace_reflector; use dom::bindings::utils::{Reflector, Reflectable}; -use script_task::{ScriptChan, CommonScriptMsg}; - use js::jsapi::{JSContext, JSTracer}; - -use core::nonzero::NonZero; use libc; +use script_task::{ScriptChan, CommonScriptMsg}; use std::cell::RefCell; use std::collections::hash_map::Entry::{Vacant, Occupied}; use std::collections::hash_map::HashMap; diff --git a/components/script/dom/bindings/str.rs b/components/script/dom/bindings/str.rs index ee6514bffbd..dd4295f2c0b 100644 --- a/components/script/dom/bindings/str.rs +++ b/components/script/dom/bindings/str.rs @@ -10,7 +10,6 @@ use std::hash::{Hash, Hasher}; use std::ops; use std::str; use std::str::FromStr; - use util::mem::HeapSizeOf; /// Encapsulates the IDL `ByteString` type. diff --git a/components/script/dom/bindings/structuredclone.rs b/components/script/dom/bindings/structuredclone.rs index 60dc10d0ced..90a0ca25df6 100644 --- a/components/script/dom/bindings/structuredclone.rs +++ b/components/script/dom/bindings/structuredclone.rs @@ -8,13 +8,11 @@ use dom::bindings::error::Error::DataClone; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; - use js::glue::JS_STRUCTURED_CLONE_VERSION; use js::jsapi::JSContext; use js::jsapi::JS_ReadStructuredClone; use js::jsapi::{HandleValue, MutableHandleValue}; use js::jsapi::{JS_WriteStructuredClone, JS_ClearPendingException}; - use libc::size_t; use std::ptr; diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index 5a9aa5b2abb..de9d788c849 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -29,15 +29,13 @@ //! The `no_jsmanaged_fields!()` macro adds an empty implementation of `JSTraceable` to //! a datatype. -use dom::bindings::js::{JS, Root}; -use dom::bindings::refcounted::Trusted; -use dom::bindings::utils::{Reflectable, Reflector, WindowProxyHandler}; -use script_task::ScriptChan; - use canvas_traits::WebGLError; use canvas_traits::{CanvasGradientStop, LinearGradientStyle, RadialGradientStyle}; use canvas_traits::{LineCapStyle, LineJoinStyle, CompositionOrBlending, RepetitionStyle}; use cssparser::RGBA; +use dom::bindings::js::{JS, Root}; +use dom::bindings::refcounted::Trusted; +use dom::bindings::utils::{Reflectable, Reflector, WindowProxyHandler}; use encoding::types::EncodingRef; use euclid::matrix2d::Matrix2D; use euclid::rect::Rect; @@ -59,6 +57,7 @@ use net_traits::image_cache_task::{ImageCacheChan, ImageCacheTask}; use net_traits::storage_task::StorageType; use profile_traits::mem::ProfilerChan as MemProfilerChan; use profile_traits::time::ProfilerChan as TimeProfilerChan; +use script_task::ScriptChan; use script_traits::UntrustedNodeAddress; use selectors::parser::PseudoElement; use serde::{Serialize, Deserialize}; diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index be600d807d3..6d61b6013b1 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -17,9 +17,6 @@ use dom::bindings::trace::trace_object; use dom::browsercontext; use dom::eventtarget::EventTargetTypeId; use dom::window; -use util::mem::HeapSizeOf; -use util::str::DOMString; - use js; use js::glue::{CallJitMethodOp, CallJitGetterOp, CallJitSetterOp, IsWrapper}; use js::glue::{RUST_FUNCTION_VALUE_TO_JITINFO, RUST_JSID_IS_INT}; @@ -61,6 +58,8 @@ use std::default::Default; use std::ffi::CString; use std::ptr; use string_cache::{Atom, Namespace}; +use util::mem::HeapSizeOf; +use util::str::DOMString; /// Proxy handler for a WindowProxy. #[allow(raw_pointer_derive)] diff --git a/components/script/dom/browsercontext.rs b/components/script/dom/browsercontext.rs index a0249d37202..668dd8cd961 100644 --- a/components/script/dom/browsercontext.rs +++ b/components/script/dom/browsercontext.rs @@ -11,7 +11,6 @@ use dom::bindings::utils::{Reflectable, WindowProxyHandler}; use dom::document::Document; use dom::element::Element; use dom::window::Window; - use js::glue::{GetProxyPrivate}; use js::glue::{WrapperNew, CreateWrapperProxyHandler, ProxyTraps}; use js::jsapi::{HandleObject, HandleId, MutableHandle, MutableHandleValue}; @@ -22,7 +21,6 @@ use js::jsapi::{JS_ForwardSetPropertyTo, ObjectOpResult, RootedObject, RootedVal use js::jsapi::{JS_GetPropertyDescriptorById, JS_DefinePropertyById6}; use js::jsval::{ObjectValue, UndefinedValue}; use js::{JSTrue, JSFalse}; - use std::default::Default; use std::ptr; diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 57feaf5e9d7..337dd3a619e 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -2,6 +2,12 @@ * 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 canvas::canvas_paint_task::RectToi32; +use canvas_traits::{CanvasMsg, Canvas2dMsg, CanvasCommonMsg}; +use canvas_traits::{FillOrStrokeStyle, LinearGradientStyle, RadialGradientStyle, RepetitionStyle}; +use canvas_traits::{LineCapStyle, LineJoinStyle, CompositionOrBlending}; +use cssparser::Color as CSSColor; +use cssparser::{Parser, RGBA}; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2DMethods; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasWindingRule; @@ -22,24 +28,14 @@ use dom::htmlcanvaselement::utils as canvas_utils; use dom::htmlimageelement::HTMLImageElement; use dom::imagedata::ImageData; use dom::node::{window_from_node, NodeDamage}; - -use msg::constellation_msg::Msg as ConstellationMsg; -use net_traits::image::base::PixelFormat; -use net_traits::image_cache_task::ImageResponse; - -use cssparser::Color as CSSColor; -use cssparser::{Parser, RGBA}; use euclid::matrix2d::Matrix2D; use euclid::point::Point2D; use euclid::rect::Rect; use euclid::size::Size2D; - -use canvas::canvas_paint_task::RectToi32; -use canvas_traits::{CanvasMsg, Canvas2dMsg, CanvasCommonMsg}; -use canvas_traits::{FillOrStrokeStyle, LinearGradientStyle, RadialGradientStyle, RepetitionStyle}; -use canvas_traits::{LineCapStyle, LineJoinStyle, CompositionOrBlending}; - use ipc_channel::ipc::{self, IpcSender}; +use msg::constellation_msg::Msg as ConstellationMsg; +use net_traits::image::base::PixelFormat; +use net_traits::image_cache_task::ImageResponse; use num::{Float, ToPrimitive}; use std::borrow::ToOwned; use std::cell::RefCell; @@ -47,7 +43,6 @@ use std::cmp; use std::fmt; use std::str::FromStr; use std::sync::mpsc::channel; - use url::Url; use util::str::DOMString; use util::vec::byte_swap; diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs index 36503f8c041..db2d576dcd9 100644 --- a/components/script/dom/characterdata.rs +++ b/components/script/dom/characterdata.rs @@ -16,11 +16,9 @@ use dom::document::Document; use dom::element::Element; use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::node::{Node, NodeTypeId}; - -use util::str::DOMString; - use std::borrow::ToOwned; use std::cell::Ref; +use util::str::DOMString; // https://dom.spec.whatwg.org/#characterdata #[dom_struct] diff --git a/components/script/dom/closeevent.rs b/components/script/dom/closeevent.rs index 5dfbaf5aecd..b4e077b0494 100644 --- a/components/script/dom/closeevent.rs +++ b/components/script/dom/closeevent.rs @@ -12,7 +12,6 @@ use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::event::{Event, EventTypeId, EventBubbles, EventCancelable}; use script_task::ScriptChan; - use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/create.rs b/components/script/dom/create.rs index 55bef524640..e7fb121f758 100644 --- a/components/script/dom/create.rs +++ b/components/script/dom/create.rs @@ -75,10 +75,8 @@ use dom::htmltrackelement::HTMLTrackElement; use dom::htmlulistelement::HTMLUListElement; use dom::htmlunknownelement::HTMLUnknownElement; use dom::htmlvideoelement::HTMLVideoElement; - -use string_cache::{Atom, QualName}; - use std::borrow::ToOwned; +use string_cache::{Atom, QualName}; pub fn create_element(name: QualName, prefix: Option<Atom>, document: &Document, creator: ElementCreator) diff --git a/components/script/dom/crypto.rs b/components/script/dom/crypto.rs index 49ca25ff376..52d2141b3be 100644 --- a/components/script/dom/crypto.rs +++ b/components/script/dom/crypto.rs @@ -9,15 +9,12 @@ use dom::bindings::error::{Error, Fallible}; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::{Reflector, reflect_dom_object}; - use js::jsapi::{JSContext, JSObject}; use js::jsapi::{JS_GetObjectAsArrayBufferView, JS_GetArrayBufferViewType, Type}; - +use rand::{Rng, OsRng}; use std::ptr; use std::slice; -use rand::{Rng, OsRng}; - no_jsmanaged_fields!(OsRng); // https://developer.mozilla.org/en-US/docs/Web/API/Crypto diff --git a/components/script/dom/css.rs b/components/script/dom/css.rs index 5f4bce94d28..527b08315e9 100644 --- a/components/script/dom/css.rs +++ b/components/script/dom/css.rs @@ -2,13 +2,12 @@ * 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::serialize_identifier; use dom::bindings::error::{Error, Fallible}; use dom::bindings::global::GlobalRef; use dom::bindings::utils::Reflector; use util::str::DOMString; -use cssparser::serialize_identifier; - #[dom_struct] pub struct CSS { reflector_: Reflector, diff --git a/components/script/dom/cssstyledeclaration.rs b/components/script/dom/cssstyledeclaration.rs index e882330b18b..ef44d298269 100644 --- a/components/script/dom/cssstyledeclaration.rs +++ b/components/script/dom/cssstyledeclaration.rs @@ -12,15 +12,14 @@ use dom::element::{StylePriority, Element}; use dom::node::{window_from_node, document_from_node, NodeDamage}; use dom::window::Window; use selectors::parser::PseudoElement; -use string_cache::Atom; -use style::properties::PropertyDeclaration; -use style::properties::{is_supported_property, longhands_from_shorthand, parse_one_declaration}; -use util::str::DOMString; - use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::cell::Ref; use std::slice::SliceConcatExt; +use string_cache::Atom; +use style::properties::PropertyDeclaration; +use style::properties::{is_supported_property, longhands_from_shorthand, parse_one_declaration}; +use util::str::DOMString; // http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface #[dom_struct] diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 9ced7221078..ba0bb767408 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use devtools; +use devtools_traits::DevtoolScriptControlMsg; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::DedicatedWorkerGlobalScopeBinding; use dom::bindings::codegen::Bindings::DedicatedWorkerGlobalScopeBinding::DedicatedWorkerGlobalScopeMethods; @@ -20,28 +21,24 @@ use dom::messageevent::MessageEvent; use dom::worker::{TrustedWorkerAddress, WorkerMessageHandler, SimpleWorkerErrorHandler}; use dom::workerglobalscope::WorkerGlobalScope; use dom::workerglobalscope::{WorkerGlobalScopeTypeId, WorkerGlobalScopeInit}; -use script_task::ScriptTaskEventCategory::WorkerEvent; -use script_task::{ScriptTask, ScriptChan, TimerSource, ScriptPort, StackRootTLS, CommonScriptMsg}; - -use devtools_traits::DevtoolScriptControlMsg; -use msg::constellation_msg::PipelineId; -use net_traits::load_whole_resource; -use util::task::spawn_named; -use util::task_state; -use util::task_state::{SCRIPT, IN_WORKER}; - use ipc_channel::ipc::IpcReceiver; use ipc_channel::router::ROUTER; use js::jsapi::{JSAutoRequest, JSAutoCompartment}; use js::jsapi::{JSContext, RootedValue, HandleValue}; use js::jsval::UndefinedValue; use js::rust::Runtime; -use url::Url; - +use msg::constellation_msg::PipelineId; +use net_traits::load_whole_resource; use rand::random; +use script_task::ScriptTaskEventCategory::WorkerEvent; +use script_task::{ScriptTask, ScriptChan, TimerSource, ScriptPort, StackRootTLS, CommonScriptMsg}; use std::mem::replace; use std::rc::Rc; use std::sync::mpsc::{Sender, Receiver, channel, Select, RecvError}; +use url::Url; +use util::task::spawn_named; +use util::task_state; +use util::task_state::{SCRIPT, IN_WORKER}; /// Messages used to control the worker event loops pub enum WorkerScriptMsg { diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index de4f6a8423e..fb67d8f84fd 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -66,8 +66,12 @@ use dom::text::Text; use dom::treewalker::TreeWalker; use dom::uievent::UIEvent; use dom::window::{Window, ReflowReason}; - +use euclid::point::Point2D; +use html5ever::tree_builder::{QuirksMode, NoQuirks, LimitedQuirks, Quirks}; +use ipc_channel::ipc::{self, IpcSender}; +use js::jsapi::{JSContext, JSObject, JSRuntime}; use layout_interface::{HitTestResponse, MouseOverResponse}; +use layout_interface::{LayoutChan, Msg}; use layout_interface::{ReflowGoal, ReflowQueryType}; use msg::compositor_msg::ScriptToCompositorMsg; use msg::constellation_msg::AnimationState; @@ -77,19 +81,9 @@ use msg::constellation_msg::{SUPER, ALT, SHIFT, CONTROL}; use net_traits::ControlMsg::{SetCookiesForUrl, GetCookiesForUrl}; use net_traits::CookieSource::NonHTTP; use net_traits::{Metadata, PendingAsyncLoad, AsyncResponseTarget}; +use num::ToPrimitive; use script_task::Runnable; use script_traits::{MouseButton, UntrustedNodeAddress}; -use util::str::{DOMString, split_html_space_chars}; - -use euclid::point::Point2D; -use html5ever::tree_builder::{QuirksMode, NoQuirks, LimitedQuirks, Quirks}; -use ipc_channel::ipc::{self, IpcSender}; -use js::jsapi::{JSContext, JSObject, JSRuntime}; -use layout_interface::{LayoutChan, Msg}; -use string_cache::{Atom, QualName}; -use url::Url; - -use num::ToPrimitive; use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::boxed::FnBox; @@ -101,7 +95,10 @@ use std::iter::FromIterator; use std::ptr; use std::rc::Rc; use std::sync::mpsc::channel; +use string_cache::{Atom, QualName}; use time; +use url::Url; +use util::str::{DOMString, split_html_space_chars}; #[derive(JSTraceable, PartialEq, HeapSizeOf)] pub enum IsHTMLDocument { diff --git a/components/script/dom/documenttype.rs b/components/script/dom/documenttype.rs index 0d91cdedb1a..a9f540592e9 100644 --- a/components/script/dom/documenttype.rs +++ b/components/script/dom/documenttype.rs @@ -11,9 +11,8 @@ use dom::bindings::js::Root; use dom::document::Document; use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::node::{Node, NodeTypeId}; -use util::str::DOMString; - use std::borrow::ToOwned; +use util::str::DOMString; // https://dom.spec.whatwg.org/#documenttype /// The `DOCTYPE` tag. diff --git a/components/script/dom/domexception.rs b/components/script/dom/domexception.rs index fdc4257a40d..19751284bcf 100644 --- a/components/script/dom/domexception.rs +++ b/components/script/dom/domexception.rs @@ -8,9 +8,8 @@ use dom::bindings::codegen::Bindings::DOMExceptionBinding::DOMExceptionMethods; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::{Reflector, reflect_dom_object}; -use util::str::DOMString; - use std::borrow::ToOwned; +use util::str::DOMString; #[repr(u16)] #[derive(JSTraceable, Copy, Clone, Debug, HeapSizeOf)] diff --git a/components/script/dom/domimplementation.rs b/components/script/dom/domimplementation.rs index 91b97487b4f..d66cba67bc0 100644 --- a/components/script/dom/domimplementation.rs +++ b/components/script/dom/domimplementation.rs @@ -21,9 +21,8 @@ use dom::htmlheadelement::HTMLHeadElement; use dom::htmlhtmlelement::HTMLHtmlElement; use dom::htmltitleelement::HTMLTitleElement; use dom::text::Text; -use util::str::DOMString; - use std::borrow::ToOwned; +use util::str::DOMString; // https://dom.spec.whatwg.org/#domimplementation #[dom_struct] diff --git a/components/script/dom/domparser.rs b/components/script/dom/domparser.rs index 00172fc398d..679e5b53a07 100644 --- a/components/script/dom/domparser.rs +++ b/components/script/dom/domparser.rs @@ -16,9 +16,8 @@ use dom::document::DocumentSource; use dom::document::{Document, IsHTMLDocument}; use dom::window::Window; use parse::html::{ParseContext, parse_html}; -use util::str::DOMString; - use std::borrow::ToOwned; +use util::str::DOMString; #[dom_struct] pub struct DOMParser { diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs index 5c8af75f298..95c743664f9 100644 --- a/components/script/dom/domtokenlist.rs +++ b/components/script/dom/domtokenlist.rs @@ -12,12 +12,10 @@ use dom::bindings::js::{JS, Root}; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::element::Element; use dom::node::window_from_node; - +use std::borrow::ToOwned; use string_cache::Atom; use util::str::{DOMString, HTML_SPACE_CHARACTERS, str_join}; -use std::borrow::ToOwned; - #[dom_struct] pub struct DOMTokenList { reflector_: Reflector, diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 2cd65557bee..8132011a0fe 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -4,6 +4,8 @@ //! Element nodes. +use cssparser::Color; +use devtools_traits::AttrInfo; use dom::activation::Activatable; use dom::attr::AttrValue; use dom::attr::{Attr, AttrHelpersForLayout}; @@ -57,19 +59,6 @@ use dom::node::{document_from_node, NodeDamage}; use dom::node::{window_from_node}; use dom::nodelist::NodeList; use dom::virtualmethods::{VirtualMethods, vtable_for}; - -use devtools_traits::AttrInfo; -use smallvec::VecLike; -use style::legacy::{UnsignedIntegerAttribute, from_declaration}; -use style::properties::DeclaredValue; -use style::properties::longhands::{self, background_image, border_spacing, font_family}; -use style::properties::{PropertyDeclarationBlock, PropertyDeclaration, parse_style_attribute}; -use style::values::CSSFloat; -use style::values::specified::{self, CSSColor, CSSRGBA}; -use util::geometry::Au; -use util::str::{DOMString, LengthOrPercentageOrAuto}; - -use cssparser::Color; use html5ever::serialize; use html5ever::serialize::SerializeOpts; use html5ever::serialize::TraversalScope; @@ -78,15 +67,23 @@ use html5ever::tree_builder::{NoQuirks, LimitedQuirks, Quirks}; use selectors::matching::{matches, DeclarationBlock}; use selectors::parser::parse_author_origin_selector_list_from_str; use selectors::parser::{AttrSelector, NamespaceConstraint}; -use string_cache::{Atom, Namespace, QualName}; -use url::UrlParser; - +use smallvec::VecLike; use std::ascii::AsciiExt; use std::borrow::{Cow, ToOwned}; use std::cell::{Ref, RefMut}; use std::default::Default; use std::mem; use std::sync::Arc; +use string_cache::{Atom, Namespace, QualName}; +use style::legacy::{UnsignedIntegerAttribute, from_declaration}; +use style::properties::DeclaredValue; +use style::properties::longhands::{self, background_image, border_spacing, font_family}; +use style::properties::{PropertyDeclarationBlock, PropertyDeclaration, parse_style_attribute}; +use style::values::CSSFloat; +use style::values::specified::{self, CSSColor, CSSRGBA}; +use url::UrlParser; +use util::geometry::Au; +use util::str::{DOMString, LengthOrPercentageOrAuto}; #[dom_struct] pub struct Element { diff --git a/components/script/dom/errorevent.rs b/components/script/dom/errorevent.rs index af28a44d0dc..4ba68e3e334 100644 --- a/components/script/dom/errorevent.rs +++ b/components/script/dom/errorevent.rs @@ -2,6 +2,7 @@ * 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 dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::ErrorEventBinding; use dom::bindings::codegen::Bindings::ErrorEventBinding::ErrorEventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; @@ -10,16 +11,13 @@ use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{Root, MutHeapJSVal}; use dom::bindings::trace::JSTraceable; -use js::jsapi::{JSContext, HandleValue}; - use dom::bindings::utils::reflect_dom_object; use dom::event::{Event, EventTypeId, EventBubbles, EventCancelable}; -use util::str::DOMString; - -use dom::bindings::cell::DOMRefCell; +use js::jsapi::{JSContext, HandleValue}; use js::jsval::JSVal; use std::borrow::ToOwned; use std::cell::Cell; +use util::str::DOMString; #[dom_struct] pub struct ErrorEvent { diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs index 2cec78b48cc..c03324adb07 100644 --- a/components/script/dom/event.rs +++ b/components/script/dom/event.rs @@ -11,13 +11,11 @@ use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::eventtarget::EventTarget; use dom::uievent::{UIEventTypeId}; -use util::str::DOMString; - use std::borrow::ToOwned; use std::cell::Cell; use std::default::Default; - use time; +use util::str::DOMString; #[derive(JSTraceable, Copy, Clone, Debug, PartialEq, Eq)] #[repr(u16)] diff --git a/components/script/dom/eventdispatcher.rs b/components/script/dom/eventdispatcher.rs index f8cb7652529..254b4edb9de 100644 --- a/components/script/dom/eventdispatcher.rs +++ b/components/script/dom/eventdispatcher.rs @@ -2,6 +2,7 @@ * 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::{StartedTimelineMarker, TimelineMarker, TimelineMarkerType}; use dom::bindings::callback::ExceptionHandling::Report; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::InheritTypes::{EventTargetCast, NodeCast}; @@ -14,8 +15,6 @@ use dom::node::Node; use dom::virtualmethods::vtable_for; use dom::window::Window; -use devtools_traits::{StartedTimelineMarker, TimelineMarker, TimelineMarkerType}; - struct AutoDOMEventMarker { window: Root<Window>, marker: Option<StartedTimelineMarker>, diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index c6f3db73d8c..145ff83abbf 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -17,16 +17,14 @@ use dom::node::NodeTypeId; use dom::virtualmethods::VirtualMethods; use dom::workerglobalscope::WorkerGlobalScopeTypeId; use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId; +use fnv::FnvHasher; use js::jsapi::{CompileFunction, JS_GetFunctionObject}; use js::jsapi::{JSAutoCompartment, JSAutoRequest}; use js::jsapi::{JSContext, RootedFunction, HandleObject}; use js::rust::{AutoObjectVectorWrapper, CompileOptionsWrapper}; -use util::mem::HeapSizeOf; -use util::str::DOMString; - -use fnv::FnvHasher; use libc::{c_char, size_t}; use std::borrow::ToOwned; +use std::collections::HashMap; use std::collections::hash_map::Entry::{Occupied, Vacant}; use std::collections::hash_state::DefaultState; use std::default::Default; @@ -35,8 +33,8 @@ use std::intrinsics; use std::ptr; use std::rc::Rc; use url::Url; - -use std::collections::HashMap; +use util::mem::HeapSizeOf; +use util::str::DOMString; pub type EventHandler = EventHandlerNonNull; diff --git a/components/script/dom/formdata.rs b/components/script/dom/formdata.rs index 8631cefbd4a..d5dca833e17 100644 --- a/components/script/dom/formdata.rs +++ b/components/script/dom/formdata.rs @@ -15,11 +15,10 @@ use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::blob::Blob; use dom::file::File; use dom::htmlformelement::HTMLFormElement; -use util::str::DOMString; - use std::borrow::ToOwned; use std::collections::HashMap; use std::collections::hash_map::Entry::{Occupied, Vacant}; +use util::str::DOMString; #[derive(JSTraceable, Clone)] #[must_root] diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs index ebfd1c4deb0..20e40be62b9 100644 --- a/components/script/dom/htmlanchorelement.rs +++ b/components/script/dom/htmlanchorelement.rs @@ -22,14 +22,11 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; - -use util::str::DOMString; - use num::ToPrimitive; +use std::default::Default; use string_cache::Atom; use url::UrlParser; - -use std::default::Default; +use util::str::DOMString; #[dom_struct] pub struct HTMLAnchorElement { diff --git a/components/script/dom/htmlappletelement.rs b/components/script/dom/htmlappletelement.rs index 988aa36e9ee..e865300fcc6 100644 --- a/components/script/dom/htmlappletelement.rs +++ b/components/script/dom/htmlappletelement.rs @@ -2,10 +2,9 @@ * 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 dom::attr::AttrValue; use dom::bindings::codegen::Bindings::HTMLAppletElementBinding; use dom::bindings::codegen::Bindings::HTMLAppletElementBinding::HTMLAppletElementMethods; - -use dom::attr::AttrValue; use dom::bindings::codegen::InheritTypes::HTMLAppletElementDerived; use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::js::Root; @@ -15,7 +14,6 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; use dom::virtualmethods::VirtualMethods; - use string_cache::Atom; use util::str::DOMString; diff --git a/components/script/dom/htmlareaelement.rs b/components/script/dom/htmlareaelement.rs index 02bd899c86c..caea7badf52 100644 --- a/components/script/dom/htmlareaelement.rs +++ b/components/script/dom/htmlareaelement.rs @@ -16,7 +16,6 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; use dom::virtualmethods::VirtualMethods; - use std::default::Default; use string_cache::Atom; use util::str::DOMString; diff --git a/components/script/dom/htmlbaseelement.rs b/components/script/dom/htmlbaseelement.rs index 62db191aa05..b67ec9a9381 100644 --- a/components/script/dom/htmlbaseelement.rs +++ b/components/script/dom/htmlbaseelement.rs @@ -14,9 +14,8 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId, document_from_node}; use dom::virtualmethods::VirtualMethods; -use util::str::DOMString; - use url::{Url, UrlParser}; +use util::str::DOMString; #[dom_struct] pub struct HTMLBaseElement { diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs index a09825574a4..7b069f93f5a 100644 --- a/components/script/dom/htmlbodyelement.rs +++ b/components/script/dom/htmlbodyelement.rs @@ -2,6 +2,7 @@ * 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 dom::attr::Attr; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; @@ -19,15 +20,12 @@ use dom::node::{Node, NodeTypeId, window_from_node, document_from_node}; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::Msg as ConstellationMsg; - -use cssparser::RGBA; -use url::{Url, UrlParser}; -use util::str::{self, DOMString}; - use std::borrow::ToOwned; use std::cell::Cell; use std::rc::Rc; use time; +use url::{Url, UrlParser}; +use util::str::{self, DOMString}; /// How long we should wait before performing the initial reflow after `<body>` is parsed, in /// nanoseconds. diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs index 58d65c13ab5..ccbc409666b 100644 --- a/components/script/dom/htmlbuttonelement.rs +++ b/components/script/dom/htmlbuttonelement.rs @@ -19,7 +19,6 @@ use dom::htmlformelement::{SubmittedFrom}; use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; - use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::cell::Cell; diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index 123cf6b5e32..908baa2e5aa 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -2,6 +2,7 @@ * 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 canvas_traits::CanvasMsg; use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding; use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding::HTMLCanvasElementMethods; @@ -20,17 +21,13 @@ use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId, window_from_node}; use dom::virtualmethods::VirtualMethods; use dom::webglrenderingcontext::{WebGLRenderingContext, LayoutCanvasWebGLRenderingContextHelpers}; - -use canvas_traits::CanvasMsg; +use euclid::size::Size2D; use ipc_channel::ipc::IpcSender; use js::jsapi::{JSContext, HandleValue}; use offscreen_gl_context::GLContextAttributes; -use util::str::{DOMString, parse_unsigned_integer}; - -use euclid::size::Size2D; - use std::cell::Cell; use std::default::Default; +use util::str::{DOMString, parse_unsigned_integer}; const DEFAULT_WIDTH: u32 = 300; const DEFAULT_HEIGHT: u32 = 150; diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs index b217151331a..40bc1f5c97a 100644 --- a/components/script/dom/htmlcollection.rs +++ b/components/script/dom/htmlcollection.rs @@ -12,10 +12,9 @@ use dom::bindings::utils::{namespace_from_domstring, Reflector, reflect_dom_obje use dom::element::Element; use dom::node::{Node, TreeIterator}; use dom::window::Window; -use util::str::{DOMString, split_html_space_chars}; - use std::ascii::AsciiExt; use string_cache::{Atom, Namespace}; +use util::str::{DOMString, split_html_space_chars}; pub trait CollectionFilter : JSTraceable { fn filter<'a>(&self, elem: &'a Element, root: &'a Node) -> bool; diff --git a/components/script/dom/htmldialogelement.rs b/components/script/dom/htmldialogelement.rs index 5754f5af114..9b47a51e359 100644 --- a/components/script/dom/htmldialogelement.rs +++ b/components/script/dom/htmldialogelement.rs @@ -12,10 +12,8 @@ use dom::element::ElementTypeId; use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; - -use util::str::DOMString; - use std::borrow::ToOwned; +use util::str::DOMString; #[dom_struct] pub struct HTMLDialogElement { diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index 9a02a47dd0f..7256c201af5 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -26,16 +26,13 @@ use dom::htmlmediaelement::HTMLMediaElementTypeId; use dom::htmltablecellelement::HTMLTableCellElementTypeId; use dom::node::{Node, NodeTypeId, document_from_node, window_from_node, SEQUENTIALLY_FOCUSABLE}; use dom::virtualmethods::VirtualMethods; - use msg::constellation_msg::FocusType; -use util::str::DOMString; - -use string_cache::Atom; - use std::borrow::ToOwned; use std::default::Default; use std::intrinsics; use std::rc::Rc; +use string_cache::Atom; +use util::str::DOMString; #[dom_struct] pub struct HTMLElement { diff --git a/components/script/dom/htmlfieldsetelement.rs b/components/script/dom/htmlfieldsetelement.rs index d3f438b5862..f4a54f253d7 100644 --- a/components/script/dom/htmlfieldsetelement.rs +++ b/components/script/dom/htmlfieldsetelement.rs @@ -16,7 +16,6 @@ use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; - use util::str::{DOMString, StaticStringVec}; #[dom_struct] diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs index bee1711916e..030d1638c7e 100644 --- a/components/script/dom/htmlfontelement.rs +++ b/components/script/dom/htmlfontelement.rs @@ -2,6 +2,7 @@ * 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 dom::attr::{Attr, AttrValue}; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::HTMLFontElementBinding; @@ -14,12 +15,10 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; use dom::virtualmethods::VirtualMethods; +use std::cell::Cell; use string_cache::Atom; use util::str::{self, DOMString}; -use cssparser::RGBA; -use std::cell::Cell; - #[dom_struct] pub struct HTMLFontElement { htmlelement: HTMLElement, diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 22c2cad779c..5cdc1ce1be7 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -32,14 +32,13 @@ use hyper::method::Method; use hyper::mime; use msg::constellation_msg::LoadData; use script_task::{ScriptChan, MainThreadScriptMsg}; +use std::borrow::ToOwned; +use std::cell::Cell; use string_cache::Atom; use url::UrlParser; use url::form_urlencoded::serialize; use util::str::DOMString; -use std::borrow::ToOwned; -use std::cell::Cell; - #[dom_struct] pub struct HTMLFormElement { htmlelement: HTMLElement, diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index b925e1ffee4..546fb79b47f 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -24,21 +24,19 @@ use dom::node::{Node, NodeTypeId, window_from_node}; use dom::urlhelper::UrlHelper; use dom::virtualmethods::VirtualMethods; use dom::window::Window; -use page::IterablePage; - +use js::jsapi::{RootedValue, JSAutoRequest, JSAutoCompartment}; +use js::jsval::UndefinedValue; use msg::constellation_msg::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed}; use msg::constellation_msg::Msg as ConstellationMsg; use msg::constellation_msg::{PipelineId, SubpageId, ConstellationChan, MozBrowserEvent, NavigationDirection}; -use string_cache::Atom; -use util::prefs; -use util::str::DOMString; - -use js::jsapi::{RootedValue, JSAutoRequest, JSAutoCompartment}; -use js::jsval::UndefinedValue; +use page::IterablePage; use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::cell::Cell; +use string_cache::Atom; use url::{Url, UrlParser}; +use util::prefs; +use util::str::DOMString; use util::str::{self, LengthOrPercentageOrAuto}; pub fn mozbrowser_enabled() -> bool { diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 146043d211f..a305b9ee91a 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -21,19 +21,17 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{document_from_node, Node, NodeTypeId, NodeDamage, window_from_node}; use dom::virtualmethods::VirtualMethods; -use script_task::ScriptTaskEventCategory::UpdateReplacedElement; -use script_task::{Runnable, ScriptChan, CommonScriptMsg}; -use string_cache::Atom; -use util::str::DOMString; - use ipc_channel::ipc; use ipc_channel::router::ROUTER; use net_traits::image::base::Image; use net_traits::image_cache_task::{ImageResponder, ImageResponse}; -use url::{Url, UrlParser}; - +use script_task::ScriptTaskEventCategory::UpdateReplacedElement; +use script_task::{Runnable, ScriptChan, CommonScriptMsg}; use std::borrow::ToOwned; use std::sync::Arc; +use string_cache::Atom; +use url::{Url, UrlParser}; +use util::str::DOMString; #[dom_struct] pub struct HTMLImageElement { diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index 51b9a3c54f0..766e3e7e0d5 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -27,16 +27,14 @@ use dom::node::{Node, NodeDamage, NodeTypeId}; use dom::node::{document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; +use std::borrow::ToOwned; +use std::cell::Cell; +use string_cache::Atom; use textinput::KeyReaction::{TriggerDefaultAction, DispatchInput, Nothing, RedrawSelection}; use textinput::Lines::Single; use textinput::{TextInput, TextPoint}; - -use string_cache::Atom; use util::str::DOMString; -use std::borrow::ToOwned; -use std::cell::Cell; - 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 87303ae8131..907b70af3e3 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -26,14 +26,13 @@ use layout_interface::{LayoutChan, Msg}; use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::Msg as ConstellationMsg; use script_traits::StylesheetLoadResponder; -use style::media_queries::parse_media_query_list; -use util::str::{DOMString, HTML_SPACE_CHARACTERS}; - use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::default::Default; use string_cache::Atom; +use style::media_queries::parse_media_query_list; use url::UrlParser; +use util::str::{DOMString, HTML_SPACE_CHARACTERS}; #[dom_struct] pub struct HTMLLinkElement { diff --git a/components/script/dom/htmlobjectelement.rs b/components/script/dom/htmlobjectelement.rs index 04c5228072b..ac063d12f00 100644 --- a/components/script/dom/htmlobjectelement.rs +++ b/components/script/dom/htmlobjectelement.rs @@ -16,7 +16,6 @@ use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; - use net_traits::image::base::Image; use std::sync::Arc; use util::str::DOMString; diff --git a/components/script/dom/htmloptgroupelement.rs b/components/script/dom/htmloptgroupelement.rs index 3765c8fcb43..6a139a03c34 100644 --- a/components/script/dom/htmloptgroupelement.rs +++ b/components/script/dom/htmloptgroupelement.rs @@ -14,7 +14,6 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; use dom::virtualmethods::VirtualMethods; - use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs index b9855f84eb7..132de2335b2 100644 --- a/components/script/dom/htmloptionelement.rs +++ b/components/script/dom/htmloptionelement.rs @@ -17,7 +17,6 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; use dom::virtualmethods::VirtualMethods; - use util::str::{DOMString, split_html_space_chars}; #[dom_struct] diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 815ef46ea64..5dae52c2b47 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.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 std::ascii::AsciiExt; - use document_loader::LoadType; use dom::attr::Attr; use dom::bindings::cell::DOMRefCell; @@ -29,19 +27,19 @@ use dom::node::{ChildrenMutation, CloneChildrenFlag, Node}; use dom::node::{NodeTypeId, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use dom::window::ScriptHelpers; -use js::jsapi::RootedValue; -use js::jsval::UndefinedValue; -use network_listener::{NetworkListener, PreInvoke}; -use script_task::ScriptTaskEventCategory::ScriptEvent; -use script_task::{ScriptChan, Runnable, CommonScriptMsg}; - use encoding::all::UTF_8; use encoding::label::encoding_from_whatwg_label; use encoding::types::{Encoding, EncodingRef, DecoderTrap}; use html5ever::tree_builder::NextParserState; use ipc_channel::ipc; use ipc_channel::router::ROUTER; +use js::jsapi::RootedValue; +use js::jsval::UndefinedValue; use net_traits::{Metadata, AsyncResponseListener, AsyncResponseTarget}; +use network_listener::{NetworkListener, PreInvoke}; +use script_task::ScriptTaskEventCategory::ScriptEvent; +use script_task::{ScriptChan, Runnable, CommonScriptMsg}; +use std::ascii::AsciiExt; use std::cell::{RefCell, Cell}; use std::mem; use std::sync::{Arc, Mutex}; diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index b71760fdc09..c4a503cc404 100644 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -17,12 +17,10 @@ use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; - +use std::borrow::ToOwned; use string_cache::Atom; use util::str::DOMString; -use std::borrow::ToOwned; - #[dom_struct] pub struct HTMLSelectElement { htmlelement: HTMLElement diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index 15c1acf3737..2705240edbb 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -2,6 +2,7 @@ * 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 dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding::HTMLTableCellElementMethods; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTableCellElementDerived}; @@ -11,14 +12,10 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::NodeTypeId; use dom::virtualmethods::VirtualMethods; - -use util::str::{self, DOMString, LengthOrPercentageOrAuto}; - -use cssparser::RGBA; -use string_cache::Atom; - use std::cell::Cell; use std::cmp::max; +use string_cache::Atom; +use util::str::{self, DOMString, LengthOrPercentageOrAuto}; const DEFAULT_COLSPAN: u32 = 1; diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index e5788bd0e56..6a63223d09d 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -2,6 +2,7 @@ * 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 dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::Bindings::HTMLTableElementBinding; use dom::bindings::codegen::Bindings::HTMLTableElementBinding::HTMLTableElementMethods; @@ -18,13 +19,9 @@ use dom::htmltablecaptionelement::HTMLTableCaptionElement; use dom::htmltablesectionelement::HTMLTableSectionElement; use dom::node::{Node, NodeTypeId, document_from_node}; use dom::virtualmethods::VirtualMethods; - -use util::str::{self, DOMString, LengthOrPercentageOrAuto}; - -use cssparser::RGBA; -use string_cache::Atom; - use std::cell::Cell; +use string_cache::Atom; +use util::str::{self, DOMString, LengthOrPercentageOrAuto}; #[dom_struct] pub struct HTMLTableElement { diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs index 93a4fddc094..5c03a8e045b 100644 --- a/components/script/dom/htmltablerowelement.rs +++ b/components/script/dom/htmltablerowelement.rs @@ -2,6 +2,7 @@ * 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 dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLTableRowElementBinding; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTableRowElementDerived}; @@ -12,8 +13,6 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; use dom::virtualmethods::VirtualMethods; - -use cssparser::RGBA; use std::cell::Cell; use util::str::{self, DOMString}; diff --git a/components/script/dom/htmltablesectionelement.rs b/components/script/dom/htmltablesectionelement.rs index 137d25541fa..8c1eddaa389 100644 --- a/components/script/dom/htmltablesectionelement.rs +++ b/components/script/dom/htmltablesectionelement.rs @@ -2,6 +2,7 @@ * 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 dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTableSectionElementDerived}; @@ -12,8 +13,6 @@ use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeTypeId}; use dom::virtualmethods::VirtualMethods; - -use cssparser::RGBA; use std::cell::Cell; use util::str::{self, DOMString}; diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index fd1713057ee..4234d71b86f 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -27,13 +27,11 @@ use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; use script_task::ScriptTaskEventCategory::InputEvent; use script_task::{Runnable, CommonScriptMsg}; -use textinput::{TextInput, Lines, KeyReaction}; - -use string_cache::Atom; -use util::str::DOMString; - use std::borrow::ToOwned; use std::cell::Cell; +use string_cache::Atom; +use textinput::{TextInput, Lines, KeyReaction}; +use util::str::DOMString; #[dom_struct] pub struct HTMLTextAreaElement { diff --git a/components/script/dom/keyboardevent.rs b/components/script/dom/keyboardevent.rs index 1c8b6255aaa..8aca9b33ae8 100644 --- a/components/script/dom/keyboardevent.rs +++ b/components/script/dom/keyboardevent.rs @@ -16,10 +16,9 @@ use dom::window::Window; use msg::constellation_msg; use msg::constellation_msg::{Key, KeyModifiers}; use msg::constellation_msg::{SHIFT, CONTROL, ALT, SUPER}; -use util::str::DOMString; - use std::borrow::ToOwned; use std::cell::{RefCell, Cell}; +use util::str::DOMString; no_jsmanaged_fields!(Key); diff --git a/components/script/dom/location.rs b/components/script/dom/location.rs index 8b5cf37965e..488fbc973a3 100644 --- a/components/script/dom/location.rs +++ b/components/script/dom/location.rs @@ -11,7 +11,6 @@ use dom::bindings::str::USVString; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::urlhelper::UrlHelper; use dom::window::Window; - use url::{Url, UrlParser}; use util::str::DOMString; diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs index 57b185464bb..895ebfcf1a9 100644 --- a/components/script/dom/messageevent.rs +++ b/components/script/dom/messageevent.rs @@ -12,14 +12,11 @@ use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::event::{Event, EventTypeId}; use dom::eventtarget::EventTarget; - -use util::str::DOMString; - use js::jsapi::{JSContext, Heap, HandleValue}; use js::jsval::JSVal; - use std::borrow::ToOwned; use std::default::Default; +use util::str::DOMString; #[dom_struct] pub struct MessageEvent { diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs index 6989706f64f..485cccf6ab5 100644 --- a/components/script/dom/namednodemap.rs +++ b/components/script/dom/namednodemap.rs @@ -11,9 +11,8 @@ use dom::bindings::js::{JS, Root}; use dom::bindings::utils::{namespace_from_domstring, Reflector, reflect_dom_object}; use dom::element::Element; use dom::window::Window; -use util::str::DOMString; - use string_cache::Atom; +use util::str::DOMString; #[dom_struct] pub struct NamedNodeMap { diff --git a/components/script/dom/navigatorinfo.rs b/components/script/dom/navigatorinfo.rs index d47b02f21dd..a3857f29844 100644 --- a/components/script/dom/navigatorinfo.rs +++ b/components/script/dom/navigatorinfo.rs @@ -2,11 +2,10 @@ * 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 std::borrow::ToOwned; use util::opts; use util::str::DOMString; -use std::borrow::ToOwned; - pub fn Product() -> DOMString { "Gecko".to_owned() } diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index ae725d3d856..c93c5bbe65b 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -4,6 +4,7 @@ //! The core DOM types. Defines the basic DOM hierarchy as well as all the HTML elements. +use core::nonzero::NonZero; use devtools_traits::NodeInfo; use document_loader::DocumentLoader; use dom::attr::Attr; @@ -46,21 +47,15 @@ use dom::text::Text; use dom::virtualmethods::{VirtualMethods, vtable_for}; use dom::window::Window; use euclid::rect::Rect; +use js::jsapi::{JSContext, JSObject, JSRuntime}; use layout_interface::{LayoutChan, Msg}; +use libc; +use libc::{uintptr_t, c_void}; use parse::html::parse_html_fragment; use script_traits::UntrustedNodeAddress; use selectors::matching::matches; use selectors::parser::Selector; use selectors::parser::parse_author_origin_selector_list_from_str; -use style::properties::ComputedValues; -use util::geometry::Au; -use util::str::DOMString; -use util::task_state; - -use core::nonzero::NonZero; -use js::jsapi::{JSContext, JSObject, JSRuntime}; -use libc; -use libc::{uintptr_t, c_void}; use std::borrow::ToOwned; use std::cell::{Cell, RefCell, Ref, RefMut}; use std::default::Default; @@ -69,6 +64,10 @@ use std::mem; use std::slice::ref_slice; use std::sync::Arc; use string_cache::{Atom, Namespace, QualName}; +use style::properties::ComputedValues; +use util::geometry::Au; +use util::str::DOMString; +use util::task_state; use uuid; // diff --git a/components/script/dom/nodeiterator.rs b/components/script/dom/nodeiterator.rs index e81262de32f..34ec3f6c658 100644 --- a/components/script/dom/nodeiterator.rs +++ b/components/script/dom/nodeiterator.rs @@ -14,7 +14,6 @@ use dom::bindings::js::{JS, MutHeap, Root}; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::document::Document; use dom::node::Node; - use std::cell::Cell; use std::rc::Rc; diff --git a/components/script/dom/nodelist.rs b/components/script/dom/nodelist.rs index 3e2bc5145c6..d997cad2558 100644 --- a/components/script/dom/nodelist.rs +++ b/components/script/dom/nodelist.rs @@ -10,7 +10,6 @@ use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::node::{ChildrenMutation, Node}; use dom::window::Window; - use std::cell::Cell; #[derive(JSTraceable, HeapSizeOf)] diff --git a/components/script/dom/range.rs b/components/script/dom/range.rs index 1b29c7333da..3373d129169 100644 --- a/components/script/dom/range.rs +++ b/components/script/dom/range.rs @@ -20,7 +20,6 @@ use dom::characterdata::CharacterDataTypeId; use dom::document::Document; use dom::documentfragment::DocumentFragment; use dom::node::{Node, NodeTypeId}; - use std::cell::RefCell; use std::cmp::{Ord, Ordering, PartialEq, PartialOrd}; use std::rc::Rc; diff --git a/components/script/dom/servohtmlparser.rs b/components/script/dom/servohtmlparser.rs index 75d060ddf29..b5eaa321473 100644 --- a/components/script/dom/servohtmlparser.rs +++ b/components/script/dom/servohtmlparser.rs @@ -18,13 +18,6 @@ use dom::document::Document; use dom::node::{window_from_node, Node}; use dom::text::Text; use dom::window::Window; -use network_listener::PreInvoke; -use parse::Parser; -use script_task::{ScriptTask, ScriptChan}; - -use msg::constellation_msg::{PipelineId, SubpageId}; -use net_traits::{Metadata, AsyncResponseListener}; - use encoding::all::UTF_8; use encoding::types::{Encoding, DecoderTrap}; use html5ever::tokenizer; @@ -33,6 +26,11 @@ use html5ever::tree_builder::{NodeOrText, TreeBuilder, TreeBuilderOpts}; use hyper::header::ContentType; use hyper::mime::{Mime, TopLevel, SubLevel}; use js::jsapi::JSTracer; +use msg::constellation_msg::{PipelineId, SubpageId}; +use net_traits::{Metadata, AsyncResponseListener}; +use network_listener::PreInvoke; +use parse::Parser; +use script_task::{ScriptTask, ScriptChan}; use std::cell::{Cell, RefCell}; use std::default::Default; use url::Url; diff --git a/components/script/dom/storageevent.rs b/components/script/dom/storageevent.rs index 3b623390e46..db5b8a0f608 100644 --- a/components/script/dom/storageevent.rs +++ b/components/script/dom/storageevent.rs @@ -5,7 +5,6 @@ use dom::bindings::codegen::Bindings::EventBinding::{EventMethods}; use dom::bindings::codegen::Bindings::StorageEventBinding; use dom::bindings::codegen::Bindings::StorageEventBinding::{StorageEventMethods}; - use dom::bindings::codegen::InheritTypes::{EventCast}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index e050f799c8f..93285b1ea35 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -20,14 +20,12 @@ use dom::bindings::num::Finite; use dom::bindings::str::{ByteString, USVString}; use dom::bindings::utils::Reflector; use dom::blob::Blob; -use util::str::DOMString; - use js::jsapi::{JSContext, JSObject, HandleValue}; use js::jsval::{JSVal, NullValue}; - use std::borrow::ToOwned; use std::ptr; use std::rc::Rc; +use util::str::DOMString; #[dom_struct] pub struct TestBinding { diff --git a/components/script/dom/textdecoder.rs b/components/script/dom/textdecoder.rs index e058562bebb..cecb84a73ac 100644 --- a/components/script/dom/textdecoder.rs +++ b/components/script/dom/textdecoder.rs @@ -10,18 +10,15 @@ use dom::bindings::js::Root; use dom::bindings::str::USVString; use dom::bindings::trace::JSTraceable; use dom::bindings::utils::{Reflector, reflect_dom_object}; - -use util::str::DOMString; - use encoding::Encoding; use encoding::label::encoding_from_whatwg_label; use encoding::types::{EncodingRef, DecoderTrap}; use js::jsapi::JS_GetObjectAsArrayBufferView; use js::jsapi::{JSContext, JSObject}; - use std::borrow::ToOwned; use std::ptr; use std::slice; +use util::str::DOMString; #[dom_struct] pub struct TextDecoder { diff --git a/components/script/dom/textencoder.rs b/components/script/dom/textencoder.rs index 7144ad77330..8e0e5daa55e 100644 --- a/components/script/dom/textencoder.rs +++ b/components/script/dom/textencoder.rs @@ -10,19 +10,15 @@ use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::str::USVString; use dom::bindings::utils::{Reflector, reflect_dom_object}; - -use util::str::DOMString; - -use std::borrow::ToOwned; -use std::ptr; - use encoding::label::encoding_from_whatwg_label; use encoding::types::EncodingRef; use encoding::{Encoding, EncoderTrap}; - use js::jsapi::{JSContext, JSObject}; use js::jsapi::{JS_NewUint8Array, JS_GetUint8ArrayData}; use libc::uint8_t; +use std::borrow::ToOwned; +use std::ptr; +use util::str::DOMString; #[dom_struct] pub struct TextEncoder { diff --git a/components/script/dom/uievent.rs b/components/script/dom/uievent.rs index ff9c2beab6b..28434e0a9f8 100644 --- a/components/script/dom/uievent.rs +++ b/components/script/dom/uievent.rs @@ -10,14 +10,12 @@ use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::js::{JS, MutNullableHeap, RootedReference}; - use dom::bindings::utils::reflect_dom_object; use dom::event::{Event, EventTypeId, EventBubbles, EventCancelable}; use dom::window::Window; -use util::str::DOMString; - use std::cell::Cell; use std::default::Default; +use util::str::DOMString; #[derive(JSTraceable, PartialEq, HeapSizeOf)] pub enum UIEventTypeId { diff --git a/components/script/dom/url.rs b/components/script/dom/url.rs index f34428d4bbb..4a3bb19a776 100644 --- a/components/script/dom/url.rs +++ b/components/script/dom/url.rs @@ -9,12 +9,10 @@ use dom::bindings::js::Root; use dom::bindings::str::USVString; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::urlhelper::UrlHelper; - -use url::{Host, ParseResult, Url, UrlParser}; -use util::str::DOMString; - use std::borrow::ToOwned; use std::cell::RefCell; +use url::{Host, ParseResult, Url, UrlParser}; +use util::str::DOMString; // https://url.spec.whatwg.org/#url #[dom_struct] diff --git a/components/script/dom/urlhelper.rs b/components/script/dom/urlhelper.rs index 684d6666e0c..61d81890fdf 100644 --- a/components/script/dom/urlhelper.rs +++ b/components/script/dom/urlhelper.rs @@ -3,13 +3,10 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::str::USVString; - -use url::{Url, UrlParser, SchemeData}; - -use url::urlutils::{UrlUtils, UrlUtilsWrapper}; - use std::borrow::ToOwned; use std::fmt::Write; +use url::urlutils::{UrlUtils, UrlUtilsWrapper}; +use url::{Url, UrlParser, SchemeData}; #[derive(HeapSizeOf)] pub struct UrlHelper; diff --git a/components/script/dom/urlsearchparams.rs b/components/script/dom/urlsearchparams.rs index 3c5b7800434..37fa56da04b 100644 --- a/components/script/dom/urlsearchparams.rs +++ b/components/script/dom/urlsearchparams.rs @@ -11,7 +11,6 @@ use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::{Reflector, reflect_dom_object}; - use encoding::types::EncodingRef; use url::form_urlencoded::{parse, serialize_with_encoding}; use util::str::DOMString; diff --git a/components/script/dom/virtualmethods.rs b/components/script/dom/virtualmethods.rs index 135670cbbc3..137843fb5ff 100644 --- a/components/script/dom/virtualmethods.rs +++ b/components/script/dom/virtualmethods.rs @@ -39,10 +39,9 @@ use dom::event::Event; use dom::htmlelement::HTMLElementTypeId; use dom::node::NodeTypeId; use dom::node::{ChildrenMutation, CloneChildrenFlag, Node}; - +use string_cache::Atom; use util::str::DOMString; -use string_cache::Atom; /// Trait to allow DOM nodes to opt-in to overriding (or adding to) common /// behaviours. Replicates the effect of C++ virtual methods. diff --git a/components/script/dom/webglbuffer.rs b/components/script/dom/webglbuffer.rs index e5fc0295a90..05f8d7263bb 100644 --- a/components/script/dom/webglbuffer.rs +++ b/components/script/dom/webglbuffer.rs @@ -3,13 +3,12 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl +use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLError, WebGLResult}; use dom::bindings::codegen::Bindings::WebGLBufferBinding; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::webglobject::WebGLObject; - -use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLError, WebGLResult}; use ipc_channel::ipc::{self, IpcSender}; use std::cell::Cell; diff --git a/components/script/dom/webglframebuffer.rs b/components/script/dom/webglframebuffer.rs index c387fc2d711..a3a9781fbfb 100644 --- a/components/script/dom/webglframebuffer.rs +++ b/components/script/dom/webglframebuffer.rs @@ -3,13 +3,12 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl +use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLFramebufferBindingRequest}; use dom::bindings::codegen::Bindings::WebGLFramebufferBinding; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::webglobject::WebGLObject; - -use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLFramebufferBindingRequest}; use ipc_channel::ipc::{self, IpcSender}; use std::cell::Cell; diff --git a/components/script/dom/webglprogram.rs b/components/script/dom/webglprogram.rs index 2a1a0cfc6a5..231a16017c0 100644 --- a/components/script/dom/webglprogram.rs +++ b/components/script/dom/webglprogram.rs @@ -3,17 +3,15 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl +use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLResult, WebGLError}; use dom::bindings::codegen::Bindings::WebGLProgramBinding; +use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::utils::reflect_dom_object; use dom::webglobject::WebGLObject; use dom::webglrenderingcontext::MAX_UNIFORM_AND_ATTRIBUTE_LEN; use dom::webglshader::WebGLShader; - -use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants; - -use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLResult, WebGLError}; use ipc_channel::ipc::{self, IpcSender}; use std::cell::Cell; diff --git a/components/script/dom/webglrenderbuffer.rs b/components/script/dom/webglrenderbuffer.rs index a8d963894b6..b01bcce896a 100644 --- a/components/script/dom/webglrenderbuffer.rs +++ b/components/script/dom/webglrenderbuffer.rs @@ -3,13 +3,12 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl +use canvas_traits::{CanvasMsg, CanvasWebGLMsg}; use dom::bindings::codegen::Bindings::WebGLRenderbufferBinding; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::webglobject::WebGLObject; - -use canvas_traits::{CanvasMsg, CanvasWebGLMsg}; use ipc_channel::ipc::{self, IpcSender}; use std::cell::Cell; diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 64e59cd4ee7..da77c58a565 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -10,7 +10,6 @@ use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::{WebGLRender use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::{self, WebGLContextAttributes}; use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::codegen::UnionTypes::ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement; - use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::global::{GlobalRef, GlobalField}; use dom::bindings::js::{JS, LayoutJS, Root}; @@ -30,11 +29,10 @@ use ipc_channel::ipc::{self, IpcSender}; use js::jsapi::{JSContext, JSObject, RootedValue}; use js::jsapi::{JS_GetFloat32ArrayData, JS_GetObjectAsArrayBufferView}; use js::jsval::{JSVal, UndefinedValue, NullValue, Int32Value, BooleanValue}; - use msg::constellation_msg::Msg as ConstellationMsg; use net_traits::image::base::PixelFormat; use net_traits::image_cache_task::ImageResponse; - +use offscreen_gl_context::GLContextAttributes; use std::cell::Cell; use std::mem; use std::ptr; @@ -43,8 +41,6 @@ use std::sync::mpsc::channel; use util::str::DOMString; use util::vec::byte_swap; -use offscreen_gl_context::GLContextAttributes; - pub const MAX_UNIFORM_AND_ATTRIBUTE_LEN: usize = 256; macro_rules! handle_potential_webgl_error { diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index bcad061853f..fcaf3578b02 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -3,16 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl +use angle::hl::{BuiltInResources, Output, ShaderValidator}; +use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLResult, WebGLError, WebGLShaderParameter}; +use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants; use dom::bindings::codegen::Bindings::WebGLShaderBinding; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::webglobject::WebGLObject; - -use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants; - -use angle::hl::{BuiltInResources, Output, ShaderValidator}; -use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLResult, WebGLError, WebGLShaderParameter}; use ipc_channel::ipc::{self, IpcSender}; use std::cell::Cell; use std::cell::RefCell; diff --git a/components/script/dom/webgltexture.rs b/components/script/dom/webgltexture.rs index 6bb91217bbd..fb8ee4033fd 100644 --- a/components/script/dom/webgltexture.rs +++ b/components/script/dom/webgltexture.rs @@ -3,14 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl +use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLError, WebGLResult}; use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants; use dom::bindings::codegen::Bindings::WebGLTextureBinding; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::webglobject::WebGLObject; - -use canvas_traits::{CanvasMsg, CanvasWebGLMsg, WebGLError, WebGLResult}; use ipc_channel::ipc::{self, IpcSender}; use std::cell::Cell; diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 2bf84d609e7..4dc3d84c536 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -22,18 +22,20 @@ use dom::closeevent::CloseEvent; use dom::event::{Event, EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; use dom::messageevent::MessageEvent; -use script_task::ScriptTaskEventCategory::WebSocketEvent; -use script_task::{Runnable, CommonScriptMsg}; - -use net_traits::hosts::replace_hosts; -use util::str::DOMString; -use util::task::spawn_named; - use hyper::header::Host; use js::jsapi::{JS_NewArrayBuffer, JS_GetArrayBufferData}; use js::jsapi::{RootedValue, JSAutoRequest, JSAutoCompartment}; use js::jsval::UndefinedValue; use libc::{uint8_t, uint32_t}; +use net_traits::hosts::replace_hosts; +use script_task::ScriptTaskEventCategory::WebSocketEvent; +use script_task::{Runnable, CommonScriptMsg}; +use std::borrow::ToOwned; +use std::cell::{Cell, RefCell}; +use std::ptr; +use std::sync::{Arc, Mutex}; +use util::str::DOMString; +use util::task::spawn_named; use websocket::Client; use websocket::Message; use websocket::client::receiver::Receiver; @@ -46,11 +48,6 @@ use websocket::ws::receiver::Receiver as WSReceiver; use websocket::ws::sender::Sender as Sender_Object; use websocket::ws::util::url::parse_url; -use std::borrow::ToOwned; -use std::cell::{Cell, RefCell}; -use std::ptr; -use std::sync::{Arc, Mutex}; - #[derive(JSTraceable, PartialEq, Copy, Clone, Debug, HeapSizeOf)] enum WebSocketRequestState { Connecting = 0, diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 16c146f91fe..583f3b68780 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -2,6 +2,7 @@ * 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, TimelineMarker, TimelineMarkerType}; use dom::bindings::callback::ExceptionHandling; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; @@ -31,28 +32,6 @@ use dom::node::{window_from_node, TrustedNodeAddress, from_untrusted_node_addres use dom::performance::Performance; use dom::screen::Screen; use dom::storage::Storage; -use layout_interface::{ContentBoxResponse, ContentBoxesResponse, ResolvedStyleResponse, ScriptReflow}; -use layout_interface::{ReflowGoal, ReflowQueryType, LayoutRPC, LayoutChan, Reflow, Msg}; -use page::Page; -use script_task::{SendableMainThreadScriptChan, MainThreadScriptChan}; -use script_task::{TimerSource, ScriptChan, ScriptPort, MainThreadScriptMsg}; -use script_traits::ConstellationControlMsg; -use timers::{IsInterval, TimerId, TimerManager, TimerCallback}; -use webdriver_handlers::jsval_to_webdriver; - -use devtools_traits::{ScriptToDevtoolsControlMsg, TimelineMarker, TimelineMarkerType}; -use msg::compositor_msg::{ScriptToCompositorMsg, LayerId}; -use msg::constellation_msg::{LoadData, PipelineId, SubpageId, ConstellationChan, WindowSizeData, WorkerId}; -use msg::webdriver_msg::{WebDriverJSError, WebDriverJSResult}; -use net_traits::ResourceTask; -use net_traits::image_cache_task::{ImageCacheChan, ImageCacheTask}; -use net_traits::storage_task::{StorageTask, StorageType}; -use profile_traits::mem; -use string_cache::Atom; -use util::geometry::{self, Au, MAX_RECT}; -use util::str::{DOMString, HTML_SPACE_CHARACTERS}; -use util::{breakpoint, opts}; - use euclid::{Point2D, Rect, Size2D}; use ipc_channel::ipc::{self, IpcSender}; use js::jsapi::{Evaluate2, MutableHandleValue}; @@ -60,12 +39,23 @@ use js::jsapi::{JSContext, HandleValue}; use js::jsapi::{JS_GC, JS_GetRuntime, JSAutoCompartment, JSAutoRequest}; use js::rust::CompileOptionsWrapper; use js::rust::Runtime; -use selectors::parser::PseudoElement; -use url::Url; - +use layout_interface::{ContentBoxResponse, ContentBoxesResponse, ResolvedStyleResponse, ScriptReflow}; +use layout_interface::{ReflowGoal, ReflowQueryType, LayoutRPC, LayoutChan, Reflow, Msg}; use libc; +use msg::compositor_msg::{ScriptToCompositorMsg, LayerId}; +use msg::constellation_msg::{LoadData, PipelineId, SubpageId, ConstellationChan, WindowSizeData, WorkerId}; +use msg::webdriver_msg::{WebDriverJSError, WebDriverJSResult}; +use net_traits::ResourceTask; +use net_traits::image_cache_task::{ImageCacheChan, ImageCacheTask}; +use net_traits::storage_task::{StorageTask, StorageType}; use num::traits::ToPrimitive; +use page::Page; +use profile_traits::mem; use rustc_serialize::base64::{FromBase64, ToBase64, STANDARD}; +use script_task::{SendableMainThreadScriptChan, MainThreadScriptChan}; +use script_task::{TimerSource, ScriptChan, ScriptPort, MainThreadScriptMsg}; +use script_traits::ConstellationControlMsg; +use selectors::parser::PseudoElement; use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::cell::{Cell, Ref, RefCell}; @@ -78,7 +68,14 @@ use std::rc::Rc; use std::sync::Arc; use std::sync::mpsc::TryRecvError::{Empty, Disconnected}; use std::sync::mpsc::{channel, Receiver, Sender}; +use string_cache::Atom; use time; +use timers::{IsInterval, TimerId, TimerManager, TimerCallback}; +use url::Url; +use util::geometry::{self, Au, MAX_RECT}; +use util::str::{DOMString, HTML_SPACE_CHARACTERS}; +use util::{breakpoint, opts}; +use webdriver_handlers::jsval_to_webdriver; /// Current state of the window object #[derive(JSTraceable, Copy, Clone, Debug, PartialEq, HeapSizeOf)] diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index 92053392db7..efbde8eee1a 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -2,6 +2,7 @@ * 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 dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::WorkerBinding; use dom::bindings::codegen::Bindings::WorkerBinding::WorkerMethods; @@ -20,19 +21,15 @@ use dom::event::{Event, EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; use dom::messageevent::MessageEvent; use dom::workerglobalscope::WorkerGlobalScopeInit; - -use devtools_traits::{DevtoolsPageInfo, ScriptToDevtoolsControlMsg}; -use script_task::{ScriptChan, Runnable}; - use ipc_channel::ipc; use js::jsapi::{JSAutoRequest, JSAutoCompartment}; use js::jsapi::{JSContext, HandleValue, RootedValue}; use js::jsval::UndefinedValue; -use url::UrlParser; -use util::str::DOMString; - +use script_task::{ScriptChan, Runnable}; use std::borrow::ToOwned; use std::sync::mpsc::{channel, Sender}; +use url::UrlParser; +use util::str::DOMString; pub type TrustedWorkerAddress = Trusted<Worker>; diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs index 4fbd17a7413..3d5d459d4e2 100644 --- a/components/script/dom/workerglobalscope.rs +++ b/components/script/dom/workerglobalscope.rs @@ -2,6 +2,7 @@ * 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, DevtoolScriptControlMsg}; use dom::bindings::codegen::Bindings::FunctionBinding::Function; use dom::bindings::codegen::Bindings::WorkerGlobalScopeBinding::WorkerGlobalScopeMethods; use dom::bindings::codegen::InheritTypes::DedicatedWorkerGlobalScopeCast; @@ -16,25 +17,20 @@ use dom::eventtarget::EventTarget; use dom::window::{base64_atob, base64_btoa}; use dom::workerlocation::WorkerLocation; use dom::workernavigator::WorkerNavigator; -use script_task::{CommonScriptMsg, ScriptChan, TimerSource, ScriptPort}; -use timers::{IsInterval, TimerId, TimerManager, TimerCallback}; - -use devtools_traits::{ScriptToDevtoolsControlMsg, DevtoolScriptControlMsg}; - -use msg::constellation_msg::{ConstellationChan, PipelineId, WorkerId}; -use net_traits::{load_whole_resource, ResourceTask}; -use profile_traits::mem; -use util::str::DOMString; - use ipc_channel::ipc::IpcSender; use js::jsapi::{JSContext, HandleValue, JSAutoRequest}; use js::rust::Runtime; -use url::{Url, UrlParser}; - +use msg::constellation_msg::{ConstellationChan, PipelineId, WorkerId}; +use net_traits::{load_whole_resource, ResourceTask}; +use profile_traits::mem; +use script_task::{CommonScriptMsg, ScriptChan, TimerSource, ScriptPort}; use std::cell::Cell; use std::default::Default; use std::rc::Rc; use std::sync::mpsc::Receiver; +use timers::{IsInterval, TimerId, TimerManager, TimerCallback}; +use url::{Url, UrlParser}; +use util::str::DOMString; #[derive(Copy, Clone, PartialEq)] pub enum WorkerGlobalScopeTypeId { diff --git a/components/script/dom/workerlocation.rs b/components/script/dom/workerlocation.rs index bd62cc57043..467d2fef7ee 100644 --- a/components/script/dom/workerlocation.rs +++ b/components/script/dom/workerlocation.rs @@ -10,7 +10,6 @@ use dom::bindings::str::USVString; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::urlhelper::UrlHelper; use dom::workerglobalscope::WorkerGlobalScope; - use url::Url; use util::str::DOMString; diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 743c0e2f6dd..7fa69f701a5 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -2,6 +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 cors::CORSResponse; +use cors::{allow_cross_origin_request, CORSRequest, RequestMode, AsyncCORSResponseListener}; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::XMLHttpRequestBinding; @@ -9,6 +11,8 @@ use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestMetho use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseType; use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseType::{_empty, Json, Text}; use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, XMLHttpRequestDerived}; +use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams; +use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams::{eString, eURLSearchParams}; use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::error::Error::{InvalidState, InvalidAccess}; use dom::bindings::error::Error::{Network, Syntax, Security, Abort, Timeout}; @@ -26,35 +30,25 @@ use dom::progressevent::ProgressEvent; use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTarget; use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId; use dom::xmlhttprequestupload::XMLHttpRequestUpload; -use network_listener::{NetworkListener, PreInvoke}; -use script_task::ScriptTaskEventCategory::XhrEvent; -use script_task::{ScriptChan, Runnable, ScriptPort, CommonScriptMsg}; - use encoding::all::UTF_8; use encoding::label::encoding_from_whatwg_label; use encoding::types::{DecoderTrap, Encoding, EncodingRef, EncoderTrap}; - use hyper::header::Headers; use hyper::header::{Accept, ContentLength, ContentType, qitem}; use hyper::http::RawStatus; use hyper::method::Method; use hyper::mime::{self, Mime}; - +use ipc_channel::ipc; +use ipc_channel::router::ROUTER; use js::jsapi::JS_ClearPendingException; use js::jsapi::{JS_ParseJSON, JSContext, RootedValue}; use js::jsval::{JSVal, NullValue, UndefinedValue}; - -use cors::CORSResponse; -use cors::{allow_cross_origin_request, CORSRequest, RequestMode, AsyncCORSResponseListener}; use net_traits::ControlMsg::Load; use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata}; use net_traits::{ResourceTask, ResourceCORSData, LoadData, LoadConsumer}; -use util::mem::HeapSizeOf; -use util::str::DOMString; -use util::task::spawn_named; - -use ipc_channel::ipc; -use ipc_channel::router::ROUTER; +use network_listener::{NetworkListener, PreInvoke}; +use script_task::ScriptTaskEventCategory::XhrEvent; +use script_task::{ScriptChan, Runnable, ScriptPort, CommonScriptMsg}; use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::cell::{RefCell, Cell}; @@ -64,9 +58,9 @@ use std::sync::{Mutex, Arc}; use std::thread::sleep_ms; use time; use url::{Url, UrlParser}; - -use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams; -use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams::{eString, eURLSearchParams}; +use util::mem::HeapSizeOf; +use util::str::DOMString; +use util::task::spawn_named; pub type SendParam = StringOrURLSearchParams; diff --git a/components/script/layout_interface.rs b/components/script/layout_interface.rs index 053c58dc387..22f2f808f04 100644 --- a/components/script/layout_interface.rs +++ b/components/script/layout_interface.rs @@ -7,7 +7,6 @@ //! the DOM to be placed in a separate crate from layout. use dom::node::LayoutData; - use euclid::point::Point2D; use euclid::rect::Rect; use ipc_channel::ipc::{IpcReceiver, IpcSender}; diff --git a/components/script/page.rs b/components/script/page.rs index 25dd39cad6e..ce778d8bca9 100644 --- a/components/script/page.rs +++ b/components/script/page.rs @@ -6,7 +6,6 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::js::{JS, Root}; use dom::document::Document; use dom::window::Window; - use msg::constellation_msg::PipelineId; use std::cell::Cell; use std::rc::Rc; diff --git a/components/script/parse/html.rs b/components/script/parse/html.rs index 8aec2e816e4..6bdd6d5bde0 100644 --- a/components/script/parse/html.rs +++ b/components/script/parse/html.rs @@ -25,16 +25,14 @@ use dom::node::{Node, NodeTypeId}; use dom::node::{document_from_node, window_from_node}; use dom::servohtmlparser; use dom::servohtmlparser::{ServoHTMLParser, FragmentContext}; -use parse::Parser; - use encoding::types::Encoding; - use html5ever::Attribute; use html5ever::serialize::TraversalScope; use html5ever::serialize::TraversalScope::{IncludeNode, ChildrenOnly}; use html5ever::serialize::{Serializable, Serializer, AttrRef}; use html5ever::tree_builder::{NextParserState, NodeOrText, QuirksMode, TreeSink}; use msg::constellation_msg::PipelineId; +use parse::Parser; use std::borrow::Cow; use std::io::{self, Write}; use string_cache::QualName; diff --git a/components/script/script_task.rs b/components/script/script_task.rs index 3914e5ff9d2..7c7292c2abc 100644 --- a/components/script/script_task.rs +++ b/components/script/script_task.rs @@ -20,6 +20,8 @@ #![allow(unsafe_code)] use devtools; +use devtools_traits::ScriptToDevtoolsControlMsg; +use devtools_traits::{DevtoolsPageInfo, DevtoolScriptControlMsg}; use document_loader::{LoadType, DocumentLoader, NotifierData}; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::DocumentBinding::{DocumentMethods, DocumentReadyState}; @@ -41,17 +43,26 @@ use dom::servohtmlparser::{ServoHTMLParser, ParserContext}; use dom::uievent::UIEvent; use dom::window::{Window, ScriptHelpers, ReflowReason}; use dom::worker::TrustedWorkerAddress; +use euclid::Rect; +use euclid::point::Point2D; +use hyper::header::{ContentType, HttpDate}; +use hyper::header::{LastModified, Headers}; +use hyper::method::Method; +use hyper::mime::{Mime, TopLevel, SubLevel}; +use ipc_channel::ipc::{self, IpcSender}; +use ipc_channel::router::ROUTER; +use js::glue::CollectServoSizes; +use js::jsapi::{JSContext, JSRuntime, JSTracer}; +use js::jsapi::{JSGCInvocationKind, GCDescription, SetGCSliceCallback, GCProgress}; +use js::jsapi::{JS_GetRuntime, JS_SetGCCallback, JSGCStatus, JSAutoRequest, SetDOMCallbacks}; +use js::jsapi::{JS_SetWrapObjectCallbacks, JS_AddExtraGCRootsTracer, DisableIncrementalGC}; +use js::jsapi::{SetDOMProxyInformation, DOMProxyShadowsResult, HandleObject, HandleId, RootedValue}; +use js::jsval::UndefinedValue; +use js::rust::Runtime; use layout_interface::{ReflowQueryType}; use layout_interface::{self, NewLayoutTaskInfo, ScriptLayoutChan, LayoutChan, ReflowGoal}; +use libc; use mem::heap_size_of_eventtarget; -use network_listener::NetworkListener; -use page::{Page, IterablePage, Frame}; -use parse::html::{ParseContext, parse_html}; -use timers::TimerId; -use webdriver_handlers; - -use devtools_traits::ScriptToDevtoolsControlMsg; -use devtools_traits::{DevtoolsPageInfo, DevtoolScriptControlMsg}; use msg::compositor_msg::{LayerId, ScriptToCompositorMsg}; use msg::constellation_msg::Msg as ConstellationMsg; use msg::constellation_msg::{ConstellationChan, FocusType, LoadData}; @@ -62,6 +73,9 @@ use net_traits::LoadData as NetLoadData; use net_traits::image_cache_task::{ImageCacheChan, ImageCacheTask, ImageCacheResult}; use net_traits::storage_task::StorageTask; use net_traits::{AsyncResponseTarget, ResourceTask, LoadConsumer, ControlMsg, Metadata}; +use network_listener::NetworkListener; +use page::{Page, IterablePage, Frame}; +use parse::html::{ParseContext, parse_html}; use profile_traits::mem::{self, Report, ReportKind, ReportsChan, OpaqueSender}; use profile_traits::time::{self, ProfilerCategory, profile}; use script_traits::CompositorEvent::{MouseDownEvent, MouseUpEvent}; @@ -70,29 +84,6 @@ use script_traits::CompositorEvent::{ResizeEvent, ClickEvent}; use script_traits::{CompositorEvent, ConstellationControlMsg}; use script_traits::{InitialScriptState, MouseButton, NewLayoutInfo}; use script_traits::{OpaqueScriptLayoutChannel, ScriptState, ScriptTaskFactory}; -use string_cache::Atom; -use util::opts; -use util::str::DOMString; -use util::task::spawn_named_with_send_on_failure; -use util::task_state; - -use euclid::Rect; -use euclid::point::Point2D; -use hyper::header::{LastModified, Headers}; -use hyper::method::Method; -use ipc_channel::ipc::{self, IpcSender}; -use ipc_channel::router::ROUTER; -use js::glue::CollectServoSizes; -use js::jsapi::{JSContext, JSRuntime, JSTracer}; -use js::jsapi::{JSGCInvocationKind, GCDescription, SetGCSliceCallback, GCProgress}; -use js::jsapi::{JS_GetRuntime, JS_SetGCCallback, JSGCStatus, JSAutoRequest, SetDOMCallbacks}; -use js::jsapi::{JS_SetWrapObjectCallbacks, JS_AddExtraGCRootsTracer, DisableIncrementalGC}; -use js::jsapi::{SetDOMProxyInformation, DOMProxyShadowsResult, HandleObject, HandleId, RootedValue}; -use js::jsval::UndefinedValue; -use js::rust::Runtime; -use url::{Url, UrlParser}; - -use libc; use std::any::Any; use std::borrow::ToOwned; use std::cell::{Cell, RefCell}; @@ -105,10 +96,15 @@ use std::rc::Rc; use std::result::Result; use std::sync::mpsc::{channel, Sender, Receiver, Select}; use std::sync::{Arc, Mutex}; +use string_cache::Atom; use time::{now, Tm}; - -use hyper::header::{ContentType, HttpDate}; -use hyper::mime::{Mime, TopLevel, SubLevel}; +use timers::TimerId; +use url::{Url, UrlParser}; +use util::opts; +use util::str::DOMString; +use util::task::spawn_named_with_send_on_failure; +use util::task_state; +use webdriver_handlers; thread_local!(pub static STACK_ROOTS: Cell<Option<RootCollectionPtr>> = Cell::new(None)); thread_local!(static SCRIPT_TASK_ROOT: RefCell<Option<*const ScriptTask>> = RefCell::new(None)); diff --git a/components/script/textinput.rs b/components/script/textinput.rs index 0adffc77d34..39fce074558 100644 --- a/components/script/textinput.rs +++ b/components/script/textinput.rs @@ -8,12 +8,11 @@ use clipboard_provider::ClipboardProvider; use dom::keyboardevent::{KeyboardEvent, key_value}; use msg::constellation_msg::{Key, KeyModifiers}; use msg::constellation_msg::{SHIFT, CONTROL, ALT, SUPER}; -use util::mem::HeapSizeOf; -use util::str::DOMString; - use std::borrow::ToOwned; use std::cmp::{min, max}; use std::default::Default; +use util::mem::HeapSizeOf; +use util::str::DOMString; #[derive(Copy, Clone, PartialEq)] diff --git a/components/script/timers.rs b/components/script/timers.rs index 8fd712e7ac6..979f03396ee 100644 --- a/components/script/timers.rs +++ b/components/script/timers.rs @@ -8,17 +8,10 @@ use dom::bindings::codegen::Bindings::FunctionBinding::Function; use dom::bindings::global::global_object_for_js_object; use dom::bindings::utils::Reflectable; use dom::window::ScriptHelpers; - use horribly_inefficient_timers; -use script_task::{ScriptChan, TimerSource, CommonScriptMsg}; - -use util::mem::HeapSizeOf; -use util::str::DOMString; -use util::task::spawn_named; - use js::jsapi::{RootedValue, HandleValue, Heap}; use js::jsval::{JSVal, UndefinedValue}; - +use script_task::{ScriptChan, TimerSource, CommonScriptMsg}; use std::borrow::ToOwned; use std::cell::Cell; use std::cmp; @@ -28,6 +21,10 @@ use std::hash::{Hash, Hasher}; use std::rc::Rc; use std::sync::mpsc::Select; use std::sync::mpsc::{channel, Sender}; +use util::mem::HeapSizeOf; +use util::str::DOMString; +use util::task::spawn_named; + #[derive(JSTraceable, PartialEq, Eq, Copy, Clone, HeapSizeOf)] pub struct TimerId(i32); diff --git a/components/script/webdriver_handlers.rs b/components/script/webdriver_handlers.rs index 5c97eca42cb..c7a834bade7 100644 --- a/components/script/webdriver_handlers.rs +++ b/components/script/webdriver_handlers.rs @@ -13,6 +13,7 @@ use dom::bindings::conversions::StringificationBehavior; use dom::bindings::js::Root; use dom::node::Node; use dom::window::ScriptHelpers; +use ipc_channel::ipc::IpcSender; use js::jsapi::JSContext; use js::jsapi::{RootedValue, HandleValue}; use js::jsval::UndefinedValue; @@ -20,8 +21,6 @@ use msg::constellation_msg::{PipelineId, SubpageId}; use msg::webdriver_msg::{WebDriverJSValue, WebDriverJSError, WebDriverJSResult, WebDriverFrameId}; use page::Page; use script_task::get_page; - -use ipc_channel::ipc::IpcSender; use std::rc::Rc; use url::Url; diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 87f336265a8..ae5e9b22bb6 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -22,6 +22,8 @@ extern crate util; extern crate url; use devtools_traits::ScriptToDevtoolsControlMsg; +use euclid::point::Point2D; +use euclid::rect::Rect; use ipc_channel::ipc::{IpcReceiver, IpcSender}; use libc::c_void; use msg::compositor_msg::{Epoch, LayerId, ScriptToCompositorMsg}; @@ -38,9 +40,6 @@ use std::sync::mpsc::{Receiver, Sender}; use url::Url; use util::geometry::Au; -use euclid::point::Point2D; -use euclid::rect::Rect; - /// The address of a node. Layout sends these back. They must be validated via /// `from_untrusted_node_address` before they can be used, because we do not trust layout. #[allow(raw_pointer_derive)] diff --git a/components/servo/lib.rs b/components/servo/lib.rs index 4dcf43c6a10..91ef9939a90 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -79,31 +79,26 @@ pub use export::layers; pub use export::gleam::gl; use compositing::CompositorEventListener; -use compositing::windowing::WindowEvent; - use compositing::compositor_task::InitialCompositorState; use compositing::constellation::InitialConstellationState; +use compositing::windowing::WindowEvent; use compositing::windowing::WindowMethods; use compositing::{CompositorProxy, CompositorTask, Constellation}; - +use gfx::font_cache_task::FontCacheTask; use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::Msg as ConstellationMsg; - use net::image_cache_task::new_image_cache_task; use net::resource_task::new_resource_task; use net::storage_task::StorageTaskFactory; use net_traits::storage_task::StorageTask; - -use gfx::font_cache_task::FontCacheTask; use profile::mem as profile_mem; use profile::time as profile_time; use profile_traits::mem; use profile_traits::time; -use util::opts; - use std::borrow::Borrow; use std::rc::Rc; use std::sync::mpsc::Sender; +use util::opts; pub struct Browser { compositor: Box<CompositorEventListener + 'static>, diff --git a/components/servo/main.rs b/components/servo/main.rs index d4bf94e33b2..66b5b670547 100644 --- a/components/servo/main.rs +++ b/components/servo/main.rs @@ -33,10 +33,9 @@ use servo::Browser; use servo::compositing::windowing::WindowEvent; use servo::net_traits::hosts; use servo::util::opts; -use std::rc::Rc; - #[cfg(target_os = "android")] use std::borrow::ToOwned; +use std::rc::Rc; fn main() { env_logger::init().unwrap(); diff --git a/components/style/animation.rs b/components/style/animation.rs index 247ceb6b2a5..b7104da5683 100644 --- a/components/style/animation.rs +++ b/components/style/animation.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use cssparser::{RGBA, Color}; +use euclid::point::Point2D; use properties::ComputedValues; use properties::longhands::background_position::computed_value::T as BackgroundPosition; use properties::longhands::border_spacing::computed_value::T as BorderSpacing; @@ -21,15 +22,13 @@ use properties::longhands::transition_timing_function::computed_value::{Transiti use properties::longhands::vertical_align::computed_value::T as VerticalAlign; use properties::longhands::visibility::computed_value::T as Visibility; use properties::longhands::z_index::computed_value::T as ZIndex; -use values::CSSFloat; -use values::computed::{Angle, LengthOrPercentageOrAuto, LengthOrPercentageOrNone}; -use values::computed::{LengthOrPercentage, Length, Time}; - -use euclid::point::Point2D; use std::cmp::Ordering; use std::iter::repeat; use util::bezier::Bezier; use util::geometry::Au; +use values::CSSFloat; +use values::computed::{Angle, LengthOrPercentageOrAuto, LengthOrPercentageOrNone}; +use values::computed::{LengthOrPercentage, Length, Time}; #[derive(Clone, Debug)] pub struct PropertyAnimation { diff --git a/components/style/legacy.rs b/components/style/legacy.rs index 127d9f8c526..ffaaaadcab6 100644 --- a/components/style/legacy.rs +++ b/components/style/legacy.rs @@ -5,14 +5,13 @@ //! Legacy presentational attributes defined in the HTML5 specification: `<td width>`, //! `<input size>`, and so forth. -use std::sync::Arc; - use node::TElementAttributes; use properties::PropertyDeclaration; use selector_matching::Stylist; use selectors::Element; use selectors::matching::DeclarationBlock; use smallvec::VecLike; +use std::sync::Arc; /// Legacy presentational attributes that take a nonnegative integer as defined in HTML5 § 2.4.4.2. diff --git a/components/style/media_queries.rs b/components/style/media_queries.rs index 5c84c28ffed..2f4d85a9627 100644 --- a/components/style/media_queries.rs +++ b/components/style/media_queries.rs @@ -3,10 +3,9 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use cssparser::{Token, Parser, Delimiter}; -use std::ascii::AsciiExt; - use euclid::size::{Size2D, TypedSize2D}; use properties::longhands; +use std::ascii::AsciiExt; use util::geometry::{Au, ViewportPx}; use values::specified; diff --git a/components/style/node.rs b/components/style/node.rs index fa422e2b5db..aa764f5f662 100644 --- a/components/style/node.rs +++ b/components/style/node.rs @@ -7,9 +7,8 @@ use legacy::UnsignedIntegerAttribute; use properties::PropertyDeclaration; -use smallvec::VecLike; - use selectors::matching::DeclarationBlock; +use smallvec::VecLike; use string_cache::{Atom, Namespace}; pub trait TElementAttributes { diff --git a/components/style/parser.rs b/components/style/parser.rs index ac9afe43cf6..f189c7c5d93 100644 --- a/components/style/parser.rs +++ b/components/style/parser.rs @@ -6,9 +6,8 @@ use cssparser::{Parser, SourcePosition}; use log; use selectors::parser::ParserContext as SelectorParserContext; -use url::{Url, UrlParser}; - use stylesheets::Origin; +use url::{Url, UrlParser}; pub struct ParserContext<'a> { pub stylesheet_origin: Origin, diff --git a/components/style/selector_matching.rs b/components/style/selector_matching.rs index ce4a3658a1a..41d0f6f6141 100644 --- a/components/style/selector_matching.rs +++ b/components/style/selector_matching.rs @@ -2,8 +2,10 @@ * 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 url::Url; - +use legacy::PresentationalHintSynthesis; +use media_queries::Device; +use node::TElementAttributes; +use properties::{PropertyDeclaration, PropertyDeclarationBlock}; use selectors::Element; use selectors::bloom::BloomFilter; use selectors::matching::DeclarationBlock as GenericDeclarationBlock; @@ -11,15 +13,11 @@ use selectors::matching::{SelectorMap, Rule}; use selectors::parser::PseudoElement; use smallvec::VecLike; use std::process; -use util::opts; -use util::resource_files::read_resource_file; - -use legacy::PresentationalHintSynthesis; -use media_queries::Device; -use node::TElementAttributes; -use properties::{PropertyDeclaration, PropertyDeclarationBlock}; use style_traits::viewport::ViewportConstraints; use stylesheets::{Stylesheet, CSSRuleIteratorExt, Origin}; +use url::Url; +use util::opts; +use util::resource_files::read_resource_file; use viewport::{MaybeNew, ViewportRuleCascade}; diff --git a/components/style/stylesheets.rs b/components/style/stylesheets.rs index 1eff44ef9ed..8f6f5db7b64 100644 --- a/components/style/stylesheets.rs +++ b/components/style/stylesheets.rs @@ -2,23 +2,21 @@ * 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 std::ascii::AsciiExt; -use std::cell::Cell; -use std::iter::Iterator; -use std::slice; -use url::Url; - -use encoding::EncodingRef; - use cssparser::{Parser, decode_stylesheet_bytes, QualifiedRuleParser, AtRuleParser}; use cssparser::{RuleListParser, AtRuleType}; +use encoding::EncodingRef; use font_face::{FontFaceRule, parse_font_face_block}; use media_queries::{Device, MediaQueryList, parse_media_query_list}; use parser::{ParserContext, log_css_error}; use properties::{PropertyDeclarationBlock, parse_property_declaration_list}; use selectors::parser::{Selector, parse_selector_list}; use smallvec::SmallVec; +use std::ascii::AsciiExt; +use std::cell::Cell; +use std::iter::Iterator; +use std::slice; use string_cache::{Atom, Namespace}; +use url::Url; use viewport::ViewportRule; diff --git a/components/style/values.rs b/components/style/values.rs index 7627528c3c6..15aa5682ca5 100644 --- a/components/style/values.rs +++ b/components/style/values.rs @@ -1218,12 +1218,12 @@ pub mod specified { pub mod computed { pub use super::specified::{Angle, BorderStyle, Time}; - use super::specified::AngleOrCorner; - use super::{specified, CSSFloat}; - pub use cssparser::Color as CSSColor; use euclid::size::Size2D; + pub use cssparser::Color as CSSColor; use properties::longhands; use std::fmt; + use super::specified::AngleOrCorner; + use super::{specified, CSSFloat}; use url::Url; use util::geometry::Au; diff --git a/components/style/viewport.rs b/components/style/viewport.rs index 2f5e5e3c21b..72da1098a74 100644 --- a/components/style/viewport.rs +++ b/components/style/viewport.rs @@ -7,17 +7,15 @@ use euclid::scale_factor::ScaleFactor; use euclid::size::{Size2D, TypedSize2D}; use parser::{ParserContext, log_css_error}; use properties::longhands; +use std::ascii::AsciiExt; +use std::collections::hash_map::{Entry, HashMap}; +use std::intrinsics; use style_traits::viewport::{UserZoom, Zoom, Orientation, ViewportConstraints}; use stylesheets::Origin; use util::geometry::{Au, ViewportPx}; use values::computed::{Context, ToComputedValue}; use values::specified::LengthOrPercentageOrAuto; - -use std::ascii::AsciiExt; -use std::collections::hash_map::{Entry, HashMap}; -use std::intrinsics; - #[derive(Copy, Clone, Debug, PartialEq)] pub enum ViewportDescriptor { MinWidth(LengthOrPercentageOrAuto), diff --git a/components/util/geometry.rs b/components/util/geometry.rs index 5b6d8a0852a..abdcf100531 100644 --- a/components/util/geometry.rs +++ b/components/util/geometry.rs @@ -3,20 +3,17 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use cssparser::ToCss; - use euclid::length::Length; use euclid::num::Zero; use euclid::point::Point2D; use euclid::rect::Rect; use euclid::size::Size2D; - +use rustc_serialize::{Encoder, Encodable}; use std::default::Default; use std::fmt; use std::i32; use std::ops::{Add, Sub, Neg, Mul, Div, Rem}; -use rustc_serialize::{Encoder, Encodable}; - // Units for use with euclid::length and euclid::scale_factor. /// A normalized "pixel" at the default resolution for the display. diff --git a/components/util/ipc.rs b/components/util/ipc.rs index 32bbb8c14b7..20c80cf042b 100644 --- a/components/util/ipc.rs +++ b/components/util/ipc.rs @@ -2,10 +2,9 @@ * 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 opts; - use ipc_channel::ipc::{self, IpcSender}; use ipc_channel::router::ROUTER; +use opts; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use std::any::Any; use std::collections::HashMap; diff --git a/components/util/mem.rs b/components/util/mem.rs index 7f83099b06e..ff28a8e230c 100644 --- a/components/util/mem.rs +++ b/components/util/mem.rs @@ -4,15 +4,6 @@ //! Data structure measurement. -use libc::{c_void, size_t}; -use std::cell::{Cell, RefCell}; -use std::collections::{HashMap, LinkedList, hash_state}; -use std::hash::Hash; -use std::mem::{size_of, transmute}; -use std::rc::Rc; -use std::result::Result; -use std::sync::Arc; - use azure::azure_hl::Color; use cssparser::Color as CSSParserColor; use cssparser::{RGBA, TokenSerializationType}; @@ -30,10 +21,18 @@ use js::jsapi::Heap; use js::jsval::JSVal; use js::rust::GCMethods; use layers::geometry::DevicePixel; +use libc::{c_void, size_t}; use logical_geometry::WritingMode; use rand::OsRng; use range::Range; use selectors::parser::{PseudoElement, Selector, CompoundSelector, SimpleSelector, Combinator}; +use std::cell::{Cell, RefCell}; +use std::collections::{HashMap, LinkedList, hash_state}; +use std::hash::Hash; +use std::mem::{size_of, transmute}; +use std::rc::Rc; +use std::result::Result; +use std::sync::Arc; use str::LengthOrPercentageOrAuto; use string_cache::atom::Atom; use string_cache::namespace::Namespace; diff --git a/components/util/opts.rs b/components/util/opts.rs index 28a5908e477..1a310dd543c 100644 --- a/components/util/opts.rs +++ b/components/util/opts.rs @@ -5,9 +5,8 @@ //! Configuration options for a single run of the servo application. Created //! from command line arguments. -use geometry::ScreenPx; - use euclid::size::{Size2D, TypedSize2D}; +use geometry::ScreenPx; use getopts::Options; use num_cpus; use prefs; diff --git a/components/util/str.rs b/components/util/str.rs index c7e68d5549d..466d2d644eb 100644 --- a/components/util/str.rs +++ b/components/util/str.rs @@ -2,10 +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 geometry::Au; - use cssparser::{self, RGBA, Color}; - +use geometry::Au; use libc::c_char; use num_lib::ToPrimitive; use std::ascii::AsciiExt; diff --git a/components/util/vec.rs b/components/util/vec.rs index 638164971e4..ff9dcc0292d 100644 --- a/components/util/vec.rs +++ b/components/util/vec.rs @@ -2,11 +2,10 @@ * 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 super::smallvec::VecLike; - use std::cmp::{PartialOrd, PartialEq, Ordering}; use std::marker::PhantomData; use std::ops; +use super::smallvec::VecLike; /// FIXME(pcwalton): Workaround for lack of unboxed closures. This is called in /// performance-critical code, so a closure is insufficient. diff --git a/components/util/workqueue.rs b/components/util/workqueue.rs index d0899df1e61..0ffd50163e3 100644 --- a/components/util/workqueue.rs +++ b/components/util/workqueue.rs @@ -8,13 +8,12 @@ //! higher-level API on top of this could allow safe fork-join parallelism. use deque::{Abort, BufferPool, Data, Empty, Stealer, Worker}; -use task::spawn_named; -use task_state; - use libc::funcs::posix88::unistd::usleep; use rand::{Rng, weak_rng, XorShiftRng}; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::mpsc::{channel, Sender, Receiver}; +use task::spawn_named; +use task_state; /// A unit of work. /// diff --git a/components/webdriver_traits/lib.rs b/components/webdriver_traits/lib.rs index 9279e8e2dd9..d2654b5c4e2 100644 --- a/components/webdriver_traits/lib.rs +++ b/components/webdriver_traits/lib.rs @@ -7,7 +7,6 @@ extern crate rustc_serialize; use rustc_serialize::json::{Json, ToJson}; - use std::sync::mpsc::Sender; pub enum WebDriverScriptCommand { diff --git a/ports/glutin/window.rs b/ports/glutin/window.rs index 31bc358c488..2718fc6be1a 100644 --- a/ports/glutin/window.rs +++ b/ports/glutin/window.rs @@ -4,39 +4,36 @@ //! A windowing implementation using glutin. +use NestedEventLoopListener; use compositing::compositor_task::{self, CompositorProxy, CompositorReceiver}; +#[cfg(feature = "window")] +use compositing::windowing::{MouseWindowEvent, WindowNavigateMsg}; use compositing::windowing::{WindowEvent, WindowMethods}; use euclid::scale_factor::ScaleFactor; use euclid::size::TypedSize2D; use euclid::{Size2D, Point2D}; use gleam::gl; use glutin; +#[cfg(feature = "window")] +use glutin::{Api, ElementState, Event, GlRequest, MouseButton, VirtualKeyCode, MouseScrollDelta}; use layers::geometry::DevicePixel; use layers::platform::surface::NativeDisplay; +#[cfg(feature = "window")] +use msg::constellation_msg::{KeyState, NONE, CONTROL, SHIFT, ALT, SUPER}; use msg::constellation_msg::{self, Key}; use net_traits::net_error_list::NetError; +#[cfg(feature = "window")] +use std::cell::{Cell, RefCell}; +#[cfg(all(feature = "headless", target_os = "linux"))] +use std::ptr; use std::rc::Rc; use std::sync::mpsc::{channel, Sender}; use url::Url; use util::cursor::Cursor; use util::geometry::ScreenPx; - -use NestedEventLoopListener; - -#[cfg(feature = "window")] -use compositing::windowing::{MouseWindowEvent, WindowNavigateMsg}; -#[cfg(feature = "window")] -use glutin::{Api, ElementState, Event, GlRequest, MouseButton, VirtualKeyCode, MouseScrollDelta}; -#[cfg(feature = "window")] -use msg::constellation_msg::{KeyState, NONE, CONTROL, SHIFT, ALT, SUPER}; -#[cfg(feature = "window")] -use std::cell::{Cell, RefCell}; #[cfg(feature = "window")] use util::opts; -#[cfg(all(feature = "headless", target_os = "linux"))] -use std::ptr; - #[cfg(feature = "window")] static mut g_nested_event_loop_listener: Option<*mut (NestedEventLoopListener + 'static)> = None; diff --git a/ports/gonk/src/input.rs b/ports/gonk/src/input.rs index 81c6a70c3ed..e40900f7acf 100644 --- a/ports/gonk/src/input.rs +++ b/ports/gonk/src/input.rs @@ -2,8 +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 compositing::windowing::{WindowEvent, MouseWindowEvent}; +use errno::errno; +use euclid::point::Point2D; +use libc::{c_int, c_long, time_t}; use script_traits::MouseButton; - use std::fs::File; use std::io::Read; use std::mem::{size_of, transmute, zeroed}; @@ -12,13 +15,6 @@ use std::path::Path; use std::sync::mpsc::Sender; use std::thread; -use euclid::point::Point2D; - -use errno::errno; -use libc::{c_int, c_long, time_t}; - -use compositing::windowing::{WindowEvent, MouseWindowEvent}; - extern { // XXX: no variadic form in std libs? diff --git a/ports/gonk/src/main.rs b/ports/gonk/src/main.rs index 2ef85dcf833..777cf999f6f 100644 --- a/ports/gonk/src/main.rs +++ b/ports/gonk/src/main.rs @@ -47,9 +47,8 @@ extern {} use compositing::windowing::WindowEvent; use net_traits::hosts; use servo::Browser; -use util::opts; - use std::env; +use util::opts; mod input; mod window; diff --git a/ports/gonk/src/window.rs b/ports/gonk/src/window.rs index 9c239a4081a..0ad093a684c 100644 --- a/ports/gonk/src/window.rs +++ b/ports/gonk/src/window.rs @@ -6,13 +6,23 @@ use compositing::compositor_task::{self, CompositorProxy, CompositorReceiver}; use compositing::windowing::{WindowEvent, WindowMethods}; +use egl::egl; +use egl::egl::EGLConfig; +use egl::egl::EGLContext; +use egl::egl::EGLDisplay; +use egl::egl::EGLSurface; +use egl::egl::EGLint; use euclid::point::Point2D; use euclid::scale_factor::ScaleFactor; use euclid::size::{Size2D, TypedSize2D}; use gleam::gl; use layers::geometry::DevicePixel; use layers::platform::surface::NativeDisplay; +use libc::c_char; use libc::c_int; +use libc::c_void; +use libc::close; +use libc::size_t; use msg::constellation_msg::{Key, KeyModifiers}; use net_traits::net_error_list::NetError; use std::ffi::CString; @@ -24,18 +34,6 @@ use url::Url; use util::cursor::Cursor; use util::geometry::ScreenPx; -use egl::egl; -use egl::egl::EGLConfig; -use egl::egl::EGLContext; -use egl::egl::EGLDisplay; -use egl::egl::EGLSurface; -use egl::egl::EGLint; - -use libc::c_char; -use libc::c_void; -use libc::close; -use libc::size_t; - const GRALLOC_USAGE_HW_TEXTURE: c_int = 0x00000100; const GRALLOC_USAGE_HW_RENDER: c_int = 0x00000200; const GRALLOC_USAGE_HW_2D: c_int = 0x00000400; diff --git a/python/tidy.py b/python/tidy.py index 12057d665d8..87e1cf142a7 100644 --- a/python/tidy.py +++ b/python/tidy.py @@ -201,6 +201,9 @@ def check_rust(file_name, contents): comment_depth = 0 merged_lines = '' + import_block = False + whitespace = False + uses = [] mods = [] @@ -224,6 +227,16 @@ def check_rust(file_name, contents): line = merged_lines + line merged_lines = '' + # Keep track of whitespace to enable checking for a merged import block + # + # Ignore attributes, comments, and imports + if import_block: + if not (line_is_comment(line) or line_is_attribute(line) or line.startswith("use ")): + whitespace = line == "" + + if not whitespace: + import_block = False + # get rid of strings and chars because cases like regex expression, keep attributes if not line_is_attribute(line): line = re.sub('".*?"|\'.*?\'', '', line) @@ -291,22 +304,28 @@ def check_rust(file_name, contents): if match and not (line.startswith("use") or line.startswith("pub use")): yield (idx + 1, "missing space after {") - # imports must be in the same line and alphabetically sorted + # imports must be in the same line, alphabetically sorted, and merged + # into a single import block if line.startswith("use "): + import_block = True use = line[4:] if not use.endswith(";"): yield (idx + 1, "use statement spans multiple lines") - uses.append(use[:len(use) - 1]) - elif len(uses) > 0: + uses.append((use[:len(use) - 1], idx + 1)) + elif len(uses) > 0 and whitespace or not import_block: sorted_uses = sorted(uses) for i in range(len(uses)): - if sorted_uses[i] != uses[i]: + if sorted_uses[i][0] != uses[i][0]: message = "use statement is not in alphabetical order" - expected = "\n\t\033[93mexpected: {}\033[0m".format(sorted_uses[i]) - found = "\n\t\033[91mfound: {}\033[0m".format(uses[i]) - yield (idx + 1 - len(uses) + i, message + expected + found) + expected = "\n\t\033[93mexpected: {}\033[0m".format(sorted_uses[i][0]) + found = "\n\t\033[91mfound: {}\033[0m".format(uses[i][0]) + yield(uses[i][1], message + expected + found) uses = [] + if import_block and whitespace and line.startswith("use "): + whitespace = False + yield(idx, "encountered whitespace following a use statement") + # modules must be in the same line and alphabetically sorted if line.startswith("mod ") or line.startswith("pub mod "): mod = "" @@ -345,6 +364,10 @@ def line_is_attribute(line): return re.search(r"#\[.*\]", line) +def line_is_comment(line): + return re.search(r"^//|^/\*|^\*", line) + + def check_webidl_spec(file_name, contents): # Sorted by this function (in pseudo-Rust). The idea is to group the same # organization together. diff --git a/tests/unit/script/size_of.rs b/tests/unit/script/size_of.rs index 1b34e462470..c67c80dfc44 100644 --- a/tests/unit/script/size_of.rs +++ b/tests/unit/script/size_of.rs @@ -10,7 +10,6 @@ use script::dom::htmlelement::HTMLElement; use script::dom::htmlspanelement::HTMLSpanElement; use script::dom::node::Node; use script::dom::text::Text; - use std::mem::size_of; // Macro so that we can stringify type names diff --git a/tests/unit/script/textinput.rs b/tests/unit/script/textinput.rs index 74891b52cae..18588fbde0a 100644 --- a/tests/unit/script/textinput.rs +++ b/tests/unit/script/textinput.rs @@ -7,13 +7,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use msg::constellation_msg::{Key, KeyModifiers}; - -#[cfg(target_os = "macos")] -use msg::constellation_msg::SUPER; #[cfg(not(target_os = "macos"))] use msg::constellation_msg::CONTROL; - +#[cfg(target_os = "macos")] +use msg::constellation_msg::SUPER; +use msg::constellation_msg::{Key, KeyModifiers}; use script::clipboard_provider::DummyClipboardContext; use script::textinput::{TextInput, Selection, Lines, Direction}; use std::borrow::ToOwned; |