diff options
author | Emilio Cobos Álvarez <ecoal95@gmail.com> | 2016-08-13 02:36:17 -0700 |
---|---|---|
committer | Emilio Cobos Álvarez <ecoal95@gmail.com> | 2016-08-16 15:34:28 -0700 |
commit | fd3a99ead3093c824b823863daee02970bb8f79d (patch) | |
tree | 736ff9ce14f9159bb9f6a5337b796749d14b32e8 /components/layout/sequential.rs | |
parent | 49431be44a7bbc256829463f4ec4658801742bd9 (diff) | |
download | servo-fd3a99ead3093c824b823863daee02970bb8f79d.tar.gz servo-fd3a99ead3093c824b823863daee02970bb8f79d.zip |
layout: Make the stacking context take into account the children transform when calculating overflow areas.
This only works for simple translations and similar, but I want Patrick to
validate my approach.
Diffstat (limited to 'components/layout/sequential.rs')
-rw-r--r-- | components/layout/sequential.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/components/layout/sequential.rs b/components/layout/sequential.rs index 9d51df51a80..1862086b163 100644 --- a/components/layout/sequential.rs +++ b/components/layout/sequential.rs @@ -84,8 +84,10 @@ pub fn build_display_list_for_subtree(root: &mut FlowRef, let flow_root = flow_ref::deref_mut(root); let layout_context = LayoutContext::new(shared_layout_context); flow_root.traverse_preorder(&ComputeAbsolutePositions { layout_context: &layout_context }); + let mut children = vec![]; flow_root.collect_stacking_contexts(root_stacking_context.id, - &mut root_stacking_context.children); + &mut children); + root_stacking_context.add_children(children); let mut build_display_list = BuildDisplayList { state: DisplayListBuildState::new(&layout_context, flow::base(&*flow_root).stacking_context_id), |