Updates:
        Status: Fixed

Comment #5 on issue 3800 by [email protected]: Flash causing mouse cursor  
flicker
http://code.google.com/p/chromium/issues/detail?id=3800

Fixed on trunk only.

Date: Thu Jan  8 17:20:38 2009
New Revision: 7798

Log:
Add support for custom cursors set by windowless plugins. Windowless plugins
typically set the cursor in NPP_HandleEvent for WM_MOUSEMOVE.The current
implementation looks for the cursor type and if the typedoes not match
predefinedcursor types defaults to the pointer cursor.

The fixes are as below:-
1. Marshal the HCURSOR after copying it to ensure that it
   remains valid. This works as a HCURSOR is a user object
   and can be used across processes. Ideally we would
   like  to convert it to a skia bitmap but there are issues
   with converting monochrome cursors.

2. Added support for marshaling platform specific data in
   the webcursor Serialize/Deserialize functions. This is in
   the form of functions like InitPlatformData,
   SerializePlatformData, DeserializePlatformData, etc.
   which are stubbed out for the other platforms.

3. Mimic webkit windowless plugin behavior where it sets a
   flag to ignore the next setCursor after HandleEvent of
   WM_MOUSEMOVE. If  we don't do this the cursor keeps
   changing between a pointerCursor and the cursor set by
   the plugin which also causes flicker.

4. Fixed the WebCursor::IsEqual function to ensure that it
   checks all fields for equality.

5. The browser(RenderWidgetHostViewWin) now maintains a
   WebCursor instance representing the current cursor. Any
   cursor updates received from the renderer update the
   current cursor member maintained by the browser.

6. We intercept the SetCursor API for windowless plugins
   like Flash and Silverlight and remember the cursor being
   set. We don't invoke the original API as the browser UI
   thread would do it anyways. This fixes the annoying
   cursor flicker caused by the windowless flash plugin
   instance constantly setting the cursor even when the tab
   is not visible.

This fixes bug http://code.google.com/p/chromium/issues/detail?id=3800.

Review URL: http://codereview.chromium.org/15088

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to