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

Unified Diff: third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.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/ng_fragment_builder.cc
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc b/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
index 7ccd659ae435c66aec34bb0d2630a3de38c55d86..b4e2080d36d6537d2a73ad5565b2ed731f262725 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
@@ -17,12 +17,12 @@ namespace blink {
// TODO(ikilpatrick): Make writing mode and direction be in the constructor.
NGFragmentBuilder::NGFragmentBuilder(NGPhysicalFragment::NGFragmentType type,
- NGLayoutInputNode* node)
+ NGLayoutInputNode node)
: type_(type),
writing_mode_(kHorizontalTopBottom),
direction_(TextDirection::kLtr),
node_(node),
- layout_object_(node->GetLayoutObject()),
+ layout_object_(node.GetLayoutObject()),
did_break_(false),
border_edges_(NGBorderEdges::kAll) {}
@@ -31,6 +31,7 @@ NGFragmentBuilder::NGFragmentBuilder(NGPhysicalFragment::NGFragmentType type,
: type_(type),
writing_mode_(kHorizontalTopBottom),
direction_(TextDirection::kLtr),
+ node_(nullptr),
layout_object_(layout_object),
did_break_(false) {}
@@ -75,9 +76,9 @@ NGFragmentBuilder& NGFragmentBuilder::AddChild(
// Collect child's out of flow descendants.
const Vector<NGStaticPosition>& oof_positions = child->OutOfFlowPositions();
size_t oof_index = 0;
- for (auto& oof_node : child->OutOfFlowDescendants()) {
+ for (NGBlockNode oof_node : child->OutOfFlowDescendants()) {
NGStaticPosition oof_position = oof_positions[oof_index++];
- out_of_flow_descendant_candidates_.insert(oof_node);
+ out_of_flow_descendant_candidates_.push_back(oof_node);
out_of_flow_candidate_placements_.push_back(
OutOfFlowPlacement{child_offset, oof_position});
}
@@ -103,7 +104,7 @@ NGFragmentBuilder& NGFragmentBuilder::AddChild(
// NGInlineNode produces multiple line boxes in an anonymous box. Only
// the last break token is needed to be reported to the parent.
DCHECK(child->BreakToken());
- DCHECK_EQ(child->BreakToken()->InputNode(), node_);
+ DCHECK(child->BreakToken()->InputNode() == node_);
last_inline_break_token_ =
child->BreakToken()->IsFinished() ? nullptr : child->BreakToken();
break;
@@ -136,14 +137,14 @@ NGFragmentBuilder& NGFragmentBuilder::SetBfcOffset(
}
NGFragmentBuilder& NGFragmentBuilder::AddOutOfFlowChildCandidate(
- NGBlockNode* child,
+ NGBlockNode child,
NGLogicalOffset child_offset) {
- out_of_flow_descendant_candidates_.insert(child);
+ out_of_flow_descendant_candidates_.push_back(child);
NGStaticPosition child_position =
NGStaticPosition::Create(writing_mode_, direction_, NGPhysicalOffset());
out_of_flow_candidate_placements_.push_back(
OutOfFlowPlacement{child_offset, child_position});
- child->SaveStaticOffsetForLegacy(child_offset);
+ child.SaveStaticOffsetForLegacy(child_offset);
return *this;
}
@@ -154,7 +155,7 @@ NGFragmentBuilder& NGFragmentBuilder::AddUnpositionedFloat(
}
void NGFragmentBuilder::GetAndClearOutOfFlowDescendantCandidates(
- WeakBoxList* descendants,
+ Vector<NGBlockNode>* descendants,
Vector<NGStaticPosition>* descendant_positions) {
DCHECK(descendants->IsEmpty());
DCHECK(descendant_positions->IsEmpty());
@@ -164,7 +165,7 @@ void NGFragmentBuilder::GetAndClearOutOfFlowDescendantCandidates(
NGPhysicalSize builder_physical_size{size_.ConvertToPhysical(writing_mode_)};
size_t placement_index = 0;
- for (auto& oof_node : out_of_flow_descendant_candidates_) {
+ for (NGBlockNode oof_node : out_of_flow_descendant_candidates_) {
OutOfFlowPlacement oof_placement =
out_of_flow_candidate_placements_[placement_index++];
@@ -176,7 +177,7 @@ void NGFragmentBuilder::GetAndClearOutOfFlowDescendantCandidates(
builder_relative_position.type = oof_placement.descendant_position.type;
builder_relative_position.offset =
child_offset + oof_placement.descendant_position.offset;
- descendants->insert(oof_node);
+ descendants->push_back(oof_node);
descendant_positions->push_back(builder_relative_position);
}
out_of_flow_descendant_candidates_.clear();
@@ -184,9 +185,9 @@ void NGFragmentBuilder::GetAndClearOutOfFlowDescendantCandidates(
}
NGFragmentBuilder& NGFragmentBuilder::AddOutOfFlowDescendant(
- NGBlockNode* descendant,
+ NGBlockNode descendant,
const NGStaticPosition& position) {
- out_of_flow_descendants_.insert(descendant);
+ out_of_flow_descendants_.push_back(descendant);
out_of_flow_positions_.push_back(position);
return *this;
}
@@ -211,10 +212,10 @@ RefPtr<NGLayoutResult> NGFragmentBuilder::ToBoxFragment() {
did_break_ = true;
}
if (did_break_) {
- break_token = NGBlockBreakToken::Create(node_.Get(), used_block_size_,
+ break_token = NGBlockBreakToken::Create(node_, used_block_size_,
child_break_tokens_);
} else {
- break_token = NGBlockBreakToken::Create(node_.Get());
+ break_token = NGBlockBreakToken::Create(node_);
}
}

Powered by Google App Engine
This is Rietveld 408576698