[LayoutNG] Fix NGInlineNode::MarkLineBoxesDirty
This patch fixes MarkLineBoxesDirty to mark correctly when: 1. The changed node has a parent inline box, and 2. is the first child of the parent, and 3. the parent has box fragment (not culled,) and 4. the parent wraps to multiple lines. e.g., <span id="parent" style="background: yellow"> <span id="changed"></span> <br> text </span> In this case, the old code marks the line box that contains the last fragment of #parent because #parent is "previous" of #changed in the pre-order DFS. The marked line box is the one after #changed, and thus we try to reuse changed line. This issue was found by a WIP to apply reusing line boxes in more cases. From the stack, this looks the same as crbug.com/900898. Bug: 636993, 900898 Change-Id: I43d1d8150bfff7e1d9a6572be5a235cbe937caac Reviewed-on: https://chromium-review.googlesource.com/c/1314086 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by:Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#605422}
Showing
Please register or sign in to comment