Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[LayoutNG] Fix crash for very long line with
break-word
This patch fixes NGLineBreaker crash when handling a very long line. Because line breaker determines overflow by the position being larger than the available width, it cannot stop if the available width is |LayoutUnit::Max()|. This patch clamps the available width by |LayoutUnit::NearlyMax()| to prevent that. The `word-wrap: break-word` is not necessary to cause the failure, but it makes things worse by setting |ShapeResult| to |nullptr| when overflow occurs for the performance reason. This patch also changes |BreakText| to return whether the overflow occurred or not, rather than callers to determine it from the position. Doing so helps clearer communication with the callers. Bug: 961987 Change-Id: I17eb758aca8b9b6d3e2f328e5b1b49acb83c0a5e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613138 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#660871}
- Loading branch information