summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-10 10:38:44 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-10 10:38:44 +0000
commit5d95a899e78e5eb6ad4d2b93079a17a5ee8a45e4 (patch)
tree0ca063562b12f4285d4b61f6f0bece31226ef50e
parent7190356cd82b2bb25e850a5acf231a2e60ab0189 (diff)
downloadchromium_src-5d95a899e78e5eb6ad4d2b93079a17a5ee8a45e4.zip
chromium_src-5d95a899e78e5eb6ad4d2b93079a17a5ee8a45e4.tar.gz
chromium_src-5d95a899e78e5eb6ad4d2b93079a17a5ee8a45e4.tar.bz2
Remove last render_widget_host_view_gtk.h dependency in Chrome
by adding to base interface. TBR=ben@chromium.org BUG=98716 Review URL: http://codereview.chromium.org/9307032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121424 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/DEPS1
-rw-r--r--chrome/browser/tab_contents/chrome_tab_contents_view_wrapper_gtk.cc11
-rw-r--r--chrome/browser/tab_contents/render_view_context_menu_gtk.cc13
-rw-r--r--chrome/browser/tab_contents/render_view_context_menu_gtk.h5
-rw-r--r--chrome/browser/ui/gtk/extensions/extension_popup_gtk.cc4
-rw-r--r--chrome/browser/ui/gtk/extensions/shell_window_gtk.cc2
-rw-r--r--chrome/browser/ui/gtk/notifications/balloon_view_host_gtk.cc6
-rw-r--r--chrome/browser/ui/gtk/tab_contents_container_gtk.cc2
-rw-r--r--chrome/browser/ui/gtk/web_intent_picker_gtk.cc2
-rw-r--r--chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.cc2
-rw-r--r--content/browser/renderer_host/render_widget_host_view.h12
-rw-r--r--content/browser/renderer_host/render_widget_host_view_gtk.cc6
-rw-r--r--content/browser/renderer_host/render_widget_host_view_gtk.h14
-rw-r--r--content/browser/renderer_host/test_render_view_host.cc13
-rw-r--r--content/browser/renderer_host/test_render_view_host.h6
-rw-r--r--content/browser/tab_contents/tab_contents_view_gtk.cc4
16 files changed, 63 insertions, 40 deletions
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index 8f86b1b..4c59f83 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -87,7 +87,6 @@ include_rules = [
"+content/browser/renderer_host/render_view_host_factory.h",
"+content/browser/renderer_host/render_widget_host.h",
"+content/browser/renderer_host/render_widget_host_view.h",
- "+content/browser/renderer_host/render_widget_host_view_gtk.h",
"+content/browser/renderer_host/render_widget_host_view_mac_delegate.h",
"+content/browser/renderer_host/resource_dispatcher_host.h",
"+content/browser/renderer_host/resource_dispatcher_host_request_info.h",
diff --git a/chrome/browser/tab_contents/chrome_tab_contents_view_wrapper_gtk.cc b/chrome/browser/tab_contents/chrome_tab_contents_view_wrapper_gtk.cc
index b9b10ce..7035b9d 100644
--- a/chrome/browser/tab_contents/chrome_tab_contents_view_wrapper_gtk.cc
+++ b/chrome/browser/tab_contents/chrome_tab_contents_view_wrapper_gtk.cc
@@ -9,7 +9,7 @@
#include "chrome/browser/tab_contents/web_drag_bookmark_handler_gtk.h"
#include "chrome/browser/ui/gtk/constrained_window_gtk.h"
#include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/browser/tab_contents/tab_contents_view_gtk.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
@@ -116,14 +116,9 @@ void ChromeTabContentsViewWrapperGtk::ShowContextMenu(
} else {
view = view_->web_contents()->GetRenderWidgetHostView();
}
- RenderWidgetHostViewGtk* view_gtk =
- static_cast<RenderWidgetHostViewGtk*>(view);
- if (!view_gtk)
- return;
- context_menu_.reset(new RenderViewContextMenuGtk(
- view_->web_contents(), params, view_gtk->last_mouse_down() ?
- view_gtk->last_mouse_down()->time : GDK_CURRENT_TIME));
+ context_menu_.reset(
+ new RenderViewContextMenuGtk(view_->web_contents(), params, view));
context_menu_->Init();
gfx::Rect bounds;
diff --git a/chrome/browser/tab_contents/render_view_context_menu_gtk.cc b/chrome/browser/tab_contents/render_view_context_menu_gtk.cc
index 763ca25..bdc5b5c 100644
--- a/chrome/browser/tab_contents/render_view_context_menu_gtk.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu_gtk.cc
@@ -10,7 +10,7 @@
#include "base/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/ui/gtk/gtk_util.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
@@ -76,9 +76,10 @@ GtkWidget* GetMenuItemByID(ui::MenuModel* model,
RenderViewContextMenuGtk::RenderViewContextMenuGtk(
WebContents* web_contents,
const ContextMenuParams& params,
- guint32 triggering_event_time)
- : RenderViewContextMenu(web_contents, params),
- triggering_event_time_(triggering_event_time) {
+ RenderWidgetHostView* view)
+ : RenderViewContextMenu(web_contents, params) {
+ GdkEventButton* event = view->GetLastMouseDown();
+ triggering_event_time_ = event ? event->time : GDK_CURRENT_TIME;
}
RenderViewContextMenuGtk::~RenderViewContextMenuGtk() {
@@ -88,8 +89,8 @@ void RenderViewContextMenuGtk::PlatformInit() {
menu_gtk_.reset(new MenuGtk(this, &menu_model_));
if (params_.is_editable) {
- RenderWidgetHostViewGtk* rwhv = static_cast<RenderWidgetHostViewGtk*>(
- source_web_contents_->GetRenderWidgetHostView());
+ RenderWidgetHostView* rwhv =
+ source_web_contents_->GetRenderWidgetHostView();
#if !defined(TOOLKIT_VIEWS)
if (rwhv) {
MenuGtk* menu = menu_gtk_.get();
diff --git a/chrome/browser/tab_contents/render_view_context_menu_gtk.h b/chrome/browser/tab_contents/render_view_context_menu_gtk.h
index da2e18c..1cf62a9 100644
--- a/chrome/browser/tab_contents/render_view_context_menu_gtk.h
+++ b/chrome/browser/tab_contents/render_view_context_menu_gtk.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -12,6 +12,7 @@
#include "chrome/browser/ui/gtk/menu_gtk.h"
#include "ui/gfx/point.h"
+class RenderWidgetHostView;
struct ContextMenuParams;
class RenderViewContextMenuGtk : public RenderViewContextMenu,
@@ -19,7 +20,7 @@ class RenderViewContextMenuGtk : public RenderViewContextMenu,
public:
RenderViewContextMenuGtk(content::WebContents* web_contents,
const ContextMenuParams& params,
- uint32_t triggering_event_time);
+ RenderWidgetHostView* view);
virtual ~RenderViewContextMenuGtk();
diff --git a/chrome/browser/ui/gtk/extensions/extension_popup_gtk.cc b/chrome/browser/ui/gtk/extensions/extension_popup_gtk.cc
index cbf6169..6bca52d 100644
--- a/chrome/browser/ui/gtk/extensions/extension_popup_gtk.cc
+++ b/chrome/browser/ui/gtk/extensions/extension_popup_gtk.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -22,7 +22,7 @@
#include "chrome/browser/ui/gtk/gtk_theme_service.h"
#include "chrome/common/chrome_notification_types.h"
#include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
#include "googleurl/src/gurl.h"
diff --git a/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc b/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc
index 3456461..39c38d0 100644
--- a/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc
+++ b/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc
@@ -6,7 +6,7 @@
#include "chrome/browser/extensions/extension_host.h"
#include "chrome/common/extensions/extension.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
ShellWindowGtk::ShellWindowGtk(ExtensionHost* host)
: ShellWindow(host) {
diff --git a/chrome/browser/ui/gtk/notifications/balloon_view_host_gtk.cc b/chrome/browser/ui/gtk/notifications/balloon_view_host_gtk.cc
index 074889a..18a9ff4 100644
--- a/chrome/browser/ui/gtk/notifications/balloon_view_host_gtk.cc
+++ b/chrome/browser/ui/gtk/notifications/balloon_view_host_gtk.cc
@@ -1,12 +1,14 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/gtk/notifications/balloon_view_host_gtk.h"
+#include <gtk/gtk.h>
+
#include "chrome/browser/notifications/balloon.h"
#include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
BalloonViewHost::BalloonViewHost(Balloon* balloon)
diff --git a/chrome/browser/ui/gtk/tab_contents_container_gtk.cc b/chrome/browser/ui/gtk/tab_contents_container_gtk.cc
index f98be12..75154e8 100644
--- a/chrome/browser/ui/gtk/tab_contents_container_gtk.cc
+++ b/chrome/browser/ui/gtk/tab_contents_container_gtk.cc
@@ -9,7 +9,7 @@
#include "base/i18n/rtl.h"
#include "chrome/browser/ui/gtk/status_bubble_gtk.h"
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/public/browser/notification_source.h"
#include "content/public/browser/notification_types.h"
#include "content/public/browser/web_contents.h"
diff --git a/chrome/browser/ui/gtk/web_intent_picker_gtk.cc b/chrome/browser/ui/gtk/web_intent_picker_gtk.cc
index 715273b..ea78a51 100644
--- a/chrome/browser/ui/gtk/web_intent_picker_gtk.cc
+++ b/chrome/browser/ui/gtk/web_intent_picker_gtk.cc
@@ -26,7 +26,7 @@
#include "chrome/browser/ui/intents/web_intent_picker_model.h"
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
#include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_source.h"
#include "content/public/browser/notification_types.h"
diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.cc b/chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.cc
index 79edcf0..09f38b3e 100644
--- a/chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.cc
+++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_view_gtk.cc
@@ -8,7 +8,7 @@
#include "chrome/browser/tab_contents/web_drag_bookmark_handler_gtk.h"
#include "chrome/browser/ui/gtk/constrained_window_gtk.h"
#include "chrome/browser/ui/views/tab_contents/native_tab_contents_view_delegate.h"
-#include "content/browser/renderer_host/render_widget_host_view_gtk.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/browser/tab_contents/web_drag_dest_gtk.h"
#include "content/browser/tab_contents/web_drag_source_gtk.h"
#include "content/public/browser/web_contents.h"
diff --git a/content/browser/renderer_host/render_widget_host_view.h b/content/browser/renderer_host/render_widget_host_view.h
index 2dd3982..85144bc 100644
--- a/content/browser/renderer_host/render_widget_host_view.h
+++ b/content/browser/renderer_host/render_widget_host_view.h
@@ -10,6 +10,10 @@
#include <OpenGL/OpenGL.h>
#endif
+#if defined(TOOLKIT_USES_GTK)
+#include <gdk/gdk.h>
+#endif
+
#include <string>
#include <vector>
@@ -296,7 +300,13 @@ class RenderWidgetHostView {
#if defined(TOOLKIT_USES_GTK)
virtual void CreatePluginContainer(gfx::PluginWindowHandle id) = 0;
virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) = 0;
-#endif
+ // Gets the event for the last mouse down.
+ virtual GdkEventButton* GetLastMouseDown() = 0;
+#if !defined(TOOLKIT_VIEWS)
+ // Builds a submenu containing all the gtk input method commands.
+ virtual gfx::NativeView BuildInputMethodsGtkMenu() = 0;
+#endif // !defined(TOOLKIT_VIEWS)
+#endif // defined(TOOLKIT_USES_GTK)
#if defined(OS_WIN) && !defined(USE_AURA)
virtual void WillWmDestroy() = 0;
diff --git a/content/browser/renderer_host/render_widget_host_view_gtk.cc b/content/browser/renderer_host/render_widget_host_view_gtk.cc
index 4bd5731..5614fd4 100644
--- a/content/browser/renderer_host/render_widget_host_view_gtk.cc
+++ b/content/browser/renderer_host/render_widget_host_view_gtk.cc
@@ -932,8 +932,12 @@ void RenderWidgetHostViewGtk::SelectionBoundsChanged(
im_context_->UpdateCaretBounds(start_rect.Union(end_rect));
}
+GdkEventButton* RenderWidgetHostViewGtk::GetLastMouseDown() {
+ return last_mouse_down_;
+}
+
#if !defined(TOOLKIT_VIEWS)
-GtkWidget* RenderWidgetHostViewGtk::BuildInputMethodsGtkMenu() {
+gfx::NativeView RenderWidgetHostViewGtk::BuildInputMethodsGtkMenu() {
return im_context_->BuildInputMethodsGtkMenu();
}
#endif
diff --git a/content/browser/renderer_host/render_widget_host_view_gtk.h b/content/browser/renderer_host/render_widget_host_view_gtk.h
index 5a253fe..c709483 100644
--- a/content/browser/renderer_host/render_widget_host_view_gtk.h
+++ b/content/browser/renderer_host/render_widget_host_view_gtk.h
@@ -101,6 +101,11 @@ class CONTENT_EXPORT RenderWidgetHostViewGtk : public RenderWidgetHostView {
virtual void SetBackground(const SkBitmap& background) OVERRIDE;
virtual void CreatePluginContainer(gfx::PluginWindowHandle id) OVERRIDE;
virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) OVERRIDE;
+ virtual GdkEventButton* GetLastMouseDown() OVERRIDE;
+#if !defined(TOOLKIT_VIEWS)
+ // Builds a submenu containing all the gtk input method commands.
+ virtual gfx::NativeView BuildInputMethodsGtkMenu() OVERRIDE;
+#endif
virtual void UnhandledWheelEvent(
const WebKit::WebMouseWheelEvent& event) OVERRIDE;
virtual void ProcessTouchAck(bool processed) OVERRIDE;
@@ -137,15 +142,6 @@ class CONTENT_EXPORT RenderWidgetHostViewGtk : public RenderWidgetHostView {
bool RetrieveSurrounding(std::string* text, size_t* cursor_index);
- GdkEventButton* last_mouse_down() const {
- return last_mouse_down_;
- }
-
-#if !defined(TOOLKIT_VIEWS)
- // Builds a submenu containing all the gtk input method commands.
- GtkWidget* BuildInputMethodsGtkMenu();
-#endif
-
protected:
friend class RenderWidgetHostView;
diff --git a/content/browser/renderer_host/test_render_view_host.cc b/content/browser/renderer_host/test_render_view_host.cc
index fcc374d..7cabedf 100644
--- a/content/browser/renderer_host/test_render_view_host.cc
+++ b/content/browser/renderer_host/test_render_view_host.cc
@@ -1,4 +1,3 @@
-
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -284,6 +283,18 @@ gfx::Rect TestRenderWidgetHostView::GetRootWindowBounds() {
}
#endif
+#if defined(TOOLKIT_USES_GTK)
+GdkEventButton* TestRenderWidgetHostView::GetLastMouseDown() {
+ return NULL;
+}
+
+#if !defined(TOOLKIT_VIEWS)
+gfx::NativeView TestRenderWidgetHostView::BuildInputMethodsGtkMenu() {
+ return NULL;
+}
+#endif // !defined(TOOLKIT_VIEWS)
+#endif // defined(TOOLKIT_USES_GTK)
+
gfx::GLSurfaceHandle TestRenderWidgetHostView::GetCompositingSurface() {
return gfx::GLSurfaceHandle();
}
diff --git a/content/browser/renderer_host/test_render_view_host.h b/content/browser/renderer_host/test_render_view_host.h
index c85fd03..b3276e7 100644
--- a/content/browser/renderer_host/test_render_view_host.h
+++ b/content/browser/renderer_host/test_render_view_host.h
@@ -152,7 +152,11 @@ class TestRenderWidgetHostView : public RenderWidgetHostView {
#if defined(TOOLKIT_USES_GTK)
virtual void CreatePluginContainer(gfx::PluginWindowHandle id) OVERRIDE { }
virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) OVERRIDE { }
-#endif
+ virtual GdkEventButton* GetLastMouseDown() OVERRIDE;
+#if !defined(TOOLKIT_VIEWS)
+ virtual gfx::NativeView BuildInputMethodsGtkMenu() OVERRIDE;
+#endif // !defined(TOOLKIT_VIEWS)
+#endif // defined(TOOLKIT_USES_GTK)
virtual gfx::GLSurfaceHandle GetCompositingSurface() OVERRIDE;
diff --git a/content/browser/tab_contents/tab_contents_view_gtk.cc b/content/browser/tab_contents/tab_contents_view_gtk.cc
index 1c0480b..f4a46d5 100644
--- a/content/browser/tab_contents/tab_contents_view_gtk.cc
+++ b/content/browser/tab_contents/tab_contents_view_gtk.cc
@@ -411,10 +411,10 @@ void TabContentsViewGtk::StartDragging(const WebDropData& drop_data,
RenderWidgetHostViewGtk* view_gtk = static_cast<RenderWidgetHostViewGtk*>(
tab_contents_->GetRenderWidgetHostView());
- if (!view_gtk || !view_gtk->last_mouse_down())
+ if (!view_gtk || !view_gtk->GetLastMouseDown())
return;
- drag_source_->StartDragging(drop_data, ops, view_gtk->last_mouse_down(),
+ drag_source_->StartDragging(drop_data, ops, view_gtk->GetLastMouseDown(),
image, image_offset);
}