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

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

Issue 2568743005: Place the out of flow positioned blocks (Closed)
Patch Set: skip failing tests Created 3 years, 12 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.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h b/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h
index 93935aad8c46017681912daded43a9507951ef59..c871f6dfa0342686e409d3d8d352fea12f04fa4a 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h
@@ -27,11 +27,12 @@ class CORE_EXPORT NGFragmentBuilder final
NGFragmentBuilder& SetInlineSize(LayoutUnit);
NGFragmentBuilder& SetBlockSize(LayoutUnit);
+ NGLogicalSize Size() const { return size_; }
NGFragmentBuilder& SetInlineOverflow(LayoutUnit);
NGFragmentBuilder& SetBlockOverflow(LayoutUnit);
- NGFragmentBuilder& AddChild(NGFragmentBase*, NGLogicalOffset);
+ NGFragmentBuilder& AddChild(NGFragmentBase*, const NGLogicalOffset&);
// Builder has non-trivial out-of-flow descendant methods.
// These methods are building blocks for implementation of
@@ -55,11 +56,17 @@ class CORE_EXPORT NGFragmentBuilder final
//
// builder->SetInlineSize/SetBlockSize
// builder->GetAndClearOutOfFlowDescendantCandidates(oof_candidates)
+ // NGOutOfFlowLayoutPart out_of_flow_layout(container_style,
+ // builder->Size());
// while (oof_candidates.size() > 0)
// {
// candidate = oof_candidates.shift()
- // if (CanPosition(candidate))
- // fragment = candidate->Layout();
+ // if (out_of_flow_layout.StartLayout(candidate))
+ // NGFragmentBase* fragment;
+ // NGLogicalOffset* fragment_offset;
+ // while (out_of_flow_layout.Layout(&fragment, &fragment_offset) ==
+ // kNotFinished)
+ // ;
// builder->AddChild(fragment);
// builder->GetAndClearOutOfFlowDescendantCandidates(child_oof_candidates)
// oof_candidates.prepend(child_oof_candidates)

Powered by Google App Engine
This is Rietveld 408576698