OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_ |
6 #define CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_ | 6 #define CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_ |
7 | 7 |
8 #if defined(TOOLKIT_GTK) | 8 #if defined(TOOLKIT_GTK) |
9 #include <gtk/gtk.h> | 9 #include <gtk/gtk.h> |
10 #endif // TOOLKIT_GTK | 10 #endif // TOOLKIT_GTK |
11 | 11 |
12 #include "base/strings/string16.h" | 12 #include "base/strings/string16.h" |
13 | 13 |
14 #if defined(OS_WIN) | 14 #if defined(OS_WIN) |
15 #include "ui/base/dragdrop/drop_target_win.h" | 15 #include "ui/base/dragdrop/drop_target_win.h" |
16 #endif | 16 #endif |
17 | 17 |
18 class GURL; | 18 class GURL; |
19 struct WebDropData; | |
20 | 19 |
21 namespace ui { | 20 namespace ui { |
22 class OSExchangeData; | 21 class OSExchangeData; |
23 } | 22 } |
24 | 23 |
25 namespace content { | 24 namespace content { |
26 | |
27 class WebContents; | 25 class WebContents; |
| 26 struct DropData; |
28 | 27 |
29 // An optional delegate that listens for drags of bookmark data. | 28 // An optional delegate that listens for drags of bookmark data. |
30 class WebDragDestDelegate { | 29 class WebDragDestDelegate { |
31 public: | 30 public: |
32 // Announces that a drag has started. It's valid that a drag starts, along | 31 // Announces that a drag has started. It's valid that a drag starts, along |
33 // with over/enter/leave/drop notifications without receiving any bookmark | 32 // with over/enter/leave/drop notifications without receiving any bookmark |
34 // data. | 33 // data. |
35 virtual void DragInitialize(WebContents* contents) = 0; | 34 virtual void DragInitialize(WebContents* contents) = 0; |
36 | 35 |
37 // Notifications of drag progression. | 36 // Notifications of drag progression. |
(...skipping 19 matching lines...) Expand all Loading... |
57 virtual void OnReceiveDataFromGtk(GtkSelectionData* data) = 0; | 56 virtual void OnReceiveDataFromGtk(GtkSelectionData* data) = 0; |
58 virtual void OnReceiveProcessedData(const GURL& url, | 57 virtual void OnReceiveProcessedData(const GURL& url, |
59 const string16& title) = 0; | 58 const string16& title) = 0; |
60 #elif defined(USE_AURA) | 59 #elif defined(USE_AURA) |
61 // Called at the start of every drag to supply the data associated with the | 60 // Called at the start of every drag to supply the data associated with the |
62 // drag. | 61 // drag. |
63 virtual void OnReceiveDragData(const ui::OSExchangeData& data) = 0; | 62 virtual void OnReceiveDragData(const ui::OSExchangeData& data) = 0; |
64 #elif defined(OS_WIN) | 63 #elif defined(OS_WIN) |
65 // Allows the delegate to set data on the drag. If it doesn't want to set | 64 // Allows the delegate to set data on the drag. If it doesn't want to set |
66 // data, it should return false. | 65 // data, it should return false. |
67 virtual bool AddDragData(const WebDropData& drop_data, | 66 virtual bool AddDragData(const DropData& drop_data, |
68 ui::OSExchangeData* data) = 0; | 67 ui::OSExchangeData* data) = 0; |
69 #endif // TOOLKIT_GTK | 68 #endif // TOOLKIT_GTK |
70 | 69 |
71 virtual ~WebDragDestDelegate() {} | 70 virtual ~WebDragDestDelegate() {} |
72 }; | 71 }; |
73 | 72 |
74 } // namespace content | 73 } // namespace content |
75 | 74 |
76 #endif // CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_ | 75 #endif // CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_ |
OLD | NEW |