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. 4 5 #ifndef EXTENSIONS_COMMON_EXTENSION_URLS_H_ 6 #define EXTENSIONS_COMMON_EXTENSION_URLS_H_ 7 8 #include <string> 9 10 #include "base/strings/string16.h" 11 12 class GURL; 13 14 namespace extensions { 15 16 // The name of the event_bindings module. 17 extern const char kEventBindings[]; 18 19 // The name of the schemaUtils module. 20 extern const char kSchemaUtils[]; 21 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); 27 28 } // namespace extensions 29 30 namespace extension_urls { 31 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[]; 37 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(); 42 43 // Returns the URL to the extensions category on the Web Store. This is 44 // derived from GetWebstoreLaunchURL(). 45 std::string GetWebstoreExtensionsCategoryURL(); 46 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(); 51 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); 55 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 62 // json search URL. 63 GURL GetWebstoreJsonSearchUrl(const std::string& query, 64 const std::string& host_language_code); 65 66 // Returns the URL of the web store search results page for |query|. 67 GURL GetWebstoreSearchPageUrl(const std::string& query); 68 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(); 72 73 // Returns whether the URL is the webstore update URL (just considering host 74 // and path, not scheme, query, etc.) 75 bool IsWebstoreUpdateUrl(const GURL& update_url); 76 77 // Returns true if the URL points to an extension blacklist. 78 bool IsBlacklistUpdateUrl(const GURL& url); 79 80 } // namespace extension_urls 81 82 #endif // EXTENSIONS_COMMON_EXTENSION_URLS_H_ 83