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

Issue 692900 link

Starred by 4 users

Issue metadata

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



Sign in to add a comment

Caret stops blinking after typing character

Reported by jshan...@etouch.net, Feb 16 2017

Issue description

Chrome Version: 58.0.3014.0 (Official Build) 6a7a139970ad3232c1efa03508df28b8a4883f1a-refs/heads/master@{#450840}-32/64 bit
OS: Windows (7,8,8.1,10),Linux (14.04 LTS),Mac OS X(10.10.5, 10.11.4)

Steps:
1. Launch Chrome and sign in to fb.com with valid credentials
2. Write something in 'Status' text box,then clear it using Backspace key and observe the cursor

Actual: Cursor gets stuck after hitting Backspace key i.e cursor does not blinks 

Expected: Cursor should not be stuck after hitting Backspace key 

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

Good build:58.0.3012.0 
Bad build: 58.0.3013.0 

Note: Above issue is seen for most of the textboxes e.g Description box of crbug.com
 

 
Actual_video.mp4
1.0 MB View Download
Expected_video.mp4
706 KB View Download
Labels: hasbisect-per-revision ReleaseBlock-Stable OS-Linux OS-Mac OS-Windows
Owner: yosin@chromium.org
Status: Assigned (was: Unconfirmed)
Using the per-revision bisect providing the bisect results,
Good Build -- 58.0.3012.0 (revision : 450199)
Bad Build  -- 58.0.3013.0 (revision : 450530)

You are probably looking for a change made after 450369 (known good), but no later than 450370 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/18375370aff250f59f5ef624ecf686d860377ece..d892f9592860691ae9a782c12260c94ed6bd1a63

@yosin -- Could you please look into the issue, kindly re-assign if this is not related to your changes.
Adding RB Label as this is a recent Regression, please remove if not required.
Thank You.

Comment 2 by yosin@chromium.org, Feb 16 2017

Components: -Blink>Input Blink>Editing>Selection
Status: Started (was: Assigned)
Summary: Caret stops blinking after typing character (was: Regression: Cursor gets stuck after hitting Backspace key at fb.com)
Step to reproduce:
1. Visit http://textarea.org
2. See the page, caret is blinking
3. Type "x" or whatever key

Comment 3 by yosin@chromium.org, Feb 16 2017

Cc: kavvaru@chromium.org durga.behera@chromium.org brajkumar@chromium.org yosin@chromium.org ajha@chromium.org
 Issue 692989  has been merged into this issue.

Comment 4 by yosin@chromium.org, Feb 22 2017

The root cause is we stop caret blink timer when last editing command is typing in
FrameCaret::updateApperance(). Before patch[1], updateApperance() is called when
selection is moved. But after patch[1], we call updateApperance() before
painting caret.
Able to reproduce this issue on Mac 10.12.3 with chrome dev #58.0.3024.0, 
yosin@ since it has a release block-stable label , could you please provide the latest update on this issue.

Comment 6 by yosin@chromium.org, Feb 28 2017

Owner: tkent@chromium.org
Status: Assigned (was: Started)

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

Status: Started (was: Assigned)
Project Member

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

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

commit 045a3dd143fabf6787774090a255dc0eda649c59
Author: tkent <tkent@chromium.org>
Date: Wed Mar 01 05:55:00 2017

Editing: Fix caret blinking after a typing.

FrameCaret::updateAppearance() is called in updateStyleAndLayoutIfNeeded(). So
if shouldStopBlinkingDueToTypingCommand() is true, we repeatedly stop and start
the caret timer.

Because FrameSelection::didSetSelectionDeprecated() calls stopCaretBlinkTimer(),
we always restart the caret timer after every selection change. Checking
shouldStopBlinkingDueToTypingCommand() is unnecessary.

The core part of the CL is just to remove
shouldStopBlinkingDueToTypingCommand(), however this CL adds a lot of code to
make the code testable.
- Add FrameCaret::recreateCaretBlinkTimerForTesting(RefPtr<WebTaskRunner>)
- Add FrameSelection::frameCaretForTesting()
- Add support of delayed task to FakeWebTaskRunner

BUG= 692900 

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

[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/core/editing/BUILD.gn
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/core/editing/FrameCaret.h
[add] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/core/editing/FrameCaretTest.cpp
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/core/editing/FrameSelection.h
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.h
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/core/editing/commands/TypingCommand.h
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/platform/scheduler/test/fake_web_task_runner.cc
[modify] https://crrev.com/045a3dd143fabf6787774090a255dc0eda649c59/third_party/WebKit/Source/platform/scheduler/test/fake_web_task_runner.h

Comment 9 by tkent@chromium.org, Mar 1 2017

Status: Fixed (was: Started)
Issue 696018 has been merged into this issue.
Labels: TE-Verified-58.0.3029.6 TE-Verified-M58
Tested the issue on Latest Dev# 58.0.3029.6 on Windows, Mac and Linux and found the issue to be Fixed.
Blinking doesn't stop on hitting backspace. Hence adding TE-Verified Labels.
Attaching Screencast for reference.
Thank You.
692900.ogv
1.7 MB View Download

Sign in to add a comment