| Index: chrome/browser/tab_contents/web_drag_source.cc
|
| ===================================================================
|
| --- chrome/browser/tab_contents/web_drag_source.cc (revision 10439)
|
| +++ chrome/browser/tab_contents/web_drag_source.cc (working copy)
|
| @@ -2,9 +2,11 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#if defined(OS_WIN)
|
| #include <atlbase.h>
|
| #include <atlapp.h>
|
| #include <atlmisc.h>
|
| +#endif
|
|
|
| #include "chrome/browser/tab_contents/web_drag_source.h"
|
|
|
| @@ -12,34 +14,44 @@
|
|
|
| namespace {
|
|
|
| -static void GetCursorPositions(HWND hwnd, CPoint* client, CPoint* screen) {
|
| - GetCursorPos(screen);
|
| - *client = *screen;
|
| - ScreenToClient(hwnd, client);
|
| +static void GetCursorPositions(gfx::NativeWindow wnd, gfx::Point* client,
|
| + gfx::Point* screen) {
|
| +#if defined(OS_WIN)
|
| + POINT cursor_pos;
|
| + GetCursorPos(&cursor_pos);
|
| + screen->SetPoint(cursor_pos.x, cursor_pos.y);
|
| + ScreenToClient(wnd, &cursor_pos);
|
| + client->SetPoint(cursor_pos.x, cursor_pos.y);
|
| +#else
|
| + // TODO(port): Get the cursor positions.
|
| + NOTIMPLEMENTED();
|
| +#endif
|
| }
|
|
|
| } // namespace
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // WebDragSource, public:
|
|
|
| -WebDragSource::WebDragSource(HWND source_hwnd,
|
| +WebDragSource::WebDragSource(gfx::NativeWindow source_wnd,
|
| RenderViewHost* render_view_host)
|
| : BaseDragSource(),
|
| - source_hwnd_(source_hwnd),
|
| + source_wnd_(source_wnd),
|
| render_view_host_(render_view_host) {
|
| }
|
|
|
| void WebDragSource::OnDragSourceDrop() {
|
| - CPoint client;
|
| - CPoint screen;
|
| - GetCursorPositions(source_hwnd_, &client, &screen);
|
| - render_view_host_->DragSourceEndedAt(client.x, client.y, screen.x, screen.y);
|
| + gfx::Point client;
|
| + gfx::Point screen;
|
| + GetCursorPositions(source_wnd_, &client, &screen);
|
| + render_view_host_->DragSourceEndedAt(client.x(), client.y(),
|
| + screen.x(), screen.y());
|
| }
|
|
|
| void WebDragSource::OnDragSourceMove() {
|
| - CPoint client;
|
| - CPoint screen;
|
| - GetCursorPositions(source_hwnd_, &client, &screen);
|
| - render_view_host_->DragSourceMovedTo(client.x, client.y, screen.x, screen.y);
|
| + gfx::Point client;
|
| + gfx::Point screen;
|
| + GetCursorPositions(source_wnd_, &client, &screen);
|
| + render_view_host_->DragSourceMovedTo(client.x(), client.y(),
|
| + screen.x(), screen.y());
|
| }
|
|
|
|
|