Skip to content

Commit

Permalink
LayoutNG: Rename NGLogicalStaticPosition and NGPhysicalStaticPosition
Browse files Browse the repository at this point in the history
... to LogicalStaticPosition and PhysicalStaticPosition respectively.
This CL has no behavior changes.

Bug: 1492009
Change-Id: I752f3f6c4676e6e01a68ea3e91ddd0a3de117f17
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4937960
Reviewed-by: Koji Ishii <kojii@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1210021}
  • Loading branch information
tkent-google authored and Chromium LUCI CQ committed Oct 16, 2023
1 parent d466641 commit b7f7874
Show file tree
Hide file tree
Showing 14 changed files with 113 additions and 119 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -272,8 +272,8 @@ void NGFlexLayoutAlgorithm::HandleOutOfFlowPositionedItems(
}
}

using InlineEdge = NGLogicalStaticPosition::InlineEdge;
using BlockEdge = NGLogicalStaticPosition::BlockEdge;
using InlineEdge = LogicalStaticPosition::InlineEdge;
using BlockEdge = LogicalStaticPosition::BlockEdge;

BoxStrut border_scrollbar_padding = BorderScrollbarPadding();
border_scrollbar_padding.block_start =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,40 +14,40 @@

namespace blink {

struct NGPhysicalStaticPosition;
struct PhysicalStaticPosition;

// Represents the static-position of an OOF-positioned descendant, in the
// logical coordinate space.
//
// |offset| is the position of the descandant's |inline_edge|, and |block_edge|.
struct CORE_EXPORT NGLogicalStaticPosition {
struct CORE_EXPORT LogicalStaticPosition {
enum InlineEdge { kInlineStart, kInlineCenter, kInlineEnd };
enum BlockEdge { kBlockStart, kBlockCenter, kBlockEnd };

inline NGPhysicalStaticPosition ConvertToPhysical(
inline PhysicalStaticPosition ConvertToPhysical(
const WritingModeConverter& converter) const;

LogicalOffset offset;
InlineEdge inline_edge;
BlockEdge block_edge;
};

// Similar to |NGLogicalStaticPosition| but in the physical coordinate space.
struct CORE_EXPORT NGPhysicalStaticPosition {
// Similar to |LogicalStaticPosition| but in the physical coordinate space.
struct CORE_EXPORT PhysicalStaticPosition {
enum HorizontalEdge { kLeft, kHorizontalCenter, kRight };
enum VerticalEdge { kTop, kVerticalCenter, kBottom };

PhysicalOffset offset;
HorizontalEdge horizontal_edge;
VerticalEdge vertical_edge;

NGLogicalStaticPosition ConvertToLogical(
LogicalStaticPosition ConvertToLogical(
const WritingModeConverter& converter) const {
LogicalOffset logical_offset =
converter.ToLogical(offset, /* inner_size */ PhysicalSize());

using InlineEdge = NGLogicalStaticPosition::InlineEdge;
using BlockEdge = NGLogicalStaticPosition::BlockEdge;
using InlineEdge = LogicalStaticPosition::InlineEdge;
using BlockEdge = LogicalStaticPosition::BlockEdge;

InlineEdge inline_edge;
BlockEdge block_edge;
Expand Down Expand Up @@ -111,13 +111,13 @@ struct CORE_EXPORT NGPhysicalStaticPosition {
}
};

inline NGPhysicalStaticPosition NGLogicalStaticPosition::ConvertToPhysical(
inline PhysicalStaticPosition LogicalStaticPosition::ConvertToPhysical(
const WritingModeConverter& converter) const {
PhysicalOffset physical_offset =
converter.ToPhysical(offset, /* inner_size */ PhysicalSize());

using HorizontalEdge = NGPhysicalStaticPosition::HorizontalEdge;
using VerticalEdge = NGPhysicalStaticPosition::VerticalEdge;
using HorizontalEdge = PhysicalStaticPosition::HorizontalEdge;
using VerticalEdge = PhysicalStaticPosition::VerticalEdge;

HorizontalEdge horizontal_edge;
VerticalEdge vertical_edge;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@
namespace blink {
namespace {

using InlineEdge = NGLogicalStaticPosition::InlineEdge;
using BlockEdge = NGLogicalStaticPosition::BlockEdge;
using HorizontalEdge = NGPhysicalStaticPosition::HorizontalEdge;
using VerticalEdge = NGPhysicalStaticPosition::VerticalEdge;
using InlineEdge = LogicalStaticPosition::InlineEdge;
using BlockEdge = LogicalStaticPosition::BlockEdge;
using HorizontalEdge = PhysicalStaticPosition::HorizontalEdge;
using VerticalEdge = PhysicalStaticPosition::VerticalEdge;

struct NGStaticPositionTestData {
NGLogicalStaticPosition logical;
NGPhysicalStaticPosition physical;
struct StaticPositionTestData {
LogicalStaticPosition logical;
PhysicalStaticPosition physical;
WritingMode writing_mode;
TextDirection direction;

Expand Down Expand Up @@ -240,11 +240,11 @@ struct NGStaticPositionTestData {
TextDirection::kRtl},
};

class NGStaticPositionTest
class StaticPositionTest
: public testing::Test,
public testing::WithParamInterface<NGStaticPositionTestData> {};
public testing::WithParamInterface<StaticPositionTestData> {};

TEST_P(NGStaticPositionTest, Convert) {
TEST_P(StaticPositionTest, Convert) {
const auto& data = GetParam();

// These tests take the logical static-position, and convert it to a physical
Expand All @@ -255,21 +255,21 @@ TEST_P(NGStaticPositionTest, Convert) {

const WritingModeConverter converter({data.writing_mode, data.direction},
PhysicalSize(100, 100));
NGPhysicalStaticPosition physical_result =
PhysicalStaticPosition physical_result =
data.logical.ConvertToPhysical(converter);
EXPECT_EQ(physical_result.offset, data.physical.offset);
EXPECT_EQ(physical_result.horizontal_edge, data.physical.horizontal_edge);
EXPECT_EQ(physical_result.vertical_edge, data.physical.vertical_edge);

NGLogicalStaticPosition logical_result =
LogicalStaticPosition logical_result =
data.physical.ConvertToLogical(converter);
EXPECT_EQ(logical_result.offset, data.logical.offset);
EXPECT_EQ(logical_result.inline_edge, data.logical.inline_edge);
EXPECT_EQ(logical_result.block_edge, data.logical.block_edge);
}

INSTANTIATE_TEST_SUITE_P(NGStaticPositionTest,
NGStaticPositionTest,
INSTANTIATE_TEST_SUITE_P(StaticPositionTest,
StaticPositionTest,
testing::ValuesIn(ng_static_position_test_data));

} // namespace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3119,15 +3119,14 @@ LayoutUnit AlignmentOffset(LayoutUnit container_size,
return LayoutUnit();
}

void AlignmentOffsetForOutOfFlow(
const AxisEdge inline_axis_edge,
const AxisEdge block_axis_edge,
const LogicalSize container_size,
NGLogicalStaticPosition::InlineEdge* inline_edge,
NGLogicalStaticPosition::BlockEdge* block_edge,
LogicalOffset* offset) {
using InlineEdge = NGLogicalStaticPosition::InlineEdge;
using BlockEdge = NGLogicalStaticPosition::BlockEdge;
void AlignmentOffsetForOutOfFlow(const AxisEdge inline_axis_edge,
const AxisEdge block_axis_edge,
const LogicalSize container_size,
LogicalStaticPosition::InlineEdge* inline_edge,
LogicalStaticPosition::BlockEdge* block_edge,
LogicalOffset* offset) {
using InlineEdge = LogicalStaticPosition::InlineEdge;
using BlockEdge = LogicalStaticPosition::BlockEdge;

switch (inline_axis_edge) {
case AxisEdge::kStart:
Expand Down Expand Up @@ -4079,8 +4078,8 @@ void NGGridLayoutAlgorithm::PlaceOutOfFlowItems(
? containing_block_rect->size
: default_containing_block_size;

NGLogicalStaticPosition::InlineEdge inline_edge;
NGLogicalStaticPosition::BlockEdge block_edge;
LogicalStaticPosition::InlineEdge inline_edge;
LogicalStaticPosition::BlockEdge block_edge;

AlignmentOffsetForOutOfFlow(out_of_flow_item.InlineAxisAlignment(),
out_of_flow_item.BlockAxisAlignment(),
Expand Down
24 changes: 12 additions & 12 deletions third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,25 @@ namespace {
enum AxisEdge { kStart, kCenter, kEnd };

inline AxisEdge GetStaticPositionEdge(
NGLogicalStaticPosition::InlineEdge inline_edge) {
LogicalStaticPosition::InlineEdge inline_edge) {
switch (inline_edge) {
case NGLogicalStaticPosition::InlineEdge::kInlineStart:
case LogicalStaticPosition::InlineEdge::kInlineStart:
return kStart;
case NGLogicalStaticPosition::InlineEdge::kInlineCenter:
case LogicalStaticPosition::InlineEdge::kInlineCenter:
return kCenter;
case NGLogicalStaticPosition::InlineEdge::kInlineEnd:
case LogicalStaticPosition::InlineEdge::kInlineEnd:
return kEnd;
}
}

inline AxisEdge GetStaticPositionEdge(
NGLogicalStaticPosition::BlockEdge block_edge) {
LogicalStaticPosition::BlockEdge block_edge) {
switch (block_edge) {
case NGLogicalStaticPosition::BlockEdge::kBlockStart:
case LogicalStaticPosition::BlockEdge::kBlockStart:
return kStart;
case NGLogicalStaticPosition::BlockEdge::kBlockCenter:
case LogicalStaticPosition::BlockEdge::kBlockCenter:
return kCenter;
case NGLogicalStaticPosition::BlockEdge::kBlockEnd:
case LogicalStaticPosition::BlockEdge::kBlockEnd:
return kEnd;
}
}
Expand Down Expand Up @@ -308,7 +308,7 @@ LogicalRect ComputeOutOfFlowAvailableRect(
const NGBlockNode& node,
const NGConstraintSpace& space,
const NGLogicalOutOfFlowInsets& insets,
const NGLogicalStaticPosition& static_position) {
const LogicalStaticPosition& static_position) {
return ComputeOutOfFlowAvailableRect(node, space.AvailableSize(), insets,
static_position);
}
Expand All @@ -317,7 +317,7 @@ LogicalRect ComputeOutOfFlowAvailableRect(
const NGBlockNode& node,
const LogicalSize& available_size,
const NGLogicalOutOfFlowInsets& insets,
const NGLogicalStaticPosition& static_position) {
const LogicalStaticPosition& static_position) {
LayoutUnit inline_offset, inline_size;
std::tie(inline_offset, inline_size) = ComputeAvailableSpaceInOneAxis(
available_size.inline_size, insets.inline_start, insets.inline_end,
Expand All @@ -337,7 +337,7 @@ bool ComputeOutOfFlowInlineDimensions(
const NGConstraintSpace& space,
const NGLogicalOutOfFlowInsets& insets,
const BoxStrut& border_padding,
const NGLogicalStaticPosition& static_position,
const LogicalStaticPosition& static_position,
LogicalSize computed_available_size,
const absl::optional<LogicalSize>& replaced_size,
const WritingDirectionMode container_writing_direction,
Expand Down Expand Up @@ -463,7 +463,7 @@ const NGLayoutResult* ComputeOutOfFlowBlockDimensions(
const NGConstraintSpace& space,
const NGLogicalOutOfFlowInsets& insets,
const BoxStrut& border_padding,
const NGLogicalStaticPosition& static_position,
const LogicalStaticPosition& static_position,
LogicalSize computed_available_size,
const absl::optional<LogicalSize>& replaced_size,
const WritingDirectionMode container_writing_direction,
Expand Down
10 changes: 5 additions & 5 deletions third_party/blink/renderer/core/layout/ng/ng_absolute_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class NGBoxFragmentBuilder;
class NGBlockNode;
class NGConstraintSpace;
class NGLayoutResult;
struct NGLogicalStaticPosition;
struct LogicalStaticPosition;

struct CORE_EXPORT NGLogicalOutOfFlowDimensions {
LayoutUnit MarginBoxInlineStart() const {
Expand Down Expand Up @@ -59,12 +59,12 @@ CORE_EXPORT LogicalRect
ComputeOutOfFlowAvailableRect(const NGBlockNode&,
const NGConstraintSpace&,
const NGLogicalOutOfFlowInsets&,
const NGLogicalStaticPosition&);
const LogicalStaticPosition&);
CORE_EXPORT LogicalRect
ComputeOutOfFlowAvailableRect(const NGBlockNode&,
const LogicalSize& available_size,
const NGLogicalOutOfFlowInsets&,
const NGLogicalStaticPosition&);
const LogicalStaticPosition&);

// The following routines implement the absolute size resolution algorithm.
// https://www.w3.org/TR/css-position-3/#abs-non-replaced-width
Expand All @@ -86,7 +86,7 @@ CORE_EXPORT bool ComputeOutOfFlowInlineDimensions(
const NGConstraintSpace&,
const NGLogicalOutOfFlowInsets&,
const BoxStrut& border_padding,
const NGLogicalStaticPosition&,
const LogicalStaticPosition&,
LogicalSize computed_available_size,
const absl::optional<LogicalSize>& replaced_size,
const WritingDirectionMode container_writing_direction,
Expand All @@ -101,7 +101,7 @@ CORE_EXPORT const NGLayoutResult* ComputeOutOfFlowBlockDimensions(
const NGConstraintSpace&,
const NGLogicalOutOfFlowInsets&,
const BoxStrut& border_padding,
const NGLogicalStaticPosition&,
const LogicalStaticPosition&,
LogicalSize computed_available_size,
const absl::optional<LogicalSize>& replaced_size,
const WritingDirectionMode container_writing_direction,
Expand Down
44 changes: 20 additions & 24 deletions third_party/blink/renderer/core/layout/ng/ng_absolute_utils_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ class NGAbsoluteUtilsTest : public RenderingTest {
const NGBlockNode& node,
const NGConstraintSpace& space,
const BoxStrut& border_padding,
const NGLogicalStaticPosition& static_position,
const LogicalStaticPosition& static_position,
const WritingDirectionMode container_writing_direction,
NGLogicalOutOfFlowDimensions* dimensions) {
GetDocument().Lifecycle().AdvanceTo(DocumentLifecycle::kInStyleRecalc);
Expand Down Expand Up @@ -132,7 +132,7 @@ class NGAbsoluteUtilsTest : public RenderingTest {
const NGBlockNode& node,
const NGConstraintSpace& space,
const BoxStrut& border_padding,
const NGLogicalStaticPosition& static_position,
const LogicalStaticPosition& static_position,
const WritingDirectionMode container_writing_direction,
NGLogicalOutOfFlowDimensions* dimensions) {
GetDocument().Lifecycle().AdvanceTo(DocumentLifecycle::kInStyleRecalc);
Expand Down Expand Up @@ -186,15 +186,14 @@ TEST_F(NGAbsoluteUtilsTest, Horizontal) {
BoxStrut vrl_border_padding = ComputeBorders(vrl_space_, node) +
ComputePadding(vrl_space_, node.Style());

NGLogicalStaticPosition static_position = {
{LayoutUnit(), LayoutUnit()},
NGLogicalStaticPosition::kInlineStart,
NGLogicalStaticPosition::kBlockStart};
LogicalStaticPosition static_position = {{LayoutUnit(), LayoutUnit()},
LogicalStaticPosition::kInlineStart,
LogicalStaticPosition::kBlockStart};
// Same as regular static position, but with the inline-end edge.
NGLogicalStaticPosition static_position_inline_end = {
LogicalStaticPosition static_position_inline_end = {
{LayoutUnit(), LayoutUnit()},
NGLogicalStaticPosition::kInlineEnd,
NGLogicalStaticPosition::kBlockStart};
LogicalStaticPosition::kInlineEnd,
LogicalStaticPosition::kBlockStart};

NGLogicalOutOfFlowDimensions dimensions;

Expand Down Expand Up @@ -346,14 +345,13 @@ TEST_F(NGAbsoluteUtilsTest, Vertical) {
BoxStrut vrl_border_padding = ComputeBorders(vrl_space_, node) +
ComputePadding(vrl_space_, node.Style());

NGLogicalStaticPosition static_position = {
{LayoutUnit(), LayoutUnit()},
NGLogicalStaticPosition::kInlineStart,
NGLogicalStaticPosition::kBlockStart};
NGLogicalStaticPosition static_position_block_end = {
LogicalStaticPosition static_position = {{LayoutUnit(), LayoutUnit()},
LogicalStaticPosition::kInlineStart,
LogicalStaticPosition::kBlockStart};
LogicalStaticPosition static_position_block_end = {
{LayoutUnit(), LayoutUnit()},
NGLogicalStaticPosition::kInlineStart,
NGLogicalStaticPosition::kBlockEnd};
LogicalStaticPosition::kInlineStart,
LogicalStaticPosition::kBlockEnd};

NGLogicalOutOfFlowDimensions dimensions;

Expand Down Expand Up @@ -453,10 +451,9 @@ TEST_F(NGAbsoluteUtilsTest, Vertical) {

TEST_F(NGAbsoluteUtilsTest, CenterStaticPosition) {
NGBlockNode node(element_->GetLayoutBox());
NGLogicalStaticPosition static_position = {
{LayoutUnit(150), LayoutUnit(200)},
NGLogicalStaticPosition::kInlineCenter,
NGLogicalStaticPosition::kBlockCenter};
LogicalStaticPosition static_position = {{LayoutUnit(150), LayoutUnit(200)},
LogicalStaticPosition::kInlineCenter,
LogicalStaticPosition::kBlockCenter};

SetHorizontalStyle("auto", "auto", "auto", "auto", "auto");
SetVerticalStyle("auto", "auto", "auto", "auto", "auto");
Expand Down Expand Up @@ -498,10 +495,9 @@ TEST_F(NGAbsoluteUtilsTest, MinMax) {
BoxStrut ltr_border_padding = ComputeBorders(ltr_space_, node) +
ComputePadding(ltr_space_, node.Style());

NGLogicalStaticPosition static_position = {
{LayoutUnit(), LayoutUnit()},
NGLogicalStaticPosition::kInlineStart,
NGLogicalStaticPosition::kBlockStart};
LogicalStaticPosition static_position = {{LayoutUnit(), LayoutUnit()},
LogicalStaticPosition::kInlineStart,
LogicalStaticPosition::kBlockStart};

NGLogicalOutOfFlowDimensions dimensions;

Expand Down

0 comments on commit b7f7874

Please sign in to comment.