aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/flow.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2016-03-02 15:41:50 -0800
committerPatrick Walton <pcwalton@mimiga.net>2016-03-03 13:09:56 -0800
commitd3d2dd05f23918d27e554de98663ddcfd040235a (patch)
treeb798f75b77da277e8d8a857e7f178086760aa6e8 /components/layout/flow.rs
parentf4b95dd00b00c0b43a424712b74b28577f139d79 (diff)
downloadservo-d3d2dd05f23918d27e554de98663ddcfd040235a.tar.gz
servo-d3d2dd05f23918d27e554de98663ddcfd040235a.zip
layout: Switch display list building from bottom-up to top-down.
This eliminates a lot of allocations and O(n^2) behavior.
Diffstat (limited to 'components/layout/flow.rs')
-rw-r--r--components/layout/flow.rs8
1 files changed, 1 insertions, 7 deletions
diff --git a/components/layout/flow.rs b/components/layout/flow.rs
index def1f7bf8a7..1dd4b386ad8 100644
--- a/components/layout/flow.rs
+++ b/components/layout/flow.rs
@@ -34,7 +34,7 @@ use floats::Floats;
use flow_list::{FlowList, FlowListIterator, MutFlowListIterator};
use flow_ref::{self, FlowRef, WeakFlowRef};
use fragment::{Fragment, FragmentBorderBoxIterator, Overflow, SpecificFragmentInfo};
-use gfx::display_list::{ClippingRegion, DisplayListEntry, StackingContext, StackingContextId};
+use gfx::display_list::{ClippingRegion, StackingContext, StackingContextId};
use gfx_traits::{LayerId, LayerType};
use incremental::{RECONSTRUCT_FLOW, REFLOW, REFLOW_OUT_OF_FLOW, REPAINT, RestyleDamage};
use inline::InlineFlow;
@@ -957,9 +957,6 @@ pub struct BaseFlow {
/// per-stacking-context.
pub stacking_relative_position_of_display_port: Rect<Au>,
- /// The results of display list building for this flow.
- pub display_list_building_result: Option<Vec<DisplayListEntry>>,
-
/// The writing mode for this flow.
pub writing_mode: WritingMode,
@@ -1129,7 +1126,6 @@ impl BaseFlow {
block_container_writing_mode: writing_mode,
block_container_explicit_block_size: None,
absolute_cb: ContainingBlockLink::new(),
- display_list_building_result: None,
early_absolute_position_info: EarlyAbsolutePositionInfo::new(writing_mode),
late_absolute_position_info: LateAbsolutePositionInfo::new(),
clip: ClippingRegion::max(),
@@ -1147,8 +1143,6 @@ impl BaseFlow {
children: children,
restyle_damage: self.restyle_damage | REPAINT | REFLOW_OUT_OF_FLOW | REFLOW,
parallel: FlowParallelInfo::new(),
- display_list_building_result: None,
-
floats: self.floats.clone(),
abs_descendants: self.abs_descendants.clone(),
absolute_cb: self.absolute_cb.clone(),