mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Start reporting memory usage for Window and all nodes in all DOM trees for frame treese in script tasks.
This commit is contained in:
parent
c2497fcd49
commit
8620fe5995
33 changed files with 317 additions and 107 deletions
|
@ -78,6 +78,7 @@ use string_cache::{Atom, Namespace, QualName};
|
|||
|
||||
/// An HTML node.
|
||||
#[dom_struct]
|
||||
#[derive(HeapSizeOf)]
|
||||
pub struct Node {
|
||||
/// The JavaScript reflector for this node.
|
||||
eventtarget: EventTarget,
|
||||
|
@ -135,7 +136,7 @@ impl NodeDerived for EventTarget {
|
|||
|
||||
bitflags! {
|
||||
#[doc = "Flags for node items."]
|
||||
#[derive(JSTraceable)]
|
||||
#[derive(JSTraceable, HeapSizeOf)]
|
||||
flags NodeFlags: u16 {
|
||||
#[doc = "Specifies whether this node is in a document."]
|
||||
const IS_IN_DOC = 0x01,
|
||||
|
@ -206,20 +207,25 @@ enum SuppressObserver {
|
|||
}
|
||||
|
||||
/// Layout data that is shared between the script and layout tasks.
|
||||
#[derive(HeapSizeOf)]
|
||||
pub struct SharedLayoutData {
|
||||
/// The results of CSS styling for this node.
|
||||
pub style: Option<Arc<ComputedValues>>,
|
||||
}
|
||||
|
||||
/// Encapsulates the abstract layout data.
|
||||
#[allow(raw_pointer_derive)]
|
||||
#[derive(HeapSizeOf)]
|
||||
pub struct LayoutData {
|
||||
_shared_data: SharedLayoutData,
|
||||
#[ignore_heap_size_of = "TODO(#6910) Box value that should be counted but the type lives in layout"]
|
||||
_data: NonZero<*const ()>,
|
||||
}
|
||||
|
||||
#[allow(unsafe_code)]
|
||||
unsafe impl Send for LayoutData {}
|
||||
|
||||
#[derive(HeapSizeOf)]
|
||||
pub struct LayoutDataRef {
|
||||
data_cell: RefCell<Option<LayoutData>>,
|
||||
}
|
||||
|
@ -274,6 +280,7 @@ impl LayoutDataRef {
|
|||
|
||||
/// The different types of nodes.
|
||||
#[derive(JSTraceable, Copy, Clone, PartialEq, Debug)]
|
||||
#[derive(HeapSizeOf)]
|
||||
pub enum NodeTypeId {
|
||||
CharacterData(CharacterDataTypeId),
|
||||
DocumentType,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue