| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #if defined(OS_WIN) |
| 5 #include <atlbase.h> | 6 #include <atlbase.h> |
| 6 #include <atlapp.h> | 7 #include <atlapp.h> |
| 7 #include <atlmisc.h> | 8 #include <atlmisc.h> |
| 9 #endif |
| 8 | 10 |
| 9 #include "chrome/browser/tab_contents/web_drag_source.h" | 11 #include "chrome/browser/tab_contents/web_drag_source.h" |
| 10 | 12 |
| 11 #include "chrome/browser/renderer_host/render_view_host.h" | 13 #include "chrome/browser/renderer_host/render_view_host.h" |
| 12 | 14 |
| 13 namespace { | 15 namespace { |
| 14 | 16 |
| 15 static void GetCursorPositions(HWND hwnd, CPoint* client, CPoint* screen) { | 17 static void GetCursorPositions(gfx::NativeWindow wnd, gfx::Point* client, |
| 16 GetCursorPos(screen); | 18 gfx::Point* screen) { |
| 17 *client = *screen; | 19 #if defined(OS_WIN) |
| 18 ScreenToClient(hwnd, client); | 20 POINT cursor_pos; |
| 21 GetCursorPos(&cursor_pos); |
| 22 screen->SetPoint(cursor_pos.x, cursor_pos.y); |
| 23 ScreenToClient(wnd, &cursor_pos); |
| 24 client->SetPoint(cursor_pos.x, cursor_pos.y); |
| 25 #else |
| 26 // TODO(port): Get the cursor positions. |
| 27 NOTIMPLEMENTED(); |
| 28 #endif |
| 19 } | 29 } |
| 20 | 30 |
| 21 } // namespace | 31 } // namespace |
| 22 /////////////////////////////////////////////////////////////////////////////// | 32 /////////////////////////////////////////////////////////////////////////////// |
| 23 // WebDragSource, public: | 33 // WebDragSource, public: |
| 24 | 34 |
| 25 WebDragSource::WebDragSource(HWND source_hwnd, | 35 WebDragSource::WebDragSource(gfx::NativeWindow source_wnd, |
| 26 RenderViewHost* render_view_host) | 36 RenderViewHost* render_view_host) |
| 27 : BaseDragSource(), | 37 : BaseDragSource(), |
| 28 source_hwnd_(source_hwnd), | 38 source_wnd_(source_wnd), |
| 29 render_view_host_(render_view_host) { | 39 render_view_host_(render_view_host) { |
| 30 } | 40 } |
| 31 | 41 |
| 32 void WebDragSource::OnDragSourceDrop() { | 42 void WebDragSource::OnDragSourceDrop() { |
| 33 CPoint client; | 43 gfx::Point client; |
| 34 CPoint screen; | 44 gfx::Point screen; |
| 35 GetCursorPositions(source_hwnd_, &client, &screen); | 45 GetCursorPositions(source_wnd_, &client, &screen); |
| 36 render_view_host_->DragSourceEndedAt(client.x, client.y, screen.x, screen.y); | 46 render_view_host_->DragSourceEndedAt(client.x(), client.y(), |
| 47 screen.x(), screen.y()); |
| 37 } | 48 } |
| 38 | 49 |
| 39 void WebDragSource::OnDragSourceMove() { | 50 void WebDragSource::OnDragSourceMove() { |
| 40 CPoint client; | 51 gfx::Point client; |
| 41 CPoint screen; | 52 gfx::Point screen; |
| 42 GetCursorPositions(source_hwnd_, &client, &screen); | 53 GetCursorPositions(source_wnd_, &client, &screen); |
| 43 render_view_host_->DragSourceMovedTo(client.x, client.y, screen.x, screen.y); | 54 render_view_host_->DragSourceMovedTo(client.x(), client.y(), |
| 55 screen.x(), screen.y()); |
| 44 } | 56 } |
| 45 | 57 |
| OLD | NEW |