Webkit updates the mouse pointer state (changes the cursor,
hover-over, etc.) whenever it gets a mouse move event. (It should also
do so when getting a scroll event, but doesn't, but that's a different
matter.) However, it only gets mouse move events when it has focus. If
you right click, a context menu pops up and the render view loses
focus. Currently on linux if you move the cursor over some area that
should change the cursor (say an edit area), then click, the context
menu goes away but the cursor stays the same as it was before the
context menu was popped up. If you move the mouse slightly, it will
refresh the cursor and other bits of cursor-position-related state.

I have a (some would say hacky) fix for this, which is to synthesize a
mouse move event and send it to the renderer every time it gains
focus: http://codereview.chromium.org/113987

On the other hand, this doesn't come up on Windows because the render
view receives a (real) mouse move event when the render view regains
focus *even if the user actually hasn't touched the mouse* (try
dismissing the context menu by pressing escape). So,

Q: does anyone know where this mouse move event comes from?
Q: is there a better fix?

-- Evan Stade

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to