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

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

Issue 2681783004: Use Initial Containing Block size for vertical (Closed)
Patch Set: Final CR fixes Created 3 years, 10 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 d1252366864f0fb7881eac79bc321e9a000f5896..36f5a94e046587f2d7a9cbdd1fcf13824c78957e 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
@@ -16,6 +16,7 @@ NGConstraintSpace::NGConstraintSpace(
TextDirection direction,
NGLogicalSize available_size,
NGLogicalSize percentage_resolution_size,
+ NGPhysicalSize initial_containing_block_size,
LayoutUnit fragmentainer_space_available,
bool is_fixed_size_inline,
bool is_fixed_size_block,
@@ -29,6 +30,7 @@ NGConstraintSpace::NGConstraintSpace(
const std::shared_ptr<NGExclusions>& exclusions)
: available_size_(available_size),
percentage_resolution_size_(percentage_resolution_size),
+ initial_containing_block_size_(initial_containing_block_size),
fragmentainer_space_available_(fragmentainer_space_available),
is_fixed_size_inline_(is_fixed_size_inline),
is_fixed_size_block_(is_fixed_size_block),
@@ -79,9 +81,15 @@ NGConstraintSpace* NGConstraintSpace::CreateFromLayoutObject(
box.isLayoutBlock() && toLayoutBlock(box).createsNewFormattingContext();
auto writing_mode = FromPlatformWritingMode(box.styleRef().getWritingMode());
+
+ FloatSize icb_float_size = box.view()->viewportSizeForViewportUnits();
+ NGPhysicalSize initial_containing_block_size{
+ LayoutUnit(icb_float_size.width()), LayoutUnit(icb_float_size.height())};
+
return NGConstraintSpaceBuilder(writing_mode)
.SetAvailableSize(available_size)
.SetPercentageResolutionSize(percentage_size)
+ .SetInitialContainingBlockSize(initial_containing_block_size)
.SetIsInlineDirectionTriggersScrollbar(
box.styleRef().overflowInlineDirection() == EOverflow::kAuto)
.SetIsBlockDirectionTriggersScrollbar(

Powered by Google App Engine
This is Rietveld 408576698