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

Unified Diff: third_party/WebKit/Source/core/layout/ng/ng_constraint_space.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 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 5132b9c82cef6bf34f7ea7ad3447fdc5acd450f5..3d75e48ec39508dc9e122301608fddc6e795943a 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
@@ -17,7 +17,7 @@ NGConstraintSpace::NGConstraintSpace(NGWritingMode writing_mode,
NGDirection direction,
NGPhysicalConstraintSpace* physical_space)
: physical_space_(physical_space),
- size_(physical_space->ContainerSize().ConvertToLogical(writing_mode)),
+ size_(physical_space->available_size_.ConvertToLogical(writing_mode)),
writing_mode_(writing_mode),
direction_(direction) {}
@@ -25,25 +25,25 @@ NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject(
const LayoutBox& box) {
bool fixed_inline = false, fixed_block = false, is_new_fc = false;
// XXX for orthogonal writing mode this is not right
- LayoutUnit container_logical_width =
+ LayoutUnit available_logical_width =
std::max(LayoutUnit(), box.containingBlockLogicalWidthForContent());
- LayoutUnit container_logical_height;
+ LayoutUnit available_logical_height;
if (!box.parent()) {
- container_logical_height = box.view()->viewLogicalHeightForPercentages();
+ available_logical_height = box.view()->viewLogicalHeightForPercentages();
} else if (box.containingBlock()) {
- container_logical_height =
+ available_logical_height =
box.containingBlock()->availableLogicalHeightForPercentageComputation();
}
- // When we have an override size, the container_logical_{width,height} will be
+ // When we have an override size, the available_logical_{width,height} will be
// used as the final size of the box, so it has to include border and
// padding.
if (box.hasOverrideLogicalContentWidth()) {
- container_logical_width =
+ available_logical_width =
box.borderAndPaddingLogicalWidth() + box.overrideLogicalContentWidth();
fixed_inline = true;
}
if (box.hasOverrideLogicalContentHeight()) {
- container_logical_height = box.borderAndPaddingLogicalHeight() +
+ available_logical_height = box.borderAndPaddingLogicalHeight() +
box.overrideLogicalContentHeight();
fixed_block = true;
}
@@ -54,8 +54,10 @@ NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject(
NGConstraintSpaceBuilder builder(
FromPlatformWritingMode(box.styleRef().getWritingMode()));
builder
- .SetContainerSize(
- NGLogicalSize(container_logical_width, container_logical_height))
+ .SetAvailableSize(
+ NGLogicalSize(available_logical_width, available_logical_height))
+ .SetPercentageResolutionSize(
+ NGLogicalSize(available_logical_width, available_logical_height))
.SetIsInlineDirectionTriggersScrollbar(
box.styleRef().overflowInlineDirection() == OverflowAuto)
.SetIsBlockDirectionTriggersScrollbar(
@@ -76,8 +78,13 @@ void NGConstraintSpace::AddExclusion(const NGLogicalRect& exclusion) const {
MutablePhysicalSpace()->AddExclusion(exclusion);
}
-NGLogicalSize NGConstraintSpace::ContainerSize() const {
- return physical_space_->container_size_.ConvertToLogical(
+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_));
}

Powered by Google App Engine
This is Rietveld 408576698