aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/util.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-10-30 13:27:35 -0700
committerPatrick Walton <pcwalton@mimiga.net>2014-10-31 12:24:40 -0700
commit08fc7c2795ebfbb53b409ad563e9b1131c99f669 (patch)
tree7cba247ef4993af57d6106ef6e7265680dab73e6 /components/layout/util.rs
parent7712052e137cdefc567d17366b233c060cf2477b (diff)
downloadservo-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.rs11
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,