| Index: chrome/browser/extensions/api/web_request/web_request_api_helpers.cc
|
| diff --git a/chrome/browser/extensions/api/web_request/web_request_api_helpers.cc b/chrome/browser/extensions/api/web_request/web_request_api_helpers.cc
|
| index 871f29aeb4a517602ce967d6f2c76f434fd9d286..5e29a4efc5c43f403347f850263b3c90502e7357 100644
|
| --- a/chrome/browser/extensions/api/web_request/web_request_api_helpers.cc
|
| +++ b/chrome/browser/extensions/api/web_request/web_request_api_helpers.cc
|
| @@ -10,6 +10,7 @@
|
| #include "chrome/browser/extensions/api/web_request/web_request_api.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "net/http/http_util.h"
|
| +#include "net/url_request/url_request.h"
|
|
|
| namespace extension_web_request_api_helpers {
|
|
|
| @@ -593,6 +594,8 @@ namespace {
|
| // modified/canceled by extensions, e.g. because it is targeted to the webstore
|
| // to check for updates, extension blacklisting, etc.
|
| bool IsSensitiveURL(const GURL& url) {
|
| + // TODO(battre) Merge this, CanExtensionAccessURL of web_request_api.cc and
|
| + // Extension::CanExecuteScriptOnPage into one function.
|
| bool is_webstore_gallery_url =
|
| StartsWithASCII(url.spec(), extension_urls::kGalleryBrowsePrefix, true);
|
| bool sensitive_chrome_url = false;
|
| @@ -631,8 +634,17 @@ bool HasWebRequestScheme(const GURL& url) {
|
|
|
| } // namespace
|
|
|
| -bool HideRequestForURL(const GURL& url) {
|
| - return IsSensitiveURL(url) || !HasWebRequestScheme(url);
|
| +bool HideRequest(net::URLRequest* request) {
|
| + const GURL& url = request->url();
|
| + const GURL& first_party_url = request->first_party_for_cookies();
|
| + bool hide = false;
|
| + if (first_party_url.is_valid()) {
|
| + hide = IsSensitiveURL(first_party_url) ||
|
| + !HasWebRequestScheme(first_party_url);
|
| + }
|
| + if (!hide)
|
| + hide = IsSensitiveURL(url) || !HasWebRequestScheme(url);
|
| + return hide;
|
| }
|
|
|
| #define ARRAYEND(array) (array + arraysize(array))
|
|
|