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 6728849fcd0eeb7b5e46cecf904ff84d8d5c3683..932a88820e8687cc9db047d3515fbe812c7f604d 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 |
@@ -7,6 +7,7 @@ |
#include "core/CoreExport.h" |
#include "core/layout/ng/ng_block_node.h" |
+#include "core/layout/ng/ng_box_fragment.h" |
#include "core/layout/ng/ng_layout_algorithm.h" |
#include "core/layout/ng/ng_units.h" |
#include "wtf/RefPtr.h" |
@@ -19,7 +20,6 @@ class NGBreakToken; |
class NGColumnMapper; |
class NGConstraintSpace; |
class NGConstraintSpaceBuilder; |
-class NGBoxFragment; |
class NGFragment; |
class NGFragmentBuilder; |
class NGPhysicalFragment; |
@@ -97,40 +97,9 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm { |
return content_size_; |
} |
- // Computes collapsed margins for 2 adjoining blocks and updates the resultant |
- // fragment's MarginStrut if needed. |
- // See https://www.w3.org/TR/CSS2/box.html#collapsing-margins |
- // |
- // @param child_margins Margins information for the current child. |
- // @param fragment Current child's fragment. |
- // @return NGBoxStrut with margins block start/end. |
- NGBoxStrut CollapseMargins(const NGBoxStrut& child_margins, |
- const NGBoxFragment& fragment); |
- |
- // Calculates position of the in-flow block-level fragment that needs to be |
- // positioned relative to the current fragment that is being built. |
- // |
- // @param fragment Fragment that needs to be placed. |
- // @param child_margins Margins information for the current child fragment. |
- // @return Position of the fragment in the parent's constraint space. |
- NGLogicalOffset PositionFragment(const NGFragment& fragment, |
- const NGBoxStrut& child_margins); |
- |
- // Calculates position of the float fragment that needs to be |
- // positioned relative to the current fragment that is being built. |
- // |
- // @param fragment Fragment that needs to be placed. |
- // @param child_margins Margins information for the current child fragment. |
- // @return Position of the fragment in the parent's constraint space. |
- NGLogicalOffset PositionFloatFragment(const NGFragment& fragment, |
- const NGBoxStrut& child_margins); |
- |
- // Updates block-{start|end} of the currently constructed fragment. |
- // |
- // This method is supposed to be called on every child but it only updates |
- // the block-start once (on the first non-zero height child fragment) and |
- // keeps updating block-end (on every non-zero height child). |
- void UpdateMarginStrut(const NGDeprecatedMarginStrut& from); |
+ // Calculates offset for the provided fragment which is relative to the |
+ // fragment's parent. |
+ NGLogicalOffset CalculateRelativeOffset(const NGBoxFragment& fragment); |
NGLogicalOffset GetChildSpaceOffset() const { |
return NGLogicalOffset(border_and_padding_.inline_start, content_size_); |
@@ -174,10 +143,9 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm { |
LayoutUnit content_size_; |
LayoutUnit max_inline_size_; |
// MarginStrut for the previous child. |
- NGDeprecatedMarginStrut prev_child_margin_strut_; |
- // Whether the block-start was set for the currently built |
- // fragment's margin strut. |
- bool is_fragment_margin_strut_block_start_updated_ : 1; |
+ NGMarginStrut curr_margin_strut_; |
+ NGLogicalOffset bfc_offset_; |
+ NGLogicalOffset curr_bfc_offset_; |
NGBoxStrut curr_child_margins_; |
}; |