New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 699044 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression

Blocking:
issue 702722



Sign in to add a comment

Regression: Cursor gets stuck in 'Search' box after right click on page at chrome://downloads

Reported by jshan...@etouch.net, Mar 7 2017

Issue description

Chrome Version: 58.0.3029.6 (Official Build)Revision 610f4595f8ea01904e3d01506c41201a816dc338-refs/branch-heads/3029@{#35} 32/64-bit.
OS:Windows(7,8,8.1,10), Linux(14.04 LTS), Mac(10.11.6, 10.12.1, 10.12).

Steps:
1. Launch Chrome and navigate to chrome://downloads
2. Right click on page to open context menu when cursor is seen in 'Search' box 
3. Observe

Actual: Cursor gets stuck in 'Search' box after right click on page, also does not vanish after clicking anywhere on page or on iron icon

Expected: Cursor should vanish from 'Search' box after right click on page

This is regression issue, broken in ‘M 58’ and will soon update other info :

Good build:58.0.3005.2
Bad build: 58.0.3006.0 

Note: Issue is also seen for search box on chrome://history and chrome://md-settings 
 
Actual_video.mp4
357 KB View Download
Expected_video.mp4
278 KB View Download
Cc: kkaluri@chromium.org
Labels: hasbisect-per-revision
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Unconfirmed)
Bisect Info:
===========
Good build : 58.0.3005.2,  Revision Range - 448507
Bad build  : 58.0.3006.0,  Revision Range - 448862

After executing the per-revision bisect script , i got the following CL's between good and bad build versions
===========================================
https://chromium.googlesource.com/chromium/src/+log/8db16cac28a12030e03f709c266b8cef1e5b22ed..94d07a45f859a3430ea9de1ff8c2a95708cb23b1

The suspecting Change Log is :
-----------
https://chromium.googlesource.com/chromium/src/+/94d07a45f859a3430ea9de1ff8c2a95708cb23b1

Review-Url: https://codereview.chromium.org/2665823002

wangxianzhu@- Could you please look into this issue, if it's related to your change?  if not could you please help us to reassign this issue to the right owner.

Labels: ReleaseBlock-Stable
Adding Release block label, please undo if not the case.
Project Member

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

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

commit 0f9cfc4753603c7b19d8ea434ddd6326d5417894
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Thu Mar 09 03:47:26 2017

Fix caret paint invalidation issues

- We should save CaretDisplayItemClient::m_previousLayoutBlock only if
  it has not been saved since the last paint invalidation, because we
  use it to invalidate the caret in the layout block of the previous
  paint invalidation.

- Caret painted output can change paint offset without visual rect
  change. Invalidate display item client if the block is doing full
  paint invalidation.

BUG= 699044 , 698662 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual-expected.html
[add] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html
[add] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/LayoutTests/paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual-expected.html
[add] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/LayoutTests/paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual.html
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/CaretDisplayItemClient.cpp
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/CaretDisplayItemClient.h
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/DragCaret.cpp
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/DragCaret.h
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/FrameCaret.h
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/editing/FrameSelection.h
[modify] https://crrev.com/0f9cfc4753603c7b19d8ea434ddd6326d5417894/third_party/WebKit/Source/core/paint/BlockPaintInvalidator.cpp

Project Member

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

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

commit 1ba04288fd3770084d2dfdfa31faaaea61545bb8
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Thu Mar 09 16:53:54 2017

Auto-rebaseline for r455657

Build: https://build.chromium.org/p/chromium.infra.cron/builders/rebaseline-o-matic/builds/627310

https://chromium.googlesource.com/chromium/src/+/0f9cfc4753603

BUG= 699044 
TBR=wangxianzhu@chromium.org

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

[modify] https://crrev.com/1ba04288fd3770084d2dfdfa31faaaea61545bb8/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/1ba04288fd3770084d2dfdfa31faaaea61545bb8/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt
[modify] https://crrev.com/1ba04288fd3770084d2dfdfa31faaaea61545bb8/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt
[modify] https://crrev.com/1ba04288fd3770084d2dfdfa31faaaea61545bb8/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt
[modify] https://crrev.com/1ba04288fd3770084d2dfdfa31faaaea61545bb8/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt
[modify] https://crrev.com/1ba04288fd3770084d2dfdfa31faaaea61545bb8/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt

