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

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

Issue 2632523002: [LayoutNG] Initial support for multicol, introducing NGBlockBreakToken. (Closed)
Patch Set: Add TODO. Created 3 years, 11 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_builder.h" 5 #include "core/layout/ng/ng_constraint_space_builder.h"
6 6
7 #include "core/layout/ng/ng_length_utils.h"
8
7 namespace blink { 9 namespace blink {
8 10
9 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder( 11 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(
10 const NGConstraintSpace* parent_space) 12 const NGConstraintSpace* parent_space)
11 : available_size_(parent_space->AvailableSize()), 13 : available_size_(parent_space->AvailableSize()),
12 percentage_resolution_size_(parent_space->PercentageResolutionSize()), 14 percentage_resolution_size_(parent_space->PercentageResolutionSize()),
15 fragmentainer_space_available_(NGSizeIndefinite),
13 writing_mode_(parent_space->WritingMode()), 16 writing_mode_(parent_space->WritingMode()),
14 parent_writing_mode_(writing_mode_), 17 parent_writing_mode_(writing_mode_),
15 is_fixed_size_inline_(false), 18 is_fixed_size_inline_(false),
16 is_fixed_size_block_(false), 19 is_fixed_size_block_(false),
17 is_shrink_to_fit_(false), 20 is_shrink_to_fit_(false),
18 is_inline_direction_triggers_scrollbar_(false), 21 is_inline_direction_triggers_scrollbar_(false),
19 is_block_direction_triggers_scrollbar_(false), 22 is_block_direction_triggers_scrollbar_(false),
20 fragmentation_type_(kFragmentNone), 23 fragmentation_type_(parent_space->BlockFragmentationType()),
21 is_new_fc_(parent_space->IsNewFormattingContext()), 24 is_new_fc_(parent_space->IsNewFormattingContext()),
22 text_direction_(static_cast<unsigned>(parent_space->Direction())), 25 text_direction_(static_cast<unsigned>(parent_space->Direction())),
23 exclusions_(parent_space->Exclusions()) {} 26 exclusions_(parent_space->Exclusions()) {}
24 27
25 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode) 28 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode)
26 : writing_mode_(writing_mode), 29 : fragmentainer_space_available_(NGSizeIndefinite),
30 writing_mode_(writing_mode),
27 parent_writing_mode_(writing_mode_), 31 parent_writing_mode_(writing_mode_),
28 is_fixed_size_inline_(false), 32 is_fixed_size_inline_(false),
29 is_fixed_size_block_(false), 33 is_fixed_size_block_(false),
30 is_shrink_to_fit_(false), 34 is_shrink_to_fit_(false),
31 is_inline_direction_triggers_scrollbar_(false), 35 is_inline_direction_triggers_scrollbar_(false),
32 is_block_direction_triggers_scrollbar_(false), 36 is_block_direction_triggers_scrollbar_(false),
33 fragmentation_type_(kFragmentNone), 37 fragmentation_type_(kFragmentNone),
34 is_new_fc_(false), 38 is_new_fc_(false),
35 text_direction_(static_cast<unsigned>(TextDirection::kLtr)), 39 text_direction_(static_cast<unsigned>(TextDirection::kLtr)),
36 exclusions_(new NGExclusions()) {} 40 exclusions_(new NGExclusions()) {}
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 bool is_in_parallel_flow = (parent_writing_mode_ == kHorizontalTopBottom) == 119 bool is_in_parallel_flow = (parent_writing_mode_ == kHorizontalTopBottom) ==
116 (writing_mode_ == kHorizontalTopBottom); 120 (writing_mode_ == kHorizontalTopBottom);
117 121
118 if (is_in_parallel_flow) { 122 if (is_in_parallel_flow) {
119 return new NGConstraintSpace( 123 return new NGConstraintSpace(
120 static_cast<NGWritingMode>(writing_mode_), 124 static_cast<NGWritingMode>(writing_mode_),
121 static_cast<TextDirection>(text_direction_), 125 static_cast<TextDirection>(text_direction_),
122 {available_size_.inline_size, available_size_.block_size}, 126 {available_size_.inline_size, available_size_.block_size},
123 {percentage_resolution_size_.inline_size, 127 {percentage_resolution_size_.inline_size,
124 percentage_resolution_size_.block_size}, 128 percentage_resolution_size_.block_size},
125 is_fixed_size_inline_, is_fixed_size_block_, is_shrink_to_fit_, 129 fragmentainer_space_available_, is_fixed_size_inline_,
130 is_fixed_size_block_, is_shrink_to_fit_,
126 is_inline_direction_triggers_scrollbar_, 131 is_inline_direction_triggers_scrollbar_,
127 is_block_direction_triggers_scrollbar_, 132 is_block_direction_triggers_scrollbar_,
128 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, 133 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_,
129 exclusions); 134 exclusions);
130 } 135 }
131 136
132 return new NGConstraintSpace( 137 return new NGConstraintSpace(
133 static_cast<NGWritingMode>(writing_mode_), 138 static_cast<NGWritingMode>(writing_mode_),
134 static_cast<TextDirection>(text_direction_), 139 static_cast<TextDirection>(text_direction_),
135 {available_size_.block_size, available_size_.inline_size}, 140 {available_size_.block_size, available_size_.inline_size},
136 {percentage_resolution_size_.block_size, 141 {percentage_resolution_size_.block_size,
137 percentage_resolution_size_.inline_size}, 142 percentage_resolution_size_.inline_size},
138 is_fixed_size_block_, is_fixed_size_inline_, is_shrink_to_fit_, 143 fragmentainer_space_available_, is_fixed_size_block_,
144 is_fixed_size_inline_, is_shrink_to_fit_,
139 is_block_direction_triggers_scrollbar_, 145 is_block_direction_triggers_scrollbar_,
140 is_inline_direction_triggers_scrollbar_, 146 is_inline_direction_triggers_scrollbar_,
141 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, 147 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_,
142 exclusions); 148 exclusions);
143 } 149 }
144 150
145 } // namespace blink 151 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698