commit | 1f6312f7758332dc881d391a963ea612ff59dc39 | [log] [tgz] |
---|---|---|
author | Koji Ishii <kojii@chromium.org> | Fri Nov 02 04:09:43 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Nov 02 04:09:43 2018 |
tree | 811e79b768851af2633d47dde4857f9a821f90de | |
parent | 7d0f84d178b08002effb98146e352b44c835b7e9 [diff] |
[LayoutNG] Reduce excessive marking of line box dirtiness This patch fixes two excessive marking of line box dirtiness in NGInlineNode::MarkLineBoxesDirty(). 1. LayoutObject::InsertedIntoTree() marks dirty, even if it will be dirtied again later in NGInlineNode:: MarkLineBoxesDirty(). Fixed LayoutNGMixin<Base>:: DirtyLinesFromChangedChild() to do only if it was in NG inline formatting context. 2. It may dirty the first line box because it clears LayoutObject::FirstInlineFragment as it traverses in pre- order, but NGPaintFragment::DirtyLinesFromChangedChild() needs FirstInlineFragment of its previous siblings. Changed to keep previous fragment in this loop. blink_perf.layout does not show observable improvements, but loading.desktop shows ~3% improvements. Bug: 636993 Change-Id: Ia0706bb2407427b3e4ed093290646eb21bc5c0f3 Reviewed-on: https://chromium-review.googlesource.com/c/1309388 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Cr-Commit-Position: refs/heads/master@{#604835}
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 .