After dispatching 'selectstart', we should check document/selection availability |
||||||
Issue descriptionThere 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
,
Aug 2 2017
,
Aug 3 2017
Once ClusterFuzz found the reproduce case, we'll fix it.
,
Aug 4 2017
,
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
,
Oct 17
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
,
Oct 17
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by xiaoche...@chromium.org
, Aug 2 2017