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

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

Issue 2483683003: [LayoutNG] Split apart storage for AvailableSize and PercentageSize. (Closed)
Patch Set: rebase. Created 4 years, 1 month 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 namespace blink { 7 namespace blink {
8 8
9 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode) 9 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode)
10 : writing_mode_(writing_mode), 10 : writing_mode_(writing_mode),
11 is_fixed_size_inline_(false), 11 is_fixed_size_inline_(false),
12 is_fixed_size_block_(false), 12 is_fixed_size_block_(false),
13 is_inline_direction_triggers_scrollbar_(false), 13 is_inline_direction_triggers_scrollbar_(false),
14 is_block_direction_triggers_scrollbar_(false), 14 is_block_direction_triggers_scrollbar_(false),
15 fragmentation_type_(NGFragmentationType::FragmentNone), 15 fragmentation_type_(NGFragmentationType::FragmentNone),
16 is_new_fc_(false) {} 16 is_new_fc_(false) {}
17 17
18 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetContainerSize( 18 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetAvailableSize(
19 NGLogicalSize container_size) { 19 NGLogicalSize available_size) {
20 container_size_ = container_size; 20 available_size_ = available_size;
21 return *this; 21 return *this;
22 } 22 }
23 23
24 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetPercentageResolutionSize(
25 NGLogicalSize percentage_resolution_size) {
26 percentage_resolution_size_ = percentage_resolution_size;
27 return *this;
28 }
29
24 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeInline( 30 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeInline(
25 bool is_fixed_size_inline) { 31 bool is_fixed_size_inline) {
26 is_fixed_size_inline_ = is_fixed_size_inline; 32 is_fixed_size_inline_ = is_fixed_size_inline;
27 return *this; 33 return *this;
28 } 34 }
29 35
30 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeBlock( 36 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeBlock(
31 bool is_fixed_size_block) { 37 bool is_fixed_size_block) {
32 is_fixed_size_block_ = is_fixed_size_block; 38 is_fixed_size_block_ = is_fixed_size_block;
33 return *this; 39 return *this;
(...skipping 21 matching lines...) Expand all
55 return *this; 61 return *this;
56 } 62 }
57 63
58 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsNewFormattingContext( 64 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsNewFormattingContext(
59 bool is_new_fc) { 65 bool is_new_fc) {
60 is_new_fc_ = is_new_fc; 66 is_new_fc_ = is_new_fc;
61 return *this; 67 return *this;
62 } 68 }
63 69
64 NGPhysicalConstraintSpace* NGConstraintSpaceBuilder::ToConstraintSpace() { 70 NGPhysicalConstraintSpace* NGConstraintSpaceBuilder::ToConstraintSpace() {
65 NGPhysicalSize container_size = container_size_.ConvertToPhysical( 71 NGPhysicalSize available_size = available_size_.ConvertToPhysical(
66 static_cast<NGWritingMode>(writing_mode_)); 72 static_cast<NGWritingMode>(writing_mode_));
73 NGPhysicalSize percentage_resolution_size =
74 percentage_resolution_size_.ConvertToPhysical(
75 static_cast<NGWritingMode>(writing_mode_));
76
67 if (writing_mode_ == HorizontalTopBottom) { 77 if (writing_mode_ == HorizontalTopBottom) {
68 return new NGPhysicalConstraintSpace( 78 return new NGPhysicalConstraintSpace(
69 container_size, is_fixed_size_inline_, is_fixed_size_block_, 79 available_size, percentage_resolution_size, is_fixed_size_inline_,
70 is_inline_direction_triggers_scrollbar_, 80 is_fixed_size_block_, is_inline_direction_triggers_scrollbar_,
71 is_block_direction_triggers_scrollbar_, FragmentNone, 81 is_block_direction_triggers_scrollbar_, FragmentNone,
72 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_); 82 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_);
73 } else { 83 } else {
74 return new NGPhysicalConstraintSpace( 84 return new NGPhysicalConstraintSpace(
75 container_size, is_fixed_size_block_, is_fixed_size_inline_, 85 available_size, percentage_resolution_size, is_fixed_size_block_,
76 is_block_direction_triggers_scrollbar_, 86 is_fixed_size_inline_, is_block_direction_triggers_scrollbar_,
77 is_inline_direction_triggers_scrollbar_, 87 is_inline_direction_triggers_scrollbar_,
78 static_cast<NGFragmentationType>(fragmentation_type_), FragmentNone, 88 static_cast<NGFragmentationType>(fragmentation_type_), FragmentNone,
79 is_new_fc_); 89 is_new_fc_);
80 } 90 }
81 } 91 }
82 92
83 } // namespace blink 93 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698