Chromium Code Reviews| Index: chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.h |
| diff --git a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.h b/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.h |
| index bf8907cd50abed2589a69517933604f9616c5cac..4f9ee12a082856e32d6f11e10307678aba34a624 100644 |
| --- a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.h |
| +++ b/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.h |
| @@ -5,12 +5,11 @@ |
| #ifndef CHROME_BROWSER_SUPERVISED_USER_EXPERIMENTAL_SUPERVISED_USER_ASYNC_URL_CHECKER_H_ |
| #define CHROME_BROWSER_SUPERVISED_USER_EXPERIMENTAL_SUPERVISED_USER_ASYNC_URL_CHECKER_H_ |
| -#include <string> |
| - |
| #include "base/callback_forward.h" |
| #include "base/containers/mru_cache.h" |
| #include "base/macros.h" |
| #include "base/memory/scoped_vector.h" |
| +#include "base/time/time.h" |
| #include "chrome/browser/supervised_user/supervised_user_url_filter.h" |
| #include "net/url_request/url_fetcher_delegate.h" |
| #include "url/gurl.h" |
| @@ -20,16 +19,16 @@ class URLFetcher; |
| class URLRequestContextGetter; |
| } |
| -// This class checks against an online service (currently a Custom Search |
| -// Engine using SafeSearch) whether a given URL is safe to visit for a |
| -// supervised user, and returns the result asynchronously via a callback. |
| +// This class checks against an online service (the SafeSearch API) whether a |
| +// given URL is safe to visit for a supervised user, and returns the result |
| +// asynchronously via a callback. |
| class SupervisedUserAsyncURLChecker : net::URLFetcherDelegate { |
| public: |
| // Returns whether |url| should be blocked. Called from CheckURL. |
| - typedef base::Callback<void(const GURL&, |
| - SupervisedUserURLFilter::FilteringBehavior, |
| - bool /* uncertain */)> |
| - CheckCallback; |
| + using CheckCallback = |
| + base::Callback<void(const GURL&, |
| + SupervisedUserURLFilter::FilteringBehavior, |
| + bool /* uncertain */)>; |
| SupervisedUserAsyncURLChecker(net::URLRequestContextGetter* context); |
| SupervisedUserAsyncURLChecker(net::URLRequestContextGetter* context, |
| @@ -39,6 +38,11 @@ class SupervisedUserAsyncURLChecker : net::URLFetcherDelegate { |
| // Returns whether |callback| was run synchronously. |
| bool CheckURL(const GURL& url, const CheckCallback& callback); |
| + const base::TimeDelta& cache_timeout() const { return cache_timeout_; } |
|
Bernhard Bauer
2015/10/20 08:10:03
Do you actually need this method?
Marc Treib
2015/10/20 08:53:55
No. Removed.
|
| + void set_cache_timeout(const base::TimeDelta& timeout) { |
|
Bernhard Bauer
2015/10/20 08:10:03
Name this method SetCacheTimeoutForTesting?
Marc Treib
2015/10/20 08:53:55
Done.
|
| + cache_timeout_ = timeout; |
| + } |
| + |
| private: |
| struct Check; |
| struct CheckResult { |
| @@ -46,6 +50,7 @@ class SupervisedUserAsyncURLChecker : net::URLFetcherDelegate { |
| bool uncertain); |
| SupervisedUserURLFilter::FilteringBehavior behavior; |
| bool uncertain; |
| + base::TimeTicks timestamp; |
| }; |
| // net::URLFetcherDelegate implementation. |
| @@ -56,6 +61,7 @@ class SupervisedUserAsyncURLChecker : net::URLFetcherDelegate { |
| ScopedVector<Check> checks_in_progress_; |
| base::MRUCache<GURL, CheckResult> cache_; |
| + base::TimeDelta cache_timeout_; |
| DISALLOW_COPY_AND_ASSIGN(SupervisedUserAsyncURLChecker); |
| }; |