diff options
author | Pu Xingyu <pu.stshine@gmail.com> | 2017-02-07 10:45:13 +0800 |
---|---|---|
committer | Pu Xingyu <pu.stshine@gmail.com> | 2017-02-08 08:47:54 +0800 |
commit | 336aa795b4b9933436c9df0200de64e18b6f3b7e (patch) | |
tree | 7b8acf2d9eba39a68d47205462b0b29633584a28 /components/layout/table_wrapper.rs | |
parent | f07bfaa97466018f93124e308556aa93293cf648 (diff) | |
download | servo-336aa795b4b9933436c9df0200de64e18b6f3b7e.tar.gz servo-336aa795b4b9933436c9df0200de64e18b6f3b7e.zip |
Remove cached thread local context from LayoutContext
Remove cached thread local context from LayoutContext, use LayoutContext for
assign_inline_sizes(), and simplify the parallel flow traversal code.
Diffstat (limited to 'components/layout/table_wrapper.rs')
-rw-r--r-- | components/layout/table_wrapper.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/components/layout/table_wrapper.rs b/components/layout/table_wrapper.rs index 24df1e7f3e5..64799a37e42 100644 --- a/components/layout/table_wrapper.rs +++ b/components/layout/table_wrapper.rs @@ -16,7 +16,7 @@ use app_units::Au; use block::{AbsoluteNonReplaced, BlockFlow, FloatNonReplaced, ISizeAndMarginsComputer, ISizeConstraintInput}; use block::{ISizeConstraintSolution, MarginsMayCollapseFlag}; -use context::{LayoutContext, SharedLayoutContext}; +use context::LayoutContext; use display_list_builder::DisplayListBuildState; use euclid::Point2D; use floats::FloatKind; @@ -333,7 +333,7 @@ impl Flow for TableWrapperFlow { self.block_flow.bubble_inline_sizes(); } - fn assign_inline_sizes(&mut self, shared_context: &SharedStyleContext) { + fn assign_inline_sizes(&mut self, layout_context: &LayoutContext) { debug!("assign_inline_sizes({}): assigning inline_size for flow", if self.block_flow.base.flags.is_float() { "floated table_wrapper" @@ -341,6 +341,7 @@ impl Flow for TableWrapperFlow { "table_wrapper" }); + let shared_context = layout_context.shared_context(); self.block_flow.initialize_container_size_for_root(shared_context); let mut intermediate_column_inline_sizes = self.column_intrinsic_inline_sizes @@ -419,7 +420,7 @@ impl Flow for TableWrapperFlow { } - fn assign_block_size<'a>(&mut self, layout_context: &'a LayoutContext<'a>) { + fn assign_block_size(&mut self, layout_context: &LayoutContext) { debug!("assign_block_size: assigning block_size for table_wrapper"); let remaining = self.block_flow.assign_block_size_block_base( layout_context, @@ -428,7 +429,7 @@ impl Flow for TableWrapperFlow { debug_assert!(remaining.is_none()); } - fn compute_absolute_position(&mut self, layout_context: &SharedLayoutContext) { + fn compute_absolute_position(&mut self, layout_context: &LayoutContext) { self.block_flow.compute_absolute_position(layout_context) } @@ -436,11 +437,11 @@ impl Flow for TableWrapperFlow { self.block_flow.place_float_if_applicable() } - fn assign_block_size_for_inorder_child_if_necessary<'a>(&mut self, - layout_context: &'a LayoutContext<'a>, - parent_thread_id: u8, - content_box: LogicalRect<Au>) - -> bool { + fn assign_block_size_for_inorder_child_if_necessary(&mut self, + layout_context: &LayoutContext, + parent_thread_id: u8, + content_box: LogicalRect<Au>) + -> bool { self.block_flow.assign_block_size_for_inorder_child_if_necessary(layout_context, parent_thread_id, content_box) |