commit | f610bd8e720e0d38572d9b52f6fbe76ed7de8fa9 | [log] [tgz] |
---|---|---|
author | Koji Ishii <kojii@chromium.org> | Tue Aug 07 06:39:13 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Aug 07 06:39:13 2018 |
tree | 1123739ff0ad1bc172eb5a11125dd1cb2e776f89 | |
parent | f792e7d88b0265bf47a7707272ecdfb571cd9679 [diff] |
[LayoutNG] Remove trailing spaces of blocks in phase 1 This patch changes NGInlineItemsBuilder to remove trailing spaces at the end of blocks. It used to do so, but stopped in https://crrev.com/c/1022191 because doing so reduces opportunities to re-use NGInlineItem and increases shaping when contents are added. However, for fonts that has kerning before a space character, this change increased re-shaping every block end. Given line breaking is more often ran than adding contents dynamically, this turned out to be not a good trade off. We could re-shape only end-part in RestoreTrailingCollapsibleSpace to achieve the originally intended optimizations. This speeds up blink_perf tests on Windows by ~10%. This patch also fixes a few cases where space collapsing is incorrect when items are re-used. Bug: 636993 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Id6e0c262db29b4d39ddd4eb1f55b18da2c7e5880 Reviewed-on: https://chromium-review.googlesource.com/1163240 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#581149}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .