Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(868)

Unified Diff: third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc

Issue 2921463004: [LayoutNG] PODify NGLayoutInputNode and sub-classes. (Closed)
Patch Set: new ng-bot expectations Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
index 89db06af1f7341070566b05b9763c1f7a126498e..ccfccce01a6220ce2a97d42aa31852e4d1f9c7a9 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
@@ -40,21 +40,20 @@ NGLogicalOffset GetOriginPointForFloats(
} // namespace
NGInlineLayoutAlgorithm::NGInlineLayoutAlgorithm(
- NGInlineNode* inline_node,
+ NGInlineNode inline_node,
NGConstraintSpace* space,
NGInlineBreakToken* break_token)
: NGLayoutAlgorithm(inline_node, space, break_token),
is_horizontal_writing_mode_(
blink::IsHorizontalWritingMode(space->WritingMode())),
disallow_first_line_rules_(false),
- space_builder_(space)
-{
+ space_builder_(space) {
container_builder_.MutableUnpositionedFloats() = space->UnpositionedFloats();
// TODO(crbug.com/716930): We may be an empty LayoutInline due to splitting.
// Only resolve our BFC offset if we know that we are non-empty as we may
// need to pass through our margin strut.
- if (!inline_node->Items().IsEmpty()) {
+ if (!inline_node.Items().IsEmpty()) {
LayoutUnit bfc_block_offset = ConstraintSpace().BfcOffset().block_offset;
bfc_block_offset += ConstraintSpace().MarginStrut().Sum();
MaybeUpdateFragmentBfcOffset(ConstraintSpace(), bfc_block_offset,
@@ -77,7 +76,7 @@ NGInlineLayoutAlgorithm::NGInlineLayoutAlgorithm(
DCHECK(break_token->TextOffset() || break_token->ItemIndex());
disallow_first_line_rules_ = true;
} else {
- auto& engine = Node()->GetLayoutObject()->GetDocument().GetStyleEngine();
+ auto& engine = Node().GetLayoutObject()->GetDocument().GetStyleEngine();
disallow_first_line_rules_ = !engine.UsesFirstLineRules();
}
@@ -89,7 +88,7 @@ bool NGInlineLayoutAlgorithm::IsFirstLine() const {
}
const ComputedStyle& NGInlineLayoutAlgorithm::FirstLineStyle() const {
- return Node()->GetLayoutObject()->FirstLineStyleRef();
+ return Node().GetLayoutObject()->FirstLineStyleRef();
}
const ComputedStyle& NGInlineLayoutAlgorithm::LineStyle() const {
@@ -112,7 +111,7 @@ LayoutUnit NGInlineLayoutAlgorithm::LogicalLeftOffset() const {
bool NGInlineLayoutAlgorithm::CreateLine(
NGInlineItemResults* item_results,
RefPtr<NGInlineBreakToken> break_token) {
- if (Node()->IsBidiEnabled())
+ if (Node().IsBidiEnabled())
BidiReorder(item_results);
if (!PlaceItems(item_results, break_token))
@@ -139,7 +138,7 @@ void NGInlineLayoutAlgorithm::BidiReorder(NGInlineItemResults* line_items) {
// runs instead of characters.
Vector<UBiDiLevel, 32> levels;
levels.ReserveInitialCapacity(line_items->size());
- const Vector<NGInlineItem>& items = Node()->Items();
+ const Vector<NGInlineItem>& items = Node().Items();
for (const auto& item_result : *line_items)
levels.push_back(items[item_result.item_index].BidiLevel());
Vector<int32_t, 32> indices_in_visual_order(line_items->size());
@@ -177,11 +176,11 @@ void NGInlineLayoutAlgorithm::BidiReorder(NGInlineItemResults* line_items) {
void NGInlineLayoutAlgorithm::LayoutAndPositionFloat(
LayoutUnit end_position,
LayoutObject* layout_object) {
- NGBlockNode* node = new NGBlockNode(layout_object);
+ NGBlockNode node(ToLayoutBox(layout_object));
NGLogicalOffset origin_offset =
GetOriginPointForFloats(ContainerBfcOffset(), content_size_);
- const ComputedStyle& float_style = node->Style();
+ const ComputedStyle& float_style = node.Style();
NGBoxStrut margins = ComputeMargins(ConstraintSpace(), float_style,
ConstraintSpace().WritingMode(),
ConstraintSpace().Direction());
@@ -215,7 +214,7 @@ void NGInlineLayoutAlgorithm::LayoutAndPositionFloat(
bool NGInlineLayoutAlgorithm::PlaceItems(
NGInlineItemResults* line_items,
RefPtr<NGInlineBreakToken> break_token) {
- const Vector<NGInlineItem>& items = Node()->Items();
+ const Vector<NGInlineItem>& items = Node().Items();
const ComputedStyle& line_style = LineStyle();
NGLineHeightMetrics line_metrics(line_style, baseline_type_);
@@ -285,7 +284,7 @@ bool NGInlineLayoutAlgorithm::PlaceItems(
container_builder_.AddOutOfFlowDescendant(
// Absolute positioning blockifies the box's display type.
// https://drafts.csswg.org/css-display/#transformations
- new NGBlockNode(item.GetLayoutObject()),
+ NGBlockNode(ToLayoutBox(item.GetLayoutObject())),
NGStaticPosition::Create(ConstraintSpace().WritingMode(),
ConstraintSpace().Direction(),
NGPhysicalOffset()));

Powered by Google App Engine
This is Rietveld 408576698