This source file includes following definitions.
- Shutdown
- DownloadProfile
- NeedsProfilePicture
- GetDesiredImageSideLength
- GetCachedPictureURL
- GetBrowserProfile
- OnProfileDownloadSuccess
- OnProfileDownloadFailure
#include "chrome/browser/managed_mode/custodian_profile_downloader_service.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "google_apis/gaia/gaia_auth_util.h"
CustodianProfileDownloaderService::CustodianProfileDownloaderService(
Profile* custodian_profile)
: custodian_profile_(custodian_profile) {
}
CustodianProfileDownloaderService::~CustodianProfileDownloaderService() {}
void CustodianProfileDownloaderService::Shutdown() {
profile_downloader_.reset();
}
void CustodianProfileDownloaderService::DownloadProfile(
const DownloadProfileCallback& callback) {
std::string username = custodian_profile_->GetPrefs()->GetString(
prefs::kGoogleServicesUsername);
if (username.empty())
return;
download_callback_ = callback;
std::string current_email = custodian_profile_->GetProfileName();
if (gaia::AreEmailsSame(last_downloaded_profile_email_, current_email)) {
OnProfileDownloadSuccess(profile_downloader_.get());
return;
}
in_progress_profile_email_ = current_email;
profile_downloader_.reset(new ProfileDownloader(this));
profile_downloader_->Start();
}
bool CustodianProfileDownloaderService::NeedsProfilePicture() const {
return false;
}
int CustodianProfileDownloaderService::GetDesiredImageSideLength() const {
return 0;
}
std::string CustodianProfileDownloaderService::GetCachedPictureURL() const {
return std::string();
}
Profile* CustodianProfileDownloaderService::GetBrowserProfile() {
DCHECK(custodian_profile_);
return custodian_profile_;
}
void CustodianProfileDownloaderService::OnProfileDownloadSuccess(
ProfileDownloader* downloader) {
download_callback_.Run(downloader->GetProfileFullName());
download_callback_.Reset();
last_downloaded_profile_email_ = in_progress_profile_email_;
}
void CustodianProfileDownloaderService::OnProfileDownloadFailure(
ProfileDownloader* downloader,
ProfileDownloaderDelegate::FailureReason reason) {
download_callback_.Reset();
profile_downloader_.reset();
}