summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortreib <treib@chromium.org>2014-11-24 04:35:48 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-24 12:36:07 +0000
commite81fd0f30e02e007ba86c63c9a1ce5299150fc54 (patch)
treea7f03719487992a74bc2c9beca2e156392f2ce7f
parent6c33f25875f8fe6c4fc6c6509309417653580845 (diff)
downloadchromium_src-e81fd0f30e02e007ba86c63c9a1ce5299150fc54.zip
chromium_src-e81fd0f30e02e007ba86c63c9a1ce5299150fc54.tar.gz
chromium_src-e81fd0f30e02e007ba86c63c9a1ce5299150fc54.tar.bz2
Revert of Revert of Supervised user SafeSites: Expose & use API key from src-internal (patchset #1 id:1 of https://codereview.chromium.org/753683004/)
Reason for revert: Relanding because the original reason for reverting looks like a flake rather than an issue with the CL. Original issue's description: > Revert of Supervised user SafeSites: Expose & use API key from src-internal (patchset #5 id:80001 of https://codereview.chromium.org/690423003/) > > Reason for revert: > Build breakage on Mac: > > https://build.chromium.org/p/chromium.mac/builders/Mac%20Builder/builds/14318/steps/steps/logs/stdio > > Original issue's description: > > Supervised user SafeSites: Expose & use API key from src-internal > > > > Key was added to src-internal in https://chromereviews.googleplex.com/113767014/ > > > > BUG=417722 > > > > Committed: https://crrev.com/2ee5f146d57d07bbad3804715e06590b850711f9 > > Cr-Commit-Position: refs/heads/master@{#305412} > > TBR=rogerta@chromium.org,bauerb@chromium.org,treib@chromium.org > NOTREECHECKS=true > NOTRY=true > BUG=417722 > > Committed: https://crrev.com/13c88c66f60e6364478a411e8ccf0bfd689f0a96 > Cr-Commit-Position: refs/heads/master@{#305413} TBR=rogerta@chromium.org,bauerb@chromium.org,tnagel@chromium.org NOTRY=true BUG=417722 Review URL: https://codereview.chromium.org/756593002 Cr-Commit-Position: refs/heads/master@{#305416}
-rw-r--r--chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc15
-rw-r--r--chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.h7
-rw-r--r--chrome/browser/supervised_user/experimental/supervised_user_async_url_checker_unittest.cc3
-rw-r--r--chrome/browser/supervised_user/supervised_user_service.cc9
-rw-r--r--chrome/browser/supervised_user/supervised_user_service.h6
-rw-r--r--chrome/browser/supervised_user/supervised_user_url_filter.cc6
-rw-r--r--chrome/browser/supervised_user/supervised_user_url_filter.h3
-rw-r--r--google_apis/google_api_keys.cc18
-rw-r--r--google_apis/google_api_keys.h2
9 files changed, 35 insertions, 34 deletions
diff --git a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc b/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc
index db0455d..97f9033 100644
--- a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc
+++ b/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc
@@ -181,19 +181,15 @@ SupervisedUserAsyncURLChecker::CheckResult::CheckResult(
SupervisedUserAsyncURLChecker::SupervisedUserAsyncURLChecker(
URLRequestContextGetter* context,
- const std::string& cx,
- const std::string& api_key)
+ const std::string& cx)
: context_(context), cx_(cx), cache_(kDefaultCacheSize) {
- SetApiKey(api_key);
}
SupervisedUserAsyncURLChecker::SupervisedUserAsyncURLChecker(
URLRequestContextGetter* context,
const std::string& cx,
- const std::string& api_key,
size_t cache_size)
: context_(context), cx_(cx), cache_(cache_size) {
- SetApiKey(api_key);
}
SupervisedUserAsyncURLChecker::~SupervisedUserAsyncURLChecker() {}
@@ -237,10 +233,11 @@ bool SupervisedUserAsyncURLChecker::CheckURL(const GURL& url,
}
DVLOG(1) << "Checking URL " << url;
+ std::string api_key = google_apis::GetSafeSitesAPIKey();
scoped_ptr<URLFetcher> fetcher_safe(
- CreateFetcher(this, context_, cx_, api_key_, url, true));
+ CreateFetcher(this, context_, cx_, api_key, url, true));
scoped_ptr<URLFetcher> fetcher_unsafe(
- CreateFetcher(this, context_, cx_, api_key_, url, false));
+ CreateFetcher(this, context_, cx_, api_key, url, false));
fetcher_safe->Start();
fetcher_unsafe->Start();
checks_in_progress_.push_back(
@@ -248,10 +245,6 @@ bool SupervisedUserAsyncURLChecker::CheckURL(const GURL& url,
return false;
}
-void SupervisedUserAsyncURLChecker::SetApiKey(const std::string& api_key) {
- api_key_ = api_key.empty() ? google_apis::GetAPIKey() : api_key;
-}
-
void SupervisedUserAsyncURLChecker::OnURLFetchComplete(
const net::URLFetcher* source) {
ScopedVector<Check>::iterator it = checks_in_progress_.begin();
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 ee8132f..f38b3c9 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
@@ -32,11 +32,9 @@ class SupervisedUserAsyncURLChecker : net::URLFetcherDelegate {
CheckCallback;
SupervisedUserAsyncURLChecker(net::URLRequestContextGetter* context,
- const std::string& cx,
- const std::string& api_key);
+ const std::string& cx);
SupervisedUserAsyncURLChecker(net::URLRequestContextGetter* context,
const std::string& cx,
- const std::string& api_key,
size_t cache_size);
virtual ~SupervisedUserAsyncURLChecker();
@@ -52,14 +50,11 @@ class SupervisedUserAsyncURLChecker : net::URLFetcherDelegate {
bool uncertain;
};
- void SetApiKey(const std::string& api_key);
-
// net::URLFetcherDelegate implementation.
virtual void OnURLFetchComplete(const net::URLFetcher* source) override;
net::URLRequestContextGetter* context_;
std::string cx_;
- std::string api_key_;
ScopedVector<Check> checks_in_progress_;
diff --git a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker_unittest.cc b/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker_unittest.cc
index 1920110..f08b8b1 100644
--- a/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker_unittest.cc
+++ b/chrome/browser/supervised_user/experimental/supervised_user_async_url_checker_unittest.cc
@@ -22,7 +22,6 @@ using testing::_;
namespace {
const char kCx[] = "somecsecx";
-const char kApiKey[] = "someapikey";
const size_t kCacheSize = 2;
const int kSupervisedUserAsyncURLCheckerSafeURLFetcherID = 0;
@@ -67,7 +66,7 @@ class SupervisedUserAsyncURLCheckerTest : public testing::Test {
: next_url_(0),
request_context_(new net::TestURLRequestContextGetter(
base::MessageLoopProxy::current())),
- checker_(request_context_.get(), kCx, kApiKey, kCacheSize) {
+ checker_(request_context_.get(), kCx, kCacheSize) {
}
MOCK_METHOD3(OnCheckDone,
diff --git a/chrome/browser/supervised_user/supervised_user_service.cc b/chrome/browser/supervised_user/supervised_user_service.cc
index 0efaf76..c5dc24a 100644
--- a/chrome/browser/supervised_user/supervised_user_service.cc
+++ b/chrome/browser/supervised_user/supervised_user_service.cc
@@ -172,14 +172,13 @@ void SupervisedUserService::URLFilterContext::OnBlacklistLoaded() {
void SupervisedUserService::URLFilterContext::InitAsyncURLChecker(
net::URLRequestContextGetter* context,
- const std::string& cx,
- const std::string& api_key) {
- ui_url_filter_->InitAsyncURLChecker(context, cx, api_key);
+ const std::string& cx) {
+ ui_url_filter_->InitAsyncURLChecker(context, cx);
BrowserThread::PostTask(
BrowserThread::IO,
FROM_HERE,
base::Bind(&SupervisedUserURLFilter::InitAsyncURLChecker,
- io_url_filter_, context, cx, api_key));
+ io_url_filter_, context, cx));
}
SupervisedUserService::SupervisedUserService(Profile* profile)
@@ -862,7 +861,7 @@ void SupervisedUserService::SetActive(bool active) {
const std::string& cx = delegate_->GetSafeSitesCx();
if (!cx.empty()) {
url_filter_context_.InitAsyncURLChecker(
- profile_->GetRequestContext(), cx, delegate_->GetSafeSitesApiKey());
+ profile_->GetRequestContext(), cx);
}
}
diff --git a/chrome/browser/supervised_user/supervised_user_service.h b/chrome/browser/supervised_user/supervised_user_service.h
index 0a8571c..e7ef2ab 100644
--- a/chrome/browser/supervised_user/supervised_user_service.h
+++ b/chrome/browser/supervised_user/supervised_user_service.h
@@ -91,8 +91,7 @@ class SupervisedUserService : public KeyedService,
// experimental "SafeSites" feature, or the empty string to disable the
// feature.
virtual std::string GetSafeSitesCx() const;
- // Returns a custom Google API key to use for SafeSites, or the empty string
- // to use the default one.
+ // TODO(treib): Unused, remove this!
virtual std::string GetSafeSitesApiKey() const;
};
@@ -230,8 +229,7 @@ class SupervisedUserService : public KeyedService,
void SetManualURLs(scoped_ptr<std::map<GURL, bool> > url_map);
void InitAsyncURLChecker(net::URLRequestContextGetter* context,
- const std::string& cx,
- const std::string& api_key);
+ const std::string& cx);
private:
void OnBlacklistLoaded();
diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.cc b/chrome/browser/supervised_user/supervised_user_url_filter.cc
index d82bd9b..4602dc1 100644
--- a/chrome/browser/supervised_user/supervised_user_url_filter.cc
+++ b/chrome/browser/supervised_user/supervised_user_url_filter.cc
@@ -419,10 +419,8 @@ void SupervisedUserURLFilter::SetManualURLs(
void SupervisedUserURLFilter::InitAsyncURLChecker(
net::URLRequestContextGetter* context,
- const std::string& cx,
- const std::string& api_key) {
- async_url_checker_.reset(new SupervisedUserAsyncURLChecker(
- context, cx, api_key));
+ const std::string& cx) {
+ async_url_checker_.reset(new SupervisedUserAsyncURLChecker(context, cx));
}
bool SupervisedUserURLFilter::HasAsyncURLChecker() const {
diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.h b/chrome/browser/supervised_user/supervised_user_url_filter.h
index 91ae448..154c6f9 100644
--- a/chrome/browser/supervised_user/supervised_user_url_filter.h
+++ b/chrome/browser/supervised_user/supervised_user_url_filter.h
@@ -144,8 +144,7 @@ class SupervisedUserURLFilter
// Initializes the experimental asynchronous checker.
// |cx| is the identifier of the Custom Search Engine to use.
void InitAsyncURLChecker(net::URLRequestContextGetter* context,
- const std::string& cx,
- const std::string& api_key);
+ const std::string& cx);
// Returns whether the asynchronous checker is set up.
bool HasAsyncURLChecker() const;
diff --git a/google_apis/google_api_keys.cc b/google_apis/google_api_keys.cc
index 640b2ad..60f0b30 100644
--- a/google_apis/google_api_keys.cc
+++ b/google_apis/google_api_keys.cc
@@ -26,6 +26,10 @@
#define GOOGLE_API_KEY DUMMY_API_TOKEN
#endif
+#if !defined(GOOGLE_API_KEY_SAFESITES)
+#define GOOGLE_API_KEY_SAFESITES DUMMY_API_TOKEN
+#endif
+
#if !defined(GOOGLE_CLIENT_ID_MAIN)
#define GOOGLE_CLIENT_ID_MAIN DUMMY_API_TOKEN
#endif
@@ -86,6 +90,14 @@ class APIKeyCache {
environment.get(),
command_line);
+ api_key_safesites_ =
+ CalculateKeyValue(GOOGLE_API_KEY_SAFESITES,
+ STRINGIZE_NO_EXPANSION(GOOGLE_API_KEY_SAFESITES),
+ NULL,
+ std::string(),
+ environment.get(),
+ command_line);
+
std::string default_client_id =
CalculateKeyValue(GOOGLE_DEFAULT_CLIENT_ID,
STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID),
@@ -169,6 +181,7 @@ class APIKeyCache {
}
std::string api_key() const { return api_key_; }
+ std::string api_key_safesites() const { return api_key_safesites_; }
std::string GetClientID(OAuth2Client client) const {
DCHECK_LT(client, CLIENT_NUM_ITEMS);
@@ -234,6 +247,7 @@ class APIKeyCache {
}
std::string api_key_;
+ std::string api_key_safesites_;
std::string client_ids_[CLIENT_NUM_ITEMS];
std::string client_secrets_[CLIENT_NUM_ITEMS];
};
@@ -260,6 +274,10 @@ std::string GetAPIKey() {
return g_api_key_cache.Get().api_key();
}
+std::string GetSafeSitesAPIKey() {
+ return g_api_key_cache.Get().api_key_safesites();
+}
+
std::string GetOAuth2ClientID(OAuth2Client client) {
return g_api_key_cache.Get().GetClientID(client);
}
diff --git a/google_apis/google_api_keys.h b/google_apis/google_api_keys.h
index b2399bf..9650593 100644
--- a/google_apis/google_api_keys.h
+++ b/google_apis/google_api_keys.h
@@ -66,6 +66,8 @@ bool HasKeysConfigured();
// e.g. URL-escaped if you use it in a URL.
std::string GetAPIKey();
+std::string GetSafeSitesAPIKey();
+
// Represents the different sets of client IDs and secrets in use.
enum OAuth2Client {
CLIENT_MAIN, // Several different features use this.