diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-18 15:24:41 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-18 15:24:41 +0000 |
commit | c27ae599b03a7c30a65c843a8aed99a9e94d284e (patch) | |
tree | dd7a3413fbd5d46b3d9e102b2249c817ef2f9b9a /chrome/browser/renderer_host | |
parent | b490de133b26e30f8fc5429ff666107cdfdcc117 (diff) | |
download | chromium_src-c27ae599b03a7c30a65c843a8aed99a9e94d284e.zip chromium_src-c27ae599b03a7c30a65c843a8aed99a9e94d284e.tar.gz chromium_src-c27ae599b03a7c30a65c843a8aed99a9e94d284e.tar.bz2 |
Retry r41799:
Basic DragImage implementation.
Only the chromium part is for review. The webkit part shows how that will look when I create the patch for webkit later. This can be landed without the change to webkit.
TODO later:
- use the image on windows, mac
- implement the other DragImageRef functions
TEST=drag an image from the render view in GTK
BUG=11457
Review URL: http://codereview.chromium.org/668125
The problem was an incorrect method signature in RenderView.
Review URL: http://codereview.chromium.org/1037008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41953 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r-- | chrome/browser/renderer_host/render_view_host.cc | 6 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_view_host.h | 4 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_view_host_delegate.h | 5 |
3 files changed, 11 insertions, 4 deletions
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc index 615a247..1c76a24 100644 --- a/chrome/browser/renderer_host/render_view_host.cc +++ b/chrome/browser/renderer_host/render_view_host.cc @@ -1389,10 +1389,12 @@ void RenderViewHost::OnMsgFormFieldValuesSubmitted( void RenderViewHost::OnMsgStartDragging( const WebDropData& drop_data, - WebDragOperationsMask drag_operations_mask) { + WebDragOperationsMask drag_operations_mask, + const SkBitmap& image, + const gfx::Point& image_offset) { RenderViewHostDelegate::View* view = delegate_->GetViewDelegate(); if (view) - view->StartDragging(drop_data, drag_operations_mask); + view->StartDragging(drop_data, drag_operations_mask, image, image_offset); } void RenderViewHost::OnUpdateDragCursor(WebDragOperation current_op) { diff --git a/chrome/browser/renderer_host/render_view_host.h b/chrome/browser/renderer_host/render_view_host.h index 27fb3ff..cc52d47 100644 --- a/chrome/browser/renderer_host/render_view_host.h +++ b/chrome/browser/renderer_host/render_view_host.h @@ -549,7 +549,9 @@ class RenderViewHost : public RenderWidgetHost { const std::vector<webkit_glue::PasswordForm>& forms); void OnMsgFormFieldValuesSubmitted(const webkit_glue::FormFieldValues& forms); void OnMsgStartDragging(const WebDropData& drop_data, - WebKit::WebDragOperationsMask operations_allowed); + WebKit::WebDragOperationsMask operations_allowed, + const SkBitmap& image, + const gfx::Point& image_offset); void OnUpdateDragCursor(WebKit::WebDragOperation drag_operation); void OnTakeFocus(bool reverse); void OnMsgPageHasOSDD(int32 page_id, const GURL& doc_url, bool autodetected); diff --git a/chrome/browser/renderer_host/render_view_host_delegate.h b/chrome/browser/renderer_host/render_view_host_delegate.h index 535bb1f..ff10230 100644 --- a/chrome/browser/renderer_host/render_view_host_delegate.h +++ b/chrome/browser/renderer_host/render_view_host_delegate.h @@ -44,6 +44,7 @@ class WaitableEvent; } namespace gfx { +class Point; class Rect; class Size; } @@ -118,7 +119,9 @@ class RenderViewHostDelegate { // RenderView. Contextual information about the dragged content is supplied // by WebDropData. virtual void StartDragging(const WebDropData& drop_data, - WebKit::WebDragOperationsMask allowed_ops) = 0; + WebKit::WebDragOperationsMask allowed_ops, + const SkBitmap& image, + const gfx::Point& image_offset) = 0; // The page wants to update the mouse cursor during a drag & drop operation. // |operation| describes the current operation (none, move, copy, link.) |