Open
Bug 1327104
Opened 8 years ago
Updated 2 years ago
Cursor is set inconsistently when mouse is moved outside of window with pressed left mouse button
Categories
(Core :: Layout: Images, Video, and HTML Frames, defect)
Core
Layout: Images, Video, and HTML Frames
Tracking
()
People
(Reporter: arni2033, Unassigned)
Details
Attachments
(1 file)
(deleted),
video/mp4
|
Details |
>>> My Info: Win7_64, Nightly 49, 32bit, ID 20160526082509
Many web pages nowadays have some draggable elements such as splitters or images, or maps, that follow
mouse pointer even if user moves mouse outside of the window.
However, mouse cursor is always displayed as "default".
This bug report points out the inconsistency in cursor updating and also requests a logical behavior,
that would allow web developers to specify cursor for mouse pointer outside of FF window.
>>>
STR_1: (fixed draggable ancestor)
0. Switch Firefox window to normal (not maximized) mode
1. Open url http://jsfiddle.net/RubaXa/zLq5J/
2. Move mouse over the vertical splitter on the page, hold left mouse button
3. Move mouse pointer outside of the window
AR: Cursor is "default", not "col-resize", defined for the splitter
STR_2: (fixed draggable ancestor)
0. Switch Firefox window to normal (not maximized) mode
1. Open url [1]
2. Move mouse over the black square on the page, hold left mouse button
3. Move mouse pointer outside of the window
AR: Cursor is "default", not "not-allowed", defined for the black square
STR_3: (fixed ancestor)
0. Switch Firefox window to normal (not maximized) mode
1. Open url [1]
2. Move mouse over the gray square on the page, hold left mouse button
3. Move mouse pointer outside of the window
AR: Cursor is "default", not "move", defined for the gray square
STR_4: (html)
0. Switch Firefox window to normal (not maximized) mode
1. Open url [1]
2. Move mouse over the white area on the page, hold left mouse button
3. Move mouse pointer outside of the window
AR: Cursor is "pointer", just as defined for <html> element
STR_5: (static descendant)
0. Switch Firefox window to normal (not maximized) mode
1. Open url [1]
2. Move mouse over the lightgray square on the page, hold left mouse button
3. Move mouse pointer outside of the window
AR: Cursor is "crosshair", as defined for <html>, but unlike "crosshair" defined for lightgray square
Actual result:
Displayed cursor is the same as defined for <html> element, with unclear exception for "fixed" and
"absolute" elements
Expectations: Either X or Y or Z
If left mouse button was pressed inside of window, and mouse pointer was moved outside of window:
X) Displayed cursor should be the same as cursor defined for html element, just like in STR_4, STR_5.
Y) Displayed cursor should be the same as cursor defined for the last hovered element before mouse
pointer was moved outside of window. (This behavior is present on GoogleChrome and IE 11)
Z) Displayed cursor should be the same as cursor defined for element where mouse button was pressed
[1]
data:text/html,<!DOCTYPE html><div class="d1"></div><div class="d2"></div><div class="d3"></div>
<script>
Down= function(e){var savedDown={x:e.clientX,y:e.clientY};onmousemove=
function(e){D.style.right=savedDown.x-e.clientX+'px';D.style.bottom=savedDown.y-e.clientY+'px';}};
Up= function(){onmousemove=null;D.style.bottom=0+'px';D.style.right=0+'px';};
D = document.querySelector('.d2'); D.onmousedown=Down; onmouseup=Up;
</script>
<style>html{cursor:pointer; height:50%; border:1px dashed;} div{position:fixed; bottom:0px; height:50px; width:50px;} .d1{background:black; cursor:not-allowed; left: 0px; top:0px; margin: auto;} .d2{background:gray; cursor:move; right:0px;} .d3{background:lightgray; cursor:crosshair; position:static;margin:-9px;}</style>
Comment 1•8 years ago
|
||
Tested on Windows 7 x32 with FF Nighlty 53.0a1(2017-01-03) and I can't reproduce this issue.
> STR_1: (fixed draggable ancestor)
> 0. Switch Firefox window to normal (not maximized) mode
> 1. Open url http://jsfiddle.net/RubaXa/zLq5J/
> 2. Move mouse over the vertical splitter on the page, hold left mouse button
> 3. Move mouse pointer outside of the window
>
> AR: Cursor is "default", not "col-resize", defined for the splitter
>
Also is working for me with FF 50 Release.
Can you please retest this with the latest Firefox and see if you are still able to reproduce this.
Flags: needinfo?(arni2033)
Please provide a screenshot of "col-resize" outside of browser window. (I have too many NI requests in bugs with trivial STR)
Flags: needinfo?(arni2033) → needinfo?(ovidiu.boca)
Comment 3•8 years ago
|
||
Flags: needinfo?(ovidiu.boca)
Comment 4•8 years ago
|
||
Your screencast shows exactly what is described in comment 0.
The cursor moved outside the window is "default", not "col-resize".
See this list of CSS values of "cursor" css property:
https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
In fact this bug accurately describes what happens in Firefox browser. If you read this, you'll notice many inconsistencies. The only reason everything is reported together is that it was unclear for the reporter, in which way Firefox developers would want to fix it.
Comment 0 has describes cases when non-default cursor is set outside of window, and when it doesn't.
Reference of good behavior is:
STR_6:
1. Open bookmars sidebar (Ctrl+B)
2. Hover mouse over the splitter between the sidebar and content area, hold left mouse button
3. Move mouse outside of Firefox window (like in other scenarios: without releasing left mouse button)
AR: Step 3 - mouse cursor is "col-resize", not "default", just as expected by the reporter.
Comment 5•8 years ago
|
||
On windows 7 x32 the behaviour from comment 0 is always reproducible, tested on Mac OS x 10.10 and the behaviour is intermittent sometimes I can reproduce the behaviour sometimes not. Tested on FF 50 release, 51 beta, 52 Dev Edition, Nighlty 53.0a1(2016-01-08) all up to date.
Status: UNCONFIRMED → NEW
status-firefox50:
--- → affected
status-firefox51:
--- → affected
status-firefox52:
--- → affected
status-firefox53:
--- → affected
Component: Untriaged → Layout: HTML Frames
Ever confirmed: true
Comment 6•8 years ago
|
||
Too late for firefox 52, mass-wontfix.
Updated•6 years ago
|
Product: Core → Core Graveyard
Assignee | ||
Updated•6 years ago
|
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•