Reland "Fix caret rendering when at the end of a block after an ineditable inline"
This reverts commit 6d77a353. Reason for reland: Max recursion depth is reduced to avoid stack overflow. Original change's description: > Revert "Fix caret rendering when at the end of a block after an ineditable inline" > > This reverts commit e9aa20fd. > > Reason for revert: this change breaks tests on win dbg bot > > This is the first failure > https://ci.chromium.org/p/chromium/builders/ci/Win10%20Tests%20x64%20%28dbg%29/6437 > > Test InsertListCommandTest.CleanupNodeSameAsDestinationNode is definitely fails because of this patch (I've verified it locally on Windows). > The problem with this test that it's very deep recursion in function between functions > AdjustBlockFlowPositionToInline > ComputeInlineAdjustedPositionAlgorithm > > and as a result stack overflow. > > > Original change's description: > > Fix caret rendering when at the end of a block after an ineditable inline > > > > AdjustBlockFlowPositionToInline() has an early-reject branch that avoids > > infinite recursion, introduced in crrev.com/664b6437. > > > > However, the early reject condition is too aggressive that, it also > > rejects some positions that don't enter an infinite recursion, like > > the one used in the new unit test added in this CL. > > > > As now AdjustBlockFlowPositionToInline() has a hard limit on recursion > > depth, this CL safely removes the over-aggressive reject condition, so > > that caret can be correctly rendered for more positions. > > > > Note: Unit test InlineBoxPositionTest.ComputeInlineBoxPositionMixedEditable > > uses another position that doesn't enter the infinite loop but is falsely > > rejected by the condition. This patch allows caret rendering also for that > > position, and therefore changes its test expectation. > > > > Bug: 936988 > > Change-Id: Idef91ffaa412e67cddd5fcf0dd61f54055de7189 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1497466 > > Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org> > > Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> > > Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#637311} > > TBR=yosin@chromium.org,yoichio@chromium.org,xiaochengh@chromium.org > > Change-Id: I6fcff118f27d633e627d5942671b04554fef283b > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 936988 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1503579 > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Cr-Commit-Position: refs/heads/master@{#637676} TBR=yosin@chromium.org,yoichio@chromium.org,dvadym@chromium.org,xiaochengh@chromium.org Change-Id: Ic959d3d57558995a315269bb938b75307efb6ea8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 936988 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1504226 Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> Reviewed-by:Xiaocheng Hu <xiaochengh@chromium.org> Cr-Commit-Position: refs/heads/master@{#637832}
Showing
Please register or sign in to comment