| Index: chrome/browser/supervised_user/supervised_user_service.cc
|
| diff --git a/chrome/browser/supervised_user/supervised_user_service.cc b/chrome/browser/supervised_user/supervised_user_service.cc
|
| index 4624863734869bf6ef7a274761201d4866635f26..2dde9c71482022e533371259aac6cd0fe163a51b 100644
|
| --- a/chrome/browser/supervised_user/supervised_user_service.cc
|
| +++ b/chrome/browser/supervised_user/supervised_user_service.cc
|
| @@ -18,6 +18,7 @@
|
| #include "chrome/browser/signin/signin_manager_factory.h"
|
| #include "chrome/browser/supervised_user/custodian_profile_downloader_service.h"
|
| #include "chrome/browser/supervised_user/custodian_profile_downloader_service_factory.h"
|
| +#include "chrome/browser/supervised_user/experimental/supervised_user_blacklist_downloader.h"
|
| #include "chrome/browser/supervised_user/permission_request_creator_apiary.h"
|
| #include "chrome/browser/supervised_user/permission_request_creator_sync.h"
|
| #include "chrome/browser/supervised_user/supervised_user_constants.h"
|
| @@ -557,13 +558,39 @@ void SupervisedUserService::UpdateSiteLists() {
|
| #endif
|
| }
|
|
|
| -void SupervisedUserService::LoadBlacklist(const base::FilePath& path) {
|
| +void SupervisedUserService::LoadBlacklist(const base::FilePath& path,
|
| + const GURL& url) {
|
| + if (!url.is_valid()) {
|
| + LoadBlacklistFromFile(path);
|
| + return;
|
| + }
|
| +
|
| + DCHECK(!blacklist_downloader_.get());
|
| + blacklist_downloader_.reset(new SupervisedUserBlacklistDownloader(
|
| + url,
|
| + path,
|
| + profile_->GetRequestContext(),
|
| + base::Bind(&SupervisedUserService::OnBlacklistDownloadDone,
|
| + base::Unretained(this), path)));
|
| +}
|
| +
|
| +void SupervisedUserService::LoadBlacklistFromFile(const base::FilePath& path) {
|
| url_filter_context_.LoadBlacklist(path);
|
|
|
| FOR_EACH_OBSERVER(
|
| SupervisedUserServiceObserver, observer_list_, OnURLFilterChanged());
|
| }
|
|
|
| +void SupervisedUserService::OnBlacklistDownloadDone(const base::FilePath& path,
|
| + bool success) {
|
| + if (success) {
|
| + LoadBlacklistFromFile(path);
|
| + } else {
|
| + LOG(WARNING) << "Blacklist download failed";
|
| + }
|
| + blacklist_downloader_.reset();
|
| +}
|
| +
|
| bool SupervisedUserService::AccessRequestsEnabled() {
|
| ProfileSyncService* service =
|
| ProfileSyncServiceFactory::GetForProfile(profile_);
|
| @@ -735,7 +762,7 @@ void SupervisedUserService::SetActive(bool active) {
|
| if (delegate_ && use_blacklist) {
|
| base::FilePath blacklist_path = delegate_->GetBlacklistPath();
|
| if (!blacklist_path.empty())
|
| - LoadBlacklist(blacklist_path);
|
| + LoadBlacklist(blacklist_path, delegate_->GetBlacklistURL());
|
| }
|
|
|
| #if !defined(OS_ANDROID)
|
|
|