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
3 // found in the LICENSE file.
5 #include "chrome/browser/extensions/api/principals_private/principals_private_api.h"
7 #include "chrome/browser/browser_process.h"
8 #include "chrome/browser/profiles/avatar_menu.h"
9 #include "chrome/browser/profiles/profile_window.h"
10 #include "chrome/browser/ui/browser.h"
11 #include "chrome/browser/ui/browser_window.h"
12 #include "components/signin/core/browser/signin_header_helper.h"
13 #include "components/signin/core/common/profile_management_switches.h"
15 namespace extensions
{
17 bool PrincipalsPrivateExtensionFunction::RunSync() {
18 if (!switches::IsEnableAccountConsistency()) {
20 "Need to enable account consistency to use principalsPrivate API.");
26 bool PrincipalsPrivateSignOutFunction::RunSyncSafe() {
27 Browser
* browser
= GetCurrentBrowser();
29 profiles::LockProfile(browser
->profile());
34 bool PrincipalsPrivateShowAvatarBubbleFunction::RunSyncSafe() {
35 Browser
* browser
= GetCurrentBrowser();
37 browser
->window()->ShowAvatarBubbleFromAvatarButton(
38 BrowserWindow::AVATAR_BUBBLE_MODE_ACCOUNT_MANAGEMENT
,
39 signin::ManageAccountsParams());
44 } // namespace extensions