aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/layout_task.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2014-10-22 14:00:09 -0700
committerMartin Robinson <mrobinson@igalia.com>2014-11-11 08:46:16 -0800
commitc7327450ef1328a6045cfb8a47321e78976ca7a8 (patch)
treec5b6fa5d82eaed3164b0b58f93e1ce6a15239510 /components/layout/layout_task.rs
parentf4471f06029ac03aa2ee26aa4398daaab9c6a371 (diff)
downloadservo-c7327450ef1328a6045cfb8a47321e78976ca7a8.tar.gz
servo-c7327450ef1328a6045cfb8a47321e78976ca7a8.zip
Clip display list based on frame viewport
Instead of creating a display list for the entire page, only create one for an area that expands around the viewport. On my machine this makes incremental layout of http://timecube.com 50% faster.
Diffstat (limited to 'components/layout/layout_task.rs')
-rw-r--r--components/layout/layout_task.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs
index 1ed51197db2..e1e918251cd 100644
--- a/components/layout/layout_task.rs
+++ b/components/layout/layout_task.rs
@@ -625,6 +625,8 @@ impl LayoutTask {
LogicalPoint::zero(writing_mode).to_physical(writing_mode,
rw_data.screen_size);
+ flow::mut_base(layout_root.deref_mut()).clip_rect = data.page_clip_rect;
+
let rw_data = rw_data.deref_mut();
match rw_data.parallel_traversal {
None => {