Index: chrome/common/extensions/extension.cc |
diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc |
index a5780c242a6f6b0a5bfa29c74dd748a2d06a28ac..7539f7f35b35c12ef29730ff0c9e414bec0e95f1 100644 |
--- a/chrome/common/extensions/extension.cc |
+++ b/chrome/common/extensions/extension.cc |
@@ -1488,12 +1488,20 @@ bool Extension::InitFromValue(const DictionaryValue& source, bool require_key, |
return true; |
} |
+// static |
+std::string Extension::ChromeStoreURL() { |
+ std::string gallery_prefix = extension_urls::kGalleryBrowsePrefix; |
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAppsGalleryURL)) |
+ gallery_prefix = CommandLine::ForCurrentProcess()->GetSwitchValueASCII( |
+ switches::kAppsGalleryURL); |
+ return gallery_prefix; |
+} |
+ |
GURL Extension::GalleryUrl() const { |
if (!update_url_.DomainIs("google.com")) |
return GURL(); |
- GURL url(std::string(extension_urls::kGalleryBrowsePrefix) + |
- std::string("/detail/") + id_); |
+ GURL url(ChromeStoreURL() + std::string("/detail/") + id_); |
return url; |
} |
@@ -1645,7 +1653,7 @@ bool Extension::CanExecuteScriptOnHost(const GURL& url, |
std::string* error) const { |
// No extensions are allowed to execute script on the gallery because that |
// would allow extensions to manipulate their own install pages. |
- if (url.host() == GURL(extension_urls::kGalleryBrowsePrefix).host()) { |
+ if (url.host() == GURL(ChromeStoreURL()).host()) { |
if (error) |
*error = errors::kCannotScriptGallery; |
return false; |