Index: chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
index e39e8bce6132943dff548a619efaad3817ceb527..dbf752e411113a317b98ea306a3136358ed9fe3e 100644 |
--- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
+++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
@@ -28,6 +28,7 @@ |
#include "components/signin/core/browser/profile_oauth2_token_service.h" |
#include "components/signin/core/browser/signin_error_controller.h" |
#include "components/signin/core/browser/signin_oauth_helper.h" |
+#include "components/signin/core/common/profile_management_switches.h" |
#include "content/public/browser/storage_partition.h" |
#include "content/public/browser/web_ui.h" |
#include "google_apis/gaia/gaia_auth_fetcher.h" |
@@ -130,20 +131,34 @@ void InlineSigninHelper::OnSigninOAuthInformationAvailable( |
SigninErrorController* error_controller = |
ProfileOAuth2TokenServiceFactory::GetForProfile(profile_)-> |
signin_error_controller(); |
- OneClickSigninSyncStarter::StartSyncMode start_mode = |
- source == signin::SOURCE_SETTINGS || choose_what_to_sync_ ? |
- (error_controller->HasError() && |
- sync_service && sync_service->HasSyncSetupCompleted()) ? |
- OneClickSigninSyncStarter::SHOW_SETTINGS_WITHOUT_CONFIGURE : |
- OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST : |
- OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS; |
+ |
+ std::string is_constrained; |
+ net::GetValueForKeyInQuery(current_url_, "constrained", &is_constrained); |
+ bool show_inline_confirmation_for_sync = |
+ switches::IsNewAvatarMenu() && is_constrained == "1"; |
+ |
+ OneClickSigninSyncStarter::StartSyncMode start_mode; |
+ if (source == signin::SOURCE_SETTINGS || choose_what_to_sync_) { |
+ bool show_settings_without_configure = |
+ error_controller->HasError() && |
+ sync_service && |
+ sync_service->HasSyncSetupCompleted(); |
+ start_mode = show_settings_without_configure ? |
+ OneClickSigninSyncStarter::SHOW_SETTINGS_WITHOUT_CONFIGURE : |
+ OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST; |
+ } else { |
+ start_mode = show_inline_confirmation_for_sync ? |
+ OneClickSigninSyncStarter::CONFIRM_SYNC_SETTINGS_FIRST : |
+ OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS; |
+ } |
+ |
OneClickSigninSyncStarter::ConfirmationRequired confirmation_required = |
source == signin::SOURCE_SETTINGS || |
source == signin::SOURCE_WEBSTORE_INSTALL || |
- choose_what_to_sync_ ? |
+ choose_what_to_sync_ || |
+ show_inline_confirmation_for_sync ? |
OneClickSigninSyncStarter::NO_CONFIRMATION : |
OneClickSigninSyncStarter::CONFIRM_AFTER_SIGNIN; |
- |
bool start_signin = |
!OneClickSigninHelper::HandleCrossAccountError( |
contents, "", |