| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 CHROME_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_GTK_H_ | 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_GTK_H_ |
| 6 #define CHROME_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_GTK_H_ | 6 #define CHROME_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_GTK_H_ |
| 7 | 7 |
| 8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
| 9 #include <vector> |
| 9 | 10 |
| 10 #include "app/gtk_signal.h" | 11 #include "app/gtk_signal.h" |
| 11 #include "base/scoped_ptr.h" | 12 #include "base/scoped_ptr.h" |
| 12 #include "base/task.h" | 13 #include "base/task.h" |
| 14 #include "chrome/browser/bookmarks/bookmark_drag_data.h" |
| 13 #include "third_party/WebKit/WebKit/chromium/public/WebDragOperation.h" | 15 #include "third_party/WebKit/WebKit/chromium/public/WebDragOperation.h" |
| 14 #include "webkit/glue/webdropdata.h" | 16 #include "webkit/glue/webdropdata.h" |
| 15 | 17 |
| 18 class BookmarkNode; |
| 16 class TabContents; | 19 class TabContents; |
| 17 | 20 |
| 18 // A helper class that handles DnD for drops in the renderer. In GTK parlance, | 21 // A helper class that handles DnD for drops in the renderer. In GTK parlance, |
| 19 // this handles destination-side DnD, but not source-side DnD. | 22 // this handles destination-side DnD, but not source-side DnD. |
| 20 class WebDragDestGtk { | 23 class WebDragDestGtk { |
| 21 public: | 24 public: |
| 22 WebDragDestGtk(TabContents* tab_contents, GtkWidget* widget); | 25 WebDragDestGtk(TabContents* tab_contents, GtkWidget* widget); |
| 23 ~WebDragDestGtk(); | 26 ~WebDragDestGtk(); |
| 24 | 27 |
| 25 // This is called when the renderer responds to a drag motion event. We must | 28 // This is called when the renderer responds to a drag motion event. We must |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 // Whether the cursor is over a drop target, according to the last message we | 76 // Whether the cursor is over a drop target, according to the last message we |
| 74 // got from the renderer. | 77 // got from the renderer. |
| 75 bool is_drop_target_; | 78 bool is_drop_target_; |
| 76 | 79 |
| 77 // Handler ID for the destroy signal handler. We connect to the destroy | 80 // Handler ID for the destroy signal handler. We connect to the destroy |
| 78 // signal handler so that we won't call dest_unset on it after it is | 81 // signal handler so that we won't call dest_unset on it after it is |
| 79 // destroyed, but we have to cancel the handler if we are destroyed before | 82 // destroyed, but we have to cancel the handler if we are destroyed before |
| 80 // |widget_| is. | 83 // |widget_| is. |
| 81 int destroy_handler_; | 84 int destroy_handler_; |
| 82 | 85 |
| 86 // The bookmark data for the current tab. This will be empty if there is not |
| 87 // a native bookmark drag (or we haven't gotten the data from the source yet). |
| 88 BookmarkDragData bookmark_drag_data_; |
| 89 |
| 83 ScopedRunnableMethodFactory<WebDragDestGtk> method_factory_; | 90 ScopedRunnableMethodFactory<WebDragDestGtk> method_factory_; |
| 84 | 91 |
| 85 DISALLOW_COPY_AND_ASSIGN(WebDragDestGtk); | 92 DISALLOW_COPY_AND_ASSIGN(WebDragDestGtk); |
| 86 }; | 93 }; |
| 87 | 94 |
| 88 #endif // CHROME_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_GTK_H_ | 95 #endif // CHROME_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_GTK_H_ |
| OLD | NEW |