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)

defect

Tracking

()

Tracking Status
firefox50 --- affected
firefox51 --- affected
firefox52 --- wontfix
firefox53 --- affected

People

(Reporter: arni2033, Unassigned)

Details

Attachments

(1 file)

>>> 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>
Product: Firefox → Core
No longer blocks: 1277113
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)
Attached video Recording #1.mp4 (deleted) —
Flags: needinfo?(ovidiu.boca)
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.
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
Component: Untriaged → Layout: HTML Frames
Ever confirmed: true
Too late for firefox 52, mass-wontfix.
Product: Core → Core Graveyard
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: