Index: chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
diff --git a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
index 2526816da26ed403a6d282186dc29ba6bb793dec..c9e564ec78b915cc435b335d0616aba81351c218 100644 |
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
@@ -560,12 +560,20 @@ void RenderWidgetHostViewGtk::WasHidden() { |
} |
void RenderWidgetHostViewGtk::SetSize(const gfx::Size& size) { |
+ gfx::Rect rect = GetViewBounds(); |
Evan Stade
2011/02/16 22:03:17
are you sure this works? I think the origin of Get
Peter Kasting
2011/02/16 22:04:21
It's supposed to be, per the header comments. The
honten.org
2011/02/16 22:49:59
Yes, GetViewBounds() actually returns screen coord
honten.org
2011/02/17 08:45:37
Oops, I was wrong.
After I double-checked it, I n
honten.org
2011/02/18 09:11:26
Done.
|
+ rect.set_size(size); |
+ SetBounds(rect); |
+} |
+ |
+void RenderWidgetHostViewGtk::SetBounds(const gfx::Rect& rect) { |
// This is called when webkit has sent us a Move message. |
- int width = std::min(size.width(), kMaxWindowWidth); |
- int height = std::min(size.height(), kMaxWindowHeight); |
+ int width = std::min(rect.width(), kMaxWindowWidth); |
+ int height = std::min(rect.height(), kMaxWindowHeight); |
if (IsPopup()) { |
// We're a popup, honor the size request. |
gtk_widget_set_size_request(view_.get(), width, height); |
+ gtk_window_move(GTK_WINDOW(gtk_widget_get_parent(view_.get())), |
+ rect.x(), rect.y()); |
} else { |
honten.org
2011/02/17 08:45:37
As Peter pointed out, I should move gtk_window_mov
honten.org
2011/02/18 09:11:26
Done.
|
#if defined(TOOLKIT_VIEWS) |
// TOOLKIT_VIEWS' resize logic flow matches windows. so we go ahead and |