[LayoutNG] Fix line breaking behavior after out-of-flow objects #18942
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch changes line breaking behavior after out-of-flow
objects to match to ICU, assuming the out-of-flow object is
an object replacement character.
The behavior is not well-defined, and not all cases are
interoperable across existing implementations. Legacy/WebKit
resets the prior context so that text after out-of-flow
objects behave as if it is at the top of the line. Gecko and
Edge seem to allow break in most cases, even when NBSP
follows, but not when the line overflows.
The behavior implemented in this patch is interoperable for
all tests that pass on existing 4 implementations, but not
exactly same as legacy when implementations do not agree.
Bug: 1001438
Change-Id: I4c7077d2c287a6e897175b29a73ce1c308f29f4e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1792467
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#694888}