| 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 #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_layout_opportunity_iterator.h" | 9 #include "core/layout/ng/ng_layout_opportunity_iterator.h" |
| 10 #include "core/layout/ng/ng_units.h" | 10 #include "core/layout/ng/ng_units.h" |
| 11 | 11 |
| 12 namespace blink { | 12 namespace blink { |
| 13 | 13 |
| 14 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, | 14 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, |
| 15 NGDirection direction, | 15 NGDirection direction, |
| 16 NGLogicalSize container_size) | 16 NGLogicalSize container_size) |
| 17 : physical_space_(new NGPhysicalConstraintSpace( | 17 : physical_space_(new NGPhysicalConstraintSpace( |
| 18 container_size.ConvertToPhysical(writing_mode))), | 18 container_size.ConvertToPhysical(writing_mode))), |
| 19 size_(container_size), | 19 size_(container_size), |
| 20 writing_mode_(writing_mode), | 20 writing_mode_(writing_mode), |
| 21 direction_(direction) {} | 21 direction_(direction), |
| 22 is_root(false) {} |
| 22 | 23 |
| 23 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, | 24 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, |
| 24 NGDirection direction, | 25 NGDirection direction, |
| 25 NGPhysicalConstraintSpace* physical_space) | 26 NGPhysicalConstraintSpace* physical_space) |
| 26 : physical_space_(physical_space), | 27 : physical_space_(physical_space), |
| 27 size_(physical_space->ContainerSize().ConvertToLogical(writing_mode)), | 28 size_(physical_space->ContainerSize().ConvertToLogical(writing_mode)), |
| 28 writing_mode_(writing_mode), | 29 writing_mode_(writing_mode), |
| 29 direction_(direction) {} | 30 direction_(direction), |
| 31 is_root(false) {} |
| 30 | 32 |
| 31 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, | 33 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, |
| 32 NGDirection direction, | 34 NGDirection direction, |
| 33 const NGConstraintSpace* constraint_space) | 35 const NGConstraintSpace* constraint_space) |
| 34 : physical_space_(constraint_space->PhysicalSpace()), | 36 : physical_space_(constraint_space->PhysicalSpace()), |
| 35 offset_(constraint_space->Offset()), | 37 offset_(constraint_space->Offset()), |
| 36 size_(constraint_space->Size()), | 38 size_(constraint_space->Size()), |
| 37 writing_mode_(writing_mode), | 39 writing_mode_(writing_mode), |
| 38 direction_(direction) {} | 40 direction_(direction), |
| 41 is_root(constraint_space->IsRoot()) {} |
| 39 | 42 |
| 40 NGConstraintSpace::NGConstraintSpace(const NGConstraintSpace& other, | 43 NGConstraintSpace::NGConstraintSpace(const NGConstraintSpace& other, |
| 41 NGLogicalOffset offset, | 44 NGLogicalOffset offset, |
| 42 NGLogicalSize size) | 45 NGLogicalSize size) |
| 43 : physical_space_(other.PhysicalSpace()), | 46 : physical_space_(other.PhysicalSpace()), |
| 44 offset_(offset), | 47 offset_(offset), |
| 45 size_(size), | 48 size_(size), |
| 46 writing_mode_(other.WritingMode()), | 49 writing_mode_(other.WritingMode()), |
| 47 direction_(other.Direction()) {} | 50 direction_(other.Direction()), |
| 51 is_root(false) {} |
| 48 | 52 |
| 49 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, | 53 NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode, |
| 50 NGDirection direction, | 54 NGDirection direction, |
| 51 const NGConstraintSpace& other, | 55 const NGConstraintSpace& other, |
| 52 NGLogicalSize size) | 56 NGLogicalSize size) |
| 53 : size_(size), writing_mode_(writing_mode), direction_(direction) { | 57 : size_(size), |
| 58 writing_mode_(writing_mode), |
| 59 direction_(direction), |
| 60 is_root(false) { |
| 54 physical_space_ = | 61 physical_space_ = |
| 55 new NGPhysicalConstraintSpace(size.ConvertToPhysical(writing_mode)); | 62 new NGPhysicalConstraintSpace(size.ConvertToPhysical(writing_mode)); |
| 56 for (const NGExclusion& exclusion : other.PhysicalSpace()->Exclusions()) { | 63 for (const NGExclusion& exclusion : other.PhysicalSpace()->Exclusions()) { |
| 57 physical_space_->AddExclusion(exclusion); | 64 physical_space_->AddExclusion(exclusion); |
| 58 } | 65 } |
| 59 } | 66 } |
| 60 | 67 |
| 61 NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject( | 68 NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject( |
| 62 const LayoutBox& box) { | 69 const LayoutBox& box) { |
| 63 bool fixed_inline = false, fixed_block = false; | 70 bool fixed_inline = false, fixed_block = false; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 86 } | 93 } |
| 87 | 94 |
| 88 NGConstraintSpace* derived_constraint_space = new NGConstraintSpace( | 95 NGConstraintSpace* derived_constraint_space = new NGConstraintSpace( |
| 89 FromPlatformWritingMode(box.styleRef().getWritingMode()), | 96 FromPlatformWritingMode(box.styleRef().getWritingMode()), |
| 90 FromPlatformDirection(box.styleRef().direction()), | 97 FromPlatformDirection(box.styleRef().direction()), |
| 91 NGLogicalSize(container_logical_width, container_logical_height)); | 98 NGLogicalSize(container_logical_width, container_logical_height)); |
| 92 derived_constraint_space->SetOverflowTriggersScrollbar( | 99 derived_constraint_space->SetOverflowTriggersScrollbar( |
| 93 box.styleRef().overflowInlineDirection() == OverflowAuto, | 100 box.styleRef().overflowInlineDirection() == OverflowAuto, |
| 94 box.styleRef().overflowBlockDirection() == OverflowAuto); | 101 box.styleRef().overflowBlockDirection() == OverflowAuto); |
| 95 derived_constraint_space->SetFixedSize(fixed_inline, fixed_block); | 102 derived_constraint_space->SetFixedSize(fixed_inline, fixed_block); |
| 103 derived_constraint_space->SetIsRoot(); |
| 96 return derived_constraint_space; | 104 return derived_constraint_space; |
| 97 } | 105 } |
| 98 | 106 |
| 99 NGLogicalSize NGConstraintSpace::ContainerSize() const { | 107 NGLogicalSize NGConstraintSpace::ContainerSize() const { |
| 100 return physical_space_->container_size_.ConvertToLogical( | 108 return physical_space_->container_size_.ConvertToLogical( |
| 101 static_cast<NGWritingMode>(writing_mode_)); | 109 static_cast<NGWritingMode>(writing_mode_)); |
| 102 } | 110 } |
| 103 | 111 |
| 104 bool NGConstraintSpace::InlineTriggersScrollbar() const { | 112 bool NGConstraintSpace::InlineTriggersScrollbar() const { |
| 105 return writing_mode_ == HorizontalTopBottom | 113 return writing_mode_ == HorizontalTopBottom |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 | 187 |
| 180 String NGConstraintSpace::ToString() const { | 188 String NGConstraintSpace::ToString() const { |
| 181 return String::format("%s,%s %sx%s", | 189 return String::format("%s,%s %sx%s", |
| 182 offset_.inline_offset.toString().ascii().data(), | 190 offset_.inline_offset.toString().ascii().data(), |
| 183 offset_.block_offset.toString().ascii().data(), | 191 offset_.block_offset.toString().ascii().data(), |
| 184 size_.inline_size.toString().ascii().data(), | 192 size_.inline_size.toString().ascii().data(), |
| 185 size_.block_size.toString().ascii().data()); | 193 size_.block_size.toString().ascii().data()); |
| 186 } | 194 } |
| 187 | 195 |
| 188 } // namespace blink | 196 } // namespace blink |
| OLD | NEW |