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

Side by Side Diff: trunk/src/chrome/browser/extensions/api/principals_private/principals_private_api.cc

Issue 75483005: Revert 235801 "Fix crash when locking a profile. The crash is ha..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/extensions/api/principals_private/principals_private_ap i.h" 5 #include "chrome/browser/extensions/api/principals_private/principals_private_ap i.h"
6 6
7 #include "chrome/browser/browser_process.h" 7 #include "chrome/browser/browser_process.h"
8 #include "chrome/browser/profiles/avatar_menu.h" 8 #include "chrome/browser/profiles/avatar_menu.h"
9 #include "chrome/browser/profiles/profile_window.h" 9 #include "chrome/browser/profiles/profile_manager.h"
10 #include "chrome/browser/profiles/profiles_state.h" 10 #include "chrome/browser/profiles/profiles_state.h"
11 #include "chrome/browser/ui/browser.h" 11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/browser_window.h" 12 #include "chrome/browser/ui/browser_window.h"
13 13
14 namespace extensions { 14 namespace extensions {
15 15
16 bool PrincipalsPrivateExtensionFunction::RunImpl() { 16 bool PrincipalsPrivateExtensionFunction::RunImpl() {
17 if (!profiles::IsNewProfileManagementEnabled()) { 17 if (!profiles::IsNewProfileManagementEnabled()) {
18 SetError( 18 SetError(
19 "Need to enable new-profile-management to use principalsPrivate API."); 19 "Need to enable new-profile-management to use principalsPrivate API.");
20 return false; 20 return false;
21 } 21 }
22 return RunImplSafe(); 22 return RunImplSafe();
23 } 23 }
24 24
25 bool PrincipalsPrivateSignOutFunction::RunImplSafe() { 25 bool PrincipalsPrivateSignOutFunction::RunImplSafe() {
26 Browser* browser = GetCurrentBrowser(); 26 Browser* browser = GetCurrentBrowser();
27 if (browser) { 27 if (browser) {
28 profiles::LockProfile(browser->profile()); 28 AvatarMenu avatar_menu(
29 &g_browser_process->profile_manager()->GetProfileInfoCache(), NULL,
30 browser);
31 avatar_menu.BeginSignOut();
29 } 32 }
30 return true; 33 return true;
31 } 34 }
32 35
33 bool PrincipalsPrivateShowAvatarBubbleFunction::RunImplSafe() { 36 bool PrincipalsPrivateShowAvatarBubbleFunction::RunImplSafe() {
34 Browser* browser = GetCurrentBrowser(); 37 Browser* browser = GetCurrentBrowser();
35 if (browser) 38 if (browser)
36 browser->window()->ShowAvatarBubbleFromAvatarButton(); 39 browser->window()->ShowAvatarBubbleFromAvatarButton();
37 return true; 40 return true;
38 } 41 }
39 42
40 } // namespace extensions 43 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698