зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #10061 - Remove overflow references on AssignBSizesAndStoreOverflow code (from DavidBM:clean_code_removing_overflow_in_assign_bsizes); r=Manishearth
Source-Repo: https://github.com/servo/servo Source-Revision: ce2da28a00036e614cee211f4b279dc8e7eac9c1
This commit is contained in:
Родитель
46cc39bc0c
Коммит
e6f7b187b0
|
@ -17,7 +17,7 @@ use std::sync::atomic::{AtomicIsize, Ordering};
|
|||
use style::dom::{TNode, UnsafeNode};
|
||||
use style::parallel::{CHUNK_SIZE, WorkQueueData};
|
||||
use style::parallel::{run_queue_with_custom_work_data_type};
|
||||
use traversal::AssignBSizesAndStoreOverflow;
|
||||
use traversal::AssignBSizes;
|
||||
use traversal::{AssignISizes, BubbleISizes, PostorderNodeMutTraversal};
|
||||
use util::opts;
|
||||
use util::workqueue::{WorkQueue, WorkUnit, WorkerProxy};
|
||||
|
@ -198,7 +198,7 @@ impl<'a> ParallelPreorderFlowTraversal for AssignISizes<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<'a> ParallelPostorderFlowTraversal for AssignBSizesAndStoreOverflow<'a> {}
|
||||
impl<'a> ParallelPostorderFlowTraversal for AssignBSizes<'a> {}
|
||||
|
||||
fn assign_inline_sizes(unsafe_flows: UnsafeFlowList,
|
||||
proxy: &mut WorkerProxy<SharedLayoutContext, UnsafeFlowList>) {
|
||||
|
@ -214,7 +214,7 @@ fn assign_block_sizes_and_store_overflow(
|
|||
unsafe_flow: UnsafeFlow,
|
||||
shared_layout_context: &SharedLayoutContext) {
|
||||
let layout_context = LayoutContext::new(shared_layout_context);
|
||||
let assign_block_sizes_traversal = AssignBSizesAndStoreOverflow {
|
||||
let assign_block_sizes_traversal = AssignBSizes {
|
||||
layout_context: &layout_context,
|
||||
};
|
||||
assign_block_sizes_traversal.run_parallel(unsafe_flow)
|
||||
|
|
|
@ -16,7 +16,7 @@ use generated_content::ResolveGeneratedContent;
|
|||
use gfx::display_list::{DisplayListEntry, StackingContext};
|
||||
use style::dom::TNode;
|
||||
use style::traversal::DomTraversalContext;
|
||||
use traversal::{AssignBSizesAndStoreOverflow, AssignISizes};
|
||||
use traversal::{AssignBSizes, AssignISizes};
|
||||
use traversal::{BubbleISizes, BuildDisplayList, ComputeAbsolutePositions, PostorderNodeMutTraversal};
|
||||
use util::opts;
|
||||
|
||||
|
@ -44,7 +44,7 @@ pub fn traverse_flow_tree_preorder(root: &mut FlowRef,
|
|||
shared_layout_context: &SharedLayoutContext) {
|
||||
fn doit(flow: &mut Flow,
|
||||
assign_inline_sizes: AssignISizes,
|
||||
assign_block_sizes: AssignBSizesAndStoreOverflow) {
|
||||
assign_block_sizes: AssignBSizes) {
|
||||
if assign_inline_sizes.should_process(flow) {
|
||||
assign_inline_sizes.process(flow);
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ pub fn traverse_flow_tree_preorder(root: &mut FlowRef,
|
|||
}
|
||||
|
||||
let assign_inline_sizes = AssignISizes { layout_context: &layout_context };
|
||||
let assign_block_sizes = AssignBSizesAndStoreOverflow { layout_context: &layout_context };
|
||||
let assign_block_sizes = AssignBSizes { layout_context: &layout_context };
|
||||
|
||||
doit(root, assign_inline_sizes, assign_block_sizes);
|
||||
}
|
||||
|
|
|
@ -172,15 +172,14 @@ impl<'a> PreorderFlowTraversal for AssignISizes<'a> {
|
|||
}
|
||||
|
||||
/// The assign-block-sizes-and-store-overflow traversal, the last (and most expensive) part of
|
||||
/// layout computation. Determines the final block-sizes for all layout objects, computes
|
||||
/// positions, and computes overflow regions. In Gecko this corresponds to `Reflow` and
|
||||
/// `FinishAndStoreOverflow`.
|
||||
/// layout computation. Determines the final block-sizes for all layout objects and computes
|
||||
/// positions. In Gecko this corresponds to `Reflow`.
|
||||
#[derive(Copy, Clone)]
|
||||
pub struct AssignBSizesAndStoreOverflow<'a> {
|
||||
pub struct AssignBSizes<'a> {
|
||||
pub layout_context: &'a LayoutContext<'a>,
|
||||
}
|
||||
|
||||
impl<'a> PostorderFlowTraversal for AssignBSizesAndStoreOverflow<'a> {
|
||||
impl<'a> PostorderFlowTraversal for AssignBSizes<'a> {
|
||||
#[inline]
|
||||
fn process(&self, flow: &mut Flow) {
|
||||
// Can't do anything with flows impacted by floats until we reach their inorder parent.
|
||||
|
|
Загрузка…
Ссылка в новой задаче