summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webcursor.h
Commit message (Collapse)AuthorAgeFilesLines
* Change includes of gfx/* to ui/gfx/*sail@chromium.org2011-02-051-3/+3
| | | | | | | | | BUG=71063 TEST=compiled Review URL: http://codereview.chromium.org/6312156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73890 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring of cursor usage (primarily for linux).sadrul@chromium.org2010-11-231-1/+10
| | | | | | | | | | | | | | Add API to WebCursor to return a native-cursor, and implementation for windows, linux and mac. For linux: Move gtk_util::GetCursor into gfx:: namespace. Also, get rid of ref/unref'ing the cursors from everywhere. Instead, do almost all of it in one place (in gfx). Also, show proper cursors for web-pages with touchui=1 (i.e. add support for updating cursor in RenderWidgetHostViewViews). Review URL: http://codereview.chromium.org/5110010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67034 0039d316-1c4b-4281-b951-d872f2087c98
* Clamp the hotspot on custom cursors to the custom cursor image's dimensions.estade@chromium.org2010-08-111-0/+3
| | | | | | | | | | | | | | | | | Current behavior: windows chrome - respect the crazy hotspot linux chrome - crash mac chrome - fall back to normal cursor firefox - clamp the hotspot to the custom cursor image bounds. So this unifies the behavior of all 3 chrome platforms and matches firefox. BUG=51709 TEST=see bug for reduction Review URL: http://codereview.chromium.org/3168003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55669 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/gfx contents to gfx/ben@chromium.org2010-03-141-2/+2
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb Carbon SetCursor through.avi@chromium.org2010-01-251-0/+4
| | | | | | | | | BUG=http://crbug.com/32703 TEST=when hiding cursor (Flash 10.0), cursor hides (but doesn't stay hidden; that gets fixed later) Review URL: http://codereview.chromium.org/552132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37028 0039d316-1c4b-4281-b951-d872f2087c98
* (Mac) Intercept (Cocoa) cursor setting by plugins and forward it on properly.avi@chromium.org2010-01-191-0/+3
| | | | | | | | | BUG=http://crbug.com/20717 TEST=as in bug; this covers new Flash Review URL: http://codereview.chromium.org/554003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36554 0039d316-1c4b-4281-b951-d872f2087c98
* (Mac) Intercept (Carbon) cursor setting by plugins and forward it on properly.avi@chromium.org2010-01-151-0/+5
| | | | | | | | | BUG=http://crbug.com/20717 TEST=as in bug; this covers old Flash Review URL: http://codereview.chromium.org/550062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36416 0039d316-1c4b-4281-b951-d872f2087c98
* linux: reduce header interdependenciesevan@chromium.org2009-12-291-5/+3
| | | | | | | | | | | | By analyzing gcc -H output, I found some of our worst offenders for headers bringing in other headers. native_web_keyboard_event.h was responsible for just under 60,000 extra includes! This change will in theory make the build faster. Review URL: http://codereview.chromium.org/524004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35326 0039d316-1c4b-4281-b951-d872f2087c98
* Upstreaming WebKit.gypyaar@chromium.org2009-11-121-1/+1
| | | | | | | | | | | | This mega patch contains a few simple but tightly dependent changes: 1. Deletion of webkit/api/WebKit.gyp. The file now lives in webkit.org. 2. Rename of webkit/webkit.gyp to webkit/webkit_glue.gyp. Having two webkit.gyp was a source of developer confusion. 3. Gyp dependencies are updated across chromium to point at the upstream WebKit.gyp and the renamed webkit_glue.gyp. 4. Some 200+ files include paths fixed to point to third_party/WebKit/WebKit/chromium instead of webkit/api. The later will be deleted in a subsequent patch. Review URL: http://codereview.chromium.org/387020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31749 0039d316-1c4b-4281-b951-d872f2087c98
* Added USE_GDK, set when either TOOLKIT_GTK or TOOLKIT_VIEWS is set butbenl@chromium.org2009-09-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not OS_WIN. Added USE_X11. Set when OS_LINUX or OS_FREEBSD is set. Added USE_BASE_DATA_PACK for base::DataPack usage, set for OS_MACOSX, OS_LINUX or OS_FREEBSD. Added USE_NSS for ... nss (for crypto). Windows and MacOS use platform-specific libraries. All of the above cause slightly odd formulations like: #if defined(OS_WIN) ... #elif defined(USE_BASE_DATA_PACK) ... #endif Possibly should also define USE_DLL_FOR_DATA, etc? Or something? Wrapped various references to struct stat64 and stat64() to use struct stat and stat() for FreeBSD - but a "man stat64" on Linux suggests that we could do the same thing for at least Linux, too, and perhaps eliminate the wrapper? git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25599 0039d316-1c4b-4281-b951-d872f2087c98
* Start using WebCursorInfo from the WebKit API. WebCursorInfo is adarin@google.com2009-07-081-5/+10
| | | | | | | | | | | | | | | | lightweight struct containing a description of a cursor that the embedder should render. WebCursor still exists. Instead of WebCursor initializing from a PlatformCursor, it now initializes from a WebCursorInfo. TEST=none BUG=10039 R=jam Review URL: http://codereview.chromium.org/155172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20194 0039d316-1c4b-4281-b951-d872f2087c98
* More linux ifdef tweaks. This reverts my earlier change (13503).sky@chromium.org2009-04-271-2/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/100046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14628 0039d316-1c4b-4281-b951-d872f2087c98
* linux: users of glue require GTK in the include path.evan@chromium.org2009-04-161-0/+2
| | | | | | Review URL: http://codereview.chromium.org/79018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13876 0039d316-1c4b-4281-b951-d872f2087c98
* Adds some ifdefs so that test_shell can be compiled on linuxsky@chromium.org2009-04-101-2/+2
| | | | | | | | | | | | | without GTK. I had to recreate this patch as my workspace for various resonds. UGH! BUG=none TEST=none Review URL: http://codereview.chromium.org/67024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13503 0039d316-1c4b-4281-b951-d872f2087c98
* Don't override user's default cursor with GDK_ARROW.estade@chromium.org2009-03-251-1/+2
| | | | | | | | BUG=8786 Review URL: http://codereview.chromium.org/42587 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12474 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for custom cursors set by windowless plugins. Windowless plugins ↵ananta@chromium.org2009-01-091-12/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7798 0039d316-1c4b-4281-b951-d872f2087c98
* Cursor support including custom cursors.avi@google.com2008-11-181-0/+8
| | | | | | Review URL: http://codereview.chromium.org/11427 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5634 0039d316-1c4b-4281-b951-d872f2087c98
* Custom cursor support.evanm@google.com2008-11-141-0/+9
| | | | | | | | | This is necessary for Google Maps, and also cuts out another NOTIMPLEMENTED(). Review URL: http://codereview.chromium.org/10734 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5487 0039d316-1c4b-4281-b951-d872f2087c98
* Basic cursor support.evanm@google.com2008-11-111-0/+7
| | | | | | | Review URL: http://codereview.chromium.org/9744 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5185 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate CursorChromium's dependency on webkit/glue.darin@chromium.org2008-11-061-112/+51
| | | | | | | | | | | Also modified WidgetChromium to use ChromiumBridge instead of talking to ChromeClientChromium. I want to eliminate that fake interface in favor of just having our code talk directly to ChromeClientImpl, but that means a dependency on webkit/glue, so I needed to use ChromiumBridge. Long-term, I'd like to propose changes upstream to HostWindow and ChromeClient to avoid this usage of ChromiumBridge. The most impactful part of this CL is the change to move the enumeration of cursor types from WebCursor to PlatformCursor. This means that WebCursor consumers no longer have access to the type enumeration. I replaced that with helper functions on WebCursor. I think the result not only achieves the goal of breaking CursorChromium's dependency on webkit/glue but is also much cleaner. R=iyengar,eseidel Review URL: http://codereview.chromium.org/9072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4846 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a tiny error in WebCursor.set_hotspot()dimich@google.com2008-10-311-1/+1
| | | | | | Review URL: http://codereview.chromium.org/8928 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4259 0039d316-1c4b-4281-b951-d872f2087c98
* Let cursors be based on CGImage instead of SkBitmap on the Macmark@chromium.org2008-10-231-11/+42
| | | | | | Review URL: http://codereview.chromium.org/8111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3869 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build (Icefox's patch used WebKit ifdefs instead of Chromium ones).erg@google.com2008-10-091-2/+2
| | | | | | | Review URL: http://codereview.chromium.org/7034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3138 0039d316-1c4b-4281-b951-d872f2087c98
* Wrap Windows functions with ifdef so they are only compiled on windowserg@google.com2008-10-091-1/+3
| | | | | | | | Review URL: http://codereview.chromium.org/6213 Patch from icefox. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3132 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Add webkit to the repository.initial.commit2008-07-271-0/+124
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18 0039d316-1c4b-4281-b951-d872f2087c98