diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-28 21:42:59 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-28 21:42:59 +0000 |
commit | 4768c65bc656d4352632a6fc718c8eb6d5046c84 (patch) | |
tree | c75cffe227847e1e1ab0952d337c3c853692924e /views/widget/root_view_win.cc | |
parent | 6638b8716b5630233efa54f8e8ea4b4758f01ca4 (diff) | |
download | chromium_src-4768c65bc656d4352632a6fc718c8eb6d5046c84.zip chromium_src-4768c65bc656d4352632a6fc718c8eb6d5046c84.tar.gz chromium_src-4768c65bc656d4352632a6fc718c8eb6d5046c84.tar.bz2 |
Adds support for initiating drags from bookmark menus.
BUG=none
TEST=make sure bookmark menus work on Windows.
Review URL: http://codereview.chromium.org/176006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24801 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget/root_view_win.cc')
-rw-r--r-- | views/widget/root_view_win.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/views/widget/root_view_win.cc b/views/widget/root_view_win.cc index fedb40d..65aa1b7 100644 --- a/views/widget/root_view_win.cc +++ b/views/widget/root_view_win.cc @@ -6,6 +6,8 @@ #include "app/drag_drop_types.h" #include "app/gfx/canvas_paint.h" +#include "app/os_exchange_data.h" +#include "app/os_exchange_data_provider_win.h" #include "base/base_drag_source.h" #include "base/logging.h" @@ -33,16 +35,17 @@ void RootView::OnPaint(HWND hwnd) { void RootView::StartDragForViewFromMouseEvent( View* view, - IDataObject* data, + const OSExchangeData& data, int operation) { + // NOTE: view may be null. drag_view_ = view; scoped_refptr<BaseDragSource> drag_source(new BaseDragSource); DWORD effects; - DoDragDrop(data, drag_source, + DoDragDrop(OSExchangeDataProviderWin::GetIDataObject(data), drag_source, DragDropTypes::DragOperationToDropEffect(operation), &effects); // If the view is removed during the drag operation, drag_view_ is set to // NULL. - if (drag_view_ == view) { + if (view && drag_view_ == view) { View* drag_view = drag_view_; drag_view_ = NULL; drag_view->OnDragDone(); |