diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-21 23:24:22 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-21 23:24:22 +0000 |
commit | 6f7dc659e8296738804e842129fd1fd61d4daabc (patch) | |
tree | d925f8db343a7585ce0449313a802229fd17bf92 /chrome | |
parent | 9c7561844ed8ff6db3c09a5102c02e5ca18b161d (diff) | |
download | chromium_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.cc | 15 |
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() { |