Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(249)

Side by Side Diff: chrome/browser/extensions/api/web_request/web_request_permissions.cc

Issue 321533003: Separate PermissionsData::CanExecuteScriptOnPage into two functions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/web_request/web_request_permissions.h" 5 #include "chrome/browser/extensions/api/web_request/web_request_permissions.h"
6 6
7 #include "base/strings/string_util.h" 7 #include "base/strings/string_util.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "chrome/browser/extensions/extension_renderer_state.h" 9 #include "chrome/browser/extensions/extension_renderer_state.h"
10 #include "chrome/common/extensions/extension_constants.h" 10 #include "chrome/common/extensions/extension_constants.h"
11 #include "chrome/common/url_constants.h" 11 #include "chrome/common/url_constants.h"
12 #include "content/public/browser/resource_request_info.h" 12 #include "content/public/browser/resource_request_info.h"
13 #include "extensions/browser/info_map.h" 13 #include "extensions/browser/info_map.h"
14 #include "extensions/common/constants.h" 14 #include "extensions/common/constants.h"
15 #include "extensions/common/extension.h" 15 #include "extensions/common/extension.h"
16 #include "extensions/common/permissions/permissions_data.h" 16 #include "extensions/common/permissions/permissions_data.h"
17 #include "net/url_request/url_request.h" 17 #include "net/url_request/url_request.h"
18 #include "url/gurl.h" 18 #include "url/gurl.h"
19 19
20 using content::ResourceRequestInfo; 20 using content::ResourceRequestInfo;
21 21
22 namespace { 22 namespace {
23 23
24 // Returns true if the URL is sensitive and requests to this URL must not be 24 // Returns true if the URL is sensitive and requests to this URL must not be
25 // modified/canceled by extensions, e.g. because it is targeted to the webstore 25 // modified/canceled by extensions, e.g. because it is targeted to the webstore
26 // to check for updates, extension blacklisting, etc. 26 // to check for updates, extension blacklisting, etc.
27 bool IsSensitiveURL(const GURL& url) { 27 bool IsSensitiveURL(const GURL& url) {
28 // TODO(battre) Merge this, CanExtensionAccessURL and 28 // TODO(battre) Merge this, CanExtensionAccessURL and
29 // PermissionsData::CanExecuteScriptOnPage into one function. 29 // PermissionsData::CanAccessPage into one function.
30 bool sensitive_chrome_url = false; 30 bool sensitive_chrome_url = false;
31 const std::string host = url.host(); 31 const std::string host = url.host();
32 const char kGoogleCom[] = ".google.com"; 32 const char kGoogleCom[] = ".google.com";
33 const char kClient[] = "clients"; 33 const char kClient[] = "clients";
34 if (EndsWith(host, kGoogleCom, true)) { 34 if (EndsWith(host, kGoogleCom, true)) {
35 // Check for "clients[0-9]*.google.com" hosts. 35 // Check for "clients[0-9]*.google.com" hosts.
36 // This protects requests to several internal services such as sync, 36 // This protects requests to several internal services such as sync,
37 // extension update pings, captive portal detection, fraudulent certificate 37 // extension update pings, captive portal detection, fraudulent certificate
38 // reporting, autofill and others. 38 // reporting, autofill and others.
39 if (StartsWithASCII(host, kClient, true)) { 39 if (StartsWithASCII(host, kClient, true)) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 } 139 }
140 break; 140 break;
141 case REQUIRE_ALL_URLS: 141 case REQUIRE_ALL_URLS:
142 if (!extension->permissions_data()->HasEffectiveAccessToAllHosts()) 142 if (!extension->permissions_data()->HasEffectiveAccessToAllHosts())
143 return false; 143 return false;
144 break; 144 break;
145 } 145 }
146 146
147 return true; 147 return true;
148 } 148 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs_api.cc ('k') | chrome/browser/extensions/browser_permissions_policy_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698