New issue
Advanced search Search tips

Issue 698633 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 590369



Sign in to add a comment

Get rid of FrameSelection::computeVisibleSelectionInDOMTreeDeprecated()

Project Member Reported by yosin@chromium.org, Mar 6 2017

Issue description

FrameSelection::computeVisibleSelectionInDOMTreeDeprecated() should be rewrite to:

// TODO(editing-dev): The use of updateStyleAndLayoutIgnorePendingStylesheets
// needs to be audited.  See http://crbug.com/590369 for more details.
frame.document().updateStyleAndLayoutIgnorePendingStylesheets();
const VisbileSelection& selection = frame.selection().computeVisibleSelectionInDOMTree();


There are 234 call sites as of March 6, 2017:
https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/editing/FrameSelection.h?type=cs&q=FrameSelection::computeVisibleSelectionInDOMTreeDeprecated&l=115
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08a8136e57f46ee167eef2ff3ffe2667a6ef0174

commit 08a8136e57f46ee167eef2ff3ffe2667a6ef0174
Author: yosin <yosin@chromium.org>
Date: Tue Mar 07 01:25:58 2017

Introduce isInPasswordField()

This patch Introduces |isInPasswordField()| as a preparation of patch[1] and
avoid to use |computeVisibleSelectionInDOMTreeDeprecated()|.

[1] http://crrev.com/2734793002: Expand FrameSelection::isInPasswordFiled() into
call sites

