Avoid falling back to legacy if |CanTraversePhysicalFragments|
When painting and hit-testing NG fragments, |NGBoxFragmentPainter| falls back to |LayoutObject| at the BFC boundary, because we already have a logic in |LayoutObject| to switch painters for NG and legacy. This patch changes to do so only when |!CanTraverse|, because |LayoutObject| cannot handle block fragmented NG objects. This patch eliminates |CurrentFragment| from |LayoutNGBlockFlowMixin::Paint| by making sure it is not block fragmented. Also changes |HitTestChildBoxFragment| so that it can handle atomically-painted objects in NG code path. Due to the change in |FragmentRequiresLegacyFallback|, such objects go to NG code path without going through |LayoutObject|. Bug: 1061423, 829028 Change-Id: Ife31d6dcd209668a489243b1158112dac44fc273 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2515429 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by:Yoshifumi Inoue <yosin@chromium.org> Reviewed-by:
Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#824316}
Loading
Please register or sign in to comment