Commit be5dec24 authored by Danan S's avatar Danan S Committed by Commit Bot

Make Gellerization use public api to force signin.

Previously we were using a private API to force the user to do
a full Google signin after gellerization.  Instead, we now use
UserManager::SaveForceOnlineSignin, which is the public API for
this purpose.

Also reverts changes to signin_metrics enum from http://crrev.com/c/1786857

Bug: 1000948
Change-Id: I287bc86b1d719f11d0da0c6bb6ef09fcfd355987
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1789827Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Reviewed-by: default avatarMichael Giuffrida <michaelpg@chromium.org>
Reviewed-by: default avatarKush Sinha <sinhak@chromium.org>
Commit-Queue: Danan S <danan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695286}
parent b31a699f
......@@ -19,11 +19,10 @@
#include "chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler_utils.h"
#include "chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_metrics_recorder.h"
#include "chrome/services/app_service/public/cpp/app_registry_cache.h"
#include "components/signin/public/base/signin_metrics.h"
#include "components/signin/public/identity_manager/access_token_fetcher.h"
#include "components/signin/public/identity_manager/access_token_info.h"
#include "components/signin/public/identity_manager/accounts_mutator.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_ui.h"
#include "google_apis/gaia/gaia_constants.h"
......@@ -94,12 +93,13 @@ void AddSupervisionHandler::LogOut() {
void AddSupervisionHandler::NotifySupervisionEnabled() {
SupervisedUserService* service =
SupervisedUserServiceFactory::GetForProfile(Profile::FromWebUI(web_ui_));
service->set_signout_required_after_supervision_enabled();
identity_manager_->GetAccountsMutator()
->InvalidateRefreshTokenForPrimaryAccount(
signin_metrics::SourceForRefreshTokenOperation::
kAddSupervision_SupervisionEnabled);
// Force full sign-in the next time the user is at the login screen.
// Gellerization can only be triggered by the primary user.
user_manager::UserManager* manager = user_manager::UserManager::Get();
manager->SaveForceOnlineSignin(manager->GetPrimaryUser()->GetAccountId(),
true /* force signin */);
// Record UMA metric that user has completed Add Supervision process.
AddSupervisionMetricsRecorder::GetInstance()->RecordAddSupervisionEnrollment(
......
......@@ -65,8 +65,6 @@ std::string SourceToString(SourceForRefreshTokenOperation source) {
case SourceForRefreshTokenOperation::
kAccountReconcilor_RevokeTokensNotInCookies:
return "AccountReconcilor::RevokeTokensNotInCookies";
case SourceForRefreshTokenOperation::kAddSupervision_SupervisionEnabled:
return "AddSupervision::SupervisionEnabled";
}
}
} // namespace
......
......@@ -314,9 +314,8 @@ enum class SourceForRefreshTokenOperation {
kMachineLogon_CredentialProvider,
kTokenService_ExtractCredentials,
kAccountReconcilor_RevokeTokensNotInCookies,
kAddSupervision_SupervisionEnabled,
kMaxValue = kAddSupervision_SupervisionEnabled
kMaxValue = kAccountReconcilor_RevokeTokensNotInCookies
};
// Different types of reporting. This is used as a histogram suffix.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment