mirror of
https://github.com/servo/servo.git
synced 2025-07-22 14:53:49 +01:00
layout: Report memory usage for fragment and box trees. (#36553)
Add memory reporter integration for the fragment and box trees that are persisted in the layout thread. Testing: Looked at the numbers for https://servo.org and https://html.spec.whatwg.org/. The former was very small, but the latter was 700mb. --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
parent
add8c51f47
commit
c787688afc
33 changed files with 230 additions and 69 deletions
|
@ -26,6 +26,8 @@ glow = { workspace = true }
|
|||
image = { workspace = true }
|
||||
ipc-channel = { workspace = true }
|
||||
log = { workspace = true }
|
||||
malloc_size_of = { workspace = true }
|
||||
malloc_size_of_derive = { workspace = true }
|
||||
pixels = { path = '../../pixels' }
|
||||
profile_traits = { path = '../profile' }
|
||||
raw-window-handle = { version = "0.6" }
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
use base::id::ScrollTreeNodeId;
|
||||
use embedder_traits::Cursor;
|
||||
use malloc_size_of_derive::MallocSizeOf;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use style::values::specified::Overflow;
|
||||
use webrender_api::units::{LayoutSize, LayoutVector2D};
|
||||
|
@ -13,7 +14,7 @@ use webrender_api::{Epoch, ExternalScrollId, PipelineId, ScrollLocation, Spatial
|
|||
|
||||
/// The scroll sensitivity of a scroll node in a particular axis ie whether it can be scrolled due to
|
||||
/// input events and script events or only script events.
|
||||
#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Copy, Debug, Deserialize, MallocSizeOf, PartialEq, Serialize)]
|
||||
pub enum ScrollSensitivity {
|
||||
/// This node can be scrolled by input and script events.
|
||||
ScriptAndInputEvents,
|
||||
|
@ -35,7 +36,7 @@ impl From<Overflow> for ScrollSensitivity {
|
|||
}
|
||||
|
||||
/// The [ScrollSensitivity] of particular node in the vertical and horizontal axes.
|
||||
#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Copy, Debug, Deserialize, MallocSizeOf, PartialEq, Serialize)]
|
||||
pub struct AxesScrollSensitivity {
|
||||
pub x: ScrollSensitivity,
|
||||
pub y: ScrollSensitivity,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue