Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(742)

Issue 2653493012: Brush up localSelectionRectOfPositionTemplate (Closed)

Created:
3 years, 11 months ago by yoichio
Modified:
3 years, 11 months ago
Reviewers:
CC:
chromium-reviews
Target Ref:
refs/pending/branch-heads/2987
Project:
chromium
Visibility:
Public.

Description

Brush up localSelectionRectOfPositionTemplate This CL does: 1. Import |localCaretRectOfPositionTemplate()| partially to avoid calling |computeInlineBox()| twice(L2562-L2586). In |localCaretRectOfPositionTemplate()|, we call |computeInlineBox()|, which already called at L2568. Unified it. Lines from 2562 to 2586 is virtually localCaretRectOfPositionTemplate except |boxPosition.inlineBox| null-nonnull condition because we need non-null inlineBox to get valid LayoutRect. 2. Get rid of redundant and unsafe cast(L2586). We cast InlineBoxPosition.inlineBox to InlineTextBox at L2570. However, computeInlineBoxPosition returns InlineBoxPosition which inlineBox is not InlineTextBox when position.node.layoutObject is not Text and under few conditions. Thus the cast at L2570 fails. BTW, we don't need to use InlineTextBox following lines because no special functions on InlineTextBox but only InlineBox are used. Then we can use boxPosition.inlineBox just as InlineBox. BUG=680428 TEST=run_webkit_unittests --gtest_filter=VisibleUnitsTest.localSelectionRectOfPositionTemplateNotCrash Review-Url: https://codereview.chromium.org/2641053005 Cr-Commit-Position: refs/heads/master@{#445026} (cherry picked from commit 2ac0c19603e70ef75f156ee8409162bbff94de74) Review-Url: https://codereview.chromium.org/2653493012 . Cr-Commit-Position: refs/branch-heads/2987@{#81} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} Committed: https://chromium.googlesource.com/chromium/src/+/559d6398923277e0dfc5a65636bf5d0d907aee89

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+31 lines, -5 lines) Patch
M third_party/WebKit/Source/core/editing/VisibleUnits.cpp View 1 chunk +21 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp View 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
yoichio
3 years, 11 months ago (2017-01-25 04:19:09 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
559d6398923277e0dfc5a65636bf5d0d907aee89.

Powered by Google App Engine
This is Rietveld 408576698