Closed Bug 483958 Opened 11 years ago Closed 9 years ago
mouseover and mouseout events are fired after a click on desktop verisons
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:126.96.36.199) Gecko/2009030422 Ubuntu/8.10 (intrepid) Firefox/3.0.7 Build Identifier: http://ftp.mozilla.org/pub/mozilla.org/mobile/1.0b1/fennec-1.0b1.en-US.linux-i686.tar.bz2 mouseover and mouseout event should never fire on desktop version, in order to have the same behavior as on touch screen devices. Reproducible: Always Steps to Reproduce: 1. Move the cursor over and out of the screen 2. Click anywhere on the screen 3. Move the cursor over and out of the screen Actual Results: mouseover and mouseout don't fire before the click but they do after Expected Results: mouseover and mouseout should never fire.
The testcase logs the "click", "mouseover" and "mouseout" event in a list.
Likely solution: modify InputHandler to grab those events and filter them from being passed to content layer. Mousemove should only be sent when button is down.
I don't know any mobile browser that ever fire mousemove. I don't know why regarding the other browsers, but I know that in fennec it could be a problem. If mousemove fires when the button is down, it will then be possible to cancel the bubbling, thus granting to the content the privilege of preventing the "sliding" behaviour of Fennec.
We don't use bubbling, we capture the event before content. Also, the event is firing on the canvas display surface, not the actual content. We must forward the event to content. There should be no way for content to cancel chrome panning.
Mmmh, then what do you use mouseover for? The most obvious use of mouseover is to implement drag & drop. But it is impossible to drag anything in the content when the chrome starts to pan.
I can understand the pain of not starting a new mousedown event if a user does move their stylus/finger off the screen by a small amount and then moves it back on. What ends up happening, is that when the finger is moved back onto the screen, the browser does not register a mousemove/over event and a click occurs on the screen when releasing the finger off of it. I'm moving this to a new state and letting it get triaged by Mark.
Status: UNCONFIRMED → NEW
Ever confirmed: true
(In reply to comment #5) > Mmmh, then what do you use mouseover for? The most obvious use of mouseover is > to implement drag & drop. But it is impossible to drag anything in the content > when the chrome starts to pan. We currently don't use mouserover/mouseout at all. The desktop, with it's mouse cursor, can fire mouseover/mouseout - but the devices can't. We do have a bug to fire mouseover/mouseout so some DHTML menus and other effects work. See bug 460966
This is fixed on Fennec trunk, in part by bug 542735.
Status: NEW → RESOLVED
Closed: 9 years ago
Depends on: 542735
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.