summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser.cc
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-30 23:47:58 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-30 23:47:58 +0000
commitae2622c3d49beb6d3a7eafe75f003619181596f2 (patch)
tree95f34213fc9d79c1bd7fd0e314554918fd0d7a47 /chrome/browser/browser.cc
parent4d45295c902a483717b1ffd9387e719691268abd (diff)
downloadchromium_src-ae2622c3d49beb6d3a7eafe75f003619181596f2.zip
chromium_src-ae2622c3d49beb6d3a7eafe75f003619181596f2.tar.gz
chromium_src-ae2622c3d49beb6d3a7eafe75f003619181596f2.tar.bz2
Re-enable commands when coming out of full screen mode on linux.
Since the call is async, we need to manually tell Browser that we're no longer in full screen mode. BUG=18104 Review URL: http://codereview.chromium.org/159670 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22120 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.cc')
-rw-r--r--chrome/browser/browser.cc60
1 files changed, 32 insertions, 28 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
index 9b42d01..a23d2ae 100644
--- a/chrome/browser/browser.cc
+++ b/chrome/browser/browser.cc
@@ -668,6 +668,34 @@ void Browser::ShowSingleDOMUITab(const GURL& url) {
false, NULL);
}
+void Browser::UpdateCommandsForFullscreenMode(bool is_fullscreen) {
+ const bool show_main_ui = (type() == TYPE_NORMAL) && !is_fullscreen;
+
+ // Navigation commands
+ command_updater_.UpdateCommandEnabled(IDC_OPEN_CURRENT_URL, show_main_ui);
+
+ // Window management commands
+ command_updater_.UpdateCommandEnabled(IDC_PROFILE_MENU, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_SHOW_AS_TAB,
+ (type() & TYPE_POPUP) && !is_fullscreen);
+
+ // Focus various bits of UI
+ command_updater_.UpdateCommandEnabled(IDC_FOCUS_TOOLBAR, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_FOCUS_LOCATION, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_FOCUS_SEARCH, show_main_ui);
+
+ // Show various bits of UI
+ command_updater_.UpdateCommandEnabled(IDC_DEVELOPER_MENU, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_NEW_PROFILE, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_REPORT_BUG, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_SHOW_BOOKMARK_BAR, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_OPTIONS, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui);
+}
+
///////////////////////////////////////////////////////////////////////////////
// Browser, Assorted browser commands:
@@ -858,7 +886,11 @@ void Browser::ConvertPopupToTabbedBrowser() {
void Browser::ToggleFullscreenMode() {
UserMetrics::RecordAction(L"ToggleFullscreen", profile_);
window_->SetFullscreen(!window_->IsFullscreen());
+ // On Linux, setting fullscreen mode is an async call to the X server, which
+ // may or may not support fullscreen mode.
+#if !defined(OS_LINUX)
UpdateCommandsForFullscreenMode(window_->IsFullscreen());
+#endif
}
void Browser::Exit() {
@@ -2256,34 +2288,6 @@ void Browser::UpdateCommandsForTabState() {
!current_tab->GetFavIcon().isNull());
}
-void Browser::UpdateCommandsForFullscreenMode(bool is_fullscreen) {
- const bool show_main_ui = (type() == TYPE_NORMAL) && !is_fullscreen;
-
- // Navigation commands
- command_updater_.UpdateCommandEnabled(IDC_OPEN_CURRENT_URL, show_main_ui);
-
- // Window management commands
- command_updater_.UpdateCommandEnabled(IDC_PROFILE_MENU, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_SHOW_AS_TAB,
- (type() & TYPE_POPUP) && !is_fullscreen);
-
- // Focus various bits of UI
- command_updater_.UpdateCommandEnabled(IDC_FOCUS_TOOLBAR, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_FOCUS_LOCATION, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_FOCUS_SEARCH, show_main_ui);
-
- // Show various bits of UI
- command_updater_.UpdateCommandEnabled(IDC_DEVELOPER_MENU, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_NEW_PROFILE, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_REPORT_BUG, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_SHOW_BOOKMARK_BAR, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_OPTIONS, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui);
-}
-
void Browser::UpdateStopGoState(bool is_loading, bool force) {
window_->UpdateStopGoState(is_loading, force);
command_updater_.UpdateCommandEnabled(IDC_GO, !is_loading);