aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/layout_thread.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-03-04 02:49:04 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2016-03-04 02:49:04 +0530
commit55fc48e4c46917a0f036d0054fac296bb5719434 (patch)
treec3602ca91ace848d540f40ac488c920e9d4a2e7a /components/layout/layout_thread.rs
parent633f0414aaa177e439528f0fa848a41bc0fc094a (diff)
parent117e92aefd0136e192edf132c9bd5c75bce9bd5f (diff)
downloadservo-55fc48e4c46917a0f036d0054fac296bb5719434.tar.gz
servo-55fc48e4c46917a0f036d0054fac296bb5719434.zip
Auto merge of #9843 - pcwalton:optimize-flat-display-lists, r=mrobinson
Optimize flat display lists Flat display lists were a 2x regression on the spheres demo. This patch series fixes that. See the individual commits for more details. r? @mrobinson <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9843) <!-- Reviewable:end -->
Diffstat (limited to 'components/layout/layout_thread.rs')
-rw-r--r--components/layout/layout_thread.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/components/layout/layout_thread.rs b/components/layout/layout_thread.rs
index bf4a6ac9745..a361e42fb15 100644
--- a/components/layout/layout_thread.rs
+++ b/components/layout/layout_thread.rs
@@ -875,9 +875,10 @@ impl LayoutThread {
false,
None);
- sequential::build_display_list_for_subtree(layout_root,
- &mut root_stacking_context,
- shared_layout_context);
+ let display_list_entries =
+ sequential::build_display_list_for_subtree(layout_root,
+ &mut root_stacking_context,
+ shared_layout_context);
if data.goal == ReflowGoal::ForDisplay {
debug!("Done building display list.");
@@ -900,11 +901,9 @@ impl LayoutThread {
ScrollPolicy::Scrollable,
None,
root_background_color));
- let display_list = DisplayList::new(
- root_stacking_context,
- &mut flow::mut_base(flow_ref::deref_mut(layout_root))
- .display_list_building_result);
+ let display_list = DisplayList::new(root_stacking_context,
+ &mut Some(display_list_entries));
if opts::get().dump_display_list {
display_list.print();
}