| Index: components/safe_browsing_db/util.cc
|
| diff --git a/components/safe_browsing_db/util.cc b/components/safe_browsing_db/util.cc
|
| index 0f38dee61bde5dabba15fa793e4b05d8b5f6032d..18fe4f023247c2aa29089788e16ee8a3d91d50c1 100644
|
| --- a/components/safe_browsing_db/util.cc
|
| +++ b/components/safe_browsing_db/util.cc
|
| @@ -6,9 +6,19 @@
|
|
|
| #include <stddef.h>
|
|
|
| +#ifndef NDEBUG
|
| +#include "base/base64.h"
|
| +#endif
|
| +#include "base/environment.h"
|
| +#include "base/logging.h"
|
| #include "base/macros.h"
|
| +#include "base/stl_util.h"
|
| +#include "base/strings/string_util.h"
|
| +#include "base/strings/stringprintf.h"
|
| #include "base/trace_event/trace_event.h"
|
| +#include "components/version_info/version_info.h"
|
| #include "crypto/sha2.h"
|
| +#include "google_apis/google_api_keys.h"
|
| #include "net/base/escape.h"
|
| #include "url/gurl.h"
|
|
|
| @@ -204,4 +214,54 @@ void UrlToFullHashes(const GURL& url,
|
| }
|
| }
|
|
|
| +SafeBrowsingProtocolConfig::SafeBrowsingProtocolConfig()
|
| + : disable_auto_update(false) {}
|
| +
|
| +SafeBrowsingProtocolConfig::SafeBrowsingProtocolConfig(
|
| + const SafeBrowsingProtocolConfig& other) = default;
|
| +
|
| +SafeBrowsingProtocolConfig::~SafeBrowsingProtocolConfig() {}
|
| +
|
| +std::string Version() {
|
| + if (version_info::GetVersionNumber().empty())
|
| + return "0.1";
|
| + else
|
| + return version_info::GetVersionNumber();
|
| +}
|
| +
|
| +std::string ComposeUrl(const std::string& prefix,
|
| + const std::string& method,
|
| + const std::string& client_name,
|
| + const std::string& version,
|
| + const std::string& additional_query) {
|
| + DCHECK(!prefix.empty() && !method.empty() && !client_name.empty() &&
|
| + !version.empty());
|
| + std::string url =
|
| + base::StringPrintf("%s/%s?client=%s&appver=%s&pver=3.0", prefix.c_str(),
|
| + method.c_str(), client_name.c_str(), version.c_str());
|
| + std::string api_key = google_apis::GetAPIKey();
|
| + if (!api_key.empty()) {
|
| + base::StringAppendF(&url, "&key=%s",
|
| + net::EscapeQueryParamValue(api_key, true).c_str());
|
| + }
|
| + if (!additional_query.empty()) {
|
| + DCHECK(url.find("?") != std::string::npos);
|
| + url.append("&");
|
| + url.append(additional_query);
|
| + }
|
| + return url;
|
| +}
|
| +
|
| +std::string ComposeUrl(const std::string& prefix,
|
| + const std::string& method,
|
| + const std::string& client_name,
|
| + const std::string& version,
|
| + const std::string& additional_query,
|
| + ExtendedReportingLevel reporting_level) {
|
| + std::string url =
|
| + ComposeUrl(prefix, method, client_name, version, additional_query);
|
| + url.append(base::StringPrintf("&ext=%d", reporting_level));
|
| + return url;
|
| +}
|
| +
|
| } // namespace safe_browsing
|
|
|