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:
David Bonet 2016-03-18 01:45:22 +05:01
Родитель 46cc39bc0c
Коммит e6f7b187b0
3 изменённых файлов: 10 добавлений и 11 удалений

Просмотреть файл

@ -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.