summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/frame/browser_frame_gtk.cc
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-11 16:29:39 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-11 16:29:39 +0000
commit88ec4da3fd210b53e5de296643923e810474267e (patch)
tree02d416c743a25dc807325cfbf83874600cf9f8a4 /chrome/browser/views/frame/browser_frame_gtk.cc
parentd921e845da88fb6a132dfb702ee787adac2a804a (diff)
downloadchromium_src-88ec4da3fd210b53e5de296643923e810474267e.zip
chromium_src-88ec4da3fd210b53e5de296643923e810474267e.tar.gz
chromium_src-88ec4da3fd210b53e5de296643923e810474267e.tar.bz2
Fixes two fullscreen bugs on views/gtk:
. On X changing fullscreen is asynchronous. This means we have to ask the window to change it's fullscreen state, then once changed update the necessary things. . ExtensionShelf is needlessly triggering a bunch of layouts when we toggle fullscreen state. BUG=31143 TEST=see bug Review URL: http://codereview.chromium.org/542001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35905 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/frame/browser_frame_gtk.cc')
-rw-r--r--chrome/browser/views/frame/browser_frame_gtk.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/chrome/browser/views/frame/browser_frame_gtk.cc b/chrome/browser/views/frame/browser_frame_gtk.cc
index dfd7717..04775c6 100644
--- a/chrome/browser/views/frame/browser_frame_gtk.cc
+++ b/chrome/browser/views/frame/browser_frame_gtk.cc
@@ -159,6 +159,7 @@ bool BrowserFrameGtk::GetAccelerator(int cmd_id,
gboolean BrowserFrameGtk::OnWindowStateEvent(GtkWidget* widget,
GdkEventWindowState* event) {
+ bool was_full_screen = IsFullscreen();
gboolean result = views::WindowGtk::OnWindowStateEvent(widget, event);
if ((!IsVisible() || IsMinimized()) && browser_view_->GetStatusBubble()) {
// The window is effectively hidden. We have to hide the status bubble as
@@ -166,6 +167,8 @@ gboolean BrowserFrameGtk::OnWindowStateEvent(GtkWidget* widget,
// with the parent.
browser_view_->GetStatusBubble()->Hide();
}
+ if (was_full_screen != IsFullscreen())
+ browser_view_->FullScreenStateChanged();
return result;
}