Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1960)

Unified Diff: chrome/browser/supervised_user/supervised_user_service.cc

Issue 592423005: Supervised user blacklist: Add downloader class to download a blacklist if needed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comment Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/supervised_user/supervised_user_service.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)
« no previous file with comments | « chrome/browser/supervised_user/supervised_user_service.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698