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

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

Issue 2722763002: [LayoutNG] Switch NGBreakToken to being RefCounted. (Closed)
Patch Set: remove comments. Created 3 years, 10 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 d180ea9dc1c8fabe4d9c5b14cd1992093077f3cf..cabf376d5f97b497efb1cfb7f51d2f62a435872e 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
@@ -22,7 +22,6 @@ NGFragmentBuilder::NGFragmentBuilder(NGPhysicalFragment::NGFragmentType type,
direction_(TextDirection::kLtr),
node_(node),
did_break_(false) {
- child_break_tokens_ = new HeapVector<Member<NGBreakToken>>();
}
NGFragmentBuilder& NGFragmentBuilder::SetWritingMode(
@@ -84,7 +83,7 @@ NGFragmentBuilder& NGFragmentBuilder::AddChild(
// Update if we have fragmented in this flow.
did_break_ |= child->IsBox() && !child->BreakToken()->IsFinished();
- child_break_tokens_->push_back(child->BreakToken());
+ child_break_tokens_.push_back(child->BreakToken());
children_.push_back(std::move(child));
offsets_.push_back(child_offset);
@@ -177,13 +176,12 @@ RefPtr<NGLayoutResult> NGFragmentBuilder::ToBoxFragment() {
Vector<Persistent<NGFloatingObject>> positioned_floats;
positioned_floats.reserveCapacity(positioned_floats_.size());
- Persistent<NGBreakToken> break_token;
+ RefPtr<NGBreakToken> break_token;
if (did_break_) {
- break_token =
- new NGBlockBreakToken(toNGBlockNode(node_.get()), used_block_size_,
- *child_break_tokens_.get());
+ break_token = NGBlockBreakToken::create(
+ toNGBlockNode(node_.get()), used_block_size_, child_break_tokens_);
} else {
- break_token = new NGBlockBreakToken(node_.get());
+ break_token = NGBlockBreakToken::create(node_.get());
}
for (size_t i = 0; i < positioned_floats_.size(); ++i) {
@@ -197,7 +195,7 @@ RefPtr<NGLayoutResult> NGFragmentBuilder::ToBoxFragment() {
RefPtr<NGPhysicalBoxFragment> fragment = adoptRef(new NGPhysicalBoxFragment(
node_->GetLayoutObject(), physical_size,
overflow_.ConvertToPhysical(writing_mode_), children_, positioned_floats_,
- bfc_offset_, end_margin_strut_, break_token));
+ bfc_offset_, end_margin_strut_, std::move(break_token)));
return adoptRef(
new NGLayoutResult(std::move(fragment), out_of_flow_descendants_,

Powered by Google App Engine
This is Rietveld 408576698