mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Store SharedStyleContext in AssignISizes.
This commit is contained in:
parent
ea45e76840
commit
577c2d2078
3 changed files with 6 additions and 5 deletions
|
@ -203,9 +203,8 @@ impl<'a> ParallelPostorderFlowTraversal for AssignBSizes<'a> {}
|
||||||
fn assign_inline_sizes(unsafe_flows: UnsafeFlowList,
|
fn assign_inline_sizes(unsafe_flows: UnsafeFlowList,
|
||||||
proxy: &mut WorkerProxy<SharedLayoutContext, UnsafeFlowList>) {
|
proxy: &mut WorkerProxy<SharedLayoutContext, UnsafeFlowList>) {
|
||||||
let shared_layout_context = proxy.user_data();
|
let shared_layout_context = proxy.user_data();
|
||||||
let layout_context = LayoutContext::new(shared_layout_context);
|
|
||||||
let assign_inline_sizes_traversal = AssignISizes {
|
let assign_inline_sizes_traversal = AssignISizes {
|
||||||
layout_context: &layout_context,
|
shared_context: &shared_layout_context.style_context,
|
||||||
};
|
};
|
||||||
assign_inline_sizes_traversal.run_parallel(unsafe_flows, proxy)
|
assign_inline_sizes_traversal.run_parallel(unsafe_flows, proxy)
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ use fragment::FragmentBorderBoxIterator;
|
||||||
use generated_content::ResolveGeneratedContent;
|
use generated_content::ResolveGeneratedContent;
|
||||||
use gfx::display_list::{DisplayItem, StackingContext};
|
use gfx::display_list::{DisplayItem, StackingContext};
|
||||||
use script_layout_interface::restyle_damage::{REFLOW, STORE_OVERFLOW};
|
use script_layout_interface::restyle_damage::{REFLOW, STORE_OVERFLOW};
|
||||||
|
use style::context::StyleContext;
|
||||||
use traversal::{AssignBSizes, AssignISizes, BubbleISizes, BuildDisplayList, ComputeAbsolutePositions};
|
use traversal::{AssignBSizes, AssignISizes, BubbleISizes, BuildDisplayList, ComputeAbsolutePositions};
|
||||||
use util::opts;
|
use util::opts;
|
||||||
|
|
||||||
|
@ -70,7 +71,7 @@ pub fn traverse_flow_tree_preorder(root: &mut FlowRef,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let assign_inline_sizes = AssignISizes { layout_context: &layout_context };
|
let assign_inline_sizes = AssignISizes { shared_context: layout_context.shared_context() };
|
||||||
let assign_block_sizes = AssignBSizes { layout_context: &layout_context };
|
let assign_block_sizes = AssignBSizes { layout_context: &layout_context };
|
||||||
|
|
||||||
doit(root, assign_inline_sizes, assign_block_sizes);
|
doit(root, assign_inline_sizes, assign_block_sizes);
|
||||||
|
|
|
@ -18,6 +18,7 @@ use style::dom::TNode;
|
||||||
use style::matching::MatchMethods;
|
use style::matching::MatchMethods;
|
||||||
use style::properties::ServoComputedValues;
|
use style::properties::ServoComputedValues;
|
||||||
use style::selector_impl::ServoSelectorImpl;
|
use style::selector_impl::ServoSelectorImpl;
|
||||||
|
use style::servo::SharedStyleContext;
|
||||||
use style::traversal::{DomTraversalContext, STYLE_BLOOM};
|
use style::traversal::{DomTraversalContext, STYLE_BLOOM};
|
||||||
use style::traversal::{put_thread_local_bloom_filter, recalc_style_at};
|
use style::traversal::{put_thread_local_bloom_filter, recalc_style_at};
|
||||||
use util::opts;
|
use util::opts;
|
||||||
|
@ -168,13 +169,13 @@ impl<'a> PostorderFlowTraversal for BubbleISizes<'a> {
|
||||||
/// The assign-inline-sizes traversal. In Gecko this corresponds to `Reflow`.
|
/// The assign-inline-sizes traversal. In Gecko this corresponds to `Reflow`.
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
pub struct AssignISizes<'a> {
|
pub struct AssignISizes<'a> {
|
||||||
pub layout_context: &'a LayoutContext<'a>,
|
pub shared_context: &'a SharedStyleContext,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> PreorderFlowTraversal for AssignISizes<'a> {
|
impl<'a> PreorderFlowTraversal for AssignISizes<'a> {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn process(&self, flow: &mut Flow) {
|
fn process(&self, flow: &mut Flow) {
|
||||||
flow.assign_inline_sizes(self.layout_context.shared_context());
|
flow.assign_inline_sizes(self.shared_context);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue