| Index: chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.cc b/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| index 5318b1bf28dbae99b0708f0830cd0f0ab649f8a2..dfece48403fa0ac6a39d594ad43760092df34ab8 100644
|
| --- a/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| +++ b/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| @@ -231,7 +231,8 @@ GURL BuildURL(bool is_https, const std::string& host_and_path) {
|
| } // namespace
|
|
|
| SupervisedUserURLFilter::SupervisedUserURLFilter()
|
| - : default_behavior_(ALLOW),
|
| + : enabled_(false),
|
| + default_behavior_(ALLOW),
|
| contents_(new Contents()),
|
| blacklist_(nullptr),
|
| amp_cache_path_regex_(kAmpCachePathPattern),
|
| @@ -323,6 +324,16 @@ bool SupervisedUserURLFilter::HostMatchesPattern(
|
| return trimmed_host == trimmed_pattern;
|
| }
|
|
|
| +void SupervisedUserURLFilter::SetEnabled(bool enabled) {
|
| + if (enabled_ == enabled)
|
| + return;
|
| +
|
| + enabled_ = enabled;
|
| +
|
| + for (Observer& observer : observers_)
|
| + observer.OnSiteListUpdated();
|
| +}
|
| +
|
| SupervisedUserURLFilter::FilteringBehavior
|
| SupervisedUserURLFilter::GetFilteringBehaviorForURL(const GURL& url) const {
|
| supervised_user_error_page::FilteringBehaviorReason reason;
|
| @@ -343,6 +354,11 @@ SupervisedUserURLFilter::GetFilteringBehaviorForURL(
|
| supervised_user_error_page::FilteringBehaviorReason* reason) const {
|
| DCHECK(CalledOnValidThread());
|
|
|
| + if (!enabled_) {
|
| + *reason = supervised_user_error_page::DEFAULT;
|
| + return ALLOW;
|
| + }
|
| +
|
| GURL effective_url = GetEmbeddedURL(url);
|
| if (!effective_url.is_valid())
|
| effective_url = url;
|
| @@ -645,8 +661,10 @@ GURL SupervisedUserURLFilter::GetEmbeddedURL(const GURL& url) const {
|
| void SupervisedUserURLFilter::SetContents(std::unique_ptr<Contents> contents) {
|
| DCHECK(CalledOnValidThread());
|
| contents_ = std::move(contents);
|
| - for (Observer& observer : observers_)
|
| - observer.OnSiteListUpdated();
|
| + if (enabled_) {
|
| + for (Observer& observer : observers_)
|
| + observer.OnSiteListUpdated();
|
| + }
|
| }
|
|
|
| void SupervisedUserURLFilter::CheckCallback(
|
|
|