OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/browser_command_controller.h" | 5 #include "chrome/browser/ui/browser_command_controller.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
9 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
11 #include "chrome/browser/chrome_notification_types.h" | 11 #include "chrome/browser/chrome_notification_types.h" |
12 #include "chrome/browser/defaults.h" | 12 #include "chrome/browser/defaults.h" |
13 #include "chrome/browser/extensions/extension_service.h" | 13 #include "chrome/browser/extensions/extension_service.h" |
14 #include "chrome/browser/extensions/extension_util.h" | 14 #include "chrome/browser/extensions/extension_util.h" |
15 #include "chrome/browser/lifetime/application_lifetime.h" | 15 #include "chrome/browser/lifetime/application_lifetime.h" |
16 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 16 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
17 #include "chrome/browser/profiles/profile.h" | 17 #include "chrome/browser/profiles/profile.h" |
| 18 #include "chrome/browser/profiles/profile_manager.h" |
18 #include "chrome/browser/sessions/tab_restore_service.h" | 19 #include "chrome/browser/sessions/tab_restore_service.h" |
19 #include "chrome/browser/sessions/tab_restore_service_factory.h" | 20 #include "chrome/browser/sessions/tab_restore_service_factory.h" |
20 #include "chrome/browser/shell_integration.h" | 21 #include "chrome/browser/shell_integration.h" |
21 #include "chrome/browser/signin/signin_promo.h" | 22 #include "chrome/browser/signin/signin_promo.h" |
22 #include "chrome/browser/sync/profile_sync_service.h" | 23 #include "chrome/browser/sync/profile_sync_service.h" |
23 #include "chrome/browser/sync/profile_sync_service_factory.h" | 24 #include "chrome/browser/sync/profile_sync_service_factory.h" |
24 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" | 25 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" |
25 #include "chrome/browser/ui/browser.h" | 26 #include "chrome/browser/ui/browser.h" |
26 #include "chrome/browser/ui/browser_commands.h" | 27 #include "chrome/browser/ui/browser_commands.h" |
27 #include "chrome/browser/ui/browser_window.h" | 28 #include "chrome/browser/ui/browser_window.h" |
(...skipping 992 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1020 UpdateCommandsForFullscreenMode(); | 1021 UpdateCommandsForFullscreenMode(); |
1021 UpdateCommandsForContentRestrictionState(); | 1022 UpdateCommandsForContentRestrictionState(); |
1022 UpdateCommandsForBookmarkEditing(); | 1023 UpdateCommandsForBookmarkEditing(); |
1023 UpdateCommandsForIncognitoAvailability(); | 1024 UpdateCommandsForIncognitoAvailability(); |
1024 } | 1025 } |
1025 | 1026 |
1026 // static | 1027 // static |
1027 void BrowserCommandController::UpdateSharedCommandsForIncognitoAvailability( | 1028 void BrowserCommandController::UpdateSharedCommandsForIncognitoAvailability( |
1028 CommandUpdater* command_updater, | 1029 CommandUpdater* command_updater, |
1029 Profile* profile) { | 1030 Profile* profile) { |
| 1031 const bool guest_session = profile->IsGuestSession(); |
| 1032 // TODO(mlerman): Make GetAvailability account for profile->IsGuestSession(). |
1030 IncognitoModePrefs::Availability incognito_availability = | 1033 IncognitoModePrefs::Availability incognito_availability = |
1031 IncognitoModePrefs::GetAvailability(profile->GetPrefs()); | 1034 IncognitoModePrefs::GetAvailability(profile->GetPrefs()); |
1032 command_updater->UpdateCommandEnabled( | 1035 command_updater->UpdateCommandEnabled( |
1033 IDC_NEW_WINDOW, | 1036 IDC_NEW_WINDOW, |
1034 incognito_availability != IncognitoModePrefs::FORCED); | 1037 incognito_availability != IncognitoModePrefs::FORCED); |
1035 command_updater->UpdateCommandEnabled( | 1038 command_updater->UpdateCommandEnabled( |
1036 IDC_NEW_INCOGNITO_WINDOW, | 1039 IDC_NEW_INCOGNITO_WINDOW, |
1037 incognito_availability != IncognitoModePrefs::DISABLED); | 1040 incognito_availability != IncognitoModePrefs::DISABLED && !guest_session); |
1038 | 1041 |
1039 const bool guest_session = profile->IsGuestSession(); | |
1040 const bool forced_incognito = | 1042 const bool forced_incognito = |
1041 incognito_availability == IncognitoModePrefs::FORCED || | 1043 incognito_availability == IncognitoModePrefs::FORCED || |
1042 guest_session; // Guest always runs in Incognito mode. | 1044 guest_session; // Guest always runs in Incognito mode. |
1043 command_updater->UpdateCommandEnabled( | 1045 command_updater->UpdateCommandEnabled( |
1044 IDC_SHOW_BOOKMARK_MANAGER, | 1046 IDC_SHOW_BOOKMARK_MANAGER, |
1045 browser_defaults::bookmarks_enabled && !forced_incognito); | 1047 browser_defaults::bookmarks_enabled && !forced_incognito); |
1046 ExtensionService* extension_service = | 1048 ExtensionService* extension_service = |
1047 extensions::ExtensionSystem::Get(profile)->extension_service(); | 1049 extensions::ExtensionSystem::Get(profile)->extension_service(); |
1048 const bool enable_extensions = | 1050 const bool enable_extensions = |
1049 extension_service && extension_service->extensions_enabled(); | 1051 extension_service && extension_service->extensions_enabled(); |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1342 | 1344 |
1343 BrowserWindow* BrowserCommandController::window() { | 1345 BrowserWindow* BrowserCommandController::window() { |
1344 return browser_->window(); | 1346 return browser_->window(); |
1345 } | 1347 } |
1346 | 1348 |
1347 Profile* BrowserCommandController::profile() { | 1349 Profile* BrowserCommandController::profile() { |
1348 return browser_->profile(); | 1350 return browser_->profile(); |
1349 } | 1351 } |
1350 | 1352 |
1351 } // namespace chrome | 1353 } // namespace chrome |
OLD | NEW |