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 be5f9a2f43a854d59c8eff410c006ef1217f11f6..c88028fe2a1b09d170237b4784aa4ddd807832e6 100644 |
--- a/chrome/browser/supervised_user/supervised_user_service.cc |
+++ b/chrome/browser/supervised_user/supervised_user_service.cc |
@@ -30,6 +30,7 @@ |
#include "chrome/browser/supervised_user/permission_request_creator.h" |
#include "chrome/browser/supervised_user/supervised_user_constants.h" |
#include "chrome/browser/supervised_user/supervised_user_features.h" |
+#include "chrome/browser/supervised_user/supervised_user_navigation_throttle.h" |
#include "chrome/browser/supervised_user/supervised_user_service_factory.h" |
#include "chrome/browser/supervised_user/supervised_user_service_observer.h" |
#include "chrome/browser/supervised_user/supervised_user_settings_service.h" |
@@ -157,7 +158,7 @@ base::FilePath GetBlacklistPath() { |
SupervisedUserService::~SupervisedUserService() { |
DCHECK(!did_init_ || did_shutdown_); |
- url_filter_context_.ui_url_filter()->RemoveObserver(this); |
+ url_filter_.RemoveObserver(this); |
} |
// static |
@@ -220,13 +221,8 @@ void SupervisedUserService::SetDelegate(Delegate* delegate) { |
delegate_ = delegate; |
} |
-scoped_refptr<const SupervisedUserURLFilter> |
-SupervisedUserService::GetURLFilterForIOThread() { |
- return url_filter_context_.io_url_filter(); |
-} |
- |
-SupervisedUserURLFilter* SupervisedUserService::GetURLFilterForUIThread() { |
- return url_filter_context_.ui_url_filter(); |
+SupervisedUserURLFilter* SupervisedUserService::GetURLFilter() { |
+ return &url_filter_; |
} |
SupervisedUserWhitelistService* SupervisedUserService::GetWhitelistService() { |
@@ -240,7 +236,7 @@ bool SupervisedUserService::AccessRequestsEnabled() { |
void SupervisedUserService::AddURLAccessRequest( |
const GURL& url, |
const SuccessCallback& callback) { |
- GURL effective_url = GetURLFilterForUIThread()->GetEmbeddedURL(url); |
+ GURL effective_url = url_filter_.GetEmbeddedURL(url); |
if (!effective_url.is_valid()) |
effective_url = url; |
AddPermissionRequestInternal( |
@@ -427,105 +423,6 @@ bool SupervisedUserService::IncludesSyncSessionsType() const { |
return includes_sync_sessions_type_; |
} |
-SupervisedUserService::URLFilterContext::URLFilterContext() |
- : ui_url_filter_(new SupervisedUserURLFilter), |
- io_url_filter_(new SupervisedUserURLFilter) {} |
-SupervisedUserService::URLFilterContext::~URLFilterContext() {} |
- |
-SupervisedUserURLFilter* |
-SupervisedUserService::URLFilterContext::ui_url_filter() const { |
- return ui_url_filter_.get(); |
-} |
- |
-SupervisedUserURLFilter* |
-SupervisedUserService::URLFilterContext::io_url_filter() const { |
- return io_url_filter_.get(); |
-} |
- |
-void SupervisedUserService::URLFilterContext::SetDefaultFilteringBehavior( |
- SupervisedUserURLFilter::FilteringBehavior behavior) { |
- ui_url_filter_->SetDefaultFilteringBehavior(behavior); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::SetDefaultFilteringBehavior, |
- io_url_filter_, behavior)); |
-} |
- |
-void SupervisedUserService::URLFilterContext::LoadWhitelists( |
- const std::vector<scoped_refptr<SupervisedUserSiteList> >& site_lists) { |
- ui_url_filter_->LoadWhitelists(site_lists); |
- BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::LoadWhitelists, |
- io_url_filter_, site_lists)); |
-} |
- |
-void SupervisedUserService::URLFilterContext::SetBlacklist( |
- const SupervisedUserBlacklist* blacklist) { |
- ui_url_filter_->SetBlacklist(blacklist); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::SetBlacklist, |
- io_url_filter_, |
- blacklist)); |
-} |
- |
-bool SupervisedUserService::URLFilterContext::HasBlacklist() const { |
- return ui_url_filter_->HasBlacklist(); |
-} |
- |
-void SupervisedUserService::URLFilterContext::SetManualHosts( |
- std::unique_ptr<std::map<std::string, bool>> host_map) { |
- ui_url_filter_->SetManualHosts(host_map.get()); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::SetManualHosts, |
- io_url_filter_, base::Owned(host_map.release()))); |
-} |
- |
-void SupervisedUserService::URLFilterContext::SetManualURLs( |
- std::unique_ptr<std::map<GURL, bool>> url_map) { |
- ui_url_filter_->SetManualURLs(url_map.get()); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::SetManualURLs, |
- io_url_filter_, base::Owned(url_map.release()))); |
-} |
- |
-void SupervisedUserService::URLFilterContext::Clear() { |
- ui_url_filter_->Clear(); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::Clear, |
- io_url_filter_)); |
-} |
- |
-void SupervisedUserService::URLFilterContext::InitAsyncURLChecker( |
- const scoped_refptr<net::URLRequestContextGetter>& context) { |
- ui_url_filter_->InitAsyncURLChecker(context.get()); |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::InitAsyncURLChecker, io_url_filter_, |
- base::RetainedRef(context))); |
-} |
- |
-bool SupervisedUserService::URLFilterContext::HasAsyncURLChecker() const { |
- return ui_url_filter_->HasAsyncURLChecker(); |
-} |
- |
-void SupervisedUserService::URLFilterContext::ClearAsyncURLChecker() { |
- ui_url_filter_->ClearAsyncURLChecker(); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&SupervisedUserURLFilter::ClearAsyncURLChecker, |
- io_url_filter_)); |
-} |
- |
SupervisedUserService::SupervisedUserService(Profile* profile) |
: includes_sync_sessions_type_(true), |
profile_(profile), |
@@ -540,7 +437,7 @@ SupervisedUserService::SupervisedUserService(Profile* profile) |
registry_observer_(this), |
#endif |
weak_ptr_factory_(this) { |
- url_filter_context_.ui_url_filter()->AddObserver(this); |
+ url_filter_.AddObserver(this); |
#if BUILDFLAG(ENABLE_EXTENSIONS) |
registry_observer_.Add(extensions::ExtensionRegistry::Get(profile)); |
#endif |
@@ -660,7 +557,7 @@ void SupervisedUserService::SetActive(bool active) { |
pref_change_registrar_.Remove(pref); |
} |
- url_filter_context_.Clear(); |
+ url_filter_.Clear(); |
for (SupervisedUserServiceObserver& observer : observer_list_) |
observer.OnURLFilterChanged(); |
@@ -814,7 +711,7 @@ void SupervisedUserService::OnDefaultFilteringBehaviorChanged() { |
prefs::kDefaultSupervisedUserFilteringBehavior); |
SupervisedUserURLFilter::FilteringBehavior behavior = |
SupervisedUserURLFilter::BehaviorFromInt(behavior_value); |
- url_filter_context_.SetDefaultFilteringBehavior(behavior); |
+ url_filter_.SetDefaultFilteringBehavior(behavior); |
for (SupervisedUserServiceObserver& observer : observer_list_) |
observer.OnURLFilterChanged(); |
@@ -822,7 +719,7 @@ void SupervisedUserService::OnDefaultFilteringBehaviorChanged() { |
void SupervisedUserService::OnSafeSitesSettingChanged() { |
bool use_blacklist = supervised_users::IsSafeSitesBlacklistEnabled(profile_); |
- if (use_blacklist != url_filter_context_.HasBlacklist()) { |
+ if (use_blacklist != url_filter_.HasBlacklist()) { |
if (use_blacklist && blacklist_state_ == BlacklistLoadState::NOT_LOADED) { |
LoadBlacklist(GetBlacklistPath(), GURL(kBlacklistURL)); |
} else if (!use_blacklist || |
@@ -837,18 +734,18 @@ void SupervisedUserService::OnSafeSitesSettingChanged() { |
bool use_online_check = |
supervised_users::IsSafeSitesOnlineCheckEnabled(profile_); |
- if (use_online_check != url_filter_context_.HasAsyncURLChecker()) { |
+ if (use_online_check != url_filter_.HasAsyncURLChecker()) { |
if (use_online_check) |
- url_filter_context_.InitAsyncURLChecker(profile_->GetRequestContext()); |
+ url_filter_.InitAsyncURLChecker(profile_->GetRequestContext()); |
else |
- url_filter_context_.ClearAsyncURLChecker(); |
+ url_filter_.ClearAsyncURLChecker(); |
} |
} |
void SupervisedUserService::OnSiteListsChanged( |
const std::vector<scoped_refptr<SupervisedUserSiteList> >& site_lists) { |
whitelists_ = site_lists; |
- url_filter_context_.LoadWhitelists(site_lists); |
+ url_filter_.LoadWhitelists(site_lists); |
} |
void SupervisedUserService::LoadBlacklist(const base::FilePath& path, |
@@ -943,7 +840,7 @@ void SupervisedUserService::OnBlacklistLoaded() { |
void SupervisedUserService::UpdateBlacklist() { |
bool use_blacklist = supervised_users::IsSafeSitesBlacklistEnabled(profile_); |
- url_filter_context_.SetBlacklist(use_blacklist ? &blacklist_ : nullptr); |
+ url_filter_.SetBlacklist(use_blacklist ? &blacklist_ : nullptr); |
for (SupervisedUserServiceObserver& observer : observer_list_) |
observer.OnURLFilterChanged(); |
} |
@@ -951,15 +848,14 @@ void SupervisedUserService::UpdateBlacklist() { |
void SupervisedUserService::UpdateManualHosts() { |
const base::DictionaryValue* dict = |
profile_->GetPrefs()->GetDictionary(prefs::kSupervisedUserManualHosts); |
- std::unique_ptr<std::map<std::string, bool>> host_map( |
- new std::map<std::string, bool>()); |
+ std::map<std::string, bool> host_map; |
for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) { |
bool allow = false; |
bool result = it.value().GetAsBoolean(&allow); |
DCHECK(result); |
- (*host_map)[it.key()] = allow; |
+ host_map[it.key()] = allow; |
} |
- url_filter_context_.SetManualHosts(std::move(host_map)); |
+ url_filter_.SetManualHosts(std::move(host_map)); |
for (SupervisedUserServiceObserver& observer : observer_list_) |
observer.OnURLFilterChanged(); |
@@ -968,14 +864,14 @@ void SupervisedUserService::UpdateManualHosts() { |
void SupervisedUserService::UpdateManualURLs() { |
const base::DictionaryValue* dict = |
profile_->GetPrefs()->GetDictionary(prefs::kSupervisedUserManualURLs); |
- std::unique_ptr<std::map<GURL, bool>> url_map(new std::map<GURL, bool>()); |
+ std::map<GURL, bool> url_map; |
for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) { |
bool allow = false; |
bool result = it.value().GetAsBoolean(&allow); |
DCHECK(result); |
- (*url_map)[GURL(it.key())] = allow; |
+ url_map[GURL(it.key())] = allow; |
} |
- url_filter_context_.SetManualURLs(std::move(url_map)); |
+ url_filter_.SetManualURLs(std::move(url_map)); |
for (SupervisedUserServiceObserver& observer : observer_list_) |
observer.OnURLFilterChanged(); |