Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(193)

Side by Side Diff: chrome/browser/app_controller_mac.mm

Issue 631163004: Mac - show user manager before opening browser. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #import "chrome/browser/app_controller_mac.h" 5 #import "chrome/browser/app_controller_mac.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 if (!switches::IsNewProfileManagement()) 198 if (!switches::IsNewProfileManagement())
199 return false; 199 return false;
200 ProfileInfoCache& cache = 200 ProfileInfoCache& cache =
201 g_browser_process->profile_manager()->GetProfileInfoCache(); 201 g_browser_process->profile_manager()->GetProfileInfoCache();
202 size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath()); 202 size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath());
203 if (profile_index == std::string::npos) 203 if (profile_index == std::string::npos)
204 return false; 204 return false;
205 return cache.ProfileIsSigninRequiredAtIndex(profile_index); 205 return cache.ProfileIsSigninRequiredAtIndex(profile_index);
206 } 206 }
207 207
208 bool IsGuestModeEnabled() {
209 const PrefService* prefs = g_browser_process->local_state();
210 return prefs->GetBoolean(prefs::kBrowserGuestModeEnabled);
211 }
212
208 } // anonymous namespace 213 } // anonymous namespace
209 214
210 @interface AppController (Private) 215 @interface AppController (Private)
211 - (void)initMenuState; 216 - (void)initMenuState;
212 - (void)initProfileMenu; 217 - (void)initProfileMenu;
213 - (void)updateConfirmToQuitPrefMenuItem:(NSMenuItem*)item; 218 - (void)updateConfirmToQuitPrefMenuItem:(NSMenuItem*)item;
214 - (void)updateDisplayMessageCenterPrefMenuItem:(NSMenuItem*)item; 219 - (void)updateDisplayMessageCenterPrefMenuItem:(NSMenuItem*)item;
215 - (void)registerServicesMenuTypesTo:(NSApplication*)app; 220 - (void)registerServicesMenuTypesTo:(NSApplication*)app;
216 - (void)openUrls:(const std::vector<GURL>&)urls; 221 - (void)openUrls:(const std::vector<GURL>&)urls;
217 - (void)getUrl:(NSAppleEventDescriptor*)event 222 - (void)getUrl:(NSAppleEventDescriptor*)event
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 else 1099 else
1095 chrome::OpenHelpWindow(lastProfile, chrome::HELP_SOURCE_MENU); 1100 chrome::OpenHelpWindow(lastProfile, chrome::HELP_SOURCE_MENU);
1096 break; 1101 break;
1097 case IDC_SHOW_SYNC_SETUP: 1102 case IDC_SHOW_SYNC_SETUP:
1098 if (Browser* browser = ActivateBrowser(lastProfile)) { 1103 if (Browser* browser = ActivateBrowser(lastProfile)) {
1099 chrome::ShowBrowserSignin(browser, signin::SOURCE_MENU); 1104 chrome::ShowBrowserSignin(browser, signin::SOURCE_MENU);
1100 } else { 1105 } else {
1101 chrome::OpenSyncSetupWindow(lastProfile, signin::SOURCE_MENU); 1106 chrome::OpenSyncSetupWindow(lastProfile, signin::SOURCE_MENU);
1102 } 1107 }
1103 break; 1108 break;
1104 case IDC_TASK_MANAGER: 1109 case IDC_TASK_MANAGER:
Mark Mentovai 2014/10/07 20:22:57 How does the task manager interact with this? It’s
Mike Lerman 2014/10/08 15:41:37 Web UI can be launched from the "Stats for nerds"
Mark Mentovai 2014/10/08 16:43:22 Mike Lerman wrote:
Mike Lerman 2014/10/08 20:23:41 Ok. I can do this for Mac implementation (Windows
1105 content::RecordAction(UserMetricsAction("TaskManager")); 1110 if ([self safeLastProfileForNewWindows]->IsGuestSession() &&
1106 TaskManagerMac::Show(); 1111 !IsGuestModeEnabled()) {
1112 UserManager::Show(lastProfile->GetPath(),
1113 profiles::USER_MANAGER_NO_TUTORIAL,
1114 profiles::USER_MANAGER_SELECT_PROFILE_TASK_MANAGER);
1115 } else {
1116 content::RecordAction(UserMetricsAction("TaskManager"));
1117 TaskManagerMac::Show();
1118 }
1107 break; 1119 break;
1108 case IDC_OPTIONS: 1120 case IDC_OPTIONS:
1109 [self showPreferences:sender]; 1121 [self showPreferences:sender];
1110 break; 1122 break;
1111 } 1123 }
1112 } 1124 }
1113 1125
1114 // Run a (background) application in a new tab. 1126 // Run a (background) application in a new tab.
1115 - (void)executeApplication:(id)sender { 1127 - (void)executeApplication:(id)sender {
1116 NSInteger tag = [sender tag]; 1128 NSInteger tag = [sender tag];
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
1375 } 1387 }
1376 1388
1377 // Show the preferences window, or bring it to the front if it's already 1389 // Show the preferences window, or bring it to the front if it's already
1378 // visible. 1390 // visible.
1379 - (IBAction)showPreferences:(id)sender { 1391 - (IBAction)showPreferences:(id)sender {
1380 if (Browser* browser = ActivateBrowser([self lastProfile])) { 1392 if (Browser* browser = ActivateBrowser([self lastProfile])) {
1381 // Show options tab in the active browser window. 1393 // Show options tab in the active browser window.
1382 chrome::ShowSettings(browser); 1394 chrome::ShowSettings(browser);
1383 } else { 1395 } else {
1384 // No browser window, so create one for the options tab. 1396 // No browser window, so create one for the options tab.
1385 chrome::OpenOptionsWindow([self safeLastProfileForNewWindows]); 1397 Profile* lastProfile = [self safeLastProfileForNewWindows];
1398 if (lastProfile->IsGuestSession() && !IsGuestModeEnabled()) {
1399 UserManager::Show(lastProfile->GetPath(),
1400 profiles::USER_MANAGER_NO_TUTORIAL,
1401 profiles::USER_MANAGER_SELECT_PROFILE_CHROME_SETTINGS);
1402 } else {
1403 chrome::OpenOptionsWindow([self safeLastProfileForNewWindows]);
1404 }
1386 } 1405 }
1387 } 1406 }
1388 1407
1389 - (IBAction)orderFrontStandardAboutPanel:(id)sender { 1408 - (IBAction)orderFrontStandardAboutPanel:(id)sender {
1390 if (Browser* browser = ActivateBrowser([self lastProfile])) { 1409 if (Browser* browser = ActivateBrowser([self lastProfile])) {
1391 chrome::ShowAboutChrome(browser); 1410 chrome::ShowAboutChrome(browser);
1392 } else { 1411 } else {
1393 // No browser window, so create one for the about tab. 1412 // No browser window, so create one for the about tab.
1394 chrome::OpenAboutWindow([self safeLastProfileForNewWindows]); 1413 Profile* lastProfile = [self safeLastProfileForNewWindows];
1414 if (lastProfile->IsGuestSession() && !IsGuestModeEnabled()) {
Mark Mentovai 2014/10/07 20:22:57 This is getting kind of repetitive. Maybe it could
Mike Lerman 2014/10/08 15:41:37 Done - refactored.
1415 UserManager::Show(lastProfile->GetPath(),
1416 profiles::USER_MANAGER_NO_TUTORIAL,
1417 profiles::USER_MANAGER_SELECT_PROFILE_ABOUT_CHROME);
1418 } else {
1419 chrome::OpenAboutWindow([self safeLastProfileForNewWindows]);
1420 }
1395 } 1421 }
1396 } 1422 }
1397 1423
1398 - (IBAction)toggleConfirmToQuit:(id)sender { 1424 - (IBAction)toggleConfirmToQuit:(id)sender {
1399 PrefService* prefService = g_browser_process->local_state(); 1425 PrefService* prefService = g_browser_process->local_state();
1400 bool enabled = prefService->GetBoolean(prefs::kConfirmToQuitEnabled); 1426 bool enabled = prefService->GetBoolean(prefs::kConfirmToQuitEnabled);
1401 prefService->SetBoolean(prefs::kConfirmToQuitEnabled, !enabled); 1427 prefService->SetBoolean(prefs::kConfirmToQuitEnabled, !enabled);
1402 } 1428 }
1403 1429
1404 - (IBAction)toggleDisplayMessageCenter:(id)sender { 1430 - (IBAction)toggleDisplayMessageCenter:(id)sender {
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1580 1606
1581 //--------------------------------------------------------------------------- 1607 //---------------------------------------------------------------------------
1582 1608
1583 namespace app_controller_mac { 1609 namespace app_controller_mac {
1584 1610
1585 bool IsOpeningNewWindow() { 1611 bool IsOpeningNewWindow() {
1586 return g_is_opening_new_window; 1612 return g_is_opening_new_window;
1587 } 1613 }
1588 1614
1589 } // namespace app_controller_mac 1615 } // namespace app_controller_mac
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/profiles/profile_window.h » ('j') | chrome/browser/profiles/profile_window.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698