Add mirror support to cloud print.
BUG=388826
[email protected]
Review URL: https://codereview.chromium.org/349343002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281413 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/printing/print_dialog_cloud.cc b/chrome/browser/printing/print_dialog_cloud.cc
index 6d92817a..0f8ab4a 100644
--- a/chrome/browser/printing/print_dialog_cloud.cc
+++ b/chrome/browser/printing/print_dialog_cloud.cc
@@ -21,6 +21,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_dialogs.h"
+#include "chrome/browser/ui/browser_window.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/print_messages.h"
@@ -28,6 +29,7 @@
#include "components/cloud_devices/common/cloud_devices_urls.h"
#include "components/google/core/browser/google_util.h"
#include "components/pref_registry/pref_registry_syncable.h"
+#include "components/signin/core/common/profile_management_switches.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
@@ -711,16 +713,26 @@
bool add_account,
const base::Closure& callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- GURL url = add_account ? cloud_devices::GetCloudPrintAddAccountURL()
- : cloud_devices::GetCloudPrintSigninURL();
- content::WebContents* web_contents = browser->OpenURL(content::OpenURLParams(
- google_util::AppendGoogleLocaleParam(
- url, g_browser_process->GetApplicationLocale()),
- content::Referrer(),
- NEW_FOREGROUND_TAB,
- content::PAGE_TRANSITION_AUTO_BOOKMARK,
- false));
- new SignInObserver(web_contents, cloud_devices::GetCloudPrintURL(), callback);
+ if (switches::IsEnableAccountConsistency() &&
+ !browser->profile()->IsOffTheRecord()) {
+ browser->window()->ShowAvatarBubbleFromAvatarButton(
+ add_account ? BrowserWindow::AVATAR_BUBBLE_MODE_ADD_ACCOUNT
+ : BrowserWindow::AVATAR_BUBBLE_MODE_SIGNIN,
+ signin::ManageAccountsParams());
+ } else {
+ GURL url = add_account ? cloud_devices::GetCloudPrintAddAccountURL()
+ : cloud_devices::GetCloudPrintSigninURL();
+ content::WebContents* web_contents =
+ browser->OpenURL(content::OpenURLParams(
+ google_util::AppendGoogleLocaleParam(
+ url, g_browser_process->GetApplicationLocale()),
+ content::Referrer(),
+ NEW_FOREGROUND_TAB,
+ content::PAGE_TRANSITION_AUTO_BOOKMARK,
+ false));
+ new SignInObserver(web_contents, cloud_devices::GetCloudPrintURL(),
+ callback);
+ }
}
void CreatePrintDialogForBytes(content::BrowserContext* browser_context,