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

Unified Diff: third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.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_block_layout_algorithm.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
index 9ea2ca1617bdcb4cac5f24e0da420b59904a1a4e..4a0545a0cebe969aad501a40f739817098fb560a 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
@@ -19,6 +19,7 @@ class NGConstraintSpace;
class NGConstraintSpaceBuilder;
class NGFragment;
class NGFragmentBuilder;
+class NGOutOfFlowLayoutPart;
class NGPhysicalFragmentBase;
// A class for general block layout (e.g. a <div> with no special style).
@@ -47,6 +48,7 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
// Creates a new constraint space for the current child.
NGConstraintSpace* CreateConstraintSpaceForCurrentChild() const;
void FinishCurrentChildLayout(NGFragmentBase* fragment);
+ bool LayoutOutOfFlowChild();
// Computes collapsed margins for 2 adjoining blocks and updates the resultant
// fragment's MarginStrut if needed.
@@ -103,6 +105,7 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
kStateInit,
kStatePrepareForChildLayout,
kStateChildLayout,
+ kStateOutOfFlowLayout,
kStateFinalize
};
LayoutState layout_state_;
@@ -120,6 +123,11 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
Member<NGBlockNode> current_minmax_child_;
MinAndMaxContentSizes pending_minmax_sizes_;
+ Member<NGOutOfFlowLayoutPart> out_of_flow_layout_;
+ HeapLinkedHashSet<WeakMember<NGBlockNode>> out_of_flow_candidates_;
+ Vector<NGStaticPosition> out_of_flow_candidate_positions_;
+ size_t out_of_flow_candidate_positions_index_;
+
NGBoxStrut border_and_padding_;
LayoutUnit content_size_;
LayoutUnit max_inline_size_;
« no previous file with comments | « third_party/WebKit/Source/core/layout/BUILD.gn ('k') | third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698