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

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

Issue 325443002: Move about://-related constants from //content to //url (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Android ifx 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"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 GURL url_without_query = url.ReplaceComponents(replacements); 61 GURL url_without_query = url.ReplaceComponents(replacements);
62 return sensitive_chrome_url || 62 return sensitive_chrome_url ||
63 extension_urls::IsWebstoreUpdateUrl(url_without_query) || 63 extension_urls::IsWebstoreUpdateUrl(url_without_query) ||
64 extension_urls::IsBlacklistUpdateUrl(url); 64 extension_urls::IsBlacklistUpdateUrl(url);
65 } 65 }
66 66
67 // Returns true if the scheme is one we want to allow extensions to have access 67 // Returns true if the scheme is one we want to allow extensions to have access
68 // to. Extensions still need specific permissions for a given URL, which is 68 // to. Extensions still need specific permissions for a given URL, which is
69 // covered by CanExtensionAccessURL. 69 // covered by CanExtensionAccessURL.
70 bool HasWebRequestScheme(const GURL& url) { 70 bool HasWebRequestScheme(const GURL& url) {
71 return (url.SchemeIs(content::kAboutScheme) || 71 return (url.SchemeIs(url::kAboutScheme) || url.SchemeIs(url::kFileScheme) ||
72 url.SchemeIs(url::kFileScheme) ||
73 url.SchemeIs(url::kFileSystemScheme) || 72 url.SchemeIs(url::kFileSystemScheme) ||
74 url.SchemeIs(url::kFtpScheme) || 73 url.SchemeIs(url::kFtpScheme) || url.SchemeIs(url::kHttpScheme) ||
75 url.SchemeIs(url::kHttpScheme) ||
76 url.SchemeIs(url::kHttpsScheme) || 74 url.SchemeIs(url::kHttpsScheme) ||
77 url.SchemeIs(extensions::kExtensionScheme)); 75 url.SchemeIs(extensions::kExtensionScheme));
78 } 76 }
79 77
80 } // namespace 78 } // namespace
81 79
82 // static 80 // static
83 bool WebRequestPermissions::HideRequest( 81 bool WebRequestPermissions::HideRequest(
84 const extensions::InfoMap* extension_info_map, 82 const extensions::InfoMap* extension_info_map,
85 const net::URLRequest* request) { 83 const net::URLRequest* request) {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 // Check if this event crosses incognito boundaries when it shouldn't. 123 // Check if this event crosses incognito boundaries when it shouldn't.
126 if (crosses_incognito && !extension_info_map->CanCrossIncognito(extension)) 124 if (crosses_incognito && !extension_info_map->CanCrossIncognito(extension))
127 return false; 125 return false;
128 126
129 switch (host_permissions_check) { 127 switch (host_permissions_check) {
130 case DO_NOT_CHECK_HOST: 128 case DO_NOT_CHECK_HOST:
131 break; 129 break;
132 case REQUIRE_HOST_PERMISSION: 130 case REQUIRE_HOST_PERMISSION:
133 // about: URLs are not covered in host permissions, but are allowed 131 // about: URLs are not covered in host permissions, but are allowed
134 // anyway. 132 // anyway.
135 if (!((url.SchemeIs(content::kAboutScheme) || 133 if (!((url.SchemeIs(url::kAboutScheme) ||
136 extension->permissions_data()->HasHostPermission(url) || 134 extension->permissions_data()->HasHostPermission(url) ||
137 url.GetOrigin() == extension->url()))) { 135 url.GetOrigin() == extension->url()))) {
138 return false; 136 return false;
139 } 137 }
140 break; 138 break;
141 case REQUIRE_ALL_URLS: 139 case REQUIRE_ALL_URLS:
142 if (!extension->permissions_data()->HasEffectiveAccessToAllHosts()) 140 if (!extension->permissions_data()->HasEffectiveAccessToAllHosts())
143 return false; 141 return false;
144 break; 142 break;
145 } 143 }
146 144
147 return true; 145 return true;
148 } 146 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698