Make NodeExt private in layout_2020

This commit is contained in:
Anthony Ramine 2019-11-25 21:49:41 +01:00 committed by Simon Sapin
parent 10eccc8beb
commit 24b7eadfff
2 changed files with 8 additions and 4 deletions

View file

@ -284,7 +284,7 @@ impl Drop for BoxSlot<'_> {
}
}
pub trait NodeExt<'dom>: 'dom + Copy + LayoutNode + Send + Sync {
pub(crate) trait NodeExt<'dom>: 'dom + Copy + LayoutNode + Send + Sync {
fn is_element(self) -> bool;
fn as_text(self) -> Option<String>;
fn first_child(self) -> Option<Self>;

View file

@ -19,6 +19,7 @@ use crate::style_ext::{
};
use crate::{ContainingBlock, DefiniteContainingBlock};
use rayon::iter::{IntoParallelRefIterator, ParallelExtend, ParallelIterator};
use script_layout_interface::wrapper_traits::LayoutNode;
use servo_arc::Arc;
use style::context::SharedStyleContext;
use style::properties::ComputedValues;
@ -30,10 +31,13 @@ pub struct BoxTreeRoot(BlockFormattingContext);
pub struct FragmentTreeRoot(Vec<Fragment>);
impl BoxTreeRoot {
pub fn construct<'dom>(
pub fn construct<'dom, Node>(
context: &SharedStyleContext<'_>,
root_element: impl NodeExt<'dom>,
) -> Self {
root_element: Node,
) -> Self
where
Node: 'dom + Copy + LayoutNode + Send + Sync,
{
let (contains_floats, boxes) = construct_for_root_element(&context, root_element);
Self(BlockFormattingContext {
contains_floats: contains_floats == ContainsFloats::Yes,