diff options
author | rockot <rockot@chromium.org> | 2014-09-18 12:31:52 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-18 19:32:14 +0000 |
commit | 9065985da2ce2a4f73150ac5eabab29c5d67505d (patch) | |
tree | a7e5407965a7b5e6905210344c2352ff2ce4adb5 /extensions/common/extension_urls.h | |
parent | d4a62b87d28f0bda1c9453f02d9ea22fccaf700c (diff) | |
download | chromium_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.h | 56 |
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_ |