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

Unified Diff: chrome/browser/net/chrome_url_request_context.cc

Issue 11147026: Initial refactor to get profiles to propagate storage partition details. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing Android's BrowserContext. Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/net/chrome_url_request_context.cc
diff --git a/chrome/browser/net/chrome_url_request_context.cc b/chrome/browser/net/chrome_url_request_context.cc
index 2cffdb4ac985afe5c2cf0b7d25eafc38fb17fa08..8cb7c51b811f5fa796932cdd6e4a8877f28c2c8a 100644
--- a/chrome/browser/net/chrome_url_request_context.cc
+++ b/chrome/browser/net/chrome_url_request_context.cc
@@ -14,6 +14,7 @@
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_io_data.h"
+#include "chrome/browser/profiles/storage_partition_descriptor.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/pref_names.h"
#include "content/public/browser/browser_thread.h"
@@ -75,12 +76,12 @@ class FactoryForExtensions : public ChromeURLRequestContextFactory {
class FactoryForIsolatedApp : public ChromeURLRequestContextFactory {
public:
FactoryForIsolatedApp(const ProfileIOData* profile_io_data,
- const std::string& app_id,
+ const StoragePartitionDescriptor& partition_descriptor,
ChromeURLRequestContextGetter* main_context,
scoped_ptr<net::URLRequestJobFactory::Interceptor>
protocol_handler_interceptor)
: profile_io_data_(profile_io_data),
- app_id_(app_id),
+ partition_descriptor_(partition_descriptor),
main_request_context_getter_(main_context),
protocol_handler_interceptor_(protocol_handler_interceptor.Pass()) {}
@@ -91,13 +92,13 @@ class FactoryForIsolatedApp : public ChromeURLRequestContextFactory {
// factory is actually destroyed. Thus it is safe to destructively pass
// state onwards.
return profile_io_data_->GetIsolatedAppRequestContext(
- main_request_context_getter_->GetIOContext(), app_id_,
+ main_request_context_getter_->GetIOContext(), partition_descriptor_,
protocol_handler_interceptor_.Pass());
}
private:
const ProfileIOData* const profile_io_data_;
- const std::string app_id_;
+ const StoragePartitionDescriptor partition_descriptor_;
scoped_refptr<ChromeURLRequestContextGetter>
main_request_context_getter_;
scoped_ptr<net::URLRequestJobFactory::Interceptor>
@@ -108,12 +109,13 @@ class FactoryForIsolatedApp : public ChromeURLRequestContextFactory {
// app. The media context is based on the corresponding isolated app's context.
class FactoryForIsolatedMedia : public ChromeURLRequestContextFactory {
public:
- FactoryForIsolatedMedia(const ProfileIOData* profile_io_data,
- const std::string& app_id,
- ChromeURLRequestContextGetter* app_context)
- : profile_io_data_(profile_io_data),
- app_id_(app_id),
- app_context_getter_(app_context) {}
+ FactoryForIsolatedMedia(
+ const ProfileIOData* profile_io_data,
+ const StoragePartitionDescriptor& partition_descriptor,
+ ChromeURLRequestContextGetter* app_context)
+ : profile_io_data_(profile_io_data),
+ partition_descriptor_(partition_descriptor),
+ app_context_getter_(app_context) {}
virtual ChromeURLRequestContext* Create() OVERRIDE {
// We will copy most of the state from the corresopnding app's
@@ -123,12 +125,12 @@ class FactoryForIsolatedMedia : public ChromeURLRequestContextFactory {
// |protocol_handler_interceptor|. This is why the API
// looks different from FactoryForIsolatedApp's.
return profile_io_data_->GetIsolatedMediaRequestContext(
- app_context_getter_->GetIOContext(), app_id_);
+ app_context_getter_->GetIOContext(), partition_descriptor_);
}
private:
const ProfileIOData* const profile_io_data_;
- const std::string app_id_;
+ const StoragePartitionDescriptor partition_descriptor_;
scoped_refptr<ChromeURLRequestContextGetter> app_context_getter_;
};
@@ -225,7 +227,7 @@ ChromeURLRequestContextGetter*
ChromeURLRequestContextGetter::CreateOriginalForIsolatedApp(
Profile* profile,
const ProfileIOData* profile_io_data,
- const std::string& app_id,
+ const StoragePartitionDescriptor& partition_descriptor,
scoped_ptr<net::URLRequestJobFactory::Interceptor>
protocol_handler_interceptor) {
DCHECK(!profile->IsOffTheRecord());
@@ -233,8 +235,8 @@ ChromeURLRequestContextGetter::CreateOriginalForIsolatedApp(
static_cast<ChromeURLRequestContextGetter*>(profile->GetRequestContext());
return new ChromeURLRequestContextGetter(
profile,
- new FactoryForIsolatedApp(profile_io_data, app_id, main_context,
- protocol_handler_interceptor.Pass()));
+ new FactoryForIsolatedApp(profile_io_data, partition_descriptor,
+ main_context, protocol_handler_interceptor.Pass()));
}
// static
@@ -243,11 +245,12 @@ ChromeURLRequestContextGetter::CreateOriginalForIsolatedMedia(
Profile* profile,
ChromeURLRequestContextGetter* app_context,
const ProfileIOData* profile_io_data,
- const std::string& app_id) {
+ const StoragePartitionDescriptor& partition_descriptor) {
DCHECK(!profile->IsOffTheRecord());
return new ChromeURLRequestContextGetter(
profile,
- new FactoryForIsolatedMedia(profile_io_data, app_id, app_context));
+ new FactoryForIsolatedMedia(
+ profile_io_data, partition_descriptor, app_context));
}
// static
@@ -273,7 +276,7 @@ ChromeURLRequestContextGetter*
ChromeURLRequestContextGetter::CreateOffTheRecordForIsolatedApp(
Profile* profile,
const ProfileIOData* profile_io_data,
- const std::string& app_id,
+ const StoragePartitionDescriptor& partition_descriptor,
scoped_ptr<net::URLRequestJobFactory::Interceptor>
protocol_handler_interceptor) {
DCHECK(profile->IsOffTheRecord());
@@ -281,8 +284,8 @@ ChromeURLRequestContextGetter::CreateOffTheRecordForIsolatedApp(
static_cast<ChromeURLRequestContextGetter*>(profile->GetRequestContext());
return new ChromeURLRequestContextGetter(
profile,
- new FactoryForIsolatedApp(profile_io_data, app_id, main_context,
- protocol_handler_interceptor.Pass()));
+ new FactoryForIsolatedApp(profile_io_data, partition_descriptor,
+ main_context, protocol_handler_interceptor.Pass()));
}
void ChromeURLRequestContextGetter::CleanupOnUIThread() {

Powered by Google App Engine
This is Rietveld 408576698