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 -~----------~----~----~----~------~----~------~--~---
