| 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 |