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

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

Issue 2906233002: [LayoutNG] Use logical left of the line box to apply text-align (Closed)
Patch Set: Fix NGInlineLayoutAlgorithmTest.TextFloatsAroundFloatsBefore Created 3 years, 7 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/inline/ng_inline_node.cc
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
index 3144080646dbdd38ef3833c12314b99ea3a8762a..50d4bd038b7538492ef4b729f15622459925e4c4 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
@@ -425,11 +425,13 @@ void NGInlineNode::CopyFragmentDataToLayoutBox(
for (const auto& container_child : box_fragment->Children()) {
NGPhysicalLineBoxFragment* physical_line_box =
ToNGPhysicalLineBoxFragment(container_child.Get());
+ NGLineBoxFragment line_box(constraint_space.WritingMode(),
+ physical_line_box);
// Create a BidiRunList for this line.
CreateBidiRuns(&bidi_runs, physical_line_box->Children(), constraint_space,
- NGLogicalOffset(), items, text_offsets,
- &positions_for_bidi_runs, &positions);
+ {line_box.InlineOffset(), LayoutUnit(0)}, items,
+ text_offsets, &positions_for_bidi_runs, &positions);
// TODO(kojii): bidi needs to find the logical last run.
bidi_runs.SetLogicallyLastRun(bidi_runs.LastRun());
@@ -444,8 +446,7 @@ void NGInlineNode::CopyFragmentDataToLayoutBox(
PlaceInlineBoxChildren(root_line_box, positions_for_bidi_runs, positions);
// Copy to RootInlineBox.
- NGLineBoxFragment line_box(constraint_space.WritingMode(),
- physical_line_box);
+ root_line_box->SetLogicalLeft(line_box.InlineOffset());
root_line_box->SetLogicalWidth(line_box.InlineSize());
LayoutUnit line_top = line_box.BlockOffset();
NGLineHeightMetrics line_metrics(Style(), baseline_type);

Powered by Google App Engine
This is Rietveld 408576698