summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-26 19:32:35 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-26 19:32:35 +0000
commita0804c88148d24e68f25b6d7d9786b588aa57caf (patch)
treecbe7699af0d99d0a3b42132bddf1536f5f84f9f3 /chrome/browser/gtk
parent77c6996347b6808caf1307816955d971f6b66b8a (diff)
downloadchromium_src-a0804c88148d24e68f25b6d7d9786b588aa57caf.zip
chromium_src-a0804c88148d24e68f25b6d7d9786b588aa57caf.tar.gz
chromium_src-a0804c88148d24e68f25b6d7d9786b588aa57caf.tar.bz2
Fix fullscreen mode in chromeos=1 build.
* added member vars for main menu and compact navbar * show/hide main menu/compact navbar/status area upon fullscreen mode change. I'll work on linux_views as well. BUG=22805 TEST=Create new window from compact navbar menu, and toggle full screen mode Review URL: http://codereview.chromium.org/332027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30073 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk')
-rw-r--r--chrome/browser/gtk/browser_window_gtk.cc41
-rw-r--r--chrome/browser/gtk/browser_window_gtk.h6
2 files changed, 37 insertions, 10 deletions
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc
index b59b483..e01be2b 100644
--- a/chrome/browser/gtk/browser_window_gtk.cc
+++ b/chrome/browser/gtk/browser_window_gtk.cc
@@ -540,6 +540,8 @@ BrowserWindowGtk::BrowserWindowGtk(Browser* browser)
panel_controller_(NULL),
compact_navigation_bar_(NULL),
status_area_(NULL),
+ main_menu_button_(NULL),
+ compact_navbar_hbox_(NULL),
#endif
frame_cursor_(NULL),
is_active_(true),
@@ -1413,6 +1415,14 @@ void BrowserWindowGtk::OnStateChanged(GdkWindowState state,
tabstrip_->Hide();
if (IsBookmarkBarSupported())
bookmark_bar_->EnterFullscreen();
+#if defined(OS_CHROMEOS)
+ if (main_menu_button_)
+ gtk_widget_hide(main_menu_button_->widget());
+ if (compact_navbar_hbox_)
+ gtk_widget_hide(compact_navbar_hbox_);
+ if (status_area_)
+ status_area_->GetWidget()->Hide();
+#endif
} else {
UpdateCustomFrame();
ShowSupportedWindowFeatures();
@@ -1611,7 +1621,6 @@ void BrowserWindowGtk::InitWidgets() {
#if defined(OS_CHROMEOS)
GtkWidget* titlebar_hbox = NULL;
- GtkWidget* navbar_hbox = NULL;
GtkWidget* status_container = NULL;
bool has_compact_nav_bar = next_window_should_use_compact_nav_;
if (browser_->type() == Browser::TYPE_NORMAL) {
@@ -1622,22 +1631,23 @@ void BrowserWindowGtk::InitWidgets() {
gtk_widget_show(titlebar_hbox);
// Main menu button.
- CustomDrawButton* main_menu_button =
+ main_menu_button_ =
new CustomDrawButton(IDR_MAIN_MENU_BUTTON, IDR_MAIN_MENU_BUTTON,
IDR_MAIN_MENU_BUTTON, 0);
- gtk_widget_show(main_menu_button->widget());
- g_signal_connect(G_OBJECT(main_menu_button->widget()), "clicked",
+ gtk_widget_show(main_menu_button_->widget());
+ g_signal_connect(G_OBJECT(main_menu_button_->widget()), "clicked",
G_CALLBACK(OnMainMenuButtonClicked), this);
- GTK_WIDGET_UNSET_FLAGS(main_menu_button->widget(), GTK_CAN_FOCUS);
- gtk_box_pack_start(GTK_BOX(titlebar_hbox), main_menu_button->widget(),
+ GTK_WIDGET_UNSET_FLAGS(main_menu_button_->widget(), GTK_CAN_FOCUS);
+ gtk_box_pack_start(GTK_BOX(titlebar_hbox), main_menu_button_->widget(),
FALSE, FALSE, 0);
MainMenu::ScheduleCreation();
if (has_compact_nav_bar) {
- navbar_hbox = gtk_hbox_new(FALSE, 0);
- gtk_widget_show(navbar_hbox);
- gtk_box_pack_start(GTK_BOX(titlebar_hbox), navbar_hbox, FALSE, FALSE, 0);
+ compact_navbar_hbox_ = gtk_hbox_new(FALSE, 0);
+ gtk_widget_show(compact_navbar_hbox_);
+ gtk_box_pack_start(GTK_BOX(titlebar_hbox), compact_navbar_hbox_,
+ FALSE, FALSE, 0);
// Reset the compact nav bit now that we're creating the next toplevel
// window. Code below will use our local has_compact_nav_bar variable.
@@ -1761,7 +1771,7 @@ void BrowserWindowGtk::InitWidgets() {
// parent is also a WidgetGtk. Then we can parent the native widget
// afterwards.
clb_widget->Init(NULL, gfx::Rect(0, 0, 100, 30));
- gtk_widget_reparent(clb_widget->GetNativeView(), navbar_hbox);
+ gtk_widget_reparent(clb_widget->GetNativeView(), compact_navbar_hbox_);
compact_navigation_bar_ = new CompactNavigationBar(browser_.get());
@@ -2144,6 +2154,17 @@ void BrowserWindowGtk::ShowSupportedWindowFeatures() {
if (IsBookmarkBarSupported())
MaybeShowBookmarkBar(browser_->GetSelectedTabContents(), false);
+
+#if defined(OS_CHROMEOS)
+ if (main_menu_button_)
+ gtk_widget_show(main_menu_button_->widget());
+
+ if (compact_navbar_hbox_)
+ gtk_widget_show(compact_navbar_hbox_);
+
+ if (status_area_)
+ status_area_->GetWidget()->Show();
+#endif
}
void BrowserWindowGtk::HideUnsupportedWindowFeatures() {
diff --git a/chrome/browser/gtk/browser_window_gtk.h b/chrome/browser/gtk/browser_window_gtk.h
index ee48c9b..cbe7563 100644
--- a/chrome/browser/gtk/browser_window_gtk.h
+++ b/chrome/browser/gtk/browser_window_gtk.h
@@ -394,6 +394,12 @@ class BrowserWindowGtk : public BrowserWindow,
CompactNavigationBar* compact_navigation_bar_;
StatusAreaView* status_area_;
+ // The MainMenu button.
+ CustomDrawButton* main_menu_button_;
+
+ // A hbox container for the compact navigation bar.
+ GtkWidget* compact_navbar_hbox_;
+
static bool next_window_should_use_compact_nav_;
#endif