mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Remove BlockFlowDisplayListBuilding
Replaced by inherent methods on BlockFlow, the only implementor of that trait.
This commit is contained in:
parent
64755705fb
commit
fc75719ff2
11 changed files with 26 additions and 99 deletions
|
@ -27,9 +27,10 @@
|
||||||
|
|
||||||
use crate::context::LayoutContext;
|
use crate::context::LayoutContext;
|
||||||
use crate::display_list::items::DisplayListSection;
|
use crate::display_list::items::DisplayListSection;
|
||||||
use crate::display_list::StackingContextCollectionState;
|
use crate::display_list::{
|
||||||
use crate::display_list::{BlockFlowDisplayListBuilding, BorderPaintingMode};
|
BorderPaintingMode, DisplayListBuildState, StackingContextCollectionFlags,
|
||||||
use crate::display_list::{DisplayListBuildState, StackingContextCollectionFlags};
|
StackingContextCollectionState,
|
||||||
|
};
|
||||||
use crate::floats::{ClearType, FloatKind, Floats, PlacementInfo};
|
use crate::floats::{ClearType, FloatKind, Floats, PlacementInfo};
|
||||||
use crate::flow::{
|
use crate::flow::{
|
||||||
BaseFlow, EarlyAbsolutePositionInfo, Flow, FlowClass, ForceNonfloatedFlag, GetBaseFlow,
|
BaseFlow, EarlyAbsolutePositionInfo, Flow, FlowClass, ForceNonfloatedFlag, GetBaseFlow,
|
||||||
|
|
|
@ -2344,81 +2344,6 @@ bitflags! {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait BlockFlowDisplayListBuilding {
|
|
||||||
fn collect_stacking_contexts_for_block(
|
|
||||||
&mut self,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
flags: StackingContextCollectionFlags,
|
|
||||||
);
|
|
||||||
|
|
||||||
fn transform_clip_to_coordinate_space(
|
|
||||||
&mut self,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
preserved_state: &mut SavedStackingContextCollectionState,
|
|
||||||
);
|
|
||||||
fn setup_clipping_for_block(
|
|
||||||
&mut self,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
preserved_state: &mut SavedStackingContextCollectionState,
|
|
||||||
stacking_context_type: Option<StackingContextType>,
|
|
||||||
established_reference_frame: Option<ClipScrollNodeIndex>,
|
|
||||||
flags: StackingContextCollectionFlags,
|
|
||||||
) -> ClippingAndScrolling;
|
|
||||||
fn setup_clip_scroll_node_for_position(
|
|
||||||
&mut self,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
border_box: Rect<Au>,
|
|
||||||
);
|
|
||||||
fn setup_clip_scroll_node_for_overflow(
|
|
||||||
&mut self,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
border_box: Rect<Au>,
|
|
||||||
);
|
|
||||||
fn setup_clip_scroll_node_for_css_clip(
|
|
||||||
&mut self,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
preserved_state: &mut SavedStackingContextCollectionState,
|
|
||||||
stacking_relative_border_box: Rect<Au>,
|
|
||||||
);
|
|
||||||
fn create_pseudo_stacking_context_for_block(
|
|
||||||
&mut self,
|
|
||||||
stacking_context_type: StackingContextType,
|
|
||||||
parent_stacking_context_id: StackingContextId,
|
|
||||||
parent_clip_and_scroll_info: ClippingAndScrolling,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
);
|
|
||||||
fn create_real_stacking_context_for_block(
|
|
||||||
&mut self,
|
|
||||||
parent_stacking_context_id: StackingContextId,
|
|
||||||
parent_clipping_and_scrolling: ClippingAndScrolling,
|
|
||||||
established_reference_frame: Option<ClipScrollNodeIndex>,
|
|
||||||
state: &mut StackingContextCollectionState,
|
|
||||||
);
|
|
||||||
fn build_display_list_for_block(
|
|
||||||
&mut self,
|
|
||||||
state: &mut DisplayListBuildState,
|
|
||||||
border_painting_mode: BorderPaintingMode,
|
|
||||||
);
|
|
||||||
fn build_display_list_for_block_no_damage(
|
|
||||||
&self,
|
|
||||||
state: &mut DisplayListBuildState,
|
|
||||||
border_painting_mode: BorderPaintingMode,
|
|
||||||
);
|
|
||||||
fn build_display_list_for_background_if_applicable_with_background(
|
|
||||||
&self,
|
|
||||||
state: &mut DisplayListBuildState,
|
|
||||||
background: &style_structs::Background,
|
|
||||||
background_color: RGBA,
|
|
||||||
);
|
|
||||||
|
|
||||||
fn stacking_context_type(
|
|
||||||
&self,
|
|
||||||
flags: StackingContextCollectionFlags,
|
|
||||||
) -> Option<StackingContextType>;
|
|
||||||
|
|
||||||
fn is_reference_frame(&self, context_type: Option<StackingContextType>) -> bool;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// This structure manages ensuring that modification to StackingContextCollectionState is
|
/// This structure manages ensuring that modification to StackingContextCollectionState is
|
||||||
/// only temporary. It's useful for moving recursively down the flow tree and ensuring
|
/// only temporary. It's useful for moving recursively down the flow tree and ensuring
|
||||||
/// that the state is restored for siblings. To use this structure, we must call
|
/// that the state is restored for siblings. To use this structure, we must call
|
||||||
|
@ -2498,7 +2423,7 @@ impl SavedStackingContextCollectionState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BlockFlowDisplayListBuilding for BlockFlow {
|
impl BlockFlow {
|
||||||
fn transform_clip_to_coordinate_space(
|
fn transform_clip_to_coordinate_space(
|
||||||
&mut self,
|
&mut self,
|
||||||
state: &mut StackingContextCollectionState,
|
state: &mut StackingContextCollectionState,
|
||||||
|
@ -2576,7 +2501,7 @@ impl BlockFlowDisplayListBuilding for BlockFlow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn collect_stacking_contexts_for_block(
|
pub fn collect_stacking_contexts_for_block(
|
||||||
&mut self,
|
&mut self,
|
||||||
state: &mut StackingContextCollectionState,
|
state: &mut StackingContextCollectionState,
|
||||||
flags: StackingContextCollectionFlags,
|
flags: StackingContextCollectionFlags,
|
||||||
|
@ -2970,7 +2895,7 @@ impl BlockFlowDisplayListBuilding for BlockFlow {
|
||||||
self.base.collect_stacking_contexts_for_children(state);
|
self.base.collect_stacking_contexts_for_children(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_display_list_for_block_no_damage(
|
pub fn build_display_list_for_block_no_damage(
|
||||||
&self,
|
&self,
|
||||||
state: &mut DisplayListBuildState,
|
state: &mut DisplayListBuildState,
|
||||||
border_painting_mode: BorderPaintingMode,
|
border_painting_mode: BorderPaintingMode,
|
||||||
|
@ -3005,7 +2930,7 @@ impl BlockFlowDisplayListBuilding for BlockFlow {
|
||||||
state.processing_scrolling_overflow_element = false;
|
state.processing_scrolling_overflow_element = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_display_list_for_block(
|
pub fn build_display_list_for_block(
|
||||||
&mut self,
|
&mut self,
|
||||||
state: &mut DisplayListBuildState,
|
state: &mut DisplayListBuildState,
|
||||||
border_painting_mode: BorderPaintingMode,
|
border_painting_mode: BorderPaintingMode,
|
||||||
|
@ -3016,7 +2941,7 @@ impl BlockFlowDisplayListBuilding for BlockFlow {
|
||||||
self.build_display_list_for_block_no_damage(state, border_painting_mode);
|
self.build_display_list_for_block_no_damage(state, border_painting_mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_display_list_for_background_if_applicable_with_background(
|
pub fn build_display_list_for_background_if_applicable_with_background(
|
||||||
&self,
|
&self,
|
||||||
state: &mut DisplayListBuildState,
|
state: &mut DisplayListBuildState,
|
||||||
background: &style_structs::Background,
|
background: &style_structs::Background,
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
pub use self::builder::BlockFlowDisplayListBuilding;
|
|
||||||
pub use self::builder::BorderPaintingMode;
|
pub use self::builder::BorderPaintingMode;
|
||||||
pub use self::builder::DisplayListBuildState;
|
pub use self::builder::DisplayListBuildState;
|
||||||
pub use self::builder::FlexFlowDisplayListBuilding;
|
pub use self::builder::FlexFlowDisplayListBuilding;
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
use crate::block::{BlockFlow, CandidateBSizeIterator, ISizeAndMarginsComputer};
|
use crate::block::{BlockFlow, CandidateBSizeIterator, ISizeAndMarginsComputer};
|
||||||
use crate::block::{ISizeConstraintInput, ISizeConstraintSolution};
|
use crate::block::{ISizeConstraintInput, ISizeConstraintSolution};
|
||||||
use crate::context::LayoutContext;
|
use crate::context::LayoutContext;
|
||||||
use crate::display_list::{BlockFlowDisplayListBuilding, BorderPaintingMode};
|
|
||||||
use crate::display_list::{
|
use crate::display_list::{
|
||||||
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
BorderPaintingMode, DisplayListBuildState, StackingContextCollectionFlags,
|
||||||
|
StackingContextCollectionState,
|
||||||
};
|
};
|
||||||
use crate::flow::{
|
use crate::flow::{
|
||||||
BaseFlow, EarlyAbsolutePositionInfo, Flow, FlowClass, GetBaseFlow, ImmutableFlowUtils,
|
BaseFlow, EarlyAbsolutePositionInfo, Flow, FlowClass, GetBaseFlow, ImmutableFlowUtils,
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
|
|
||||||
use crate::block::BlockFlow;
|
use crate::block::BlockFlow;
|
||||||
use crate::context::LayoutContext;
|
use crate::context::LayoutContext;
|
||||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
use crate::display_list::{
|
||||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||||
|
};
|
||||||
use crate::flow::{Flow, FlowClass, OpaqueFlow};
|
use crate::flow::{Flow, FlowClass, OpaqueFlow};
|
||||||
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
||||||
use app_units::Au;
|
use app_units::Au;
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
|
|
||||||
use crate::block::{BlockFlow, ISizeAndMarginsComputer, MarginsMayCollapseFlag};
|
use crate::block::{BlockFlow, ISizeAndMarginsComputer, MarginsMayCollapseFlag};
|
||||||
use crate::context::LayoutContext;
|
use crate::context::LayoutContext;
|
||||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
use crate::display_list::{
|
||||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||||
|
};
|
||||||
use crate::flow::{Flow, FlowClass, FlowFlags, GetBaseFlow, OpaqueFlow};
|
use crate::flow::{Flow, FlowClass, FlowFlags, GetBaseFlow, OpaqueFlow};
|
||||||
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
||||||
use crate::layout_debug;
|
use crate::layout_debug;
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
|
|
||||||
use crate::block::{BlockFlow, ISizeAndMarginsComputer};
|
use crate::block::{BlockFlow, ISizeAndMarginsComputer};
|
||||||
use crate::context::LayoutContext;
|
use crate::context::LayoutContext;
|
||||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
use crate::display_list::{
|
||||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||||
|
};
|
||||||
use crate::flow::{
|
use crate::flow::{
|
||||||
EarlyAbsolutePositionInfo, Flow, FlowClass, GetBaseFlow, ImmutableFlowUtils, OpaqueFlow,
|
EarlyAbsolutePositionInfo, Flow, FlowClass, GetBaseFlow, ImmutableFlowUtils, OpaqueFlow,
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
|
|
||||||
use crate::block::{BlockFlow, ISizeAndMarginsComputer};
|
use crate::block::{BlockFlow, ISizeAndMarginsComputer};
|
||||||
use crate::context::LayoutContext;
|
use crate::context::LayoutContext;
|
||||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
use crate::display_list::{
|
||||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||||
|
};
|
||||||
use crate::flow::{Flow, FlowClass, OpaqueFlow};
|
use crate::flow::{Flow, FlowClass, OpaqueFlow};
|
||||||
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
||||||
use crate::layout_debug;
|
use crate::layout_debug;
|
||||||
|
|
|
@ -17,9 +17,7 @@ use crate::block::{
|
||||||
use crate::block::{ISizeConstraintSolution, MarginsMayCollapseFlag};
|
use crate::block::{ISizeConstraintSolution, MarginsMayCollapseFlag};
|
||||||
use crate::context::LayoutContext;
|
use crate::context::LayoutContext;
|
||||||
use crate::display_list::StackingContextCollectionState;
|
use crate::display_list::StackingContextCollectionState;
|
||||||
use crate::display_list::{
|
use crate::display_list::{DisplayListBuildState, StackingContextCollectionFlags};
|
||||||
BlockFlowDisplayListBuilding, DisplayListBuildState, StackingContextCollectionFlags,
|
|
||||||
};
|
|
||||||
use crate::floats::FloatKind;
|
use crate::floats::FloatKind;
|
||||||
use crate::flow::{Flow, FlowClass, FlowFlags, ImmutableFlowUtils, OpaqueFlow};
|
use crate::flow::{Flow, FlowClass, FlowFlags, ImmutableFlowUtils, OpaqueFlow};
|
||||||
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
||||||
|
|
|
@ -75,7 +75,7 @@ use parking_lot::RwLock;
|
||||||
use profile_traits::mem::{self as profile_mem, Report, ReportKind, ReportsChan};
|
use profile_traits::mem::{self as profile_mem, Report, ReportKind, ReportsChan};
|
||||||
use profile_traits::time::{self as profile_time, profile, TimerMetadata};
|
use profile_traits::time::{self as profile_time, profile, TimerMetadata};
|
||||||
use profile_traits::time::{TimerMetadataFrameType, TimerMetadataReflowType};
|
use profile_traits::time::{TimerMetadataFrameType, TimerMetadataReflowType};
|
||||||
use script_layout_interface::message::{Msg, LayoutThreadInit, NodesFromPointQueryType, Reflow};
|
use script_layout_interface::message::{LayoutThreadInit, Msg, NodesFromPointQueryType, Reflow};
|
||||||
use script_layout_interface::message::{QueryMsg, ReflowComplete, ReflowGoal, ScriptReflow};
|
use script_layout_interface::message::{QueryMsg, ReflowComplete, ReflowGoal, ScriptReflow};
|
||||||
use script_layout_interface::rpc::TextIndexResponse;
|
use script_layout_interface::rpc::TextIndexResponse;
|
||||||
use script_layout_interface::rpc::{LayoutRPC, OffsetParentResponse, StyleResponse};
|
use script_layout_interface::rpc::{LayoutRPC, OffsetParentResponse, StyleResponse};
|
||||||
|
|
|
@ -118,7 +118,7 @@ use net_traits::{
|
||||||
};
|
};
|
||||||
use profile_traits::mem::{self as profile_mem, OpaqueSender, ReportsChan};
|
use profile_traits::mem::{self as profile_mem, OpaqueSender, ReportsChan};
|
||||||
use profile_traits::time::{self as profile_time, profile, ProfilerCategory};
|
use profile_traits::time::{self as profile_time, profile, ProfilerCategory};
|
||||||
use script_layout_interface::message::{self, Msg, LayoutThreadInit, ReflowGoal};
|
use script_layout_interface::message::{self, LayoutThreadInit, Msg, ReflowGoal};
|
||||||
use script_traits::webdriver_msg::WebDriverScriptCommand;
|
use script_traits::webdriver_msg::WebDriverScriptCommand;
|
||||||
use script_traits::CompositorEvent::{
|
use script_traits::CompositorEvent::{
|
||||||
CompositionEvent, KeyboardEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent, TouchEvent,
|
CompositionEvent, KeyboardEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent, TouchEvent,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue