| Index: chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.cc b/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| index 61c93045320506ffdce619012603406ac45a5c1f..3f2ccb9b7d70f1e52403eed64721b173e34207d7 100644
|
| --- a/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| +++ b/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| @@ -81,8 +81,10 @@ const char* kFilteredSchemes[] = {
|
| };
|
|
|
| #if defined(ENABLE_EXTENSIONS)
|
| -const char kCrxDownloadUrl[] =
|
| - "https://clients2.googleusercontent.com/crx/blobs/";
|
| +const char* kCrxDownloadUrls[] = {
|
| + "https://clients2.googleusercontent.com/crx/blobs/",
|
| + "https://chrome.google.com/webstore/download/"
|
| +};
|
| #endif
|
|
|
| // This class encapsulates all the state that is required during construction of
|
| @@ -342,14 +344,16 @@ SupervisedUserURLFilter::GetFilteringBehaviorForURL(
|
| if (extension_urls::GetWebstoreUpdateUrl() == Normalize(effective_url))
|
| return ALLOW;
|
|
|
| - // The actual CRX files are downloaded from another URL. Allow that too.
|
| - GURL crx_download_url(kCrxDownloadUrl);
|
| - if (effective_url.SchemeIs(url::kHttpsScheme) &&
|
| - crx_download_url.host_piece() == effective_url.host_piece() &&
|
| - base::StartsWith(effective_url.path_piece(),
|
| - crx_download_url.path_piece(),
|
| - base::CompareCase::SENSITIVE)) {
|
| - return ALLOW;
|
| + // The actual CRX files are downloaded from other URLs. Allow them too.
|
| + for (const char* crx_download_url_str : kCrxDownloadUrls) {
|
| + GURL crx_download_url(crx_download_url_str);
|
| + if (effective_url.SchemeIs(url::kHttpsScheme) &&
|
| + crx_download_url.host_piece() == effective_url.host_piece() &&
|
| + base::StartsWith(effective_url.path_piece(),
|
| + crx_download_url.path_piece(),
|
| + base::CompareCase::SENSITIVE)) {
|
| + return ALLOW;
|
| + }
|
| }
|
| #endif
|
|
|
|
|