Measure heap memory usage for more types. Fixes #6951

This commit is contained in:
Bogdan Cuza 2015-08-05 18:31:42 +03:00
parent 94c8dcd575
commit 45145108da
175 changed files with 669 additions and 94 deletions

View file

@ -104,7 +104,7 @@ use std::sync::mpsc::channel;
use std::rc::Rc;
use time;
#[derive(JSTraceable, PartialEq)]
#[derive(JSTraceable, PartialEq, HeapSizeOf)]
pub enum IsHTMLDocument {
HTMLDocument,
NonHTMLDocument,
@ -171,7 +171,7 @@ impl DocumentDerived for EventTarget {
}
}
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct ImagesFilter;
impl CollectionFilter for ImagesFilter {
fn filter(&self, elem: &Element, _root: &Node) -> bool {
@ -179,7 +179,7 @@ impl CollectionFilter for ImagesFilter {
}
}
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct EmbedsFilter;
impl CollectionFilter for EmbedsFilter {
fn filter(&self, elem: &Element, _root: &Node) -> bool {
@ -187,7 +187,7 @@ impl CollectionFilter for EmbedsFilter {
}
}
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct LinksFilter;
impl CollectionFilter for LinksFilter {
fn filter(&self, elem: &Element, _root: &Node) -> bool {
@ -196,7 +196,7 @@ impl CollectionFilter for LinksFilter {
}
}
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct FormsFilter;
impl CollectionFilter for FormsFilter {
fn filter(&self, elem: &Element, _root: &Node) -> bool {
@ -204,7 +204,7 @@ impl CollectionFilter for FormsFilter {
}
}
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct ScriptsFilter;
impl CollectionFilter for ScriptsFilter {
fn filter(&self, elem: &Element, _root: &Node) -> bool {
@ -212,7 +212,7 @@ impl CollectionFilter for ScriptsFilter {
}
}
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct AnchorsFilter;
impl CollectionFilter for AnchorsFilter {
fn filter(&self, elem: &Element, _root: &Node) -> bool {
@ -220,7 +220,7 @@ impl CollectionFilter for AnchorsFilter {
}
}
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct AppletsFilter;
impl CollectionFilter for AppletsFilter {
fn filter(&self, elem: &Element, _root: &Node) -> bool {
@ -1053,6 +1053,7 @@ impl<'a> DocumentHelpers<'a> for &'a Document {
}
}
#[derive(HeapSizeOf)]
pub enum MouseEventType {
Click,
MouseDown,
@ -1060,7 +1061,7 @@ pub enum MouseEventType {
}
#[derive(PartialEq)]
#[derive(PartialEq, HeapSizeOf)]
pub enum DocumentSource {
FromParser,
NotFromParser,
@ -1827,7 +1828,7 @@ impl<'a> DocumentMethods for &'a Document {
// https://html.spec.whatwg.org/multipage/#dom-tree-accessors:dom-document-nameditem-filter
fn NamedGetter(self, _cx: *mut JSContext, name: DOMString, found: &mut bool)
-> *mut JSObject {
#[derive(JSTraceable)]
#[derive(JSTraceable, HeapSizeOf)]
struct NamedElementFilter {
name: Atom,
}
@ -1918,6 +1919,7 @@ fn is_scheme_host_port_tuple(url: &Url) -> bool {
url.host().is_some() && url.port_or_default().is_some()
}
#[derive(HeapSizeOf)]
pub enum DocumentProgressTask {
DOMContentLoaded,
Load,