BUG=698633
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2735663002
Cr-Commit-Position: refs/heads/master@{#455018}

[modify] https://crrev.com/08a8136e57f46ee167eef2ff3ffe2667a6ef0174/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
[modify] https://crrev.com/08a8136e57f46ee167eef2ff3ffe2667a6ef0174/third_party/WebKit/Source/core/editing/EditingUtilities.h
[modify] https://crrev.com/08a8136e57f46ee167eef2ff3ffe2667a6ef0174/third_party/WebKit/Source/core/editing/FrameSelection.cpp

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cac6c252b97e579353f83be2d68253fba17c2524

commit cac6c252b97e579353f83be2d68253fba17c2524
Author: yosin <yosin@chromium.org>
Date: Tue Mar 07 01:27:28 2017

Get rid of FrameSelection::setSelection() taking VisibleSelection and SetSelectionOptions

This patch gets rid of |FrameSelection::SetSelectionOptions()| taking
|VisibleSelection| and |SetSelectionOptions| since it is used only in one
call site to reduce source code size for improving code health.

BUG=698633
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2733793002
Cr-Commit-Position: refs/heads/master@{#455019}

[modify] https://crrev.com/cac6c252b97e579353f83be2d68253fba17c2524/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/cac6c252b97e579353f83be2d68253fba17c2524/third_party/WebKit/Source/core/editing/FrameSelection.h

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2d360523e94ba92514d45cb9d260c0c3364e5a5

commit a2d360523e94ba92514d45cb9d260c0c3364e5a5
Author: yosin <yosin@chromium.org>
Date: Wed Mar 08 09:38:23 2017

Expand FrameSelection::isInPasswordFiled() into call sites

This patch expands |FrameSelection::isInPasswordFiled()| into call sites to
avoid to use |computeVisibleSelectionInDOMTreeDeprecated()| for improving code
health.

BUG=698633
TEST=n/a

Review-Url: https://codereview.chromium.org/2734793002
Cr-Commit-Position: refs/heads/master@{#455417}

[modify] https://crrev.com/a2d360523e94ba92514d45cb9d260c0c3364e5a5/third_party/WebKit/Source/core/editing/Editor.cpp
[modify] https://crrev.com/a2d360523e94ba92514d45cb9d260c0c3364e5a5/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/a2d360523e94ba92514d45cb9d260c0c3364e5a5/third_party/WebKit/Source/core/editing/FrameSelection.h
[modify] https://crrev.com/a2d360523e94ba92514d45cb9d260c0c3364e5a5/third_party/WebKit/Source/core/input/MouseEventManager.cpp

Comment 4 by yosin@chromium.org, Mar 9 2017

If resulted VisibleSelection is used for
 - enclosingTextControl
 - isContentEditable
 - rootEditableElement
Please try not to use VS at all.
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/33aee2483346831a1881aeedc837cb5bc6cbe97c

commit 33aee2483346831a1881aeedc837cb5bc6cbe97c
Author: yosin <yosin@chromium.org>
Date: Fri Mar 10 07:58:33 2017

Simplify directional selection check in FrameSelection::moveCaretSelection()

This patch replaces
 FrameSeleciton::computeVisibleSelectionInDOMTree().isDirectional()
to
 FrameSeleciton::selectionInDOMTree().isDirectional()
since visible position normalization does not affect selection directional,
to simplify source code for improving code health.

BUG=698633
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2740893003
Cr-Commit-Position: refs/heads/master@{#456020}

[modify] https://crrev.com/33aee2483346831a1881aeedc837cb5bc6cbe97c/third_party/WebKit/Source/core/editing/FrameSelection.cpp

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9744d5bffb3fbdf761455b355ebc4faa757d1aaf

commit 9744d5bffb3fbdf761455b355ebc4faa757d1aaf
Author: yosin <yosin@chromium.org>
Date: Thu Mar 30 09:02:53 2017

Get rid of computeVisibleSelectionInDOMTreeDeprecated() in InputMethodController::textInputType() and textInputInfo()

This patch gets rid of |computeVisibleSelectionInDOMTreeDeprecated()| by replacing
it with |rootEditableElementOf()| with non-canonicalize position from
|textInputInfo()| and |textInputType()| of |InputMethodController| for improving
code health.

Node: Because of selection can't cross editing boundary, root editable element for
non-canonicalized position and canonicalized position are same.

This patch is intentionally not change all call sites of |rootEditableElement()|
in |InputMethodController| to merge this patch as workaround of [1].

[1]  http://crbug.com/704763  Opacity animation consuming main thread resources

BUG=698633,  704763 
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2782413002
Cr-Commit-Position: refs/heads/master@{#460705}

[modify] https://crrev.com/9744d5bffb3fbdf761455b355ebc4faa757d1aaf/third_party/WebKit/Source/core/editing/InputMethodController.cpp

Project Member

Comment 7 by bugdroid1@chromium.org, Mar 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8202d740b1c09787cdd3e11d3d15e7211b88f15e

commit 8202d740b1c09787cdd3e11d3d15e7211b88f15e
Author: yosin <yosin@chromium.org>
Date: Thu Mar 30 09:19:49 2017

Get rid of computeVisibleSelectionInDOMTreeDeprecated() from WebViewImpl::selectionBounds()

This patch gets rid of |computeVisibleSelectionInDOMTreeDeprecated()| by moving
|updateStyleAndLayoutIgnorePendingStylesheets()| before using |VisibleSelection|
and checking DOM based empty-selection before updating layout.

When selection is empty in DOM tree, e.g. selection.base().isNull(), it can not
be non-null on |VisibleSelection|.

This patch is a part of workaround of [1] for merging.

[1]  http://crbug.com/704763  Opacity animation consuming main thread resources

BUG=698633,  704763 
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2784243002
Cr-Commit-Position: refs/heads/master@{#460710}

[modify] https://crrev.com/8202d740b1c09787cdd3e11d3d15e7211b88f15e/third_party/WebKit/Source/web/WebViewImpl.cpp

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dc19a899c0f97dcd259a3ec506396c43db14ef23

commit dc19a899c0f97dcd259a3ec506396c43db14ef23
Author: sullivan <sullivan@chromium.org>
Date: Thu Mar 30 22:09:15 2017

Revert of Get rid of computeVisibleSelectionInDOMTreeDeprecated() in InputMethodController (patchset #4 id:60001 of https://codereview.chromium.org/2782413002/ )

Reason for revert:
This causes a crash in a telemetry benchmark on android. To reproduce, run:

src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=browse:media:youtube system_health.common_mobile

BUG= 706865 

Original issue's description:
> Get rid of computeVisibleSelectionInDOMTreeDeprecated() in InputMethodController::textInputType() and textInputInfo()
>
> This patch gets rid of |computeVisibleSelectionInDOMTreeDeprecated()| by replacing
> it with |rootEditableElementOf()| with non-canonicalize position from
> |textInputInfo()| and |textInputType()| of |InputMethodController| for improving
> code health.
>
> Node: Because of selection can't cross editing boundary, root editable element for
> non-canonicalized position and canonicalized position are same.
>
> This patch is intentionally not change all call sites of |rootEditableElement()|
> in |InputMethodController| to merge this patch as workaround of [1].
>
> [1]  http://crbug.com/704763  Opacity animation consuming main thread resources
>
> BUG=698633,  704763 
> TEST=n/a; no behavior changes
>
> Review-Url: https://codereview.chromium.org/2782413002
> Cr-Commit-Position: refs/heads/master@{#460705}
> Committed: https://chromium.googlesource.com/chromium/src/+/9744d5bffb3fbdf761455b355ebc4faa757d1aaf

TBR=tkent@chromium.org,xiaochengh@chromium.org,yoichio@chromium.org,yosin@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=698633,  704763 

Review-Url: https://codereview.chromium.org/2785333002
Cr-Commit-Position: refs/heads/master@{#460903}

[modify] https://crrev.com/dc19a899c0f97dcd259a3ec506396c43db14ef23/third_party/WebKit/Source/core/editing/InputMethodController.cpp

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e14aacd2baf5cf9c4a5e457384e0b0f73c0163c4

commit e14aacd2baf5cf9c4a5e457384e0b0f73c0163c4
Author: yosin <yosin@chromium.org>
Date: Tue Apr 11 08:33:37 2017

Get rid of computeVisibleSelectionInDOMTreeDeprecated() in InputMethodController::textInputType() and textInputInfo()

This patch gets rid of |computeVisibleSelectionInDOMTreeDeprecated()| by replacing
it with |rootEditableElementOf()| with non-canonicalize position from
|textInputInfo()| and |textInputType()| of |InputMethodController| for improving
code health.

Node: Because of selection can't cross editing boundary, root editable element for
non-canonicalized position and canonicalized position are same.

This patch is intentionally not change all call sites of |rootEditableElement()|
in |InputMethodController| to merge this patch as workaround of [1].

[1]  http://crbug.com/704763  Opacity animation consuming main thread resources

BUG=698633,  704763 
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2782413002
Cr-Original-Commit-Position: refs/heads/master@{#460705}
Committed: https://chromium.googlesource.com/chromium/src/+/9744d5bffb3fbdf761455b355ebc4faa757d1aaf
Review-Url: https://codereview.chromium.org/2782413002
Cr-Commit-Position: refs/heads/master@{#463575}

[modify] https://crrev.com/e14aacd2baf5cf9c4a5e457384e0b0f73c0163c4/third_party/WebKit/Source/core/editing/InputMethodController.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, Apr 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ce75e0da74bdaf313e73520f040ff2bd446d2d7a

commit ce75e0da74bdaf313e73520f040ff2bd446d2d7a
Author: xiaochengh <xiaochengh@chromium.org>
Date: Tue Apr 25 07:22:56 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from FrameSelection::Modify

This patch prunes the deprecated function from both overloads of
FrameSelection::Modify to improve code health.

BUG=698633
TEST=n/a; no behaviorial change

Review-Url: https://codereview.chromium.org/2829043004
Cr-Commit-Position: refs/heads/master@{#466915}

[modify] https://crrev.com/ce75e0da74bdaf313e73520f040ff2bd446d2d7a/third_party/WebKit/Source/core/editing/DOMSelection.cpp
[modify] https://crrev.com/ce75e0da74bdaf313e73520f040ff2bd446d2d7a/third_party/WebKit/Source/core/editing/FrameSelection.cpp

Project Member

Comment 11 by bugdroid1@chromium.org, Apr 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c083e9097f40b9618834c7f845e46fa1dd5d7ee0

commit c083e9097f40b9618834c7f845e46fa1dd5d7ee0
Author: xiaochengh <xiaochengh@chromium.org>
Date: Thu Apr 27 06:59:53 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from DOMSelection::deleteFromDocument

This patch prunes the deprecated function from
DOMSelection::deleteFromDocument to improve code health.

BUG=698633
TEST=n/a; no behaviorial change

Review-Url: https://codereview.chromium.org/2844983002
Cr-Commit-Position: refs/heads/master@{#467612}

[modify] https://crrev.com/c083e9097f40b9618834c7f845e46fa1dd5d7ee0/third_party/WebKit/Source/core/editing/DOMSelection.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/91d6f941c7c78c434006e85a29239d37e3d56acb

commit 91d6f941c7c78c434006e85a29239d37e3d56acb
Author: xiaochengh <xiaochengh@chromium.org>
Date: Fri Apr 28 05:10:53 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from TargetRangesForInputEvent

This patch prunes a call site of the deprecated function to improve code
health.

BUG=698633
TEST=n/a; no behavioral change

Review-Url: https://codereview.chromium.org/2849573002
Cr-Commit-Position: refs/heads/master@{#467887}

[modify] https://crrev.com/91d6f941c7c78c434006e85a29239d37e3d56acb/third_party/WebKit/Source/core/editing/EditingUtilities.cpp

Project Member

Comment 13 by bugdroid1@chromium.org, May 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e15ff1b5a013329a42aa8b8feb6d8d0faf16b0d0

commit e15ff1b5a013329a42aa8b8feb6d8d0faf16b0d0
Author: xiaochengh <xiaochengh@chromium.org>
Date: Mon May 01 04:09:32 2017

Prune ComputeVisibleSelectionInDOMTree from Editor::Cut/Copy/Paste

This patch prunes some call sites of the deprecated function to improve
code health. The change is safe because layout has been updated a few
lines before each call site.

BUG=698633
TEST=n/a; no behavioral change

Review-Url: https://codereview.chromium.org/2847813005
Cr-Commit-Position: refs/heads/master@{#468277}

[modify] https://crrev.com/e15ff1b5a013329a42aa8b8feb6d8d0faf16b0d0/third_party/WebKit/Source/core/editing/Editor.cpp

Project Member

Comment 14 by bugdroid1@chromium.org, May 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08b287f8807022c5c6369eafccad38ad3492cd9f

commit 08b287f8807022c5c6369eafccad38ad3492cd9f
Author: xiaochengh <xiaochengh@chromium.org>
Date: Mon May 01 07:14:11 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from Editor::ChangeSelectionAfterCommand

This patch prunes a call site of the deprecated function to improve
code health.

The change is safe because the call site only needs the selection type,
not the selection itself. After this patch, it also aligns with the
code in Editor::RespondToChangedSelection.

BUG=698633
TEST=n/a; no behavioral change

Review-Url: https://codereview.chromium.org/2852913002
Cr-Commit-Position: refs/heads/master@{#468304}

[modify] https://crrev.com/08b287f8807022c5c6369eafccad38ad3492cd9f/third_party/WebKit/Source/core/editing/Editor.cpp

Project Member

Comment 15 by bugdroid1@chromium.org, May 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d222098b62d82870fe150202a44fa6734403b43f

commit d222098b62d82870fe150202a44fa6734403b43f
Author: xiaochengh <xiaochengh@chromium.org>
Date: Mon May 08 09:11:26 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from ContextMenuClientImpl

This patch prunes a call site of the deprecated function, which is safe
because layout is already clean there, updated in a hit test in
ContextMenuClientImpl::ShowContextMenu.

BUG=698633
TEST=n/a; no behavioral changes

Review-Url: https://codereview.chromium.org/2858983003
Cr-Commit-Position: refs/heads/master@{#469933}

[modify] https://crrev.com/d222098b62d82870fe150202a44fa6734403b43f/third_party/WebKit/Source/web/ContextMenuClientImpl.cpp

Project Member

Comment 16 by bugdroid1@chromium.org, May 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e13393759f92798fa0677e9681fe5e9862d0410

commit 6e13393759f92798fa0677e9681fe5e9862d0410
Author: xiaochengh <xiaochengh@chromium.org>
Date: Mon May 08 10:09:52 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from Editor::SelectionForCommand

This patch prunes a call site of the deprecated function, which is safe because
the only code paths reaching the call site are
- Editor::InsertTextWithoutSendingTextEvent
- Enabled...
where layout is already clean.

BUG=698633
TEST=n/a; no behavioral change

Review-Url: https://codereview.chromium.org/2866893002
Cr-Commit-Position: refs/heads/master@{#469944}

[modify] https://crrev.com/6e13393759f92798fa0677e9681fe5e9862d0410/third_party/WebKit/Source/core/editing/Editor.cpp

Project Member

Comment 17 by bugdroid1@chromium.org, May 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/07775ad85062bd6c858fbe553f0e56b34026b5cb

commit 07775ad85062bd6c858fbe553f0e56b34026b5cb
Author: xiaochengh <xiaochengh@chromium.org>
Date: Mon May 08 10:18:06 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from FrameSelection::SelectAll

This patch prunes a call site of the the deprecated function. The change is safe
because FrameSelection::SelectAll is only reachable from ExecuteSelectAll, where
layout is already clean.

BUG=698633
TEST=n/a; no behavioral change

Review-Url: https://codereview.chromium.org/2860593002
Cr-Commit-Position: refs/heads/master@{#469947}

[modify] https://crrev.com/07775ad85062bd6c858fbe553f0e56b34026b5cb/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/07775ad85062bd6c858fbe553f0e56b34026b5cb/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp

Project Member

Comment 18 by bugdroid1@chromium.org, May 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/74d738716697dfef5c4d124bdaad3b3c06a8bbe9

commit 74d738716697dfef5c4d124bdaad3b3c06a8bbe9
Author: xiaochengh <xiaochengh@chromium.org>
Date: Mon May 08 10:30:42 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from IsCaretAtStartOfWrappedLine

This patch prunes the deprecated function from IsCaretAtStartOfWrappedLine.
The change is safe because layout is always clean at the call site, which is
updated in Editor::HandleTextEvnet().

BUG=698633
TEST=n/a; no behavioral changes

Review-Url: https://codereview.chromium.org/2864613004
Cr-Commit-Position: refs/heads/master@{#469950}

[modify] https://crrev.com/74d738716697dfef5c4d124bdaad3b3c06a8bbe9/third_party/WebKit/Source/core/editing/Editor.cpp

Project Member

Comment 19 by bugdroid1@chromium.org, May 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/551e4143b7c88d46312b4923c383687bfb9f525a

commit 551e4143b7c88d46312b4923c383687bfb9f525a
Author: xiaochengh <xiaochengh@chromium.org>
Date: Tue May 09 08:32:56 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from FrameSelection::RevealSelection

This patch prunes a call site of the deprecated function. The change is
safe because layout is already clean there, updated right after entering
FrameSelection::RevealSelection.

BUG=698633
TEST=n/a; no behavioral change

Review-Url: https://codereview.chromium.org/2870023003
Cr-Commit-Position: refs/heads/master@{#470266}

[modify] https://crrev.com/551e4143b7c88d46312b4923c383687bfb9f525a/third_party/WebKit/Source/core/editing/FrameSelection.cpp

Project Member

Comment 20 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f32782b8769b529f5c6d476d6e8a45ea582dd39a

commit f32782b8769b529f5c6d476d6e8a45ea582dd39a
Author: xiaochengh <xiaochengh@chromium.org>
Date: Fri May 12 06:01:26 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from SelectionController::UpdateSelectionForMouseDrag

This patch prunes a call site of the deprecated function, which is safe
because the call site has already updated layout.

BUG=698633
TEST=n/a; no behavioral changes.

Review-Url: https://codereview.chromium.org/2875453003
Cr-Commit-Position: refs/heads/master@{#471233}

[modify] https://crrev.com/f32782b8769b529f5c6d476d6e8a45ea582dd39a/third_party/WebKit/Source/core/editing/SelectionController.cpp

Project Member

Comment 21 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e9f052d41ee97a500751f34995d701c7a83cc4f

commit 1e9f052d41ee97a500751f34995d701c7a83cc4f
Author: xiaochengh <xiaochengh@chromium.org>
Date: Fri May 12 23:45:24 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from FrameSelection::CurrentForm

This patch prunes a call site of the deprecated function, which is safe
because the call site is reachable only from
ContextMenuClientImpl::ShowContextMenu, where layout has been updated
due to a hit test.

BUG=698633
TEST=n/a; no behavioral changes.

Review-Url: https://codereview.chromium.org/2875763002
Cr-Commit-Position: refs/heads/master@{#471495}

[modify] https://crrev.com/1e9f052d41ee97a500751f34995d701c7a83cc4f/third_party/WebKit/Source/core/editing/FrameSelection.cpp

Project Member

Comment 22 by bugdroid1@chromium.org, May 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4728d7d5a0884f5c40614fd9d29bf50c08a8a32

commit f4728d7d5a0884f5c40614fd9d29bf50c08a8a32
Author: xiaochengh <xiaochengh@chromium.org>
Date: Mon May 15 04:08:27 2017

Prune ComputeVisibleSelectionDeprecated from FrameSelection::ShouldPaintCaret

This patch prunes a call site of the deprecated function, which is safe because
layout is already clean (DCHECK-ed) at the call site.

BUG=698633
TEST=n/a; no behavioral changes.

Review-Url: https://codereview.chromium.org/2877193002
Cr-Commit-Position: refs/heads/master@{#471659}

[modify] https://crrev.com/f4728d7d5a0884f5c40614fd9d29bf50c08a8a32/third_party/WebKit/Source/core/editing/FrameSelection.cpp

Project Member

Comment 23 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/35c9b9467e191901889c235cfc438fd32a99edf6

commit 35c9b9467e191901889c235cfc438fd32a99edf6
Author: xiaochengh <xiaochengh@chromium.org>
Date: Tue May 16 03:42:50 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from WebViewImpl::SelectionBounds

This patch prunes a call site of the deprecated function, which is safe because
layout is already clean there.

BUG=698633
TEST=n/a; no behavioral changes

Review-Url: https://codereview.chromium.org/2886613002
Cr-Commit-Position: refs/heads/master@{#472006}

[modify] https://crrev.com/35c9b9467e191901889c235cfc438fd32a99edf6/third_party/WebKit/Source/web/WebViewImpl.cpp

Project Member

Comment 24 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c1b47cd5f45d567d8b1ea929ab2efd413045862

commit 0c1b47cd5f45d567d8b1ea929ab2efd413045862
Author: xiaochengh <xiaochengh@chromium.org>
Date: Tue May 16 19:40:13 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from WebFrameWidgetImpl::SelectionBounds

This patch prunes a call site of the deprecated function to improve code
health. The change is safe because it is equivalent to hoisting the layout
update from the deprecated function.

BUG=698633
TEST=n/a; no behavioral changes

Review-Url: https://codereview.chromium.org/2883083003
Cr-Commit-Position: refs/heads/master@{#472190}

[modify] https://crrev.com/0c1b47cd5f45d567d8b1ea929ab2efd413045862/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp

Project Member

Comment 25 by bugdroid1@chromium.org, May 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/766d6fcb2105bb7a6015d692db696bf63a8b1982

commit 766d6fcb2105bb7a6015d692db696bf63a8b1982
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon May 29 01:32:40 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from WebViewImpl::SelectionTextDirection

This patch prunes a call site of the deprecated function, which is safe
because layout is updated just before the call site in the same function.

Bug: 698633
Change-Id: Ibb515da7d55395f7349817b0833ff085099ae715
Reviewed-on: https://chromium-review.googlesource.com/517964
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475269}
[modify] https://crrev.com/766d6fcb2105bb7a6015d692db696bf63a8b1982/third_party/WebKit/Source/web/WebViewImpl.cpp

Project Member

Comment 26 by bugdroid1@chromium.org, May 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2ba028e13d43b51e0c66dc91b44858c8d3ae688d

commit 2ba028e13d43b51e0c66dc91b44858c8d3ae688d
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon May 29 01:33:58 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from WebSurroundingText

This patch prunes a call site of the deprecated function, which is safe
because layout is updated just before the call site in the same function.

Bug: 698633
Change-Id: Ia1ba3511b719d79cb08a8cc930f07b457488c2a9
Reviewed-on: https://chromium-review.googlesource.com/517239
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475270}
[modify] https://crrev.com/2ba028e13d43b51e0c66dc91b44858c8d3ae688d/third_party/WebKit/Source/web/WebSurroundingText.cpp

Project Member

Comment 27 by bugdroid1@chromium.org, May 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7eb6069bf8afee2521bcc856488c45b1f43ae6e6

commit 7eb6069bf8afee2521bcc856488c45b1f43ae6e6
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon May 29 01:34:38 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from WebFrameWidgetImpl::SelectionTextDirection

This patch removes a call site of the deprecated function, which is safe
because layout has been updated just before the call site in the same
function.

Bug: 698633
Change-Id: I71624bc7d827a729d3e63e427d0067ba15a67315
Reviewed-on: https://chromium-review.googlesource.com/518022
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475271}
[modify] https://crrev.com/7eb6069bf8afee2521bcc856488c45b1f43ae6e6/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp

Project Member

Comment 28 by bugdroid1@chromium.org, May 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64b85971b8b58c052b7e8b53754d5558b8e1dc53

commit 64b85971b8b58c052b7e8b53754d5558b8e1dc53
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon May 29 05:48:02 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from TextFinder

This patch prunes a call site of the deprecated function, which is
safe because layout is already clean there, updated in
WebLocalFrameImpl::Find().

Bug: 698633
Change-Id: I9efa31caf7539433dcdd682c1b6b421e9c01536f
Reviewed-on: https://chromium-review.googlesource.com/517253
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475292}
[modify] https://crrev.com/64b85971b8b58c052b7e8b53754d5558b8e1dc53/third_party/WebKit/Source/web/TextFinder.cpp

Project Member

Comment 29 by bugdroid1@chromium.org, May 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/843854c1614d3feb8df5155a629c59481d77595c

commit 843854c1614d3feb8df5155a629c59481d77595c
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Tue May 30 07:42:32 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from WebLocalFrameImpl::SelectWordAroundCaret

This patch prunes a call site of the deprecated function, by hoisting
the layout update from it.

Bug: 698633
Change-Id: I03f29aab1b3e982bcf687a4ae2cd03d12fecdda3
Reviewed-on: https://chromium-review.googlesource.com/517765
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475452}
[modify] https://crrev.com/843854c1614d3feb8df5155a629c59481d77595c/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member

Comment 30 by bugdroid1@chromium.org, May 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d33e6ecdcbe2218aadc0bdd80921c579dcf70cad

commit d33e6ecdcbe2218aadc0bdd80921c579dcf70cad
Author: xiaochengh <xiaochengh@chromium.org>
Date: Wed May 31 04:18:36 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from Editor::InsertLineBreak/ParagraphSeparator

This patch prunes two call sites of the deprecated function, which is
safe because layout is already updated at their caller,
Editor::HandleTextEvent().

BUG=698633

Review-Url: https://codereview.chromium.org/2912233002
Cr-Commit-Position: refs/heads/master@{#475793}

[modify] https://crrev.com/d33e6ecdcbe2218aadc0bdd80921c579dcf70cad/third_party/WebKit/Source/core/editing/Editor.cpp

Project Member

Comment 31 by bugdroid1@chromium.org, Jun 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f673d5f38084a2d2a029a985403c2b2adc467b8

commit 4f673d5f38084a2d2a029a985403c2b2adc467b8
Author: xiaochengh <xiaochengh@chromium.org>
Date: Thu Jun 01 01:30:50 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from Editor::ReplaceSelectionWithFragment

This patch prunes a call site of the deprecated function, which is safe
because layout is already clean there (DCHECK-ed).

BUG=698633

Review-Url: https://codereview.chromium.org/2919573002
Cr-Commit-Position: refs/heads/master@{#476131}

[modify] https://crrev.com/4f673d5f38084a2d2a029a985403c2b2adc467b8/third_party/WebKit/Source/core/editing/Editor.cpp

Project Member

Comment 32 by bugdroid1@chromium.org, Jun 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f673d5f38084a2d2a029a985403c2b2adc467b8

commit 4f673d5f38084a2d2a029a985403c2b2adc467b8
Author: xiaochengh <xiaochengh@chromium.org>
Date: Thu Jun 01 01:30:50 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from Editor::ReplaceSelectionWithFragment

This patch prunes a call site of the deprecated function, which is safe
because layout is already clean there (DCHECK-ed).

BUG=698633

Review-Url: https://codereview.chromium.org/2919573002
Cr-Commit-Position: refs/heads/master@{#476131}

[modify] https://crrev.com/4f673d5f38084a2d2a029a985403c2b2adc467b8/third_party/WebKit/Source/core/editing/Editor.cpp

Project Member

Comment 33 by bugdroid1@chromium.org, Jun 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3e34b2e51926d4b133aee54d3db4608c94707f3

commit c3e34b2e51926d4b133aee54d3db4608c94707f3
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon Jun 05 03:46:16 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from MouseEventManager

This patch prunes a call site of the deprecated function, which is safe
because layout has already been updated just before the call site.

Bug: 698633
Change-Id: I16d7766f2fd491b9cac46ea217acd20e5d5b5546
Reviewed-on: https://chromium-review.googlesource.com/523602
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#476936}
[modify] https://crrev.com/c3e34b2e51926d4b133aee54d3db4608c94707f3/third_party/WebKit/Source/core/input/MouseEventManager.cpp

 Issue 695776  has been merged into this issue.
Labels: -Type-Bug Type-Task
Project Member

Comment 36 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/55fd23476a00f24e802b7cf55b55112a19bbdd42

commit 55fd23476a00f24e802b7cf55b55112a19bbdd42
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Thu Jul 27 03:44:38 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from FrameSelectionTest

This patch prunes call sites of the deprecated functions from
FrameSelectionTest to reduce its usage.

Bug: 698633
Change-Id: I68ed84de410f8d3d47e9ba5da949486ed7c86f7c
Reviewed-on: https://chromium-review.googlesource.com/588007
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489845}
[modify] https://crrev.com/55fd23476a00f24e802b7cf55b55112a19bbdd42/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp

Project Member

Comment 37 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1421ba3a7a7b4f8e098a28fdc2d2ae0b4f7332c4

commit 1421ba3a7a7b4f8e098a28fdc2d2ae0b4f7332c4
Author: Yoshifumi Inoue <yosin@chromium.org>
Date: Fri Jul 28 08:44:23 2017

Replace ComputeVisibleSelectionInDOMTreeDeprecated() in EnabledRangeInRichlyEditableText()

This patch changes changes |ComputeVisibleSelectionInDOMTreeDeprecated()|
to |ComputeVisibleSelectionInDOMTree()| in |EnabledRangeInRichlyEditableText()|
for improving code health.

This patch is similar to the patch[1].

[1] http://crrev.com/c/590971: Replace ComputeVisibleSelectionInDOMTreeDeprecated()
in EnabledInRichlyEditableText()

Bug: 698633
Change-Id: I9d2ffd0fd846c3c6359463cf823eb543020cdd2d
Reviewed-on: https://chromium-review.googlesource.com/591087
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490323}
[modify] https://crrev.com/1421ba3a7a7b4f8e098a28fdc2d2ae0b4f7332c4/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp

Project Member

Comment 38 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c00a0f2d994e135931d1730a526d4d14ff9586f

commit 2c00a0f2d994e135931d1730a526d4d14ff9586f
Author: Yoshifumi Inoue <yosin@chromium.org>
Date: Fri Jul 28 08:54:25 2017

Replace ComputeVisibleSelectionInDOMTreeDeprecated() in EnabledInRichlyEditableText()

This patch changes changes |ComputeVisibleSelectionInDOMTreeDeprecated()|
to |ComputeVisibleSelectionInDOMTree()| in |EnabledInRichlyEditableText()| for
improving code health.

This patch is similar to the patch[1].

[1] http://crrev.com/c/591087: Replace ComputeVisibleSelectionInDOMTreeDeprecated()
in EnabledRangeInRichlyEditableText()

Bug: 698633
Change-Id: I8e128544ee6ec90186607c743e82f0a03c5f04b9
Reviewed-on: https://chromium-review.googlesource.com/590971
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490328}
[modify] https://crrev.com/2c00a0f2d994e135931d1730a526d4d14ff9586f/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp

Project Member

Comment 39 by bugdroid1@chromium.org, Jul 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/188d18f22342dc08727d94b87acad1aac34a147a

commit 188d18f22342dc08727d94b87acad1aac34a147a
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon Jul 31 06:59:29 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from SpellCheckerClientImpl

This patch prunes a call site of the deprecated function by hoisting the
layout update out from it.

Bug: 698633
Change-Id: I483f06de2e1c3e0c4b99403ca9a4b2a48dae9517
Reviewed-on: https://chromium-review.googlesource.com/593208
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490721}
[modify] https://crrev.com/188d18f22342dc08727d94b87acad1aac34a147a/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckerClientImpl.cpp

Project Member

Comment 40 by bugdroid1@chromium.org, Aug 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/47a7a72849c806154143aeb7d03a31697ea16eaa

commit 47a7a72849c806154143aeb7d03a31697ea16eaa
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Wed Aug 02 18:10:45 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from LayoutTreeAsText

This patch replaces a call site of the deprecated function by the
proper version (which requires clean layout), which is safe because
the layout is:
- Either updated by the call site (ExternalRepresentation)
- Or intentionally kept dirty due to kLayoutAsTextDontUpdateLayout flag

Bug: 698633
Change-Id: I09c3be97ac43e5327cb1175999c83454a15c40f1
Reviewed-on: https://chromium-review.googlesource.com/596709
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491438}
[modify] https://crrev.com/47a7a72849c806154143aeb7d03a31697ea16eaa/third_party/WebKit/Source/core/layout/LayoutTreeAsText.cpp

Project Member

Comment 41 by bugdroid1@chromium.org, Aug 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/01ed9b07d90facff05102c1b2c889c7d453ef0f6

commit 01ed9b07d90facff05102c1b2c889c7d453ef0f6
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Fri Aug 04 18:19:49 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from unit tests

This patch replaces the deprecated function from units test by:
- Either ComputeVisibleSelectionInDOMTree
- Or GetSelectionInDOMTree, if the usage of VisibleSelection can be
  easily replaced by SelectionInDOMTree

Layout is already clean at all call sites so the pruning is fine.

Bug: 698633
Change-Id: I354ba03252050728fbeb5cd87cda62552f58e605
Reviewed-on: https://chromium-review.googlesource.com/601542
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492074}
[modify] https://crrev.com/01ed9b07d90facff05102c1b2c889c7d453ef0f6/third_party/WebKit/Source/core/editing/InputMethodControllerTest.cpp
[modify] https://crrev.com/01ed9b07d90facff05102c1b2c889c7d453ef0f6/third_party/WebKit/Source/core/editing/SelectionControllerTest.cpp
[modify] https://crrev.com/01ed9b07d90facff05102c1b2c889c7d453ef0f6/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommandTest.cpp
[modify] https://crrev.com/01ed9b07d90facff05102c1b2c889c7d453ef0f6/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckerTest.cpp
[modify] https://crrev.com/01ed9b07d90facff05102c1b2c889c7d453ef0f6/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/01ed9b07d90facff05102c1b2c889c7d453ef0f6/third_party/WebKit/Source/core/input/EventHandlerTest.cpp
[modify] https://crrev.com/01ed9b07d90facff05102c1b2c889c7d453ef0f6/third_party/WebKit/Source/core/svg/UnsafeSVGAttributeSanitizationTest.cpp

Project Member

Comment 42 by bugdroid1@chromium.org, Aug 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/470405aece84526c657368e688d1d4db58c579d6

commit 470405aece84526c657368e688d1d4db58c579d6
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Tue Aug 08 05:42:33 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from TextFinder

This patch prunes a call site of the deprecated function from
TextFinder to improve code health. The pruning is done by replacing
the use of VisibleSelection by SelectionInDOMTree.

Bug: 698633
Change-Id: Ib64e1e48e3b3d983eb51bf1e1b534b2fc5a2b6fc
Reviewed-on: https://chromium-review.googlesource.com/605051
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492541}
[modify] https://crrev.com/470405aece84526c657368e688d1d4db58c579d6/third_party/WebKit/Source/core/editing/TextFinder.cpp

Project Member

Comment 43 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a777c6b15bf933839e21bda4236b1ab7fb4aaf8f

commit a777c6b15bf933839e21bda4236b1ab7fb4aaf8f
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Thu Aug 17 01:53:12 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from WebRange

This patch prunes the call site of the deprecated function from
WebRange::CreateVisibleRange, which is safe because both call sites of
CreateVisibleRange already have clean layout:
- WebLocalFrameImpl::RangeAsText
- WebLocalFrameImpl::SelectRange

Bug: 698633
Change-Id: Ib8047cef5a663ef7739cfb7a4ae66a95198f6573
Reviewed-on: https://chromium-review.googlesource.com/612754
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495046}
[modify] https://crrev.com/a777c6b15bf933839e21bda4236b1ab7fb4aaf8f/third_party/WebKit/Source/core/exported/WebRange.cpp

Project Member

Comment 44 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c7cea15b710ff38f4bd8c5b15fb3c04cdc51591b

commit c7cea15b710ff38f4bd8c5b15fb3c04cdc51591b
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Thu Aug 17 03:21:52 2017

Prune a call site of ComputeVisibleSelectionInDOMTreeDeprecated from EventHandler

This patch prunes the deprecated function from
ShouldShowContentMenuAtSelection by hoisting the layout update from it.

It also replaces the layout update in ShowNonLocatedContentMenu() by a
DCHECK of clean layout, since layout must have been updated there due to
this patch.

Bug: 698633
Change-Id: I541ebe7709d952f552d0b6680abadc569502f2e3
Reviewed-on: https://chromium-review.googlesource.com/612691
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495064}
[modify] https://crrev.com/c7cea15b710ff38f4bd8c5b15fb3c04cdc51591b/third_party/WebKit/Source/core/input/EventHandler.cpp

Labels: Pri-3
Project Member

Comment 46 by bugdroid1@chromium.org, Nov 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/586e53d6346df3a6147cddcda897d210d666e2b3

commit 586e53d6346df3a6147cddcda897d210d666e2b3
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Tue Nov 14 19:32:59 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from RemoveFormatCommand

This patch prunes a call site of the deprecated function, which is safe
because layout is already updated in CompositeEditCommand::Apply().

Bug: 698633
Change-Id: I83c46588c07ce85b5cc765f9b080f356bcbb5885
Reviewed-on: https://chromium-review.googlesource.com/767849
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516388}
[modify] https://crrev.com/586e53d6346df3a6147cddcda897d210d666e2b3/third_party/WebKit/Source/core/editing/commands/RemoveFormatCommand.cpp

Project Member

Comment 47 by bugdroid1@chromium.org, Nov 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3587d94aac3797ff4e61744333a6922a6dfcb9cb

commit 3587d94aac3797ff4e61744333a6922a6dfcb9cb
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon Nov 20 05:05:48 2017

Prune ComputeVisibleSelectionInDOMTreeDeprecated from EditorCommand.cpp

This patch prunes the deprecated function from EditorCommand.cpp, which
is safe because layout is already clean at the call sites, updated
in Editor::Command::Execute() before calling the ExecuteFoo() functions.

Bug: 698633
Change-Id: I011cb5dbc95a8b2a5d2b9289db6610471688094a
Reviewed-on: https://chromium-review.googlesource.com/777476
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517756}
[modify] https://crrev.com/3587d94aac3797ff4e61744333a6922a6dfcb9cb/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp

Project Member

Comment 48 by bugdroid1@chromium.org, Nov 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8bb1cbaee778761d1716d455e51e033e32687022

commit 8bb1cbaee778761d1716d455e51e033e32687022
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Wed Nov 29 05:30:04 2017

Simplify TextControlElement::ComputeSelectionStart/End

We used to need such handling for different selection granularities
in the above mentioned functions because when granularity is not
character, we used to have a mismatch between:
- FrameSelection::SelectionInDOMTree::ComputeStart/EndPosition()
- FrameSelection::ComputeVisibleSelectionInDOMTree::Start/End()

Now that granularity is completely moved to FrameSelection, there is
no longer such mismatch. So we can use the same logic for all
granularities. As a side effect, this also allows us to remove some
call sites of ComputeVisibleSelectionInDOMTreeDeprecated().

Note that this patch changes the calculation of IndexForPosition from
using the canonicalized position to the un-canonicalized position.
This doesn't change the result, because there is only plain text in
text control elements, while canonicalization doesn't skip any plain
text (unless there is bug in canonicalization).

Behavior covered by layout tests:
- fast/forms/onselect-textfield.html
- fast/forms/textarea/onselect-textarea.html

Bug: 698633, 740804 
Change-Id: Id19d694284a5b439dd4585b88c0e40ad99f33f75
Reviewed-on: https://chromium-review.googlesource.com/786397
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520020}
[modify] https://crrev.com/8bb1cbaee778761d1716d455e51e033e32687022/third_party/WebKit/Source/core/html/forms/TextControlElement.cpp

Project Member

Comment 49 by bugdroid1@chromium.org, Jan 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/671628d8a99b8420f4dadcdb82751c0d3ea2117a

commit 671628d8a99b8420f4dadcdb82751c0d3ea2117a
Author: Yoshifumi Inoue <yosin@chromium.org>
Date: Mon Jan 22 06:13:51 2018

Make WebLocalFrameImpl::IsSelectionAnchorFirst() to use SelectionInDOMTree::IsBaseFirst()

This patch makes |WebLocalFrameImpl::IsSelectionAnchorFirst()| to use
|SelectionInDOMTree::IsBaseFirst()| instead of |VisibleSelection::IsBaseFirst()|
because values of |IsBaseFirst()| are same for |SelectionInDOMTree| and
|VisibleSelection|.

Bug: 698633
Change-Id: I4213fdd6da1c7c4c15539c7f9d4965a388139950
Reviewed-on: https://chromium-review.googlesource.com/877205
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530817}
[modify] https://crrev.com/671628d8a99b8420f4dadcdb82751c0d3ea2117a/third_party/WebKit/Source/core/frame/WebLocalFrameImpl.cpp

Project Member

Comment 50 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e744bb0a5a9c269d0feb60d44be25a447c277fc3

commit e744bb0a5a9c269d0feb60d44be25a447c277fc3
Author: Yoshifumi Inoue <yosin@chromium.org>
Date: Tue Jul 31 03:02:18 2018

Make SetSelectionToDragCaret() not to use FrameSelection::ComputeVisibileSelectionInDOMTreeDeprecated()

This patch changes |SetSelectionToDragCaret()| to use
|FrameSelection::ComputeVisibileSelectionInDOMTree| instead of deprecated
version for improving code health.

This is 2/3 of series of patches:
 1. http://crrev.com/c/This patch
 2. This patch
 3. http://crrev.com/c/1153071

Bug: 698633
Change-Id: Ie51e4b8524c4429fb04a065cb13264e7277d2697
Reviewed-on: https://chromium-review.googlesource.com/1153070
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579296}
[modify] https://crrev.com/e744bb0a5a9c269d0feb60d44be25a447c277fc3/third_party/blink/renderer/core/page/drag_controller.cc

Sign in to add a comment