Commit c06ae07d authored by Koji Ishii's avatar Koji Ishii Committed by Commit Bot

[LayoutNG] Support atomic inline in justification

The implementation was missing. Includes rebaseline due to
1px position differences.


Bug: 636993
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I6520129899d8d9d7940cb06b55e49302ed477327
Reviewed-on: https://chromium-review.googlesource.com/1104618
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: default avatarEmil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569149}
parent 329c9ad3
......@@ -520,7 +520,6 @@ crbug.com/591099 fast/inline/inline-box-background.html [ Failure ]
crbug.com/591099 fast/inline/inline-focus-ring-under-absolute-enclosing-relative-div.html [ Failure ]
crbug.com/591099 fast/inline/inline-offsetLeft-relpos.html [ Failure ]
crbug.com/591099 fast/inline/inline-with-empty-inline-children.html [ Failure ]
crbug.com/591099 fast/inline/justify-emphasis-inline-box.html [ Failure ]
crbug.com/591099 fast/inline/nested-text-descendants.html [ Failure ]
crbug.com/591099 fast/inline/outline-continuations.html [ Failure ]
crbug.com/714962 fast/inline/outline-offset.html [ Failure ]
......
......@@ -516,8 +516,16 @@ bool NGInlineLayoutAlgorithm::ApplyJustify(NGLineInfo* line_info) {
shape_result->StartIndexForResult());
item_result.inline_size = shape_result->SnappedWidth();
item_result.shape_result = std::move(shape_result);
} else {
// TODO(kojii): Implement atomic inline.
} else if (item_result.item->Type() == NGInlineItem::kAtomicInline) {
float offset = 0.f;
DCHECK_LE(line_info->StartOffset(), item_result.start_offset);
unsigned line_text_offset =
item_result.start_offset - line_info->StartOffset();
DCHECK_EQ(kObjectReplacementCharacter, line_text[line_text_offset]);
float space = spacing.ComputeSpacing(line_text_offset, offset);
item_result.inline_size += space;
// |offset| is non-zero only before CJK characters.
DCHECK_EQ(offset, 0.f);
}
}
return true;
......
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