Commit bf037937 authored by David Grogan's avatar David Grogan Committed by Commit Bot

[FlexNG] Set TextDirection in item constraint spaces

RTL items weren't positioning their children correctly.

Bug: 845235
Change-Id: Ic0ff8e8417a638a4da88eea574877c7b469106e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1906942Reviewed-by: default avatarChristian Biesinger <cbiesinger@chromium.org>
Commit-Queue: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#713965}
parent c8993fac
...@@ -223,6 +223,7 @@ NGFlexLayoutAlgorithm::BuildConstraintSpaceForDeterminingFlexBasis( ...@@ -223,6 +223,7 @@ NGFlexLayoutAlgorithm::BuildConstraintSpaceForDeterminingFlexBasis(
space_builder.SetAvailableSize(content_box_size_); space_builder.SetAvailableSize(content_box_size_);
space_builder.SetPercentageResolutionSize(child_percentage_size_); space_builder.SetPercentageResolutionSize(child_percentage_size_);
space_builder.SetTextDirection(child_style.Direction());
return space_builder.ToConstraintSpace(); return space_builder.ToConstraintSpace();
} }
...@@ -534,6 +535,8 @@ scoped_refptr<const NGLayoutResult> NGFlexLayoutAlgorithm::Layout() { ...@@ -534,6 +535,8 @@ scoped_refptr<const NGLayoutResult> NGFlexLayoutAlgorithm::Layout() {
/* is_new_fc */ true); /* is_new_fc */ true);
SetOrthogonalFallbackInlineSizeIfNeeded(Style(), flex_item.ng_input_node, SetOrthogonalFallbackInlineSizeIfNeeded(Style(), flex_item.ng_input_node,
&space_builder); &space_builder);
space_builder.SetTextDirection(
flex_item.ng_input_node.Style().Direction());
LogicalSize available_size; LogicalSize available_size;
if (is_column_) { if (is_column_) {
...@@ -622,6 +625,7 @@ void NGFlexLayoutAlgorithm::ApplyStretchAlignmentToChild(FlexItem& flex_item) { ...@@ -622,6 +625,7 @@ void NGFlexLayoutAlgorithm::ApplyStretchAlignmentToChild(FlexItem& flex_item) {
space_builder.SetIsFixedBlockSizeIndefinite(true); space_builder.SetIsFixedBlockSizeIndefinite(true);
} }
} }
space_builder.SetTextDirection(flex_item.ng_input_node.Style().Direction());
space_builder.SetAvailableSize(available_size); space_builder.SetAvailableSize(available_size);
space_builder.SetPercentageResolutionSize(child_percentage_size_); space_builder.SetPercentageResolutionSize(child_percentage_size_);
space_builder.SetIsFixedInlineSize(true); space_builder.SetIsFixedInlineSize(true);
......
...@@ -1387,11 +1387,9 @@ crbug.com/591099 external/wpt/css/css-flexbox/flexbox_align-items-stretch-3.html ...@@ -1387,11 +1387,9 @@ crbug.com/591099 external/wpt/css/css-flexbox/flexbox_align-items-stretch-3.html
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/auto-height-column-with-border-and-padding.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/auto-height-column-with-border-and-padding.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-align-vertical-writing-mode.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-align-vertical-writing-mode.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-align.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-align.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow-2.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow-border.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow-border.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow-margins-auto-size.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow-margins-auto-size.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow-padding.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow-padding.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-flow.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-order.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flex-order.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flexbox-baseline-margins.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flexbox-baseline-margins.html [ Failure ]
crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flexbox-baseline.html [ Failure ] crbug.com/591099 virtual/layout_ng_flex_box/css3/flexbox/flexbox-baseline.html [ Failure ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment