diff options
author | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-30 23:47:58 +0000 |
---|---|---|
committer | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-30 23:47:58 +0000 |
commit | ae2622c3d49beb6d3a7eafe75f003619181596f2 (patch) | |
tree | 95f34213fc9d79c1bd7fd0e314554918fd0d7a47 /chrome/browser/browser.cc | |
parent | 4d45295c902a483717b1ffd9387e719691268abd (diff) | |
download | chromium_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.cc | 60 |
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); |