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

Unified Diff: extensions/shell/browser/shell_browser_context.cc

Issue 1862203005: Remove ContentBrowserClient::CreateRequestContext & CreateRequestContextForStoragePartition. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: extensions/shell/browser/shell_browser_context.cc
diff --git a/extensions/shell/browser/shell_browser_context.cc b/extensions/shell/browser/shell_browser_context.cc
index fb1d5134d58c17125ea665de6e90ce4cfd8a7bb3..7534080692d3e490333bfa38d82bc45ba1448947 100644
--- a/extensions/shell/browser/shell_browser_context.cc
+++ b/extensions/shell/browser/shell_browser_context.cc
@@ -9,7 +9,11 @@
#include "base/command_line.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "content/public/browser/browser_thread.h"
-#include "content/public/common/content_switches.h"
+#include "content/public/common/content_switches.h"
+#include "extensions/browser/extension_protocols.h"
+#include "extensions/common/constants.h"
+#include "extensions/shell/browser/shell_browser_main_parts.h"
+#include "extensions/shell/browser/shell_extension_system.h"
#include "extensions/shell/browser/shell_network_delegate.h"
#include "extensions/shell/browser/shell_special_storage_policy.h"
#include "extensions/shell/browser/shell_url_request_context_getter.h"
@@ -27,10 +31,12 @@ bool IgnoreCertificateErrors() {
// Create a normal recording browser context. If we used an incognito context
// then app_shell would also have to create a normal context and manage both.
-ShellBrowserContext::ShellBrowserContext()
+ShellBrowserContext::ShellBrowserContext(
+ ShellBrowserMainParts* browser_main_parts)
: content::ShellBrowserContext(false /* off_the_record */,
nullptr /* net_log */),
- storage_policy_(new ShellSpecialStoragePolicy) {
+ storage_policy_(new ShellSpecialStoragePolicy),
+ browser_main_parts_(browser_main_parts) {
}
ShellBrowserContext::~ShellBrowserContext() {
@@ -46,9 +52,19 @@ storage::SpecialStoragePolicy* ShellBrowserContext::GetSpecialStoragePolicy() {
net::URLRequestContextGetter* ShellBrowserContext::CreateRequestContext(
content::ProtocolHandlerMap* protocol_handlers,
- content::URLRequestInterceptorScopedVector request_interceptors,
- InfoMap* extension_info_map) {
+ content::URLRequestInterceptorScopedVector request_interceptors) {
DCHECK(!url_request_context_getter());
+ // Handle only chrome-extension:// requests. app_shell does not support
+ // chrome-extension-resource:// requests (it does not store shared extension
+ // data in its installation directory).
+ InfoMap* extension_info_map =
+ browser_main_parts_->extension_system()->info_map();
+ (*protocol_handlers)[kExtensionScheme] =
+ linked_ptr<net::URLRequestJobFactory::ProtocolHandler>(
Avi (use Gerrit) 2016/04/07 19:10:05 ditto
+ CreateExtensionProtocolHandler(false /* is_incognito */,
+ extension_info_map)
+ .release());
+
set_url_request_context_getter(new ShellURLRequestContextGetter(
this, IgnoreCertificateErrors(), GetPath(),
content::BrowserThread::GetMessageLoopProxyForThread(

Powered by Google App Engine
This is Rietveld 408576698