New issue
Advanced search Search tips

Issue 751817 link

Starred by 1 user

Issue metadata

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

Blocked on:
issue 748570



Sign in to add a comment

After dispatching 'selectstart', we should check document/selection availability

Project Member Reported by xiaoche...@chromium.org, Aug 2 2017

Issue description

There are three dispatch sites of 'selectstart':

A. FrameSelection::Modify().
B. SelectionController::UpdateSelectionForMouseDrag().
C. SelectionController::UpdateSelectionForMouseDownDispatchingSelectStart()

Document availability is check only after site C. We should do the same for A and B. We should also update layout if any follow-up operation needs clean layout.

Besides, we need something similar to the WIP SelectionForUndoStep class (*) that persists through DOM changes, because SelectionTemplate<> is invalidated in DOM change, which results in DCHECK hit if:
1. A SelectionTemplate<> is passed in as the selection to be set to
2. 'selectstart' handler changes DOM.
3. We continue to use the SelectionTemplate<>, which is already invalidated, to change selection
 
Summary: After dispatching 'selectstart', we should check document/selection availability (was: After dispatching 'selectstart', we should check document availability)
Blockedon: 748570

Comment 3 by yosin@chromium.org, Aug 3 2017

Labels: -Pri-1 Pri-3
Status: Available (was: Assigned)
Once ClusterFuzz found the reproduce case, we'll fix it.

Comment 4 by yosin@chromium.org, Aug 4 2017

Owner: ----
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 17 2017

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

commit 3cc43a939a958a8ebfee37d4a1c6845341e04cf9
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Tue Oct 17 10:31:50 2017

Check document availiblity after 'selectStart' event is dispatched

'selectStart' event in UpdateSelectionForMouseDrag can affect the document.
So we should check the DocumentAvailiblity after the 'selectStart' event.
We should also check the cached position validity after
the event is dispatched.

Bug: 751817
Change-Id: Ie024fd9464771865d6611da10f69fb5df43754ce
Reviewed-on: https://chromium-review.googlesource.com/713074
Commit-Queue: Tanvir Rizvi <tanvir.rizvi@samsung.com>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509348}
[modify] https://crrev.com/3cc43a939a958a8ebfee37d4a1c6845341e04cf9/third_party/WebKit/Source/core/editing/SelectionController.cpp

Project Member

Comment 6 by sheriffbot@chromium.org, Oct 17

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Type-Bug Type-Task
Status: Available (was: Untriaged)

Sign in to add a comment