Last Comment Bug 716549 - Flush layout on mousemove events so that they get delivered to the right place
: Flush layout on mousemove events so that they get delivered to the right place
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Event Handling (show other bugs)
: Trunk
: x86 Mac OS X
: P1 normal (vote)
: mozilla12
Assigned To: Boris Zbarsky [:bz]
:
Mentors:
Depends on: 777590 716793
Blocks: 598482 627628
  Show dependency treegraph
 
Reported: 2012-01-09 07:55 PST by Boris Zbarsky [:bz]
Modified: 2012-07-27 07:50 PDT (History)
7 users (show)
bzbarsky: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Flush on every mousemove, because otherwise we can end up with mouse events (mousemove, mousein, mouseout) dispatched to the wrong elements. (6.69 KB, patch)
2012-01-09 07:57 PST, Boris Zbarsky [:bz]
no flags Details | Diff | Splinter Review

Description Boris Zbarsky [:bz] 2012-01-09 07:55:48 PST
This is spun off from bug 598482 so we can land part 24 of that without all the other bits.
Comment 1 Boris Zbarsky [:bz] 2012-01-09 07:57:12 PST
Created attachment 586995 [details] [diff] [review]
Flush on every mousemove, because otherwise we can end up with mouse events (mousemove, mousein, mouseout) dispatched to the wrong elements.
Comment 3 Boris Zbarsky [:bz] 2012-01-09 13:14:21 PST
This caused about a 5% Tdhtml MozAfterPaint regression.  It seems to all be concentrated in the layers1 (57% regression) and scrolling (120% regression) tests.

Are we dispatching the synthetic mousemoves sync and triggering flushes on those or something?  If so, would it make sense to not flush on synthetic mousemoves, if we can detect them here?
Comment 4 Robert O'Callahan (:roc) (email my personal email if necessary) 2012-01-09 13:19:25 PST
Can we dispatch synthetic mousemoves after we've flushed in the refresh driver, or something like that?

I'd actually like to dispatch mousemoves in the refresh driver too, to help reduce flushing.
Comment 5 Ed Morley [:emorley] 2012-01-09 15:07:57 PST
https://hg.mozilla.org/mozilla-central/rev/04e2d8313601
Comment 6 Boris Zbarsky [:bz] 2012-01-09 20:11:58 PST
Hmm.  That might be doable, yes.  I just pushed a patch to that effect to try; if it pans out I'll ask for review in a followup bug.

Note You need to log in before you can comment on or make changes to this bug.