summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-21 23:24:22 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-21 23:24:22 +0000
commit6f7dc659e8296738804e842129fd1fd61d4daabc (patch)
treed925f8db343a7585ce0449313a802229fd17bf92 /chrome
parent9c7561844ed8ff6db3c09a5102c02e5ca18b161d (diff)
downloadchromium_src-6f7dc659e8296738804e842129fd1fd61d4daabc.zip
chromium_src-6f7dc659e8296738804e842129fd1fd61d4daabc.tar.gz
chromium_src-6f7dc659e8296738804e842129fd1fd61d4daabc.tar.bz2
Linux: respect webkit resize requests for autocomplete popups.
BUG=http://crbug.com/12430 TEST=see bug Review URL: http://codereview.chromium.org/115669 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16682 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_gtk.cc15
1 files changed, 12 insertions, 3 deletions
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 e349944..ea5163d 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
@@ -204,8 +204,12 @@ void RenderWidgetHostViewGtk::InitAsPopup(
parent_host_view->Blur();
}
- gtk_window_set_default_size(GTK_WINDOW(popup),
- pos.width(), pos.height());
+ gtk_widget_set_size_request(view_.get(), pos.width(), pos.height());
+
+ gtk_window_set_default_size(GTK_WINDOW(popup), -1, -1);
+ // Don't allow the window to be resized. This also forces the window to
+ // shrink down to the size of its child contents.
+ gtk_window_set_resizable(GTK_WINDOW(popup), FALSE);
gtk_window_move(GTK_WINDOW(popup), pos.x(), pos.y());
gtk_widget_show_all(popup);
}
@@ -233,7 +237,12 @@ void RenderWidgetHostViewGtk::WasHidden() {
}
void RenderWidgetHostViewGtk::SetSize(const gfx::Size& size) {
- // We rely on our parent GTK container to size us.
+ // This is called when webkit has sent us a Move message.
+ // If we are a popup, we want to handle this.
+ // TODO(estade): are there other situations where we want to respect the
+ // request?
+ if (parent_)
+ gtk_widget_set_size_request(view_.get(), size.width(), size.height());
}
gfx::NativeView RenderWidgetHostViewGtk::GetPluginNativeView() {