summaryrefslogtreecommitdiffstats
path: root/extensions/common/extension_urls.h
diff options
context:
space:
mode:
authorrockot <rockot@chromium.org>2014-09-18 12:31:52 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-18 19:32:14 +0000
commit9065985da2ce2a4f73150ac5eabab29c5d67505d (patch)
treea7e5407965a7b5e6905210344c2352ff2ce4adb5 /extensions/common/extension_urls.h
parentd4a62b87d28f0bda1c9453f02d9ea22fccaf700c (diff)
downloadchromium_src-9065985da2ce2a4f73150ac5eabab29c5d67505d.zip
chromium_src-9065985da2ce2a4f73150ac5eabab29c5d67505d.tar.gz
chromium_src-9065985da2ce2a4f73150ac5eabab29c5d67505d.tar.bz2
Move Webstore URL concepts to //extensions and out
of Chrome-specific "constants." These URLs can be overridden by extensions embedders now and are no longer incorrectly classified as "constants." BUG=398671 TBR=xiyuan@chromium.org,sky@chromium.org for various files with header updates Review URL: https://codereview.chromium.org/575113002 Cr-Commit-Position: refs/heads/master@{#295523}
Diffstat (limited to 'extensions/common/extension_urls.h')
-rw-r--r--extensions/common/extension_urls.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/extensions/common/extension_urls.h b/extensions/common/extension_urls.h
index 2236a81..2440a83 100644
--- a/extensions/common/extension_urls.h
+++ b/extensions/common/extension_urls.h
@@ -5,8 +5,12 @@
#ifndef EXTENSIONS_COMMON_EXTENSION_URLS_H_
#define EXTENSIONS_COMMON_EXTENSION_URLS_H_
+#include <string>
+
#include "base/strings/string16.h"
+class GURL;
+
namespace extensions {
// The name of the event_bindings module.
@@ -23,4 +27,56 @@ bool IsSourceFromAnExtension(const base::string16& source);
} // namespace extensions
+namespace extension_urls {
+
+// Canonical URLs for the Chrome Webstore. You probably want to use one of
+// the calls below rather than using one of these constants directly, since
+// the active extensions embedder may provide its own webstore URLs.
+extern const char kChromeWebstoreBaseURL[];
+extern const char kChromeWebstoreUpdateURL[];
+
+// Returns the URL prefix for the extension/apps gallery. Can be set via the
+// --apps-gallery-url switch. The URL returned will not contain a trailing
+// slash. Do not use this as a prefix/extent for the store.
+std::string GetWebstoreLaunchURL();
+
+// Returns the URL to the extensions category on the Web Store. This is
+// derived from GetWebstoreLaunchURL().
+std::string GetWebstoreExtensionsCategoryURL();
+
+// Returns the URL prefix for an item in the extension/app gallery. This URL
+// will contain a trailing slash and should be concatenated with an item ID
+// to get the item detail URL.
+std::string GetWebstoreItemDetailURLPrefix();
+
+// Returns the URL used to get webstore data (ratings, manifest, icon URL,
+// etc.) about an extension from the webstore as JSON.
+GURL GetWebstoreItemJsonDataURL(const std::string& extension_id);
+
+// Returns the URL used to get webstore search results in JSON format. The URL
+// returns a JSON dictionary that has the search results (under "results").
+// Each entry in the array is a dictionary as the data returned for
+// GetWebstoreItemJsonDataURL above. |query| is the user typed query string.
+// |host_language_code| is the host language code, e.g. en_US. Both arguments
+// will be escaped and added as a query parameter to the returned web store
+// json search URL.
+GURL GetWebstoreJsonSearchUrl(const std::string& query,
+ const std::string& host_language_code);
+
+// Returns the URL of the web store search results page for |query|.
+GURL GetWebstoreSearchPageUrl(const std::string& query);
+
+// Return the update URL used by gallery/webstore extensions/apps. This may
+// have been overridden by a command line flag for testing purposes.
+GURL GetWebstoreUpdateUrl();
+
+// Returns whether the URL is the webstore update URL (just considering host
+// and path, not scheme, query, etc.)
+bool IsWebstoreUpdateUrl(const GURL& update_url);
+
+// Returns true if the URL points to an extension blacklist.
+bool IsBlacklistUpdateUrl(const GURL& url);
+
+} // namespace extension_urls
+
#endif // EXTENSIONS_COMMON_EXTENSION_URLS_H_