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

Unified Diff: content/shell/shell_content_browser_client.cc

Issue 11308362: Add StoragePartition's ProtocolHandlers at URLRequestContext construction time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Avoid DCHECK in GetExtensionInfoMap() during Init() Created 8 years 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: content/shell/shell_content_browser_client.cc
diff --git a/content/shell/shell_content_browser_client.cc b/content/shell/shell_content_browser_client.cc
index 6858810434e92a8907b40c7f41f53ff4827c49e5..6ca42b24d4297bb4b9e1ad6769d557bf8000ad56 100644
--- a/content/shell/shell_content_browser_client.cc
+++ b/content/shell/shell_content_browser_client.cc
@@ -79,6 +79,42 @@ void ShellContentBrowserClient::RenderProcessHostCreated(
host->Send(new ShellViewMsg_SetWebKitSourceDir(webkit_source_dir_));
}
+net::URLRequestContextGetter* ShellContentBrowserClient::CreateRequestContext(
+ content::BrowserContext* content_browser_context,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ blob_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ file_system_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::Interceptor>
+ developer_protocol_handler) {
+ ShellBrowserContext* shell_browser_context =
+ ShellBrowserContextForBrowserContext(content_browser_context);
+ return shell_browser_context->CreateRequestContext(
+ blob_protocol_handler.Pass(), file_system_protocol_handler.Pass(),
+ developer_protocol_handler.Pass());
+}
+
+net::URLRequestContextGetter*
+ShellContentBrowserClient::CreateRequestContextForStoragePartition(
+ content::BrowserContext* content_browser_context,
+ const FilePath& partition_path,
+ bool in_memory,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ blob_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ file_system_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::Interceptor>
+ developer_protocol_handler) {
+ ShellBrowserContext* shell_browser_context =
+ ShellBrowserContextForBrowserContext(content_browser_context);
+ return shell_browser_context->CreateRequestContextForStoragePartition(
+ partition_path,
+ in_memory,
+ blob_protocol_handler.Pass(),
+ file_system_protocol_handler.Pass(),
+ developer_protocol_handler.Pass());
+}
+
void ShellContentBrowserClient::AppendExtraCommandLineSwitches(
CommandLine* command_line, int child_process_id) {
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
@@ -164,4 +200,13 @@ AccessTokenStore* ShellContentBrowserClient::CreateAccessTokenStore() {
return new ShellAccessTokenStore(browser_context()->GetRequestContext());
}
+ShellBrowserContext*
+ShellContentBrowserClient::ShellBrowserContextForBrowserContext(
+ BrowserContext* content_browser_context) {
+ if (content_browser_context == browser_context())
+ return browser_context();
+ DCHECK_EQ(content_browser_context, off_the_record_browser_context());
+ return off_the_record_browser_context();
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698