diff options
Diffstat (limited to 'components/script')
67 files changed, 141 insertions, 141 deletions
diff --git a/components/script/body.rs b/components/script/body.rs index 841868889d0..19a38cfe9f8 100644 --- a/components/script/body.rs +++ b/components/script/body.rs @@ -22,7 +22,7 @@ use std::rc::Rc; use std::str; use url::form_urlencoded; -#[derive(Copy, Clone, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable)] pub enum BodyType { Blob, FormData, diff --git a/components/script/build.rs b/components/script/build.rs index 040658b66f2..a19e286ba25 100644 --- a/components/script/build.rs +++ b/components/script/build.rs @@ -59,7 +59,7 @@ fn main() { write!(&mut phf, ";\n").unwrap(); } -#[derive(Eq, PartialEq, Hash)] +#[derive(Eq, Hash, PartialEq)] struct Bytes<'a>(&'a str); impl<'a> fmt::Debug for Bytes<'a> { diff --git a/components/script/document_loader.rs b/components/script/document_loader.rs index 611c469fa2d..4a6307667f1 100644 --- a/components/script/document_loader.rs +++ b/components/script/document_loader.rs @@ -13,7 +13,7 @@ use net_traits::request::RequestInit; use servo_url::ServoUrl; use std::thread; -#[derive(JSTraceable, PartialEq, Clone, Debug, HeapSizeOf)] +#[derive(Clone, Debug, HeapSizeOf, JSTraceable, PartialEq)] pub enum LoadType { Image(ServoUrl), Script(ServoUrl), @@ -39,7 +39,7 @@ impl LoadType { /// Canary value ensuring that manually added blocking loads (ie. ones that weren't /// created via DocumentLoader::fetch_async) are always removed by the time /// that the owner is destroyed. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] #[must_root] pub struct LoadBlocker { /// The document whose load event is blocked by this object existing. @@ -80,7 +80,7 @@ impl Drop for LoadBlocker { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct DocumentLoader { resource_threads: ResourceThreads, blocking_loads: Vec<LoadType>, diff --git a/components/script/dom/abstractworker.rs b/components/script/dom/abstractworker.rs index 8d92680fbed..fec71495613 100644 --- a/components/script/dom/abstractworker.rs +++ b/components/script/dom/abstractworker.rs @@ -29,7 +29,7 @@ impl<T: DomObject> SimpleWorkerErrorHandler<T> { } } -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub struct SharedRt { rt: *mut JSRuntime } diff --git a/components/script/dom/abstractworkerglobalscope.rs b/components/script/dom/abstractworkerglobalscope.rs index 7c79a919165..020301ad8a1 100644 --- a/components/script/dom/abstractworkerglobalscope.rs +++ b/components/script/dom/abstractworkerglobalscope.rs @@ -12,7 +12,7 @@ use std::sync::mpsc::{Receiver, Sender}; /// A ScriptChan that can be cloned freely and will silently send a TrustedWorkerAddress with /// common event loop messages. While this SendableWorkerScriptChan is alive, the associated /// Worker object will remain alive. -#[derive(JSTraceable, Clone)] +#[derive(Clone, JSTraceable)] pub struct SendableWorkerScriptChan<T: DomObject> { pub sender: Sender<(Trusted<T>, CommonScriptMsg)>, pub worker: Trusted<T>, @@ -34,7 +34,7 @@ impl<T: JSTraceable + DomObject + 'static> ScriptChan for SendableWorkerScriptCh /// A ScriptChan that can be cloned freely and will silently send a TrustedWorkerAddress with /// worker event loop messages. While this SendableWorkerScriptChan is alive, the associated /// Worker object will remain alive. -#[derive(JSTraceable, Clone)] +#[derive(Clone, JSTraceable)] pub struct WorkerThreadWorkerChan<T: DomObject> { pub sender: Sender<(Trusted<T>, WorkerScriptMsg)>, pub worker: Trusted<T>, diff --git a/components/script/dom/bindings/callback.rs b/components/script/dom/bindings/callback.rs index e8a9683a4b2..4dfb6584989 100644 --- a/components/script/dom/bindings/callback.rs +++ b/components/script/dom/bindings/callback.rs @@ -25,7 +25,7 @@ use std::ptr; use std::rc::Rc; /// The exception handling used for a call. -#[derive(Copy, Clone, PartialEq)] +#[derive(Clone, Copy, PartialEq)] pub enum ExceptionHandling { /// Report any exception and don't throw it to the caller code. Report, diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index 9d927a884f1..9afae9f6804 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -170,7 +170,7 @@ impl ToJSValConvertible for USVString { } /// Behavior for stringification of `JSVal`s. -#[derive(PartialEq, Clone)] +#[derive(Clone, PartialEq)] pub enum StringificationBehavior { /// Convert `null` to the string `"null"`. Default, diff --git a/components/script/dom/bindings/error.rs b/components/script/dom/bindings/error.rs index d38a55c31be..2cbbe2da647 100644 --- a/components/script/dom/bindings/error.rs +++ b/components/script/dom/bindings/error.rs @@ -25,7 +25,7 @@ use libc::c_uint; use std::slice::from_raw_parts; /// DOM exceptions that can be thrown by a native DOM method. -#[derive(Debug, Clone, HeapSizeOf)] +#[derive(Clone, Debug, HeapSizeOf)] pub enum Error { /// IndexSizeError DOMException IndexSize, diff --git a/components/script/dom/bindings/interface.rs b/components/script/dom/bindings/interface.rs index 63658b3f0f9..c242bd7f065 100644 --- a/components/script/dom/bindings/interface.rs +++ b/components/script/dom/bindings/interface.rs @@ -108,7 +108,7 @@ use script_thread::ScriptThread; use std::ptr; /// The class of a non-callback interface object. -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub struct NonCallbackInterfaceObjectClass { /// The SpiderMonkey Class structure. pub class: Class, diff --git a/components/script/dom/bindings/iterable.rs b/components/script/dom/bindings/iterable.rs index 15fdd04f2a8..03fac1cb27f 100644 --- a/components/script/dom/bindings/iterable.rs +++ b/components/script/dom/bindings/iterable.rs @@ -22,7 +22,7 @@ use std::cell::Cell; use std::ptr; /// The values that an iterator will iterate over. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub enum IteratorType { /// The keys of the iterable object. Keys, diff --git a/components/script/dom/bindings/namespace.rs b/components/script/dom/bindings/namespace.rs index 38055dea180..8ca1116ea1e 100644 --- a/components/script/dom/bindings/namespace.rs +++ b/components/script/dom/bindings/namespace.rs @@ -11,7 +11,7 @@ use libc; use std::ptr; /// The class of a namespace object. -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub struct NamespaceObjectClass(JSClass); unsafe impl Sync for NamespaceObjectClass {} diff --git a/components/script/dom/bindings/num.rs b/components/script/dom/bindings/num.rs index 03b0c743f9f..c7d24f4fb83 100644 --- a/components/script/dom/bindings/num.rs +++ b/components/script/dom/bindings/num.rs @@ -9,7 +9,7 @@ use num_traits::Float; use std::ops::Deref; /// Encapsulates the IDL restricted float type. -#[derive(JSTraceable, Clone, Copy, Eq, PartialEq)] +#[derive(Clone, Copy, Eq, JSTraceable, PartialEq)] pub struct Finite<T: Float>(T); impl<T: Float> Finite<T> { diff --git a/components/script/dom/bindings/settings_stack.rs b/components/script/dom/bindings/settings_stack.rs index dec63924915..bf67bae5f3f 100644 --- a/components/script/dom/bindings/settings_stack.rs +++ b/components/script/dom/bindings/settings_stack.rs @@ -15,7 +15,7 @@ use std::thread; thread_local!(static STACK: RefCell<Vec<StackEntry>> = RefCell::new(Vec::new())); -#[derive(PartialEq, Eq, Debug, JSTraceable)] +#[derive(Debug, Eq, JSTraceable, PartialEq)] enum StackEntryKind { Incumbent, Entry, diff --git a/components/script/dom/bindings/str.rs b/components/script/dom/bindings/str.rs index 36b104eb262..ea0b4f529b0 100644 --- a/components/script/dom/bindings/str.rs +++ b/components/script/dom/bindings/str.rs @@ -18,7 +18,7 @@ use std::str; use std::str::{Bytes, FromStr}; /// Encapsulates the IDL `ByteString` type. -#[derive(JSTraceable, Clone, Eq, PartialEq, HeapSizeOf, Debug)] +#[derive(Clone, Debug, Eq, HeapSizeOf, JSTraceable, PartialEq)] pub struct ByteString(Vec<u8>); impl ByteString { diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index 4792b6b7655..1c4682225b0 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -47,7 +47,7 @@ impl HeapSizeOf for WindowProxyHandler { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] /// Static data associated with a global object. pub struct GlobalStaticData { /// The WindowProxy proxy handler for this global. @@ -79,7 +79,7 @@ pub const JSCLASS_DOM_GLOBAL: u32 = js::JSCLASS_USERBIT1; /// The struct that holds inheritance information for DOM object reflectors. -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub struct DOMClass { /// A list of interfaces that this object implements, in order of decreasing /// derivedness. diff --git a/components/script/dom/canvasgradient.rs b/components/script/dom/canvasgradient.rs index 3a0707ab5eb..e571e3afabf 100644 --- a/components/script/dom/canvasgradient.rs +++ b/components/script/dom/canvasgradient.rs @@ -24,7 +24,7 @@ pub struct CanvasGradient { stops: DOMRefCell<Vec<CanvasGradientStop>>, } -#[derive(JSTraceable, Clone, HeapSizeOf)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub enum CanvasGradientStyle { Linear(LinearGradientStyle), Radial(RadialGradientStyle), diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index d4fcfae4ab8..6d895efa05f 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -51,7 +51,7 @@ use std::sync::Arc; use unpremultiplytable::UNPREMULTIPLY_TABLE; #[must_root] -#[derive(JSTraceable, Clone, HeapSizeOf)] +#[derive(Clone, HeapSizeOf, JSTraceable)] #[allow(dead_code)] enum CanvasFillOrStrokeStyle { Color(RGBA), @@ -81,7 +81,7 @@ pub struct CanvasRenderingContext2D { } #[must_root] -#[derive(JSTraceable, Clone, HeapSizeOf)] +#[derive(Clone, HeapSizeOf, JSTraceable)] struct CanvasContextState { global_alpha: f64, global_composition: CompositionOrBlending, diff --git a/components/script/dom/cssstyledeclaration.rs b/components/script/dom/cssstyledeclaration.rs index f87c184ef63..cf03ff45d88 100644 --- a/components/script/dom/cssstyledeclaration.rs +++ b/components/script/dom/cssstyledeclaration.rs @@ -154,7 +154,7 @@ impl CSSStyleOwner { } } -#[derive(PartialEq, HeapSizeOf)] +#[derive(HeapSizeOf, PartialEq)] pub enum CSSModificationAccess { ReadWrite, Readonly, diff --git a/components/script/dom/customelementregistry.rs b/components/script/dom/customelementregistry.rs index e3f90217c01..de4d7753315 100644 --- a/components/script/dom/customelementregistry.rs +++ b/components/script/dom/customelementregistry.rs @@ -372,7 +372,7 @@ impl CustomElementRegistryMethods for CustomElementRegistry { } } -#[derive(HeapSizeOf, JSTraceable, Clone)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub struct LifecycleCallbacks { #[ignore_heap_size_of = "Rc"] connected_callback: Option<Rc<Function>>, @@ -387,14 +387,14 @@ pub struct LifecycleCallbacks { attribute_changed_callback: Option<Rc<Function>>, } -#[derive(HeapSizeOf, JSTraceable, Clone)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub enum ConstructionStackEntry { Element(Root<Element>), AlreadyConstructedMarker, } /// https://html.spec.whatwg.org/multipage/#custom-element-definition -#[derive(HeapSizeOf, JSTraceable, Clone)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub struct CustomElementDefinition { pub name: LocalName, @@ -620,7 +620,7 @@ pub enum CallbackReaction { } /// https://html.spec.whatwg.org/multipage/#processing-the-backup-element-queue -#[derive(HeapSizeOf, JSTraceable, Eq, PartialEq, Clone, Copy)] +#[derive(Clone, Copy, Eq, HeapSizeOf, JSTraceable, PartialEq)] enum BackupElementQueueFlag { Processing, NotProcessing, diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 4629ff8814f..1141565784c 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -193,7 +193,7 @@ impl PendingRestyle { } } -#[derive(Clone, JSTraceable, HeapSizeOf)] +#[derive(Clone, HeapSizeOf, JSTraceable)] #[must_root] struct StyleSheetInDocument { #[ignore_heap_size_of = "Arc"] @@ -353,7 +353,7 @@ pub struct Document { form_id_listener_map: DOMRefCell<HashMap<Atom, HashSet<JS<Element>>>>, } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct ImagesFilter; impl CollectionFilter for ImagesFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { @@ -361,7 +361,7 @@ impl CollectionFilter for ImagesFilter { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct EmbedsFilter; impl CollectionFilter for EmbedsFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { @@ -369,7 +369,7 @@ impl CollectionFilter for EmbedsFilter { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct LinksFilter; impl CollectionFilter for LinksFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { @@ -378,7 +378,7 @@ impl CollectionFilter for LinksFilter { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct FormsFilter; impl CollectionFilter for FormsFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { @@ -386,7 +386,7 @@ impl CollectionFilter for FormsFilter { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct ScriptsFilter; impl CollectionFilter for ScriptsFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { @@ -394,7 +394,7 @@ impl CollectionFilter for ScriptsFilter { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct AnchorsFilter; impl CollectionFilter for AnchorsFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { @@ -402,7 +402,7 @@ impl CollectionFilter for AnchorsFilter { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct AppletsFilter; impl CollectionFilter for AppletsFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { @@ -2027,7 +2027,7 @@ impl Document { } } -#[derive(PartialEq, HeapSizeOf)] +#[derive(HeapSizeOf, PartialEq)] pub enum DocumentSource { FromParser, NotFromParser, @@ -2141,7 +2141,7 @@ fn url_has_network_scheme(url: &ServoUrl) -> bool { } } -#[derive(Copy, Clone, HeapSizeOf, JSTraceable, PartialEq, Eq)] +#[derive(Clone, Copy, Eq, HeapSizeOf, JSTraceable, PartialEq)] pub enum HasBrowsingContext { No, Yes, @@ -3513,7 +3513,7 @@ impl DocumentMethods for Document { #[allow(unsafe_code)] // https://html.spec.whatwg.org/multipage/#dom-tree-accessors:dom-document-nameditem-filter unsafe fn NamedGetter(&self, _cx: *mut JSContext, name: DOMString) -> Option<NonZero<*mut JSObject>> { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct NamedElementFilter { name: Atom, } @@ -4033,7 +4033,7 @@ impl Runnable for DocumentProgressHandler { } /// Specifies the type of focus event that is sent to a pipeline -#[derive(Copy, Clone, PartialEq)] +#[derive(Clone, Copy, PartialEq)] pub enum FocusType { Element, // The first focus message - focus the element itself Parent, // Focusing a parent element (an iframe) @@ -4051,7 +4051,7 @@ pub enum FocusEventType { /// If the page is observed to be using `requestAnimationFrame()` for non-animation purposes (i.e. /// without mutating the DOM), then we fall back to simple timeouts to save energy over video /// refresh. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct FakeRequestAnimationFrameCallback { /// The document. #[ignore_heap_size_of = "non-owning"] diff --git a/components/script/dom/domexception.rs b/components/script/dom/domexception.rs index 628ae5ceed5..63be8dc83e8 100644 --- a/components/script/dom/domexception.rs +++ b/components/script/dom/domexception.rs @@ -12,7 +12,7 @@ use dom::globalscope::GlobalScope; use dom_struct::dom_struct; #[repr(u16)] -#[derive(JSTraceable, Copy, Clone, Debug, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable)] pub enum DOMErrorName { IndexSizeError = DOMExceptionConstants::INDEX_SIZE_ERR, HierarchyRequestError = DOMExceptionConstants::HIERARCHY_REQUEST_ERR, diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index eab06c5c19d..11df4f6bd42 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -170,7 +170,7 @@ impl fmt::Debug for Root<Element> { } } -#[derive(PartialEq, HeapSizeOf)] +#[derive(HeapSizeOf, PartialEq)] pub enum ElementCreator { ParserCreated(u64), ScriptCreated, @@ -182,7 +182,7 @@ pub enum CustomElementCreationMode { } /// https://dom.spec.whatwg.org/#concept-element-custom-element-state -#[derive(Clone, Copy, PartialEq, Eq, HeapSizeOf, JSTraceable)] +#[derive(Clone, Copy, Eq, HeapSizeOf, JSTraceable, PartialEq)] pub enum CustomElementState { Undefined, Failed, @@ -2981,7 +2981,7 @@ impl<'a> AttributeMutation<'a> { /// A holder for an element's "tag name", which will be lazily /// resolved and cached. Should be reset when the document /// owner changes. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct TagName { ptr: DOMRefCell<Option<LocalName>>, } diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs index d6ba1d85109..56a0f8cedd3 100644 --- a/components/script/dom/event.rs +++ b/components/script/dom/event.rs @@ -294,7 +294,7 @@ impl EventMethods for Event { } } -#[derive(PartialEq, HeapSizeOf, Copy, Clone)] +#[derive(Clone, Copy, HeapSizeOf, PartialEq)] pub enum EventBubbles { Bubbles, DoesNotBubble @@ -318,7 +318,7 @@ impl From<EventBubbles> for bool { } } -#[derive(PartialEq, HeapSizeOf, Copy, Clone)] +#[derive(Clone, Copy, HeapSizeOf, PartialEq)] pub enum EventCancelable { Cancelable, NotCancelable @@ -342,7 +342,7 @@ impl From<EventCancelable> for bool { } } -#[derive(JSTraceable, Copy, Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, JSTraceable, PartialEq)] #[repr(u16)] #[derive(HeapSizeOf)] pub enum EventPhase { @@ -363,7 +363,7 @@ pub enum EventPhase { /// /// [msg]: https://doc.servo.org/script_traits/enum.ConstellationMsg.html#variant.KeyEvent /// -#[derive(JSTraceable, HeapSizeOf, Copy, Clone, PartialEq)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub enum EventDefault { /// The default action of the event is allowed (constructor's default) Allowed, diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs index b5a4bab7a40..22a49eadd81 100644 --- a/components/script/dom/eventsource.rs +++ b/components/script/dom/eventsource.rs @@ -43,10 +43,10 @@ header! { (LastEventId, "Last-Event-ID") => [String] } const DEFAULT_RECONNECTION_TIME: u64 = 5000; -#[derive(JSTraceable, PartialEq, Copy, Clone, Debug, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable, PartialEq)] struct GenerationId(u32); -#[derive(JSTraceable, PartialEq, Copy, Clone, Debug, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable, PartialEq)] /// https://html.spec.whatwg.org/multipage/#dom-eventsource-readystate enum ReadyState { Connecting = 0, @@ -535,7 +535,7 @@ impl Runnable for ReestablishConnectionRunnable { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct EventSourceTimeoutCallback { #[ignore_heap_size_of = "Because it is non-owning"] event_source: Trusted<EventSource>, diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index f45942f0f05..eaab9f79d9b 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -44,7 +44,7 @@ use std::ops::{Deref, DerefMut}; use std::ptr; use std::rc::Rc; -#[derive(PartialEq, Clone, JSTraceable)] +#[derive(Clone, JSTraceable, PartialEq)] pub enum CommonEventHandler { EventHandler(Rc<EventHandlerNonNull>), ErrorEventHandler(Rc<OnErrorEventHandlerNonNull>), @@ -61,14 +61,14 @@ impl CommonEventHandler { } } -#[derive(JSTraceable, Copy, Clone, PartialEq, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub enum ListenerPhase { Capturing, Bubbling, } /// https://html.spec.whatwg.org/multipage/#internal-raw-uncompiled-handler -#[derive(JSTraceable, Clone, PartialEq)] +#[derive(Clone, JSTraceable, PartialEq)] struct InternalRawUncompiledHandler { source: DOMString, url: ServoUrl, @@ -76,7 +76,7 @@ struct InternalRawUncompiledHandler { } /// A representation of an event handler, either compiled or uncompiled raw source, or null. -#[derive(JSTraceable, PartialEq, Clone)] +#[derive(Clone, JSTraceable, PartialEq)] enum InlineEventListener { Uncompiled(InternalRawUncompiledHandler), Compiled(CommonEventHandler), @@ -106,7 +106,7 @@ impl InlineEventListener { } } -#[derive(JSTraceable, Clone, PartialEq)] +#[derive(Clone, JSTraceable, PartialEq)] enum EventListenerType { Additive(Rc<EventListener>), Inline(InlineEventListener), @@ -228,7 +228,7 @@ struct EventListenerEntry { listener: EventListenerType } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] /// A mix of potentially uncompiled and compiled event listeners of the same type. struct EventListeners(Vec<EventListenerEntry>); diff --git a/components/script/dom/filereader.rs b/components/script/dom/filereader.rs index 61da63a57e6..4fd9013047c 100644 --- a/components/script/dom/filereader.rs +++ b/components/script/dom/filereader.rs @@ -39,7 +39,7 @@ use std::thread; use task_source::TaskSource; use task_source::file_reading::{FileReadingTaskSource, FileReadingRunnable, FileReadingTask}; -#[derive(PartialEq, Clone, Copy, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub enum FileReaderFunction { ReadAsText, ReadAsDataUrl, @@ -66,11 +66,11 @@ impl ReadMetaData { } } -#[derive(PartialEq, Clone, Copy, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub struct GenerationId(u32); #[repr(u16)] -#[derive(Copy, Clone, Debug, PartialEq, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable, PartialEq)] pub enum FileReaderReadyState { Empty = FileReaderConstants::EMPTY, Loading = FileReaderConstants::LOADING, diff --git a/components/script/dom/headers.rs b/components/script/dom/headers.rs index 516100d6edc..ce97cb860d2 100644 --- a/components/script/dom/headers.rs +++ b/components/script/dom/headers.rs @@ -26,7 +26,7 @@ pub struct Headers { } // https://fetch.spec.whatwg.org/#concept-headers-guard -#[derive(Copy, Clone, JSTraceable, HeapSizeOf, PartialEq)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub enum Guard { Immutable, Request, diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs index ee39f3a88c9..84a1294d1c2 100755 --- a/components/script/dom/htmlbuttonelement.rs +++ b/components/script/dom/htmlbuttonelement.rs @@ -29,7 +29,7 @@ use std::cell::Cell; use std::default::Default; use style::element_state::*; -#[derive(JSTraceable, PartialEq, Copy, Clone)] +#[derive(Clone, Copy, JSTraceable, PartialEq)] #[derive(HeapSizeOf)] enum ButtonType { Submit, diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index 3d89c08b230..4491c22487a 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -42,7 +42,7 @@ const DEFAULT_WIDTH: u32 = 300; const DEFAULT_HEIGHT: u32 = 150; #[must_root] -#[derive(JSTraceable, Clone, HeapSizeOf)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub enum CanvasContext { Context2d(JS<CanvasRenderingContext2D>), WebGL(JS<WebGLRenderingContext>), diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs index b9c402b3003..aa8fe9cf383 100644 --- a/components/script/dom/htmlcollection.rs +++ b/components/script/dom/htmlcollection.rs @@ -26,7 +26,7 @@ pub trait CollectionFilter : JSTraceable { // An optional u32, using maxint to represent None. // It would be nicer just to use Option<u32> for this, but that would produce word // alignment issues since Option<u32> uses 33 bits. -#[derive(Clone, Copy, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable)] struct OptionU32 { bits: u32, } @@ -119,7 +119,7 @@ impl HTMLCollection { -> Root<HTMLCollection> { // case 1 if qualified_name == local_name!("*") { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct AllFilter; impl CollectionFilter for AllFilter { fn filter(&self, _elem: &Element, _root: &Node) -> bool { @@ -129,7 +129,7 @@ impl HTMLCollection { return HTMLCollection::create(window, root, box AllFilter); } - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct HtmlDocumentFilter { qualified_name: LocalName, ascii_lower_qualified_name: LocalName, @@ -169,7 +169,7 @@ impl HTMLCollection { } pub fn by_qual_tag_name(window: &Window, root: &Node, qname: QualName) -> Root<HTMLCollection> { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct TagNameNSFilter { qname: QualName } @@ -193,7 +193,7 @@ impl HTMLCollection { pub fn by_atomic_class_name(window: &Window, root: &Node, classes: Vec<Atom>) -> Root<HTMLCollection> { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct ClassNameFilter { classes: Vec<Atom> } @@ -212,7 +212,7 @@ impl HTMLCollection { } pub fn children(window: &Window, root: &Node) -> Root<HTMLCollection> { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct ElementChildFilter; impl CollectionFilter for ElementChildFilter { fn filter(&self, elem: &Element, root: &Node) -> bool { diff --git a/components/script/dom/htmldatalistelement.rs b/components/script/dom/htmldatalistelement.rs index 1603ac39bf7..c7ee6c60ff8 100644 --- a/components/script/dom/htmldatalistelement.rs +++ b/components/script/dom/htmldatalistelement.rs @@ -43,7 +43,7 @@ impl HTMLDataListElement { impl HTMLDataListElementMethods for HTMLDataListElement { // https://html.spec.whatwg.org/multipage/#dom-datalist-options fn Options(&self) -> Root<HTMLCollection> { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct HTMLDataListOptionsFilter; impl CollectionFilter for HTMLDataListOptionsFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { diff --git a/components/script/dom/htmlfieldsetelement.rs b/components/script/dom/htmlfieldsetelement.rs index 4deb3190340..e121a38032f 100644 --- a/components/script/dom/htmlfieldsetelement.rs +++ b/components/script/dom/htmlfieldsetelement.rs @@ -52,7 +52,7 @@ impl HTMLFieldSetElement { impl HTMLFieldSetElementMethods for HTMLFieldSetElement { // https://html.spec.whatwg.org/multipage/#dom-fieldset-elements fn Elements(&self) -> Root<HTMLCollection> { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct ElementsFilter; impl CollectionFilter for ElementsFilter { fn filter<'a>(&self, elem: &'a Element, _root: &'a Node) -> bool { diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 53867c755f8..bf957e3b3b4 100755 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -59,7 +59,7 @@ use style::attr::AttrValue; use style::str::split_html_space_chars; use task_source::TaskSource; -#[derive(JSTraceable, PartialEq, Clone, Copy, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub struct GenerationId(u32); #[dom_struct] @@ -172,7 +172,7 @@ impl HTMLFormElementMethods for HTMLFormElement { return elements; } - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct ElementsFilter { form: Root<HTMLFormElement> } @@ -241,13 +241,13 @@ impl HTMLFormElementMethods for HTMLFormElement { } } -#[derive(Copy, Clone, HeapSizeOf, PartialEq)] +#[derive(Clone, Copy, HeapSizeOf, PartialEq)] pub enum SubmittedFrom { FromForm, NotFromForm } -#[derive(Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf)] pub enum ResetFrom { FromForm, NotFromForm @@ -674,14 +674,14 @@ impl HTMLFormElement { } } -#[derive(JSTraceable, HeapSizeOf, Clone)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub enum FormDatumValue { #[allow(dead_code)] File(Root<File>), String(DOMString) } -#[derive(HeapSizeOf, JSTraceable, Clone)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub struct FormDatum { pub ty: DOMString, pub name: DOMString, @@ -701,14 +701,14 @@ impl FormDatum { } } -#[derive(Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf)] pub enum FormEncType { TextPlainEncoded, UrlEncoded, FormDataEncoded } -#[derive(Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf)] pub enum FormMethod { FormGet, FormPost, @@ -759,7 +759,7 @@ impl FormSubmittableElement { } } -#[derive(Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf)] pub enum FormSubmitter<'a> { FormElement(&'a HTMLFormElement), InputElement(&'a HTMLInputElement), diff --git a/components/script/dom/htmlheadingelement.rs b/components/script/dom/htmlheadingelement.rs index ca60441ac93..e9cba94c2df 100644 --- a/components/script/dom/htmlheadingelement.rs +++ b/components/script/dom/htmlheadingelement.rs @@ -10,7 +10,7 @@ use dom::node::Node; use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub enum HeadingLevel { Heading1, Heading2, diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index 47a1d2adfcb..4585836f7a4 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -57,7 +57,7 @@ use style::context::ReflowGoal; use task_source::TaskSource; bitflags! { - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] flags SandboxAllowance: u8 { const ALLOW_NOTHING = 0x00, const ALLOW_SAME_ORIGIN = 0x01, diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 5d4e6ac0258..f4bbba68252 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -58,7 +58,7 @@ use std::sync::{Arc, Mutex}; use style::attr::{AttrValue, LengthOrPercentageOrAuto}; use task_source::TaskSource; -#[derive(Clone, Copy, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable)] #[allow(dead_code)] enum State { Unavailable, @@ -66,12 +66,12 @@ enum State { CompletelyAvailable, Broken, } -#[derive(Copy, Clone, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable)] enum ImageRequestPhase { Pending, Current } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] #[must_root] struct ImageRequest { state: State, @@ -715,7 +715,7 @@ impl HTMLImageElement { } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub enum ImageElementMicrotask { StableStateUpdateImageDataTask { elem: Root<HTMLImageElement>, diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index efd12589e82..26597f5a100 100755 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -60,7 +60,7 @@ const DEFAULT_SUBMIT_VALUE: &'static str = "Submit"; const DEFAULT_RESET_VALUE: &'static str = "Reset"; const PASSWORD_REPLACEMENT_CHAR: char = '●'; -#[derive(JSTraceable, PartialEq, Copy, Clone)] +#[derive(Clone, Copy, JSTraceable, PartialEq)] #[allow(dead_code)] #[derive(HeapSizeOf)] enum InputType { diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index d7e5c071f50..059b695db05 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -38,7 +38,7 @@ use style::stylesheets::{CssRuleType, Stylesheet}; use style_traits::PARSING_MODE_DEFAULT; use stylesheet_loader::{StylesheetLoader, StylesheetContextSource, StylesheetOwner}; -#[derive(JSTraceable, PartialEq, Clone, Copy, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub struct RequestGenerationId(u32); impl RequestGenerationId { diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 49ba3f4cc8d..ccc952d1b24 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -201,7 +201,7 @@ impl HTMLMediaElementContext { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct VideoMedia { format: String, #[ignore_heap_size_of = "defined in time"] @@ -794,7 +794,7 @@ impl VirtualMethods for HTMLMediaElement { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub enum MediaElementMicrotask { ResourceSelectionTask { elem: Root<HTMLMediaElement>, diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index 1f4f3c426bf..fd5a864862a 100755 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -37,7 +37,7 @@ use std::iter; use style::attr::AttrValue; use style::element_state::*; -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct OptionsFilter; impl CollectionFilter for OptionsFilter { fn filter<'a>(&self, elem: &'a Element, root: &'a Node) -> bool { diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index 7f3d9974a74..c4a6232a599 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -36,7 +36,7 @@ pub struct HTMLTableElement { } #[allow(unrooted_must_root)] -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct TableRowFilter { sections: Vec<JS<Node>>, } diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index a337caf4ef9..03719528655 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -149,7 +149,7 @@ pub struct Node { bitflags! { #[doc = "Flags for node items."] - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] pub flags NodeFlags: u16 { #[doc = "Specifies whether this node is in a document."] const IS_IN_DOC = 1 << 0, @@ -203,7 +203,7 @@ impl Drop for Node { /// suppress observers flag /// https://dom.spec.whatwg.org/#concept-node-insert /// https://dom.spec.whatwg.org/#concept-node-remove -#[derive(Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf)] enum SuppressObserver { Suppressed, Unsuppressed @@ -1368,7 +1368,7 @@ impl Iterator for TreeIterator { } /// Specifies whether children must be recursively cloned or not. -#[derive(Copy, Clone, PartialEq, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, PartialEq)] pub enum CloneChildrenFlag { CloneChildren, DoNotCloneChildren @@ -2531,7 +2531,7 @@ impl VirtualMethods for Node { } /// A summary of the changes that happened to a node. -#[derive(Copy, Clone, PartialEq, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, PartialEq)] pub enum NodeDamage { /// The node's `style` attribute changed. NodeStyleDamaged, diff --git a/components/script/dom/nodelist.rs b/components/script/dom/nodelist.rs index c639b3fa4e9..7fdfe5b6064 100644 --- a/components/script/dom/nodelist.rs +++ b/components/script/dom/nodelist.rs @@ -12,7 +12,7 @@ use dom::window::Window; use dom_struct::dom_struct; use std::cell::Cell; -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] #[must_root] pub enum NodeListType { Simple(Vec<JS<Node>>), @@ -109,7 +109,7 @@ impl NodeList { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] #[must_root] pub struct ChildrenList { node: JS<Node>, diff --git a/components/script/dom/paintworkletglobalscope.rs b/components/script/dom/paintworkletglobalscope.rs index 607c432c78a..0a01e62cd9b 100644 --- a/components/script/dom/paintworkletglobalscope.rs +++ b/components/script/dom/paintworkletglobalscope.rs @@ -467,7 +467,7 @@ pub enum PaintWorkletTask { /// https://drafts.css-houdini.org/css-paint-api/#paint-definition /// This type is dangerous, because it contains uboxed `Heap<JSVal>` values, /// which can't be moved. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] #[must_root] struct PaintDefinition { class_constructor: Heap<JSVal>, diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs index 1beaafc5935..e741160c226 100644 --- a/components/script/dom/serviceworkerglobalscope.rs +++ b/components/script/dom/serviceworkerglobalscope.rs @@ -50,7 +50,7 @@ pub enum MixedMessage { FromTimeoutThread(()) } -#[derive(JSTraceable, Clone)] +#[derive(Clone, JSTraceable)] pub struct ServiceWorkerChan { pub sender: Sender<ServiceWorkerScriptMsg> } diff --git a/components/script/dom/servoparser/async_html.rs b/components/script/dom/servoparser/async_html.rs index 5486731ae9a..ec4bc6e070b 100644 --- a/components/script/dom/servoparser/async_html.rs +++ b/components/script/dom/servoparser/async_html.rs @@ -495,7 +495,7 @@ fn run(sink: Sink, } } -#[derive(JSTraceable, HeapSizeOf, Default)] +#[derive(Default, HeapSizeOf, JSTraceable)] struct ParseNodeData { contents: Option<ParseNode>, is_integration_point: bool, diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs index 8ea79172c78..241179ed624 100644 --- a/components/script/dom/servoparser/mod.rs +++ b/components/script/dom/servoparser/mod.rs @@ -738,7 +738,7 @@ fn insert(parent: &Node, reference_child: Option<&Node>, child: NodeOrText<JS<No } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] #[must_root] pub struct Sink { base_url: ServoUrl, diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index 09eedd6870c..7bdb6e9910c 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -723,7 +723,7 @@ impl TestBindingMethods for TestBinding { p.append_native_handler(&handler); return p; - #[derive(JSTraceable, HeapSizeOf)] + #[derive(HeapSizeOf, JSTraceable)] struct SimpleHandler { #[ignore_heap_size_of = "Rc has unclear ownership semantics"] handler: Rc<SimpleCallback>, @@ -804,7 +804,7 @@ impl TestBinding { pub unsafe fn condition_unsatisfied(_: *mut JSContext, _: HandleObject) -> bool { false } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct TestBindingCallback { #[ignore_heap_size_of = "unclear ownership semantics"] promise: TrustedPromise, diff --git a/components/script/dom/validitystate.rs b/components/script/dom/validitystate.rs index 879438aa389..4b4273bf353 100755 --- a/components/script/dom/validitystate.rs +++ b/components/script/dom/validitystate.rs @@ -11,7 +11,7 @@ use dom::window::Window; use dom_struct::dom_struct; // https://html.spec.whatwg.org/multipage/#validity-states -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] #[allow(dead_code)] pub enum ValidityStatus { ValueMissing, diff --git a/components/script/dom/vrdisplay.rs b/components/script/dom/vrdisplay.rs index a36bd27ad29..853893047e0 100644 --- a/components/script/dom/vrdisplay.rs +++ b/components/script/dom/vrdisplay.rs @@ -79,7 +79,7 @@ unsafe_no_jsmanaged_fields!(WebVRDisplayData); unsafe_no_jsmanaged_fields!(WebVRFrameData); unsafe_no_jsmanaged_fields!(WebVRLayer); -#[derive(Clone, Copy, PartialEq, Eq, HeapSizeOf)] +#[derive(Clone, Copy, Eq, HeapSizeOf, PartialEq)] enum VRFrameDataStatus { Waiting, Synced, diff --git a/components/script/dom/webgl_extensions/extensions.rs b/components/script/dom/webgl_extensions/extensions.rs index 3b702bec37a..8cda0a51980 100644 --- a/components/script/dom/webgl_extensions/extensions.rs +++ b/components/script/dom/webgl_extensions/extensions.rs @@ -44,7 +44,7 @@ const DEFAULT_DISABLED_GET_PARAMETER_NAMES: [GLenum; 1] = [ ]; /// WebGL features that are enabled/disabled by WebGL Extensions. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct WebGLExtensionFeatures { gl_extensions: HashSet<String>, disabled_tex_types: HashSet<GLenum>, @@ -73,7 +73,7 @@ impl Default for WebGLExtensionFeatures { /// Handles the list of implemented, supported and enabled WebGL extensions. #[must_root] -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct WebGLExtensions { extensions: DOMRefCell<HashMap<String, Box<WebGLExtensionWrapper>>>, features: DOMRefCell<WebGLExtensionFeatures>, @@ -223,7 +223,7 @@ impl WebGLExtensions { } // Helper structs -#[derive(JSTraceable, HeapSizeOf, PartialEq, Eq, Hash)] +#[derive(Eq, Hash, HeapSizeOf, JSTraceable, PartialEq)] struct TexFormatType(u32, u32); type WebGLQueryParameterFunc = Fn(*mut JSContext, &WebGLRenderingContext) diff --git a/components/script/dom/webgl_extensions/wrapper.rs b/components/script/dom/webgl_extensions/wrapper.rs index 684daef7556..3d3f8128e33 100644 --- a/components/script/dom/webgl_extensions/wrapper.rs +++ b/components/script/dom/webgl_extensions/wrapper.rs @@ -27,7 +27,7 @@ pub trait WebGLExtensionWrapper: JSTraceable + HeapSizeOf { } #[must_root] -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct TypedWebGLExtensionWrapper<T: WebGLExtension> { extension: MutNullableJS<T::Extension> } diff --git a/components/script/dom/webgl_validations/types.rs b/components/script/dom/webgl_validations/types.rs index 3920866b0ea..9271175b462 100644 --- a/components/script/dom/webgl_validations/types.rs +++ b/components/script/dom/webgl_validations/types.rs @@ -9,7 +9,7 @@ use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderi /// with gl constants. macro_rules! type_safe_wrapper { ($name: ident, $($variant:ident => $mod:ident::$constant:ident, )+) => { - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, JSTraceable, HeapSizeOf)] + #[derive(Clone, Copy, Debug, Eq, Hash, HeapSizeOf, JSTraceable, PartialEq)] #[repr(u32)] pub enum $name { $( diff --git a/components/script/dom/webglframebuffer.rs b/components/script/dom/webglframebuffer.rs index 7a6b1090064..d4f52452178 100644 --- a/components/script/dom/webglframebuffer.rs +++ b/components/script/dom/webglframebuffer.rs @@ -19,7 +19,7 @@ use dom_struct::dom_struct; use std::cell::Cell; #[must_root] -#[derive(JSTraceable, Clone, HeapSizeOf)] +#[derive(Clone, HeapSizeOf, JSTraceable)] enum WebGLFramebufferAttachment { Renderbuffer(JS<WebGLRenderbuffer>), Texture { texture: JS<WebGLTexture>, level: i32 }, diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index 9bf76e91051..cd33092f26e 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -18,7 +18,7 @@ use dom_struct::dom_struct; use std::cell::Cell; use std::sync::{ONCE_INIT, Once}; -#[derive(Clone, Copy, PartialEq, Debug, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable, PartialEq)] pub enum ShaderCompilationStatus { NotCompiled, Succeeded, diff --git a/components/script/dom/webgltexture.rs b/components/script/dom/webgltexture.rs index 048af5d10e0..b4466ee9396 100644 --- a/components/script/dom/webgltexture.rs +++ b/components/script/dom/webgltexture.rs @@ -382,7 +382,7 @@ impl Drop for WebGLTexture { } } -#[derive(Clone, Copy, PartialEq, Debug, JSTraceable, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable, PartialEq)] pub struct ImageInfo { width: u32, height: u32, diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index b533789e611..5aab5496fd5 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -42,7 +42,7 @@ use std::thread; use task_source::TaskSource; use task_source::networking::NetworkingTaskSource; -#[derive(JSTraceable, PartialEq, Copy, Clone, Debug, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable, PartialEq)] enum WebSocketRequestState { Connecting = 0, Open = 1, diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index d45a6b9bc17..806e968e6f2 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -130,7 +130,7 @@ use webrender_api::ClipId; use webvr_traits::WebVRMsg; /// Current state of the window object -#[derive(JSTraceable, Copy, Clone, Debug, PartialEq, HeapSizeOf)] +#[derive(Clone, Copy, Debug, HeapSizeOf, JSTraceable, PartialEq)] enum WindowState { Alive, Zombie, // Pipeline is closed, but the window hasn't been GCed yet. diff --git a/components/script/dom/worklet.rs b/components/script/dom/worklet.rs index 653155a9433..9783dfc14a5 100644 --- a/components/script/dom/worklet.rs +++ b/components/script/dom/worklet.rs @@ -152,7 +152,7 @@ impl WorkletMethods for Worklet { } /// A guid for worklets. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, JSTraceable)] +#[derive(Clone, Copy, Debug, Eq, Hash, JSTraceable, PartialEq)] pub struct WorkletId(Uuid); known_heap_size!(0, WorkletId); @@ -656,7 +656,7 @@ impl WorkletThread { } /// An executor of worklet tasks -#[derive(Clone, JSTraceable, HeapSizeOf)] +#[derive(Clone, HeapSizeOf, JSTraceable)] pub struct WorkletExecutor { worklet_id: WorkletId, #[ignore_heap_size_of = "channels are hard"] diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index e6652d79d70..d6abcda33f2 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -74,7 +74,7 @@ use time; use timers::{OneshotTimerCallback, OneshotTimerHandle}; use url::Position; -#[derive(JSTraceable, PartialEq, Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] enum XMLHttpRequestState { Unsent = 0, Opened = 1, @@ -83,7 +83,7 @@ enum XMLHttpRequestState { Done = 4, } -#[derive(JSTraceable, PartialEq, Clone, Copy, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub struct GenerationId(u32); /// Closure of required data for each async network event that comprises the @@ -1335,7 +1335,7 @@ impl XMLHttpRequest { } } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct XHRTimeoutCallback { #[ignore_heap_size_of = "Because it is non-owning"] xhr: Trusted<XMLHttpRequest>, diff --git a/components/script/microtask.rs b/components/script/microtask.rs index a25b7ff3719..23288fefc8c 100644 --- a/components/script/microtask.rs +++ b/components/script/microtask.rs @@ -21,7 +21,7 @@ use std::mem; use std::rc::Rc; /// A collection of microtasks in FIFO order. -#[derive(JSTraceable, HeapSizeOf, Default)] +#[derive(Default, HeapSizeOf, JSTraceable)] pub struct MicrotaskQueue { /// The list of enqueued microtasks that will be invoked at the next microtask checkpoint. microtask_queue: DOMRefCell<Vec<Microtask>>, @@ -29,7 +29,7 @@ pub struct MicrotaskQueue { performing_a_microtask_checkpoint: Cell<bool>, } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub enum Microtask { Promise(EnqueuedPromiseCallback), MediaElement(MediaElementMicrotask), @@ -43,7 +43,7 @@ pub trait MicrotaskRunnable { } /// A promise callback scheduled to run during the next microtask checkpoint (#4283). -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct EnqueuedPromiseCallback { #[ignore_heap_size_of = "Rc has unclear ownership"] pub callback: Rc<PromiseJobCallback>, diff --git a/components/script/serviceworkerjob.rs b/components/script/serviceworkerjob.rs index 69151c621ff..e1f43a34763 100644 --- a/components/script/serviceworkerjob.rs +++ b/components/script/serviceworkerjob.rs @@ -26,7 +26,7 @@ use std::rc::Rc; use task_source::TaskSource; use task_source::dom_manipulation::DOMManipulationTaskSource; -#[derive(PartialEq, Copy, Clone, Debug, JSTraceable)] +#[derive(Clone, Copy, Debug, JSTraceable, PartialEq)] pub enum JobType { Register, Unregister, diff --git a/components/script/task_source/dom_manipulation.rs b/components/script/task_source/dom_manipulation.rs index 12deff1880e..fe25c5f2486 100644 --- a/components/script/task_source/dom_manipulation.rs +++ b/components/script/task_source/dom_manipulation.rs @@ -14,7 +14,7 @@ use std::result::Result; use std::sync::mpsc::Sender; use task_source::TaskSource; -#[derive(JSTraceable, Clone)] +#[derive(Clone, JSTraceable)] pub struct DOMManipulationTaskSource(pub Sender<MainThreadScriptMsg>); impl fmt::Debug for DOMManipulationTaskSource { diff --git a/components/script/task_source/performance_timeline.rs b/components/script/task_source/performance_timeline.rs index 272d971737d..99b43bdb987 100644 --- a/components/script/task_source/performance_timeline.rs +++ b/components/script/task_source/performance_timeline.rs @@ -16,7 +16,7 @@ use std::result::Result; use std::sync::mpsc::Sender; use task_source::TaskSource; -#[derive(JSTraceable, Clone)] +#[derive(Clone, JSTraceable)] pub struct PerformanceTimelineTaskSource(pub Sender<MainThreadScriptMsg>); impl fmt::Debug for PerformanceTimelineTaskSource { diff --git a/components/script/task_source/user_interaction.rs b/components/script/task_source/user_interaction.rs index 2878a347eb4..c2341cbf82c 100644 --- a/components/script/task_source/user_interaction.rs +++ b/components/script/task_source/user_interaction.rs @@ -14,7 +14,7 @@ use std::result::Result; use std::sync::mpsc::Sender; use task_source::TaskSource; -#[derive(JSTraceable, Clone)] +#[derive(Clone, JSTraceable)] pub struct UserInteractionTaskSource(pub Sender<MainThreadScriptMsg>); impl fmt::Debug for UserInteractionTaskSource { diff --git a/components/script/textinput.rs b/components/script/textinput.rs index d1c473f5ad8..0ac002b9b9f 100644 --- a/components/script/textinput.rs +++ b/components/script/textinput.rs @@ -16,13 +16,13 @@ use std::ops::Range; use std::usize; use unicode_segmentation::UnicodeSegmentation; -#[derive(Copy, Clone, PartialEq)] +#[derive(Clone, Copy, PartialEq)] pub enum Selection { Selected, NotSelected } -#[derive(JSTraceable, PartialEq, Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub enum SelectionDirection { Forward, Backward, @@ -49,7 +49,7 @@ impl From<SelectionDirection> for DOMString { } } -#[derive(JSTraceable, Copy, Clone, HeapSizeOf, PartialEq)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub struct TextPoint { /// 0-based line number pub line: usize, @@ -58,7 +58,7 @@ pub struct TextPoint { } /// Encapsulated state for handling keyboard input in a single or multiline text input control. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct TextInput<T: ClipboardProvider> { /// Current text input content, split across lines without trailing '\n' lines: Vec<DOMString>, @@ -96,14 +96,14 @@ impl Default for TextPoint { } /// Control whether this control should allow multiple lines. -#[derive(PartialEq, Eq)] +#[derive(Eq, PartialEq)] pub enum Lines { Single, Multiple, } /// The direction in which to delete a character. -#[derive(PartialEq, Eq, Copy, Clone)] +#[derive(Clone, Copy, Eq, PartialEq)] pub enum Direction { Forward, Backward diff --git a/components/script/timers.rs b/components/script/timers.rs index f3c09505ff9..7d219bbb199 100644 --- a/components/script/timers.rs +++ b/components/script/timers.rs @@ -27,7 +27,7 @@ use std::collections::HashMap; use std::default::Default; use std::rc::Rc; -#[derive(JSTraceable, PartialEq, Eq, Copy, Clone, HeapSizeOf, Hash, PartialOrd, Ord, Debug)] +#[derive(Clone, Copy, Debug, Eq, Hash, HeapSizeOf, JSTraceable, Ord, PartialEq, PartialOrd)] pub struct OneshotTimerHandle(i32); #[derive(DenyPublicFields, HeapSizeOf, JSTraceable)] @@ -65,7 +65,7 @@ struct OneshotTimer { // This enum is required to work around the fact that trait objects do not support generic methods. // A replacement trait would have a method such as // `invoke<T: DomObject>(self: Box<Self>, this: &T, js_timers: &JsTimers);`. -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub enum OneshotTimerCallback { XhrTimeout(XHRTimeoutCallback), EventSourceTimeout(EventSourceTimeoutCallback), @@ -301,7 +301,7 @@ impl OneshotTimers { } } -#[derive(JSTraceable, PartialEq, Eq, Copy, Clone, HeapSizeOf, Hash, PartialOrd, Ord)] +#[derive(Clone, Copy, Eq, Hash, HeapSizeOf, JSTraceable, Ord, PartialEq, PartialOrd)] pub struct JsTimerHandle(i32); #[derive(DenyPublicFields, HeapSizeOf, JSTraceable)] @@ -314,7 +314,7 @@ pub struct JsTimers { min_duration: Cell<Option<MsDuration>>, } -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] struct JsTimerEntry { oneshot_handle: OneshotTimerHandle, } @@ -323,7 +323,7 @@ struct JsTimerEntry { // (ie. function value to invoke and all arguments to pass // to the function when calling it) // TODO: Handle rooting during invocation when movable GC is turned on -#[derive(JSTraceable, HeapSizeOf)] +#[derive(HeapSizeOf, JSTraceable)] pub struct JsTimerTask { #[ignore_heap_size_of = "Because it is non-owning"] handle: JsTimerHandle, @@ -335,7 +335,7 @@ pub struct JsTimerTask { } // Enum allowing more descriptive values for the is_interval field -#[derive(JSTraceable, PartialEq, Copy, Clone, HeapSizeOf)] +#[derive(Clone, Copy, HeapSizeOf, JSTraceable, PartialEq)] pub enum IsInterval { Interval, NonInterval, @@ -347,7 +347,7 @@ pub enum TimerCallback { FunctionTimerCallback(Rc<Function>), } -#[derive(JSTraceable, Clone)] +#[derive(Clone, JSTraceable)] enum InternalTimerCallback { StringTimerCallback(DOMString), FunctionTimerCallback(Rc<Function>, Rc<Box<[Heap<JSVal>]>>), |