Skip to content

Commit

Permalink
Kill establishes_containing_block_for_absolute
Browse files Browse the repository at this point in the history
We inline the related tests at the two call sites.
  • Loading branch information
nox committed Jan 14, 2019
1 parent 6e0a7dc commit 7a704d2
Showing 1 changed file with 7 additions and 23 deletions.
30 changes: 7 additions & 23 deletions components/layout/display_list/builder.rs
Expand Up @@ -71,19 +71,6 @@ use webrender_api::{ExternalScrollId, FilterOp, GlyphInstance, ImageRendering, L
use webrender_api::{LayoutSize, LayoutTransform, LayoutVector2D, LineStyle, NinePatchBorder};
use webrender_api::{NinePatchBorderSource, NormalBorder, ScrollSensitivity, StickyOffsetBounds};

fn establishes_containing_block_for_absolute(
flags: StackingContextCollectionFlags,
positioning: StylePosition,
established_reference_frame: bool,
) -> bool {
if established_reference_frame {
return true;
}

!flags.contains(StackingContextCollectionFlags::POSITION_NEVER_CREATES_CONTAINING_BLOCK) &&
StylePosition::Static != positioning
}

trait RgbColor {
fn rgb(r: u8, g: u8, b: u8) -> Self;
}
Expand Down Expand Up @@ -2360,11 +2347,11 @@ impl BlockFlow {
flags,
);

if establishes_containing_block_for_absolute(
flags,
self.positioning(),
established_reference_frame.is_some(),
) {
let creates_containing_block = !flags
.contains(StackingContextCollectionFlags::POSITION_NEVER_CREATES_CONTAINING_BLOCK);
let abspos_containing_block = established_reference_frame.is_some() ||
(creates_containing_block && self.positioning() != StylePosition::Static);
if abspos_containing_block {
state.containing_block_clipping_and_scrolling = state.current_clipping_and_scrolling;
}

Expand Down Expand Up @@ -2842,11 +2829,8 @@ impl InlineFlowDisplayListBuilding for InlineFlow {
for fragment in self.fragments.fragments.iter_mut() {
state.containing_block_clipping_and_scrolling = previous_cb_clipping_and_scrolling;

if establishes_containing_block_for_absolute(
StackingContextCollectionFlags::empty(),
fragment.style.get_box().position,
false,
) {
let abspos_containing_block = fragment.style.get_box().position != StylePosition::Static;
if abspos_containing_block {
state.containing_block_clipping_and_scrolling =
state.current_clipping_and_scrolling;
}
Expand Down

0 comments on commit 7a704d2

Please sign in to comment.