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

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h

Issue 2646853006: [LayoutNG] Pull out of flow candidate loop into out of flow layout part. (Closed)
Patch Set: rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NGBlockLayoutAlgorithm_h 5 #ifndef NGBlockLayoutAlgorithm_h
6 #define NGBlockLayoutAlgorithm_h 6 #define NGBlockLayoutAlgorithm_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/layout/ng/ng_block_node.h" 9 #include "core/layout/ng/ng_block_node.h"
10 #include "core/layout/ng/ng_layout_algorithm.h" 10 #include "core/layout/ng/ng_layout_algorithm.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 DECLARE_VIRTUAL_TRACE(); 47 DECLARE_VIRTUAL_TRACE();
48 48
49 private: 49 private:
50 NGBoxStrut CalculateMargins(const NGConstraintSpace& space, 50 NGBoxStrut CalculateMargins(const NGConstraintSpace& space,
51 const ComputedStyle& style); 51 const ComputedStyle& style);
52 52
53 // Creates a new constraint space for the current child. 53 // Creates a new constraint space for the current child.
54 NGConstraintSpace* CreateConstraintSpaceForCurrentChild(); 54 NGConstraintSpace* CreateConstraintSpaceForCurrentChild();
55 void FinishCurrentChildLayout(NGFragment* fragment); 55 void FinishCurrentChildLayout(NGFragment* fragment);
56 void LayoutOutOfFlowChildren();
57 56
58 // Proceed to the next sibling that still needs layout. 57 // Proceed to the next sibling that still needs layout.
59 // 58 //
60 // @param child_fragment The newly created fragment for the current child. 59 // @param child_fragment The newly created fragment for the current child.
61 // @return true if we can continue to lay out, or false if we need to abort 60 // @return true if we can continue to lay out, or false if we need to abort
62 // due to a fragmentainer break. 61 // due to a fragmentainer break.
63 bool ProceedToNextUnfinishedSibling(NGPhysicalFragment* child_fragment); 62 bool ProceedToNextUnfinishedSibling(NGPhysicalFragment* child_fragment);
64 63
65 // Set a break token which contains enough information to be able to resume 64 // Set a break token which contains enough information to be able to resume
66 // layout in the next fragmentainer. 65 // layout in the next fragmentainer.
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 NGDeprecatedMarginStrut prev_child_margin_strut_; 177 NGDeprecatedMarginStrut prev_child_margin_strut_;
179 // Whether the block-start was set for the currently built 178 // Whether the block-start was set for the currently built
180 // fragment's margin strut. 179 // fragment's margin strut.
181 bool is_fragment_margin_strut_block_start_updated_ : 1; 180 bool is_fragment_margin_strut_block_start_updated_ : 1;
182 NGBoxStrut curr_child_margins_; 181 NGBoxStrut curr_child_margins_;
183 }; 182 };
184 183
185 } // namespace blink 184 } // namespace blink
186 185
187 #endif // NGBlockLayoutAlgorithm_h 186 #endif // NGBlockLayoutAlgorithm_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698