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

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

Issue 2525033002: Deprecate NGPhysicalConstraintSpace (Closed)
Patch Set: update TestExpectations Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
index 79a201bed4f3ca1a83c4fd63860290b3fd5c85a0..a4151473b1b2abb2058fea718ef40b08e62b6621 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
@@ -13,12 +13,31 @@
namespace blink {
-NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode,
- TextDirection direction,
- NGPhysicalConstraintSpace* physical_space)
- : physical_space_(physical_space),
+NGConstraintSpace::NGConstraintSpace(
+ NGWritingMode writing_mode,
+ TextDirection direction,
+ NGLogicalSize available_size,
+ NGLogicalSize percentage_resolution_size,
+ bool is_fixed_size_inline,
+ bool is_fixed_size_block,
+ bool is_inline_direction_triggers_scrollbar,
+ bool is_block_direction_triggers_scrollbar,
+ NGFragmentationType block_direction_fragmentation_type,
+ bool is_new_fc,
+ const std::shared_ptr<NGExclusions>& exclusions_)
+ : available_size_(available_size),
+ percentage_resolution_size_(percentage_resolution_size),
+ is_fixed_size_inline_(is_fixed_size_inline),
+ is_fixed_size_block_(is_fixed_size_block),
+ is_inline_direction_triggers_scrollbar_(
+ is_inline_direction_triggers_scrollbar),
+ is_block_direction_triggers_scrollbar_(
+ is_block_direction_triggers_scrollbar),
+ block_direction_fragmentation_type_(block_direction_fragmentation_type),
+ is_new_fc_(is_new_fc),
writing_mode_(writing_mode),
- direction_(direction) {}
+ direction_(direction),
+ exclusions_(exclusions_) {}
NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject(
const LayoutBox& box) {
@@ -50,85 +69,28 @@ NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject(
bool is_new_fc =
box.isLayoutBlock() && toLayoutBlock(box).createsNewFormattingContext();
- NGConstraintSpaceBuilder builder(
- FromPlatformWritingMode(box.styleRef().getWritingMode()));
- builder
- .SetAvailableSize(
- NGLogicalSize(available_logical_width, available_logical_height))
- .SetPercentageResolutionSize(
- NGLogicalSize(available_logical_width, available_logical_height))
+ NGLogicalSize size = {available_logical_width, available_logical_height};
+ auto writing_mode = FromPlatformWritingMode(box.styleRef().getWritingMode());
+ return NGConstraintSpaceBuilder(writing_mode)
+ .SetAvailableSize(size)
+ .SetPercentageResolutionSize(size)
.SetIsInlineDirectionTriggersScrollbar(
box.styleRef().overflowInlineDirection() == OverflowAuto)
.SetIsBlockDirectionTriggersScrollbar(
box.styleRef().overflowBlockDirection() == OverflowAuto)
.SetIsFixedSizeInline(fixed_inline)
.SetIsFixedSizeBlock(fixed_block)
- .SetIsNewFormattingContext(is_new_fc);
-
- return new NGConstraintSpace(
- FromPlatformWritingMode(box.styleRef().getWritingMode()),
- box.styleRef().direction(), builder.ToConstraintSpace());
-}
-
-void NGConstraintSpace::AddExclusion(const NGExclusion& exclusion) const {
- WRITING_MODE_IGNORED(
- "Exclusions are stored directly in physical constraint space.");
- MutablePhysicalSpace()->AddExclusion(exclusion);
-}
-
-const NGExclusion* NGConstraintSpace::LastLeftFloatExclusion() const {
- WRITING_MODE_IGNORED(
- "Exclusions are stored directly in physical constraint space.");
- return PhysicalSpace()->LastLeftFloatExclusion();
-}
-
-const NGExclusion* NGConstraintSpace::LastRightFloatExclusion() const {
- WRITING_MODE_IGNORED(
- "Exclusions are stored directly in physical constraint space.");
- return PhysicalSpace()->LastRightFloatExclusion();
-}
-
-NGLogicalSize NGConstraintSpace::PercentageResolutionSize() const {
- return physical_space_->percentage_resolution_size_.ConvertToLogical(
- static_cast<NGWritingMode>(writing_mode_));
-}
-
-NGLogicalSize NGConstraintSpace::AvailableSize() const {
- return physical_space_->available_size_.ConvertToLogical(
- static_cast<NGWritingMode>(writing_mode_));
-}
-
-bool NGConstraintSpace::IsNewFormattingContext() const {
- return physical_space_->is_new_fc_;
-}
-
-bool NGConstraintSpace::InlineTriggersScrollbar() const {
- return writing_mode_ == kHorizontalTopBottom
- ? physical_space_->width_direction_triggers_scrollbar_
- : physical_space_->height_direction_triggers_scrollbar_;
-}
-
-bool NGConstraintSpace::BlockTriggersScrollbar() const {
- return writing_mode_ == kHorizontalTopBottom
- ? physical_space_->height_direction_triggers_scrollbar_
- : physical_space_->width_direction_triggers_scrollbar_;
-}
-
-bool NGConstraintSpace::FixedInlineSize() const {
- return writing_mode_ == kHorizontalTopBottom ? physical_space_->fixed_width_
- : physical_space_->fixed_height_;
+ .SetIsNewFormattingContext(is_new_fc)
+ .SetTextDirection(box.styleRef().direction())
+ .ToConstraintSpace();
}
-bool NGConstraintSpace::FixedBlockSize() const {
- return writing_mode_ == kHorizontalTopBottom ? physical_space_->fixed_height_
- : physical_space_->fixed_width_;
+void NGConstraintSpace::AddExclusion(const NGExclusion& exclusion) {
+ exclusions_->Add(exclusion);
}
NGFragmentationType NGConstraintSpace::BlockFragmentationType() const {
- return static_cast<NGFragmentationType>(
- writing_mode_ == kHorizontalTopBottom
- ? physical_space_->height_direction_fragmentation_type_
- : physical_space_->width_direction_fragmentation_type_);
+ return static_cast<NGFragmentationType>(block_direction_fragmentation_type_);
}
void NGConstraintSpace::Subtract(const NGFragment*) {
@@ -144,8 +106,10 @@ NGLayoutOpportunityIterator* NGConstraintSpace::LayoutOpportunities(
NGConstraintSpace* NGConstraintSpace::ChildSpace(
const ComputedStyle* style) const {
- return new NGConstraintSpace(FromPlatformWritingMode(style->getWritingMode()),
- style->direction(), MutablePhysicalSpace());
+ return NGConstraintSpaceBuilder(this)
+ .SetWritingMode(FromPlatformWritingMode(style->getWritingMode()))
+ .SetTextDirection(style->direction())
+ .ToConstraintSpace();
}
String NGConstraintSpace::ToString() const {

Powered by Google App Engine
This is Rietveld 408576698