| Index: extensions/common/extension_urls.cc
|
| diff --git a/extensions/common/extension_urls.cc b/extensions/common/extension_urls.cc
|
| index ba72a63ef21971225eb3a4d124d569a57e223a9f..c58a2d648c94eff3608ba7a2e71bdf4f870a3403 100644
|
| --- a/extensions/common/extension_urls.cc
|
| +++ b/extensions/common/extension_urls.cc
|
| @@ -7,6 +7,9 @@
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "extensions/common/constants.h"
|
| +#include "extensions/common/extensions_client.h"
|
| +#include "net/base/escape.h"
|
| +#include "net/base/url_util.h"
|
| #include "url/gurl.h"
|
|
|
| namespace extensions {
|
| @@ -23,3 +26,67 @@ bool IsSourceFromAnExtension(const base::string16& source) {
|
| }
|
|
|
| } // namespace extensions
|
| +
|
| +namespace extension_urls {
|
| +
|
| +const char kChromeWebstoreBaseURL[] = "https://chrome.google.com/webstore";
|
| +const char kChromeWebstoreUpdateURL[] =
|
| + "https://clients2.google.com/service/update2/crx";
|
| +
|
| +std::string GetWebstoreLaunchURL() {
|
| + extensions::ExtensionsClient* client = extensions::ExtensionsClient::Get();
|
| + if (client)
|
| + return client->GetWebstoreBaseURL();
|
| + return kChromeWebstoreBaseURL;
|
| +}
|
| +
|
| +std::string GetWebstoreExtensionsCategoryURL() {
|
| + return GetWebstoreLaunchURL() + "/category/extensions";
|
| +}
|
| +
|
| +std::string GetWebstoreItemDetailURLPrefix() {
|
| + return GetWebstoreLaunchURL() + "/detail/";
|
| +}
|
| +
|
| +GURL GetWebstoreItemJsonDataURL(const std::string& extension_id) {
|
| + return GURL(GetWebstoreLaunchURL() + "/inlineinstall/detail/" + extension_id);
|
| +}
|
| +
|
| +GURL GetWebstoreJsonSearchUrl(const std::string& query,
|
| + const std::string& host_language_code) {
|
| + GURL url(GetWebstoreLaunchURL() + "/jsonsearch");
|
| + url = net::AppendQueryParameter(url, "q", query);
|
| + url = net::AppendQueryParameter(url, "hl", host_language_code);
|
| + return url;
|
| +}
|
| +
|
| +GURL GetWebstoreSearchPageUrl(const std::string& query) {
|
| + return GURL(GetWebstoreLaunchURL() + "/search/" +
|
| + net::EscapeQueryParamValue(query, false));
|
| +}
|
| +
|
| +GURL GetWebstoreUpdateUrl() {
|
| + extensions::ExtensionsClient* client = extensions::ExtensionsClient::Get();
|
| + if (client)
|
| + return GURL(client->GetWebstoreUpdateURL());
|
| + return GURL(kChromeWebstoreUpdateURL);
|
| +}
|
| +
|
| +bool IsWebstoreUpdateUrl(const GURL& update_url) {
|
| + GURL store_url = GetWebstoreUpdateUrl();
|
| + if (update_url == store_url) {
|
| + return true;
|
| + } else {
|
| + return (update_url.host() == store_url.host() &&
|
| + update_url.path() == store_url.path());
|
| + }
|
| +}
|
| +
|
| +bool IsBlacklistUpdateUrl(const GURL& url) {
|
| + extensions::ExtensionsClient* client = extensions::ExtensionsClient::Get();
|
| + if (client)
|
| + return client->IsBlacklistUpdateURL(url);
|
| + return false;
|
| +}
|
| +
|
| +} // namespace extension_urls
|
|
|