commit | 8b7fd5d4c3de0b0f0695ea5b955427aa3da792eb | [log] [tgz] |
---|---|---|
author | Koji Ishii <kojii@chromium.org> | Tue Feb 12 18:58:46 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Feb 12 18:58:46 2019 |
tree | 134f68b51fdcf1e3aa419a4084f6dda40c2f9ca4 | |
parent | 7ecdce2f4d7a4b4800cccf49705914b3253c9c15 [diff] |
[LayoutNG] Avoid Vector::push_back in AssociateItemsWithInlines Profiling shows Vector::push_back from AssociateItemsWithInlines consumes noticeable time, half of PrepareLayout at cs.chromium.org. This patch changes LayoutNGText to keep the range of NGInlineItem instead of pointers to all items. Both this patch and before this patch assumed items from a LayoutObject is consecutive in NGInlineItem vector. A preserved newline in bidi blocks breaks the assumption. This patch fixes it along with DCHECK to ensure that. Bug: 931206 Change-Id: I55e16c36fd62087c2acb35129401af288cf30dec Reviewed-on: https://chromium-review.googlesource.com/c/1466545 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#631319}
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 .