Labels: Merge-Request-58
Thanks for the fix , we will verify in today's canary and if all looks good, please merge to M58 once its approved. 

Comment 7 by jshan...@etouch.net, Mar 10 2017

Labels: TE-Verified-M59 TE-verified-59.0.3037.0
Above issue is fixed on latest Canary version 59.0.3037.0 on Windows, Linux, Mac OS.
Please refer the attached video.

Fixed_video.mov
1.2 MB Download
Project Member

Comment 8 by sheriffbot@chromium.org, Mar 10 2017

Labels: -Merge-Request-58 Hotlist-Merge-Approved Merge-Approved-58
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), bhthompson@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

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

Labels: -merge-approved-58 merge-merged-3029
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d414296eea8296839c18ba2d4e2b703735526373

commit d414296eea8296839c18ba2d4e2b703735526373
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Fri Mar 10 17:05:52 2017

Fix caret paint invalidation issues

- We should save CaretDisplayItemClient::m_previousLayoutBlock only if
  it has not been saved since the last paint invalidation, because we
  use it to invalidate the caret in the layout block of the previous
  paint invalidation.

- Caret painted output can change paint offset without visual rect
  change. Invalidate display item client if the block is doing full
  paint invalidation.

BUG= 699044 , 698662 
TBR=wangxianzhu@chromium.org
NOTRY=true
NOPRESUBMIT=true
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2736213002
Cr-Original-Commit-Position: refs/heads/master@{#455657}
Review-Url: https://codereview.chromium.org/2745793002
Cr-Commit-Position: refs/branch-heads/3029@{#111}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[add] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual-expected.html
[add] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html
[add] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/LayoutTests/paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual-expected.html
[add] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/LayoutTests/paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual.html
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/CaretDisplayItemClient.cpp
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/CaretDisplayItemClient.h
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/DragCaret.cpp
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/DragCaret.h
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/FrameCaret.h
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/editing/FrameSelection.h
[modify] https://crrev.com/d414296eea8296839c18ba2d4e2b703735526373/third_party/WebKit/Source/core/paint/BlockPaintInvalidator.cpp

Status: Fixed (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 11 2017

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

commit 68ce3db5142fd83af38eb4ae9b5bc701d0555f7b
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Sat Mar 11 04:05:12 2017

Fix another caret paint invalidation issue

This issue occurred when the caret was blinking to invisible state and
at the same time the caret was moved to another place in the same block.

Change code to ensure m_visualRectInPreviousLayoutBlock is invalidated.

BUG= 699044 

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

[modify] https://crrev.com/68ce3db5142fd83af38eb4ae9b5bc701d0555f7b/third_party/WebKit/Source/core/editing/CaretDisplayItemClient.cpp
[modify] https://crrev.com/68ce3db5142fd83af38eb4ae9b5bc701d0555f7b/third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp

Labels: Merge-Request-58
#11 is a fix of stuck cursor issue which occurs much less frequently.
Project Member

Comment 13 by sheriffbot@chromium.org, Mar 12 2017

Labels: -Merge-Request-58 Merge-Approved-58
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), bhthompson@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 14 by bugdroid1@chromium.org, Mar 12 2017

Labels: -merge-approved-58
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f3f496493209a314f968d9d5fdd2bc75982bd68

commit 4f3f496493209a314f968d9d5fdd2bc75982bd68
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Sun Mar 12 05:02:42 2017

Fix another caret paint invalidation issue

This issue occurred when the caret was blinking to invisible state and
at the same time the caret was moved to another place in the same block.

Change code to ensure m_visualRectInPreviousLayoutBlock is invalidated.

BUG= 699044 
TBR=wangxianzhu@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2739253002
Cr-Original-Commit-Position: refs/heads/master@{#456275}
Review-Url: https://codereview.chromium.org/2748563002
Cr-Commit-Position: refs/branch-heads/3029@{#135}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[modify] https://crrev.com/4f3f496493209a314f968d9d5fdd2bc75982bd68/third_party/WebKit/Source/core/editing/CaretDisplayItemClient.cpp
[modify] https://crrev.com/4f3f496493209a314f968d9d5fdd2bc75982bd68/third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp

Comment 15 by kbr@chromium.org, Mar 17 2017

Blocking: 702722

Sign in to add a comment