OLD | NEW |
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 NGFragmentBuilder_h | 5 #ifndef NGFragmentBuilder_h |
6 #define NGFragmentBuilder_h | 6 #define NGFragmentBuilder_h |
7 | 7 |
8 #include "core/layout/ng/geometry/ng_static_position.h" | 8 #include "core/layout/ng/geometry/ng_static_position.h" |
9 #include "core/layout/ng/inline/ng_physical_text_fragment.h" | 9 #include "core/layout/ng/inline/ng_physical_text_fragment.h" |
10 #include "core/layout/ng/ng_break_token.h" | 10 #include "core/layout/ng/ng_break_token.h" |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 const WTF::Optional<NGLogicalOffset>& BfcOffset() const { | 122 const WTF::Optional<NGLogicalOffset>& BfcOffset() const { |
123 return bfc_offset_; | 123 return bfc_offset_; |
124 } | 124 } |
125 | 125 |
126 const Vector<RefPtr<NGPhysicalFragment>>& Children() const { | 126 const Vector<RefPtr<NGPhysicalFragment>>& Children() const { |
127 return children_; | 127 return children_; |
128 } | 128 } |
129 | 129 |
130 bool DidBreak() const { return did_break_; } | 130 bool DidBreak() const { return did_break_; } |
131 | 131 |
| 132 NGFragmentBuilder& SetBorderEdges(NGBorderEdges::Logical border_edges) { |
| 133 border_edges_ = border_edges; |
| 134 return *this; |
| 135 } |
| 136 |
132 private: | 137 private: |
133 // Out-of-flow descendant placement information. | 138 // Out-of-flow descendant placement information. |
134 // The generated fragment must compute NGStaticPosition for all | 139 // The generated fragment must compute NGStaticPosition for all |
135 // out-of-flow descendants. | 140 // out-of-flow descendants. |
136 // The resulting NGStaticPosition gets derived from: | 141 // The resulting NGStaticPosition gets derived from: |
137 // 1. The offset of fragment's child. | 142 // 1. The offset of fragment's child. |
138 // 2. The static position of descendant wrt child. | 143 // 2. The static position of descendant wrt child. |
139 // | 144 // |
140 // A child can be: | 145 // A child can be: |
141 // 1. A descendant itself. In this case, descendant position is (0,0). | 146 // 1. A descendant itself. In this case, descendant position is (0,0). |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 Vector<NGStaticPosition> out_of_flow_positions_; | 179 Vector<NGStaticPosition> out_of_flow_positions_; |
175 | 180 |
176 // Floats that need to be positioned by the next in-flow fragment that can | 181 // Floats that need to be positioned by the next in-flow fragment that can |
177 // determine its block position in space. | 182 // determine its block position in space. |
178 Vector<RefPtr<NGUnpositionedFloat>> unpositioned_floats_; | 183 Vector<RefPtr<NGUnpositionedFloat>> unpositioned_floats_; |
179 | 184 |
180 Vector<NGPositionedFloat> positioned_floats_; | 185 Vector<NGPositionedFloat> positioned_floats_; |
181 | 186 |
182 WTF::Optional<NGLogicalOffset> bfc_offset_; | 187 WTF::Optional<NGLogicalOffset> bfc_offset_; |
183 NGMarginStrut end_margin_strut_; | 188 NGMarginStrut end_margin_strut_; |
| 189 |
| 190 NGBorderEdges::Logical border_edges_; |
184 }; | 191 }; |
185 | 192 |
186 } // namespace blink | 193 } // namespace blink |
187 | 194 |
188 #endif // NGFragmentBuilder | 195 #endif // NGFragmentBuilder |
OLD | NEW |