diff options
author | Patrick Walton <pcwalton@mimiga.net> | 2014-10-30 13:27:35 -0700 |
---|---|---|
committer | Patrick Walton <pcwalton@mimiga.net> | 2014-10-31 12:24:40 -0700 |
commit | 08fc7c2795ebfbb53b409ad563e9b1131c99f669 (patch) | |
tree | 7cba247ef4993af57d6106ef6e7265680dab73e6 /components/layout/util.rs | |
parent | 7712052e137cdefc567d17366b233c060cf2477b (diff) | |
download | servo-08fc7c2795ebfbb53b409ad563e9b1131c99f669.tar.gz servo-08fc7c2795ebfbb53b409ad563e9b1131c99f669.zip |
layout: Make incremental reflow more fine-grained by introducing "reflow
out-of-flow" and "reconstruct flow" damage bits.
This is needed for good performance on the maze solver.
Diffstat (limited to 'components/layout/util.rs')
-rw-r--r-- | components/layout/util.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/components/layout/util.rs b/components/layout/util.rs index 9bb1a3ffa1f..c7ddbc0c596 100644 --- a/components/layout/util.rs +++ b/components/layout/util.rs @@ -42,6 +42,9 @@ pub struct PrivateLayoutData { /// Information needed during parallel traversals. pub parallel: DomParallelInfo, + + /// Various flags. + pub flags: LayoutDataFlags, } impl PrivateLayoutData { @@ -55,10 +58,18 @@ impl PrivateLayoutData { before_flow_construction_result: NoConstructionResult, after_flow_construction_result: NoConstructionResult, parallel: DomParallelInfo::new(), + flags: LayoutDataFlags::empty(), } } } +bitflags! { + flags LayoutDataFlags: u8 { + #[doc="Whether a flow has been newly constructed."] + static HasNewlyConstructedFlow = 0x01 + } +} + pub struct LayoutDataWrapper { pub chan: Option<LayoutChan>, pub shared_data: SharedLayoutData, |