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

Issue 799799 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

In latest version of chrome, onmousedown doesn't work for a draggable input box.

Reported by ezyord...@gmail.com, Jan 7 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

Steps to reproduce the problem:
1. Using the latest version of Chrome browser, request a page containing the code listed in "What went wrong?".
2. Hover over the input box and the cursor changes to the "move" cursor.
3. Press the mouse button and instead of changing to the "progress" cursor, the cursor changes to the default cursor.  Only when the cursor is moved does it change to the expected "progress" cursor.

What is the expected behavior?
onmouseover changes the cursor to "move":

.cursorGrab
{
	cursor: move;	
}

onmousedown should change the cursor to "progress":

.cursorGrabbing
{	
	cursor: progress;	
}

What went wrong?
Hover over this input box and the cursor changes to the "move" cursor.  Press the mouse key and it changes to the default cursor.  Only when the cursor is moved does it change to the expected "progress" cursor.

<div draggable="true">
<input type="text" onmouseover="this.className = 'cursorGrab';" onmousedown="this.className = 'cursorGrabbing';" />
</div>

Did this work before? Yes The version before the latest one.

Chrome version: 63.0.3239.132  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version:
 
Cc: sc00335...@techmahindra.com
Components: -Blink Blink>Input
Labels: Needs-Feedback Triaged-ET Needs-Triage-M63
Checked the issue on reported version 63.0.3239.132 and on latest canary 65.0.3315.0 using windows 7,10 with code given in comment#0

1. Navigated to given code >> Hovered on text field and observed Input cursor "I"
2. Pressed mouse button and observed default cursor
3. Moved mouse and observed "Block" cursor . Attaching screencast for reference.

@Reporter: Could you please check the video and let us know is this the behaviour you are observing? And also if possible please let us know the behaviour with screencast.

Thanks!
The steps that you took and the results are the same that I experienced.
BTW, I could not reproduce after deleting History, Cookies and Cache.  But
I can't expect customers to do that.

Thanks.
Project Member

Comment 3 by sheriffbot@chromium.org, Jan 8 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "sc00335628@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Able to reproduce this issue on reported version 63.0.3239.132  and on latest canary 65.0.3316.0 using Windows 10, Mac 10.13.1, Ubuntu 14.04, this issue is seen from M50[50.0.2661.0]. Hence considering this issue as Non-Regression and marking as Untriaged.

Thanks!        
Cc: viswatej...@techmahindra.com
Labels: M-65 OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)

Comment 6 by sahel@google.com, Jan 11 2018

Using the following CSS and HTML code, the cursor changes to move on mouse hover and to progress on mouse down. Tried it on chrome 63.0.3239.132 (Official Build) and Mac.

.cursorGrab
{
	cursor: move;	
}

.cursorGrabbing
{	
	cursor: progress;	
}

<div draggable="true">
<input type="text" onmouseover="this.className = 'cursorGrab';" onmousedown="this.className = 'cursorGrabbing';" />
</div>


Cc: nzolghadr@chromium.org
Owner: eirage@chromium.org
Status: Assigned (was: Untriaged)
eirage@ I'm guessing the ClearDragHeuristic is getting called clearing the mouse_pressed_ state in the MouseEventManager. This causes the post layout mouse move to be sent without the button pressed. Can you confirm and figure out a fix?

Comment 8 by eirage@chromium.org, Feb 20 2018

Cursor are set to default when drag may start (but not reach drag threshold)[1]
This might cause cursor to blink when start dragging slowly. But I think it's needed. e.g. when start dragging text, we don't want to show I-beam cursor.

This issue might be a wontfix. We can probably update cursor on mouseup so user won't see the default cursor when dragging not start.

[1]https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/input/MouseEventManager.cpp?dr=CSs&l=898

Project Member

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

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

commit e4486f86826612a6b9431658dfec8dcaebbeb1fe
Author: Ella Ge <eirage@chromium.org>
Date: Sat Mar 03 02:45:44 2018

remove set cursor style at HandleDrag

This cl remove setting cursor style to default cursor in HandleDrag.

The SetCursor here is before reach drag threshold, we shouldn't do it
here because drag may not going to start.
We always update cursor style on mousemove events, setting cursor here
may cause cursor blink when mousedown on a draggable item and slowly
move.
Drag-and-drop will control the cursor after start dragging, so
no need to setting cursor.

Bug:  799799 
Change-Id: I9168d05f3b861a5e50dbb0b7e9e1bb5e5ebe19b1
Reviewed-on: https://chromium-review.googlesource.com/941504
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Ella Ge <eirage@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540726}
[modify] https://crrev.com/e4486f86826612a6b9431658dfec8dcaebbeb1fe/third_party/WebKit/Source/core/input/EventHandlerTest.cpp
[modify] https://crrev.com/e4486f86826612a6b9431658dfec8dcaebbeb1fe/third_party/WebKit/Source/core/input/MouseEventManager.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment