Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.cc

Issue 8196001: content: Split web_drag_dest_gtk.cc into chrome/ and content/ parts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix viewgtk compile Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.h" 5 #include "chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/tab_contents/web_drag_dest_gtk.h" 8 #include "chrome/browser/tab_contents/web_drag_dest_gtk.h"
9 #include "chrome/browser/ui/gtk/constrained_window_gtk.h" 9 #include "chrome/browser/ui/gtk/constrained_window_gtk.h"
10 #include "chrome/browser/ui/gtk/tab_contents_drag_source.h" 10 #include "chrome/browser/ui/gtk/tab_contents_drag_source.h"
11 #include "chrome/browser/tab_contents/web_drag_bookmark_handler_gtk.h"
11 #include "chrome/browser/ui/views/tab_contents/native_tab_contents_view_delegate .h" 12 #include "chrome/browser/ui/views/tab_contents/native_tab_contents_view_delegate .h"
12 #include "chrome/browser/ui/views/tab_contents/native_tab_contents_view_views.h" 13 #include "chrome/browser/ui/views/tab_contents/native_tab_contents_view_views.h"
13 #include "content/browser/renderer_host/render_widget_host_view_gtk.h" 14 #include "content/browser/renderer_host/render_widget_host_view_gtk.h"
14 #include "content/browser/tab_contents/tab_contents.h" 15 #include "content/browser/tab_contents/tab_contents.h"
15 #include "content/browser/tab_contents/tab_contents_view.h" 16 #include "content/browser/tab_contents/tab_contents_view.h"
16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDragData.h" 17 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDragData.h"
17 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" 18 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h"
18 19
19 #if defined(OS_CHROMEOS) 20 #if defined(OS_CHROMEOS)
20 #include "chrome/browser/chromeos/login/user_manager.h" 21 #include "chrome/browser/chromeos/login/user_manager.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 } 57 }
57 if (event->direction == GDK_SCROLL_UP) { 58 if (event->direction == GDK_SCROLL_UP) {
58 delegate->OnNativeTabContentsViewWheelZoom(true); 59 delegate->OnNativeTabContentsViewWheelZoom(true);
59 return TRUE; 60 return TRUE;
60 } 61 }
61 } 62 }
62 63
63 return FALSE; 64 return FALSE;
64 } 65 }
65 66
67 // Our dragging needs to use views datatypes instead of the default GTK ones.
68 class WebDragBookmarkHandlerViewGtk : public WebDragBookmarkHandlerGtk {
69 public:
70 virtual GdkAtom GetBookmarkTargetAtom() const {
71 // For Views, bookmark drag data is encoded in the same format, and
72 // associated with a custom format. See BookmarkNodeData::Write() for
73 // details.
74 return BookmarkNodeData::GetBookmarkCustomFormat();
75 }
76 };
77
66 } // namespace 78 } // namespace
67 79
68 //////////////////////////////////////////////////////////////////////////////// 80 ////////////////////////////////////////////////////////////////////////////////
69 // NativeTabContentsViewGtk, public: 81 // NativeTabContentsViewGtk, public:
70 82
71 NativeTabContentsViewGtk::NativeTabContentsViewGtk( 83 NativeTabContentsViewGtk::NativeTabContentsViewGtk(
72 internal::NativeTabContentsViewDelegate* delegate) 84 internal::NativeTabContentsViewDelegate* delegate)
73 : views::NativeWidgetGtk(delegate->AsNativeWidgetDelegate()), 85 : views::NativeWidgetGtk(delegate->AsNativeWidgetDelegate()),
74 delegate_(delegate), 86 delegate_(delegate),
75 ignore_next_char_event_(false), 87 ignore_next_char_event_(false),
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 view->InitAsChild(); 140 view->InitAsChild();
129 g_signal_connect(view->native_view(), "focus", 141 g_signal_connect(view->native_view(), "focus",
130 G_CALLBACK(OnFocus), delegate_->GetTabContents()); 142 G_CALLBACK(OnFocus), delegate_->GetTabContents());
131 g_signal_connect(view->native_view(), "scroll-event", 143 g_signal_connect(view->native_view(), "scroll-event",
132 G_CALLBACK(OnMouseScroll), delegate_); 144 G_CALLBACK(OnMouseScroll), delegate_);
133 145
134 // Let widget know that the tab contents has been painted. 146 // Let widget know that the tab contents has been painted.
135 views::NativeWidgetGtk::RegisterChildExposeHandler(view->native_view()); 147 views::NativeWidgetGtk::RegisterChildExposeHandler(view->native_view());
136 148
137 // Renderer target DnD. 149 // Renderer target DnD.
138 if (delegate_->GetTabContents()->ShouldAcceptDragAndDrop()) 150 if (delegate_->GetTabContents()->ShouldAcceptDragAndDrop()) {
139 drag_dest_.reset(new WebDragDestGtk(delegate_->GetTabContents(), 151 drag_dest_.reset(new WebDragDestGtk(delegate_->GetTabContents(),
140 view->native_view())); 152 view->native_view()));
153 bookmark_handler_gtk_.reset(new WebDragBookmarkHandlerGtk);
154 drag_dest_->set_delegate(bookmark_handler_gtk_.get());
155 }
141 156
142 gtk_fixed_put(GTK_FIXED(GetWidget()->GetNativeView()), view->native_view(), 0, 157 gtk_fixed_put(GTK_FIXED(GetWidget()->GetNativeView()), view->native_view(), 0,
143 0); 158 0);
144 return view; 159 return view;
145 } 160 }
146 161
147 gfx::NativeWindow NativeTabContentsViewGtk::GetTopLevelNativeWindow() const { 162 gfx::NativeWindow NativeTabContentsViewGtk::GetTopLevelNativeWindow() const {
148 GtkWidget* window = gtk_widget_get_ancestor(GetWidget()->GetNativeView(), 163 GtkWidget* window = gtk_widget_get_ancestor(GetWidget()->GetNativeView(),
149 GTK_TYPE_WINDOW); 164 GTK_TYPE_WINDOW);
150 return window ? GTK_WINDOW(window) : NULL; 165 return window ? GTK_WINDOW(window) : NULL;
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 //////////////////////////////////////////////////////////////////////////////// 285 ////////////////////////////////////////////////////////////////////////////////
271 // NativeTabContentsView, public: 286 // NativeTabContentsView, public:
272 287
273 // static 288 // static
274 NativeTabContentsView* NativeTabContentsView::CreateNativeTabContentsView( 289 NativeTabContentsView* NativeTabContentsView::CreateNativeTabContentsView(
275 internal::NativeTabContentsViewDelegate* delegate) { 290 internal::NativeTabContentsViewDelegate* delegate) {
276 if (views::Widget::IsPureViews()) 291 if (views::Widget::IsPureViews())
277 return new NativeTabContentsViewViews(delegate); 292 return new NativeTabContentsViewViews(delegate);
278 return new NativeTabContentsViewGtk(delegate); 293 return new NativeTabContentsViewGtk(delegate);
279 } 294 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698