| 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() {
|
|
|