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

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc

Issue 2966863002: [LayoutNG] Add floats_bfc_offset to constraint space. (Closed)
Patch Set: Created 3 years, 5 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 #include "core/layout/ng/ng_constraint_space.h" 5 #include "core/layout/ng/ng_constraint_space.h"
6 6
7 #include "core/layout/LayoutBlock.h" 7 #include "core/layout/LayoutBlock.h"
8 #include "core/layout/LayoutView.h" 8 #include "core/layout/LayoutView.h"
9 #include "core/layout/ng/ng_constraint_space_builder.h" 9 #include "core/layout/ng/ng_constraint_space_builder.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 NGConstraintSpace::NGConstraintSpace( 13 NGConstraintSpace::NGConstraintSpace(
14 NGWritingMode writing_mode, 14 NGWritingMode writing_mode,
15 TextDirection direction, 15 TextDirection direction,
16 NGLogicalSize available_size, 16 NGLogicalSize available_size,
17 NGLogicalSize percentage_resolution_size, 17 NGLogicalSize percentage_resolution_size,
18 NGPhysicalSize initial_containing_block_size, 18 NGPhysicalSize initial_containing_block_size,
19 LayoutUnit fragmentainer_space_available, 19 LayoutUnit fragmentainer_space_available,
20 bool is_fixed_size_inline, 20 bool is_fixed_size_inline,
21 bool is_fixed_size_block, 21 bool is_fixed_size_block,
22 bool is_shrink_to_fit, 22 bool is_shrink_to_fit,
23 bool is_inline_direction_triggers_scrollbar, 23 bool is_inline_direction_triggers_scrollbar,
24 bool is_block_direction_triggers_scrollbar, 24 bool is_block_direction_triggers_scrollbar,
25 NGFragmentationType block_direction_fragmentation_type, 25 NGFragmentationType block_direction_fragmentation_type,
26 bool is_new_fc, 26 bool is_new_fc,
27 bool is_anonymous, 27 bool is_anonymous,
28 const NGMarginStrut& margin_strut, 28 const NGMarginStrut& margin_strut,
29 const NGLogicalOffset& bfc_offset, 29 const NGLogicalOffset& bfc_offset,
30 const WTF::Optional<NGLogicalOffset>& floats_bfc_offset,
30 const std::shared_ptr<NGExclusions>& exclusions, 31 const std::shared_ptr<NGExclusions>& exclusions,
31 Vector<RefPtr<NGUnpositionedFloat>>& unpositioned_floats, 32 Vector<RefPtr<NGUnpositionedFloat>>& unpositioned_floats,
32 const WTF::Optional<LayoutUnit>& clearance_offset) 33 const WTF::Optional<LayoutUnit>& clearance_offset)
33 : available_size_(available_size), 34 : available_size_(available_size),
34 percentage_resolution_size_(percentage_resolution_size), 35 percentage_resolution_size_(percentage_resolution_size),
35 initial_containing_block_size_(initial_containing_block_size), 36 initial_containing_block_size_(initial_containing_block_size),
36 fragmentainer_space_available_(fragmentainer_space_available), 37 fragmentainer_space_available_(fragmentainer_space_available),
37 is_fixed_size_inline_(is_fixed_size_inline), 38 is_fixed_size_inline_(is_fixed_size_inline),
38 is_fixed_size_block_(is_fixed_size_block), 39 is_fixed_size_block_(is_fixed_size_block),
39 is_shrink_to_fit_(is_shrink_to_fit), 40 is_shrink_to_fit_(is_shrink_to_fit),
40 is_inline_direction_triggers_scrollbar_( 41 is_inline_direction_triggers_scrollbar_(
41 is_inline_direction_triggers_scrollbar), 42 is_inline_direction_triggers_scrollbar),
42 is_block_direction_triggers_scrollbar_( 43 is_block_direction_triggers_scrollbar_(
43 is_block_direction_triggers_scrollbar), 44 is_block_direction_triggers_scrollbar),
44 block_direction_fragmentation_type_(block_direction_fragmentation_type), 45 block_direction_fragmentation_type_(block_direction_fragmentation_type),
45 is_new_fc_(is_new_fc), 46 is_new_fc_(is_new_fc),
46 is_anonymous_(is_anonymous), 47 is_anonymous_(is_anonymous),
47 writing_mode_(writing_mode), 48 writing_mode_(writing_mode),
48 direction_(static_cast<unsigned>(direction)), 49 direction_(static_cast<unsigned>(direction)),
49 margin_strut_(margin_strut), 50 margin_strut_(margin_strut),
50 bfc_offset_(bfc_offset), 51 bfc_offset_(bfc_offset),
52 floats_bfc_offset_(floats_bfc_offset),
51 exclusions_(exclusions), 53 exclusions_(exclusions),
52 clearance_offset_(clearance_offset) { 54 clearance_offset_(clearance_offset) {
53 unpositioned_floats_.swap(unpositioned_floats); 55 unpositioned_floats_.swap(unpositioned_floats);
54 } 56 }
55 57
56 RefPtr<NGConstraintSpace> NGConstraintSpace::CreateFromLayoutObject( 58 RefPtr<NGConstraintSpace> NGConstraintSpace::CreateFromLayoutObject(
57 const LayoutBox& box) { 59 const LayoutBox& box) {
58 auto writing_mode = FromPlatformWritingMode(box.StyleRef().GetWritingMode()); 60 auto writing_mode = FromPlatformWritingMode(box.StyleRef().GetWritingMode());
59 bool parallel_containing_block = IsParallelWritingMode( 61 bool parallel_containing_block = IsParallelWritingMode(
60 FromPlatformWritingMode( 62 FromPlatformWritingMode(
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 is_block_direction_triggers_scrollbar_ == 160 is_block_direction_triggers_scrollbar_ ==
159 other.is_block_direction_triggers_scrollbar_ && 161 other.is_block_direction_triggers_scrollbar_ &&
160 block_direction_fragmentation_type_ == 162 block_direction_fragmentation_type_ ==
161 other.block_direction_fragmentation_type_ && 163 other.block_direction_fragmentation_type_ &&
162 is_new_fc_ == other.is_new_fc_ && 164 is_new_fc_ == other.is_new_fc_ &&
163 is_anonymous_ == other.is_anonymous_ && 165 is_anonymous_ == other.is_anonymous_ &&
164 writing_mode_ == other.writing_mode_ && 166 writing_mode_ == other.writing_mode_ &&
165 direction_ == other.direction_ && 167 direction_ == other.direction_ &&
166 margin_strut_ == other.margin_strut_ && 168 margin_strut_ == other.margin_strut_ &&
167 bfc_offset_ == other.bfc_offset_ && 169 bfc_offset_ == other.bfc_offset_ &&
170 floats_bfc_offset_ == other.floats_bfc_offset_ &&
168 clearance_offset_ == other.clearance_offset_; 171 clearance_offset_ == other.clearance_offset_;
169 } 172 }
170 173
171 bool NGConstraintSpace::operator!=(const NGConstraintSpace& other) const { 174 bool NGConstraintSpace::operator!=(const NGConstraintSpace& other) const {
172 return !(*this == other); 175 return !(*this == other);
173 } 176 }
174 177
175 String NGConstraintSpace::ToString() const { 178 String NGConstraintSpace::ToString() const {
176 return String::Format( 179 return String::Format(
177 "Offset: %s,%s Size: %sx%s MarginStrut: %s" 180 "Offset: %s,%s Size: %sx%s MarginStrut: %s"
178 " Clearance: %s", 181 " Clearance: %s",
179 bfc_offset_.inline_offset.ToString().Ascii().data(), 182 bfc_offset_.inline_offset.ToString().Ascii().data(),
180 bfc_offset_.block_offset.ToString().Ascii().data(), 183 bfc_offset_.block_offset.ToString().Ascii().data(),
181 AvailableSize().inline_size.ToString().Ascii().data(), 184 AvailableSize().inline_size.ToString().Ascii().data(),
182 AvailableSize().block_size.ToString().Ascii().data(), 185 AvailableSize().block_size.ToString().Ascii().data(),
183 margin_strut_.ToString().Ascii().data(), 186 margin_strut_.ToString().Ascii().data(),
184 clearance_offset_.has_value() 187 clearance_offset_.has_value()
185 ? clearance_offset_.value().ToString().Ascii().data() 188 ? clearance_offset_.value().ToString().Ascii().data()
186 : "none"); 189 : "none");
187 } 190 }
188 191
189 } // namespace blink 192 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698