Index: chrome/browser/safe_search_api/safe_search_url_checker.cc |
diff --git a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc b/chrome/browser/safe_search_api/safe_search_url_checker.cc |
similarity index 76% |
rename from chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc |
rename to chrome/browser/safe_search_api/safe_search_url_checker.cc |
index d29df9b576b629667486ba4a5f9198a66e0a9939..16dda018fcc8324bbc82d50720c0f966a51d859b 100644 |
--- a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc |
+++ b/chrome/browser/safe_search_api/safe_search_url_checker.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.h" |
+#include "chrome/browser/safe_search_api/safe_search_url_checker.h" |
#include <string> |
#include <utility> |
@@ -87,7 +87,7 @@ bool ParseResponse(const std::string& response, bool* is_porn) { |
} // namespace |
-struct SupervisedUserAsyncURLChecker::Check { |
+struct SafeSearchURLChecker::Check { |
Check(const GURL& url, |
std::unique_ptr<net::URLFetcher> fetcher, |
const CheckCallback& callback); |
@@ -99,54 +99,48 @@ struct SupervisedUserAsyncURLChecker::Check { |
base::TimeTicks start_time; |
}; |
-SupervisedUserAsyncURLChecker::Check::Check( |
- const GURL& url, |
- std::unique_ptr<net::URLFetcher> fetcher, |
- const CheckCallback& callback) |
+SafeSearchURLChecker::Check::Check(const GURL& url, |
+ std::unique_ptr<net::URLFetcher> fetcher, |
+ const CheckCallback& callback) |
: url(url), |
fetcher(std::move(fetcher)), |
callbacks(1, callback), |
start_time(base::TimeTicks::Now()) {} |
-SupervisedUserAsyncURLChecker::Check::~Check() {} |
+SafeSearchURLChecker::Check::~Check() {} |
-SupervisedUserAsyncURLChecker::CheckResult::CheckResult( |
- SupervisedUserURLFilter::FilteringBehavior behavior, |
- bool uncertain) |
- : behavior(behavior), |
+SafeSearchURLChecker::CheckResult::CheckResult(Classification classification, |
+ bool uncertain) |
+ : classification(classification), |
uncertain(uncertain), |
timestamp(base::TimeTicks::Now()) {} |
-SupervisedUserAsyncURLChecker::SupervisedUserAsyncURLChecker( |
- URLRequestContextGetter* context) |
- : SupervisedUserAsyncURLChecker(context, kDefaultCacheSize) {} |
+SafeSearchURLChecker::SafeSearchURLChecker(URLRequestContextGetter* context) |
+ : SafeSearchURLChecker(context, kDefaultCacheSize) {} |
-SupervisedUserAsyncURLChecker::SupervisedUserAsyncURLChecker( |
- URLRequestContextGetter* context, |
- size_t cache_size) |
+SafeSearchURLChecker::SafeSearchURLChecker(URLRequestContextGetter* context, |
+ size_t cache_size) |
: context_(context), |
cache_(cache_size), |
cache_timeout_( |
base::TimeDelta::FromSeconds(kDefaultCacheTimeoutSeconds)) {} |
-SupervisedUserAsyncURLChecker::~SupervisedUserAsyncURLChecker() {} |
+SafeSearchURLChecker::~SafeSearchURLChecker() {} |
-bool SupervisedUserAsyncURLChecker::CheckURL(const GURL& url, |
- const CheckCallback& callback) { |
+bool SafeSearchURLChecker::CheckURL(const GURL& url, |
+ const CheckCallback& callback) { |
// TODO(treib): Hack: For now, allow all Google URLs to save QPS. If we ever |
// remove this, we should find a way to allow at least the NTP. |
- if (google_util::IsGoogleDomainUrl(url, |
- google_util::ALLOW_SUBDOMAIN, |
+ if (google_util::IsGoogleDomainUrl(url, google_util::ALLOW_SUBDOMAIN, |
google_util::ALLOW_NON_STANDARD_PORTS)) { |
- callback.Run(url, SupervisedUserURLFilter::ALLOW, false); |
+ callback.Run(url, Classification::SAFE, false); |
return true; |
} |
// TODO(treib): Hack: For now, allow all YouTube URLs since YouTube has its |
// own Safety Mode anyway. |
- if (google_util::IsYoutubeDomainUrl(url, |
- google_util::ALLOW_SUBDOMAIN, |
+ if (google_util::IsYoutubeDomainUrl(url, google_util::ALLOW_SUBDOMAIN, |
google_util::ALLOW_NON_STANDARD_PORTS)) { |
- callback.Run(url, SupervisedUserURLFilter::ALLOW, false); |
+ callback.Run(url, Classification::SAFE, false); |
return true; |
} |
@@ -156,10 +150,9 @@ bool SupervisedUserAsyncURLChecker::CheckURL(const GURL& url, |
base::TimeDelta age = base::TimeTicks::Now() - result.timestamp; |
if (age < cache_timeout_) { |
DVLOG(1) << "Cache hit! " << url.spec() << " is " |
- << (result.behavior == SupervisedUserURLFilter::BLOCK ? "NOT" |
- : "") |
+ << (result.classification == Classification::UNSAFE ? "NOT" : "") |
<< " safe; certain: " << !result.uncertain; |
- callback.Run(url, result.behavior, result.uncertain); |
+ callback.Run(url, result.classification, result.uncertain); |
return true; |
} |
DVLOG(1) << "Outdated cache entry for " << url.spec() << ", purging"; |
@@ -184,8 +177,7 @@ bool SupervisedUserAsyncURLChecker::CheckURL(const GURL& url, |
return false; |
} |
-void SupervisedUserAsyncURLChecker::OnURLFetchComplete( |
- const net::URLFetcher* source) { |
+void SafeSearchURLChecker::OnURLFetchComplete(const net::URLFetcher* source) { |
ScopedVector<Check>::iterator it = checks_in_progress_.begin(); |
while (it != checks_in_progress_.end()) { |
if (source == (*it)->fetcher.get()) |
@@ -199,7 +191,7 @@ void SupervisedUserAsyncURLChecker::OnURLFetchComplete( |
if (!status.is_success()) { |
DLOG(WARNING) << "URL request failed! Letting through..."; |
for (size_t i = 0; i < check->callbacks.size(); i++) |
- check->callbacks[i].Run(check->url, SupervisedUserURLFilter::ALLOW, true); |
+ check->callbacks[i].Run(check->url, Classification::SAFE, true); |
checks_in_progress_.erase(it); |
return; |
} |
@@ -208,15 +200,16 @@ void SupervisedUserAsyncURLChecker::OnURLFetchComplete( |
source->GetResponseAsString(&response_body); |
bool is_porn = false; |
bool uncertain = !ParseResponse(response_body, &is_porn); |
- SupervisedUserURLFilter::FilteringBehavior behavior = |
- is_porn ? SupervisedUserURLFilter::BLOCK : SupervisedUserURLFilter::ALLOW; |
+ Classification classification = |
+ is_porn ? Classification::UNSAFE : Classification::SAFE; |
+ // TODO(msramek): Consider moving this to SupervisedUserResourceThrottle. |
UMA_HISTOGRAM_TIMES("ManagedUsers.SafeSitesDelay", |
base::TimeTicks::Now() - check->start_time); |
- cache_.Put(check->url, CheckResult(behavior, uncertain)); |
+ cache_.Put(check->url, CheckResult(classification, uncertain)); |
for (size_t i = 0; i < check->callbacks.size(); i++) |
- check->callbacks[i].Run(check->url, behavior, uncertain); |
+ check->callbacks[i].Run(check->url, classification, uncertain); |
checks_in_progress_.erase(it); |
} |