Block fragmentation support in NGFragmentItems::DirtyLines*
This patch supports block fragmentation by: 1. |TryDirtyFirstLineFor| has micro-optimization by not using |NGInlineCursor| but calls |FirstInlineFragmentItemIndex| directly. This may crash when |LayoutObject| is not in the first fragment. This patch fixes this issue by using |NGInlineCursor| and its built-in block fragmentation support done in <crbug.com/1112657>. 2. Turn all functions to |static|, because which |NGFragmentItems| has the item to mark dirty isn't clear for callers. 3. The work 2 above eliminates two calls to|FragmentItems|, which calls |CurrentFragment|. No perf impacts were observed. layout: https://pinpoint-dot-chromeperf.appspot.com/job/16a9d285520000 paint: https://pinpoint-dot-chromeperf.appspot.com/job/17fba859520000 Bug: 1061423, 829028 Change-Id: I924ebe4eabcb9ec096830b8ecf53edbb63504f75 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2505262Reviewed-by:Yoshifumi Inoue <yosin@chromium.org> Reviewed-by:
Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#822580}
Showing
Please register or sign in to comment