1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef EXTENSIONS_COMMON_EXTENSION_URLS_H_
6 #define EXTENSIONS_COMMON_EXTENSION_URLS_H_
10 #include "base/strings/string16.h"
14 namespace extensions
{
16 // The name of the event_bindings module.
17 extern const char kEventBindings
[];
19 // The name of the schemaUtils module.
20 extern const char kSchemaUtils
[];
22 // Determine whether or not a source came from an extension. |source| can link
23 // to a page or a script, and can be external (e.g., "http://www.google.com"),
24 // extension-related (e.g., "chrome-extension://<extension_id>/background.js"),
25 // or internal (e.g., "event_bindings" or "schemaUtils").
26 bool IsSourceFromAnExtension(const base::string16
& source
);
28 } // namespace extensions
30 namespace extension_urls
{
32 // Canonical URLs for the Chrome Webstore. You probably want to use one of
33 // the calls below rather than using one of these constants directly, since
34 // the active extensions embedder may provide its own webstore URLs.
35 extern const char kChromeWebstoreBaseURL
[];
36 extern const char kChromeWebstoreUpdateURL
[];
38 // Returns the URL prefix for the extension/apps gallery. Can be set via the
39 // --apps-gallery-url switch. The URL returned will not contain a trailing
40 // slash. Do not use this as a prefix/extent for the store.
41 std::string
GetWebstoreLaunchURL();
43 // Returns the URL to the extensions category on the Web Store. This is
44 // derived from GetWebstoreLaunchURL().
45 std::string
GetWebstoreExtensionsCategoryURL();
47 // Returns the URL prefix for an item in the extension/app gallery. This URL
48 // will contain a trailing slash and should be concatenated with an item ID
49 // to get the item detail URL.
50 std::string
GetWebstoreItemDetailURLPrefix();
52 // Returns the URL used to get webstore data (ratings, manifest, icon URL,
53 // etc.) about an extension from the webstore as JSON.
54 GURL
GetWebstoreItemJsonDataURL(const std::string
& extension_id
);
56 // Returns the URL used to get webstore search results in JSON format. The URL
57 // returns a JSON dictionary that has the search results (under "results").
58 // Each entry in the array is a dictionary as the data returned for
59 // GetWebstoreItemJsonDataURL above. |query| is the user typed query string.
60 // |host_language_code| is the host language code, e.g. en_US. Both arguments
61 // will be escaped and added as a query parameter to the returned web store
63 GURL
GetWebstoreJsonSearchUrl(const std::string
& query
,
64 const std::string
& host_language_code
);
66 // Returns the URL of the web store search results page for |query|.
67 GURL
GetWebstoreSearchPageUrl(const std::string
& query
);
69 // Return the update URL used by gallery/webstore extensions/apps. This may
70 // have been overridden by a command line flag for testing purposes.
71 GURL
GetWebstoreUpdateUrl();
73 // Returns the url to visit to report abuse for the given |extension_id|
75 GURL
GetWebstoreReportAbuseUrl(const std::string
& extension_id
,
76 const std::string
& referrer_id
);
78 // Returns whether the URL is the webstore update URL (just considering host
79 // and path, not scheme, query, etc.)
80 bool IsWebstoreUpdateUrl(const GURL
& update_url
);
82 // Returns true if the URL points to an extension blacklist.
83 bool IsBlacklistUpdateUrl(const GURL
& url
);
85 } // namespace extension_urls
87 #endif // EXTENSIONS_COMMON_EXTENSION_URLS_H_