| Index: chrome/browser/supervised_user/supervised_user_url_filter.h
|
| diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.h b/chrome/browser/supervised_user/supervised_user_url_filter.h
|
| index b1259f85b8e3940e31dc7f28235b419f8116fc62..e7fb96ef2e16c26b98a4f25184fe0919da81da00 100644
|
| --- a/chrome/browser/supervised_user/supervised_user_url_filter.h
|
| +++ b/chrome/browser/supervised_user/supervised_user_url_filter.h
|
| @@ -12,7 +12,6 @@
|
|
|
| #include "base/callback_forward.h"
|
| #include "base/macros.h"
|
| -#include "base/memory/ref_counted.h"
|
| #include "base/observer_list.h"
|
| #include "base/threading/non_thread_safe.h"
|
| #include "base/values.h"
|
| @@ -33,21 +32,16 @@ namespace net {
|
| class URLRequestContextGetter;
|
| }
|
|
|
| -// This class manages the filtering behavior for a given URL, i.e. it tells
|
| -// callers if a given URL should be allowed, blocked or warned about. It uses
|
| -// information from multiple sources:
|
| +// This class manages the filtering behavior for URLs, i.e. it tells callers
|
| +// if a URL should be allowed, blocked or warned about. It uses information
|
| +// from multiple sources:
|
| // * A default setting (allow, block or warn).
|
| // * The set of installed and enabled whitelists which contain URL patterns
|
| // and hostname hashes that should be allowed.
|
| // * User-specified manual overrides (allow or block) for either sites
|
| // (hostnames) or exact URLs, which take precedence over the previous
|
| // sources.
|
| -// References to it can be passed around on different threads (the refcounting
|
| -// is thread-safe), but the object itself should always be accessed on the same
|
| -// thread (member access isn't thread-safe).
|
| -class SupervisedUserURLFilter
|
| - : public base::RefCountedThreadSafe<SupervisedUserURLFilter>,
|
| - public base::NonThreadSafe {
|
| +class SupervisedUserURLFilter : public base::NonThreadSafe {
|
| public:
|
| enum FilteringBehavior {
|
| ALLOW,
|
| @@ -74,6 +68,7 @@ class SupervisedUserURLFilter
|
| struct Contents;
|
|
|
| SupervisedUserURLFilter();
|
| + ~SupervisedUserURLFilter();
|
|
|
| static FilteringBehavior BehaviorFromInt(int behavior_value);
|
|
|
| @@ -155,10 +150,10 @@ class SupervisedUserURLFilter
|
| const std::vector<scoped_refptr<SupervisedUserSiteList>>& site_lists);
|
|
|
| // Sets the set of manually allowed or blocked hosts.
|
| - void SetManualHosts(const std::map<std::string, bool>* host_map);
|
| + void SetManualHosts(std::map<std::string, bool> host_map);
|
|
|
| // Sets the set of manually allowed or blocked URLs.
|
| - void SetManualURLs(const std::map<GURL, bool>* url_map);
|
| + void SetManualURLs(std::map<GURL, bool> url_map);
|
|
|
| // Initializes the experimental asynchronous checker.
|
| void InitAsyncURLChecker(net::URLRequestContextGetter* context);
|
| @@ -181,9 +176,7 @@ class SupervisedUserURLFilter
|
| const scoped_refptr<base::TaskRunner>& task_runner);
|
|
|
| private:
|
| - friend class base::RefCountedThreadSafe<SupervisedUserURLFilter>;
|
| friend class SupervisedUserURLFilterTest;
|
| - ~SupervisedUserURLFilter();
|
|
|
| void SetContents(std::unique_ptr<Contents> url_matcher);
|
|
|
| @@ -222,6 +215,8 @@ class SupervisedUserURLFilter
|
|
|
| scoped_refptr<base::TaskRunner> blocking_task_runner_;
|
|
|
| + base::WeakPtrFactory<SupervisedUserURLFilter> weak_ptr_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SupervisedUserURLFilter);
|
| };
|
|
|
|
|