summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc38
-rw-r--r--content/browser/renderer_host/gtk_window_utils.cc32
-rw-r--r--content/browser/renderer_host/gtk_window_utils.h22
-rw-r--r--content/browser/renderer_host/render_widget_host_view.cc24
-rw-r--r--content/browser/renderer_host/render_widget_host_view_gtk.cc22
-rw-r--r--content/content_browser.gypi2
6 files changed, 85 insertions, 55 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc b/chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc
index a8f721b..e8437a7 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc
@@ -7,6 +7,7 @@
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
+#include "content/browser/renderer_host/gtk_window_utils.h"
#include "ui/base/keycodes/keyboard_code_conversion_gtk.h"
#include "ui/base/x/x11_util.h"
#include "ui/gfx/gtk_native_view_id_manager.h"
@@ -14,30 +15,6 @@
#include "views/widget/native_widget_gtk.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h"
-#include "third_party/WebKit/Source/WebKit/chromium/public/x11/WebScreenInfoFactory.h"
-
-namespace {
-
-// TODO(oshima): This is a copy from RenderWidgetHostViewGtk. Replace this
-// with gdk-less implementation.
-void GetScreenInfoFromNativeWindow(
- GdkWindow* gdk_window, WebKit::WebScreenInfo* results) {
- GdkScreen* screen = gdk_drawable_get_screen(gdk_window);
- *results = WebKit::WebScreenInfoFactory::screenInfo(
- gdk_x11_drawable_get_xdisplay(gdk_window),
- gdk_x11_screen_get_screen_number(screen));
-
- // TODO(tony): We should move this code into WebScreenInfoFactory.
- int monitor_number = gdk_screen_get_monitor_at_window(screen, gdk_window);
- GdkRectangle monitor_rect;
- gdk_screen_get_monitor_geometry(screen, monitor_number, &monitor_rect);
- results->rect = WebKit::WebRect(monitor_rect.x, monitor_rect.y,
- monitor_rect.width, monitor_rect.height);
- // TODO(tony): Should we query _NET_WORKAREA to get the workarea?
- results->availableRect = results->rect;
-}
-
-} // namespace
void RenderWidgetHostViewViews::UpdateCursor(const WebCursor& cursor) {
// Optimize the common case, where the cursor hasn't changed.
@@ -65,7 +42,8 @@ void RenderWidgetHostViewViews::DestroyPluginContainer(
void RenderWidgetHostViewViews::GetScreenInfo(WebKit::WebScreenInfo* results) {
views::Widget* widget = GetWidget() ? GetWidget()->GetTopLevelWidget() : NULL;
if (widget)
- GetScreenInfoFromNativeWindow(widget->GetNativeView()->window, results);
+ content::GetScreenInfoFromNativeWindow(widget->GetNativeView()->window,
+ results);
}
gfx::Rect RenderWidgetHostViewViews::GetRootWindowBounds() {
@@ -114,13 +92,3 @@ void RenderWidgetHostViewViews::ShowCurrentCursor() {
native_cursor_ = current_cursor_.GetNativeCursor();
}
-
-#if defined(TOUCH_UI)
-// static
-void RenderWidgetHostView::GetDefaultScreenInfo(
- WebKit::WebScreenInfo* results) {
- GdkWindow* gdk_window =
- gdk_display_get_default_group(gdk_display_get_default());
- GetScreenInfoFromNativeWindow(gdk_window, results);
-}
-#endif
diff --git a/content/browser/renderer_host/gtk_window_utils.cc b/content/browser/renderer_host/gtk_window_utils.cc
new file mode 100644
index 0000000..a574941
--- /dev/null
+++ b/content/browser/renderer_host/gtk_window_utils.cc
@@ -0,0 +1,32 @@
+// Copyright (c) 2011 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 "content/browser/renderer_host/gtk_window_utils.h"
+
+#include <gdk/gdkx.h>
+#include <gtk/gtk.h>
+
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/x11/WebScreenInfoFactory.h"
+
+namespace content {
+
+void GetScreenInfoFromNativeWindow(
+ GdkWindow* gdk_window, WebKit::WebScreenInfo* results) {
+ GdkScreen* screen = gdk_drawable_get_screen(gdk_window);
+ *results = WebKit::WebScreenInfoFactory::screenInfo(
+ gdk_x11_drawable_get_xdisplay(gdk_window),
+ gdk_x11_screen_get_screen_number(screen));
+
+ // TODO(tony): We should move this code into WebScreenInfoFactory.
+ int monitor_number = gdk_screen_get_monitor_at_window(screen, gdk_window);
+ GdkRectangle monitor_rect;
+ gdk_screen_get_monitor_geometry(screen, monitor_number, &monitor_rect);
+ results->rect = WebKit::WebRect(monitor_rect.x, monitor_rect.y,
+ monitor_rect.width, monitor_rect.height);
+ // TODO(tony): Should we query _NET_WORKAREA to get the workarea?
+ results->availableRect = results->rect;
+}
+
+} // namespace content
diff --git a/content/browser/renderer_host/gtk_window_utils.h b/content/browser/renderer_host/gtk_window_utils.h
new file mode 100644
index 0000000..3f3cf20
--- /dev/null
+++ b/content/browser/renderer_host/gtk_window_utils.h
@@ -0,0 +1,22 @@
+// Copyright (c) 2011 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.
+
+#ifndef CONTENT_BROWSER_RENDERER_HOST_GTK_WINDOW_UTILS_H_
+#define CONTENT_BROWSER_RENDERER_HOST_GTK_WINDOW_UTILS_H_
+#pragma once
+
+typedef struct _GdkDrawable GdkWindow;
+
+namespace WebKit {
+struct WebScreenInfo;
+}
+
+namespace content {
+
+void GetScreenInfoFromNativeWindow(
+ GdkWindow* gdk_window, WebKit::WebScreenInfo* results);
+
+} // namespace content
+
+#endif // CONTENT_BROWSER_RENDERER_HOST_GTK_WINDOW_UTILS_H_
diff --git a/content/browser/renderer_host/render_widget_host_view.cc b/content/browser/renderer_host/render_widget_host_view.cc
index f96559c..6f16071 100644
--- a/content/browser/renderer_host/render_widget_host_view.cc
+++ b/content/browser/renderer_host/render_widget_host_view.cc
@@ -1,11 +1,21 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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 "content/browser/renderer_host/render_widget_host_view.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h"
+
+#if defined(OS_MACOSX)
#include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebScreenInfoFactory.h"
+#endif
+
+#if defined(TOUCH_UI)
+#include <gdk/gdkx.h>
+#include <gtk/gtk.h>
+
+#include "content/browser/renderer_host/gtk_window_utils.h"
+#endif
// TODO(jam): move this to render_widget_host_view_mac.mm when it moves to
// content.
@@ -17,6 +27,18 @@ void RenderWidgetHostView::GetDefaultScreenInfo(
}
#endif
+// TODO(erg): move this to render_widget_host_view_views_gtk.cc when if it
+// moves to content.
+#if defined(TOUCH_UI)
+// static
+void RenderWidgetHostView::GetDefaultScreenInfo(
+ WebKit::WebScreenInfo* results) {
+ GdkWindow* gdk_window =
+ gdk_display_get_default_group(gdk_display_get_default());
+ content::GetScreenInfoFromNativeWindow(gdk_window, results);
+}
+#endif
+
RenderWidgetHostView::~RenderWidgetHostView() {}
void RenderWidgetHostView::SetBackground(const SkBitmap& background) {
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 ed63c9a..0e7733e 100644
--- a/content/browser/renderer_host/render_widget_host_view_gtk.cc
+++ b/content/browser/renderer_host/render_widget_host_view_gtk.cc
@@ -27,6 +27,7 @@
#include "base/utf_string_conversions.h"
#include "content/browser/renderer_host/backing_store_x.h"
#include "content/browser/renderer_host/gtk_im_context_wrapper.h"
+#include "content/browser/renderer_host/gtk_window_utils.h"
#include "content/browser/renderer_host/render_view_host.h"
#include "content/browser/renderer_host/render_view_host_delegate.h"
#include "content/browser/renderer_host/render_widget_host.h"
@@ -94,23 +95,6 @@ GdkCursor* GetMozSpinningCursor() {
return moz_spinning_cursor;
}
-void GetScreenInfoFromNativeWindow(
- GdkWindow* gdk_window, WebKit::WebScreenInfo* results) {
- GdkScreen* screen = gdk_drawable_get_screen(gdk_window);
- *results = WebKit::WebScreenInfoFactory::screenInfo(
- gdk_x11_drawable_get_xdisplay(gdk_window),
- gdk_x11_screen_get_screen_number(screen));
-
- // TODO(tony): We should move this code into WebScreenInfoFactory.
- gint monitor_number = gdk_screen_get_monitor_at_window(screen, gdk_window);
- GdkRectangle monitor_rect;
- gdk_screen_get_monitor_geometry(screen, monitor_number, &monitor_rect);
- results->rect = WebKit::WebRect(monitor_rect.x, monitor_rect.y,
- monitor_rect.width, monitor_rect.height);
- // TODO(tony): Should we query _NET_WORKAREA to get the workarea?
- results->availableRect = results->rect;
-}
-
} // namespace
using WebKit::WebInputEventFactory;
@@ -1174,7 +1158,7 @@ void RenderWidgetHostViewGtk::GetScreenInfo(WebKit::WebScreenInfo* results) {
}
if (!gdk_window)
return;
- GetScreenInfoFromNativeWindow(gdk_window, results);
+ content::GetScreenInfoFromNativeWindow(gdk_window, results);
}
gfx::Rect RenderWidgetHostViewGtk::GetRootWindowBounds() {
@@ -1257,5 +1241,5 @@ void RenderWidgetHostView::GetDefaultScreenInfo(
WebKit::WebScreenInfo* results) {
GdkWindow* gdk_window =
gdk_display_get_default_group(gdk_display_get_default());
- GetScreenInfoFromNativeWindow(gdk_window, results);
+ content::GetScreenInfoFromNativeWindow(gdk_window, results);
}
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index bb24eb0..3387f86 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -333,6 +333,8 @@
'browser/renderer_host/gtk_im_context_wrapper.h',
'browser/renderer_host/gtk_key_bindings_handler.cc',
'browser/renderer_host/gtk_key_bindings_handler.h',
+ 'browser/renderer_host/gtk_window_utils.cc',
+ 'browser/renderer_host/gtk_window_utils.h',
'browser/renderer_host/media/audio_common.cc',
'browser/renderer_host/media/audio_common.h',
'browser/renderer_host/media/audio_input_device_manager.cc',