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::display_list::items::DisplayListSection;
|
||||
use crate::display_list::StackingContextCollectionState;
|
||||
use crate::display_list::{BlockFlowDisplayListBuilding, BorderPaintingMode};
|
||||
use crate::display_list::{DisplayListBuildState, StackingContextCollectionFlags};
|
||||
use crate::display_list::{
|
||||
BorderPaintingMode, DisplayListBuildState, StackingContextCollectionFlags,
|
||||
StackingContextCollectionState,
|
||||
};
|
||||
use crate::floats::{ClearType, FloatKind, Floats, PlacementInfo};
|
||||
use crate::flow::{
|
||||
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
|
||||
/// 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
|
||||
|
@ -2498,7 +2423,7 @@ impl SavedStackingContextCollectionState {
|
|||
}
|
||||
}
|
||||
|
||||
impl BlockFlowDisplayListBuilding for BlockFlow {
|
||||
impl BlockFlow {
|
||||
fn transform_clip_to_coordinate_space(
|
||||
&mut self,
|
||||
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,
|
||||
state: &mut StackingContextCollectionState,
|
||||
flags: StackingContextCollectionFlags,
|
||||
|
@ -2970,7 +2895,7 @@ impl BlockFlowDisplayListBuilding for BlockFlow {
|
|||
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,
|
||||
state: &mut DisplayListBuildState,
|
||||
border_painting_mode: BorderPaintingMode,
|
||||
|
@ -3005,7 +2930,7 @@ impl BlockFlowDisplayListBuilding for BlockFlow {
|
|||
state.processing_scrolling_overflow_element = false;
|
||||
}
|
||||
|
||||
fn build_display_list_for_block(
|
||||
pub fn build_display_list_for_block(
|
||||
&mut self,
|
||||
state: &mut DisplayListBuildState,
|
||||
border_painting_mode: BorderPaintingMode,
|
||||
|
@ -3016,7 +2941,7 @@ impl BlockFlowDisplayListBuilding for BlockFlow {
|
|||
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,
|
||||
state: &mut DisplayListBuildState,
|
||||
background: &style_structs::Background,
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
* 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/. */
|
||||
|
||||
pub use self::builder::BlockFlowDisplayListBuilding;
|
||||
pub use self::builder::BorderPaintingMode;
|
||||
pub use self::builder::DisplayListBuildState;
|
||||
pub use self::builder::FlexFlowDisplayListBuilding;
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
use crate::block::{BlockFlow, CandidateBSizeIterator, ISizeAndMarginsComputer};
|
||||
use crate::block::{ISizeConstraintInput, ISizeConstraintSolution};
|
||||
use crate::context::LayoutContext;
|
||||
use crate::display_list::{BlockFlowDisplayListBuilding, BorderPaintingMode};
|
||||
use crate::display_list::{
|
||||
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||
BorderPaintingMode, DisplayListBuildState, StackingContextCollectionFlags,
|
||||
StackingContextCollectionState,
|
||||
};
|
||||
use crate::flow::{
|
||||
BaseFlow, EarlyAbsolutePositionInfo, Flow, FlowClass, GetBaseFlow, ImmutableFlowUtils,
|
||||
|
|
|
@ -6,8 +6,9 @@
|
|||
|
||||
use crate::block::BlockFlow;
|
||||
use crate::context::LayoutContext;
|
||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
||||
use crate::display_list::{
|
||||
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||
};
|
||||
use crate::flow::{Flow, FlowClass, OpaqueFlow};
|
||||
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
||||
use app_units::Au;
|
||||
|
|
|
@ -6,8 +6,9 @@
|
|||
|
||||
use crate::block::{BlockFlow, ISizeAndMarginsComputer, MarginsMayCollapseFlag};
|
||||
use crate::context::LayoutContext;
|
||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
||||
use crate::display_list::{
|
||||
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||
};
|
||||
use crate::flow::{Flow, FlowClass, FlowFlags, GetBaseFlow, OpaqueFlow};
|
||||
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
||||
use crate::layout_debug;
|
||||
|
|
|
@ -6,8 +6,9 @@
|
|||
|
||||
use crate::block::{BlockFlow, ISizeAndMarginsComputer};
|
||||
use crate::context::LayoutContext;
|
||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
||||
use crate::display_list::{
|
||||
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||
};
|
||||
use crate::flow::{
|
||||
EarlyAbsolutePositionInfo, Flow, FlowClass, GetBaseFlow, ImmutableFlowUtils, OpaqueFlow,
|
||||
};
|
||||
|
|
|
@ -6,8 +6,9 @@
|
|||
|
||||
use crate::block::{BlockFlow, ISizeAndMarginsComputer};
|
||||
use crate::context::LayoutContext;
|
||||
use crate::display_list::{BlockFlowDisplayListBuilding, DisplayListBuildState};
|
||||
use crate::display_list::{StackingContextCollectionFlags, StackingContextCollectionState};
|
||||
use crate::display_list::{
|
||||
DisplayListBuildState, StackingContextCollectionFlags, StackingContextCollectionState,
|
||||
};
|
||||
use crate::flow::{Flow, FlowClass, OpaqueFlow};
|
||||
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
|
||||
use crate::layout_debug;
|
||||
|
|
|
@ -17,9 +17,7 @@ use crate::block::{
|
|||
use crate::block::{ISizeConstraintSolution, MarginsMayCollapseFlag};
|
||||
use crate::context::LayoutContext;
|
||||
use crate::display_list::StackingContextCollectionState;
|
||||
use crate::display_list::{
|
||||
BlockFlowDisplayListBuilding, DisplayListBuildState, StackingContextCollectionFlags,
|
||||
};
|
||||
use crate::display_list::{DisplayListBuildState, StackingContextCollectionFlags};
|
||||
use crate::floats::FloatKind;
|
||||
use crate::flow::{Flow, FlowClass, FlowFlags, ImmutableFlowUtils, OpaqueFlow};
|
||||
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::time::{self as profile_time, profile, TimerMetadata};
|
||||
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::rpc::TextIndexResponse;
|
||||
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::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::CompositorEvent::{
|
||||
CompositionEvent, KeyboardEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent, TouchEvent,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue