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

Side by Side Diff: extensions/browser/url_request_util.h

Issue 2411293002: Fix cross-renderer resource loads for <webview> with PlzNavigate. (Closed)
Patch Set: fix Created 4 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef EXTENSIONS_BROWSER_URL_REQUEST_UTIL_H_ 5 #ifndef EXTENSIONS_BROWSER_URL_REQUEST_UTIL_H_
6 #define EXTENSIONS_BROWSER_URL_REQUEST_UTIL_H_ 6 #define EXTENSIONS_BROWSER_URL_REQUEST_UTIL_H_
7 7
8 #include <string>
9
10 #include "ui/base/page_transition_types.h"
11
8 namespace net { 12 namespace net {
9 class URLRequest; 13 class URLRequest;
10 } 14 }
11 15
12 namespace extensions { 16 namespace extensions {
13 class Extension; 17 class Extension;
14 class InfoMap; 18 class InfoMap;
15 19
16 // Utilities related to URLRequest jobs for extension resources. See 20 // Utilities related to URLRequest jobs for extension resources. See
17 // chrome/browser/extensions/extension_protocols_unittest.cc for related tests. 21 // chrome/browser/extensions/extension_protocols_unittest.cc for related tests.
18 namespace url_request_util { 22 namespace url_request_util {
19 23
20 // Sets allowed=true to allow a chrome-extension:// resource request coming from 24 // Sets allowed=true to allow a chrome-extension:// resource request coming from
21 // renderer A to access a resource in an extension running in renderer B. 25 // renderer A to access a resource in an extension running in renderer B.
22 // Returns false when it couldn't determine if the resource is allowed or not 26 // Returns false when it couldn't determine if the resource is allowed or not
23 bool AllowCrossRendererResourceLoad(net::URLRequest* request, 27 bool AllowCrossRendererResourceLoad(net::URLRequest* request,
24 bool is_incognito, 28 bool is_incognito,
25 const Extension* extension, 29 const Extension* extension,
26 InfoMap* extension_info_map, 30 InfoMap* extension_info_map,
27 bool* allowed); 31 bool* allowed);
28 32
29 // Returns true if |request| corresponds to a resource request from a 33 // Returns true if |request| corresponds to a resource request from a
30 // <webview>. 34 // <webview>.
31 bool IsWebViewRequest(const net::URLRequest* request); 35 bool IsWebViewRequest(const net::URLRequest* request);
32 36
37 // Helper method that is called by both AllowCrossRendererResourceLoad and
38 // ExtensionNavigationThrottle to share logic.
39 // Sets allowed=true to allow a chrome-extension:// resource request coming from
40 // renderer A to access a resource in an extension running in renderer B.
41 // Returns false when it couldn't determine if the resource is allowed or not
42 bool AllowCrossRendererResourceLoad(bool is_guest,
43 const Extension* extension,
44 const Extension* owner_extension,
45 const std::string& partition_id,
46 const std::string& resource_path,
47 ui::PageTransition page_transition,
48 bool* allowed);
49
33 } // namespace url_request_util 50 } // namespace url_request_util
34 } // namespace extensions 51 } // namespace extensions
35 52
36 #endif // EXTENSIONS_BROWSER_URL_REQUEST_UTIL_H_ 53 #endif // EXTENSIONS_BROWSER_URL_REQUEST_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698