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

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

Issue 2365083002: Make NGFragment to own NGPhysicalFragment (Closed)
Patch Set: Created 4 years, 3 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 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 cae190747cc9d0599fe6ae29d473a9dcced13a91..d99dc82f07fcec041616041d9f985ae49669f1ff 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
@@ -14,8 +14,7 @@ namespace blink {
NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode,
NGDirection direction,
NGLogicalSize container_size)
- : physical_space_(new NGPhysicalConstraintSpace(
- container_size.ConvertToPhysical(writing_mode))),
+ : physical_space_(container_size.ConvertToPhysical(writing_mode)),
size_(container_size),
writing_mode_(writing_mode),
direction_(direction) {}
@@ -23,7 +22,7 @@ NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode,
NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode,
NGDirection direction,
NGPhysicalConstraintSpace* physical_space)
- : physical_space_(physical_space),
+ : physical_space_(*physical_space),
size_(physical_space->ContainerSize().ConvertToLogical(writing_mode)),
writing_mode_(writing_mode),
direction_(direction) {}
@@ -50,11 +49,12 @@ NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode,
NGDirection direction,
const NGConstraintSpace& other,
NGLogicalSize size)
- : size_(size), writing_mode_(writing_mode), direction_(direction) {
- physical_space_ =
- new NGPhysicalConstraintSpace(size.ConvertToPhysical(writing_mode));
- for (const NGExclusion& exclusion : other.PhysicalSpace()->Exclusions()) {
- physical_space_->AddExclusion(exclusion);
+ : physical_space_(size.ConvertToPhysical(writing_mode)),
+ size_(size),
+ writing_mode_(writing_mode),
+ direction_(direction) {
+ for (const NGExclusion& exclusion : other.PhysicalSpace().Exclusions()) {
+ physical_space_.AddExclusion(exclusion);
}
}
@@ -97,37 +97,37 @@ NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject(
}
NGLogicalSize NGConstraintSpace::ContainerSize() const {
- return physical_space_->container_size_.ConvertToLogical(
+ return physical_space_.container_size_.ConvertToLogical(
static_cast<NGWritingMode>(writing_mode_));
}
bool NGConstraintSpace::InlineTriggersScrollbar() const {
return writing_mode_ == HorizontalTopBottom
- ? physical_space_->width_direction_triggers_scrollbar_
- : physical_space_->height_direction_triggers_scrollbar_;
+ ? physical_space_.width_direction_triggers_scrollbar_
+ : physical_space_.height_direction_triggers_scrollbar_;
}
bool NGConstraintSpace::BlockTriggersScrollbar() const {
return writing_mode_ == HorizontalTopBottom
- ? physical_space_->height_direction_triggers_scrollbar_
- : physical_space_->width_direction_triggers_scrollbar_;
+ ? physical_space_.height_direction_triggers_scrollbar_
+ : physical_space_.width_direction_triggers_scrollbar_;
}
bool NGConstraintSpace::FixedInlineSize() const {
- return writing_mode_ == HorizontalTopBottom ? physical_space_->fixed_width_
- : physical_space_->fixed_height_;
+ return writing_mode_ == HorizontalTopBottom ? physical_space_.fixed_width_
+ : physical_space_.fixed_height_;
}
bool NGConstraintSpace::FixedBlockSize() const {
- return writing_mode_ == HorizontalTopBottom ? physical_space_->fixed_height_
- : physical_space_->fixed_width_;
+ return writing_mode_ == HorizontalTopBottom ? physical_space_.fixed_height_
+ : physical_space_.fixed_width_;
}
NGFragmentationType NGConstraintSpace::BlockFragmentationType() const {
return static_cast<NGFragmentationType>(
writing_mode_ == HorizontalTopBottom
- ? physical_space_->height_direction_fragmentation_type_
- : physical_space_->width_direction_fragmentation_type_);
+ ? physical_space_.height_direction_fragmentation_type_
+ : physical_space_.width_direction_fragmentation_type_);
}
void NGConstraintSpace::Subtract(const NGFragment*) {
@@ -145,35 +145,35 @@ NGLayoutOpportunityIterator* NGConstraintSpace::LayoutOpportunities(
void NGConstraintSpace::SetOverflowTriggersScrollbar(bool inline_triggers,
bool block_triggers) {
if (writing_mode_ == HorizontalTopBottom) {
- physical_space_->width_direction_triggers_scrollbar_ = inline_triggers;
- physical_space_->height_direction_triggers_scrollbar_ = block_triggers;
+ physical_space_.width_direction_triggers_scrollbar_ = inline_triggers;
+ physical_space_.height_direction_triggers_scrollbar_ = block_triggers;
} else {
- physical_space_->width_direction_triggers_scrollbar_ = block_triggers;
- physical_space_->height_direction_triggers_scrollbar_ = inline_triggers;
+ physical_space_.width_direction_triggers_scrollbar_ = block_triggers;
+ physical_space_.height_direction_triggers_scrollbar_ = inline_triggers;
}
}
void NGConstraintSpace::SetFixedSize(bool inline_fixed, bool block_fixed) {
if (writing_mode_ == HorizontalTopBottom) {
- physical_space_->fixed_width_ = inline_fixed;
- physical_space_->fixed_height_ = block_fixed;
+ physical_space_.fixed_width_ = inline_fixed;
+ physical_space_.fixed_height_ = block_fixed;
} else {
- physical_space_->fixed_width_ = block_fixed;
- physical_space_->fixed_height_ = inline_fixed;
+ physical_space_.fixed_width_ = block_fixed;
+ physical_space_.fixed_height_ = inline_fixed;
}
}
void NGConstraintSpace::SetFragmentationType(NGFragmentationType type) {
if (writing_mode_ == HorizontalTopBottom) {
DCHECK_EQ(static_cast<NGFragmentationType>(
- physical_space_->width_direction_fragmentation_type_),
+ physical_space_.width_direction_fragmentation_type_),
FragmentNone);
- physical_space_->height_direction_fragmentation_type_ = type;
+ physical_space_.height_direction_fragmentation_type_ = type;
} else {
DCHECK_EQ(static_cast<NGFragmentationType>(
- physical_space_->height_direction_fragmentation_type_),
+ physical_space_.height_direction_fragmentation_type_),
FragmentNone);
- physical_space_->width_direction_triggers_scrollbar_ = type;
+ physical_space_.width_direction_triggers_scrollbar_ = type;
}
}

Powered by Google App Engine
This is Rietveld 408576698