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

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

Issue 2449913002: Support WebSocket in WebRequest API. (Closed)
Patch Set: Extract process and frame ID from WS requests. Created 4 years, 1 month 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
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 "extensions/browser/api/web_request/web_request_permissions.h" 5 #include "extensions/browser/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 "content/public/browser/resource_request_info.h" 9 #include "content/public/browser/resource_request_info.h"
10 #include "extensions/browser/extension_navigation_ui_data.h" 10 #include "extensions/browser/extension_navigation_ui_data.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 extension_urls::IsWebstoreUpdateUrl(url_without_query) || 68 extension_urls::IsWebstoreUpdateUrl(url_without_query) ||
69 extension_urls::IsBlacklistUpdateUrl(url); 69 extension_urls::IsBlacklistUpdateUrl(url);
70 } 70 }
71 71
72 // Returns true if the scheme is one we want to allow extensions to have access 72 // Returns true if the scheme is one we want to allow extensions to have access
73 // to. Extensions still need specific permissions for a given URL, which is 73 // to. Extensions still need specific permissions for a given URL, which is
74 // covered by CanExtensionAccessURL. 74 // covered by CanExtensionAccessURL.
75 bool HasWebRequestScheme(const GURL& url) { 75 bool HasWebRequestScheme(const GURL& url) {
76 return (url.SchemeIs(url::kAboutScheme) || url.SchemeIs(url::kFileScheme) || 76 return (url.SchemeIs(url::kAboutScheme) || url.SchemeIs(url::kFileScheme) ||
77 url.SchemeIs(url::kFileSystemScheme) || 77 url.SchemeIs(url::kFileSystemScheme) ||
78 url.SchemeIs(url::kFtpScheme) || url.SchemeIs(url::kHttpScheme) || 78 url.SchemeIs(url::kFtpScheme) || url.SchemeIsHTTPOrHTTPS() ||
79 url.SchemeIs(url::kHttpsScheme) || 79 url.SchemeIs(extensions::kExtensionScheme) || url.SchemeIsWSOrWSS());
80 url.SchemeIs(extensions::kExtensionScheme));
81 } 80 }
82 81
83 } // namespace 82 } // namespace
84 83
85 // static 84 // static
86 bool WebRequestPermissions::HideRequest( 85 bool WebRequestPermissions::HideRequest(
87 const extensions::InfoMap* extension_info_map, 86 const extensions::InfoMap* extension_info_map,
88 const net::URLRequest* request, 87 const net::URLRequest* request,
89 extensions::ExtensionNavigationUIData* navigation_ui_data) { 88 extensions::ExtensionNavigationUIData* navigation_ui_data) {
90 // Hide requests from the Chrome WebStore App or signin process. 89 // Hide requests from the Chrome WebStore App or signin process.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 break; 146 break;
148 case REQUIRE_ALL_URLS: 147 case REQUIRE_ALL_URLS:
149 if (extension->permissions_data()->HasEffectiveAccessToAllHosts()) 148 if (extension->permissions_data()->HasEffectiveAccessToAllHosts())
150 access = PermissionsData::ACCESS_ALLOWED; 149 access = PermissionsData::ACCESS_ALLOWED;
151 // else ACCESS_DENIED 150 // else ACCESS_DENIED
152 break; 151 break;
153 } 152 }
154 153
155 return access; 154 return access;
156 } 155 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698