Chromium Code Reviews| 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 60b87be5b032f4483f58ab7beeed06ac6cbb133b..95dcc84e893205b8aa6833c0efc2849d3719a2d9 100644 |
| --- a/chrome/browser/net/chrome_url_request_context.cc |
| +++ b/chrome/browser/net/chrome_url_request_context.cc |
| @@ -77,6 +77,23 @@ class FactoryForExtensions : public ChromeURLRequestContextFactory { |
| const scoped_refptr<const ProfileIOData> profile_io_data_; |
| }; |
| +// Factory that creates the ChromeURLRequestContext for a given isolated app. |
| +class FactoryForIsolatedApp : public ChromeURLRequestContextFactory { |
| + public: |
| + explicit FactoryForIsolatedApp(const ProfileIOData* profile_io_data, |
| + const Extension* installed_app) |
| + : profile_io_data_(profile_io_data), |
| + installed_app_(installed_app) {} |
| + |
| + virtual scoped_refptr<ChromeURLRequestContext> Create() { |
| + return profile_io_data_->GetIsolatedAppRequestContext(installed_app_); |
| + } |
| + |
| + private: |
| + const scoped_refptr<const ProfileIOData> profile_io_data_; |
| + const scoped_refptr<const Extension> installed_app_; |
| +}; |
| + |
| // Factory that creates the ChromeURLRequestContext for media. |
| class FactoryForMedia : public ChromeURLRequestContextFactory { |
| public: |
| @@ -215,6 +232,16 @@ ChromeURLRequestContextGetter::CreateOriginalForExtensions( |
| // static |
| ChromeURLRequestContextGetter* |
| +ChromeURLRequestContextGetter::CreateOriginalForIsolatedApp(Profile* profile, |
|
willchan no longer on Chromium
2011/03/01 23:39:24
http://google-styleguide.googlecode.com/svn/trunk/
Charlie Reis
2011/03/03 01:08:05
Done.
|
| + const ProfileIOData* profile_io_data, const Extension* installed_app) { |
| + DCHECK(!profile->IsOffTheRecord()); |
| + return new ChromeURLRequestContextGetter( |
| + profile, |
| + new FactoryForIsolatedApp(profile_io_data, installed_app)); |
| +} |
| + |
| +// static |
| +ChromeURLRequestContextGetter* |
| ChromeURLRequestContextGetter::CreateOffTheRecord( |
| Profile* profile, const ProfileIOData* profile_io_data) { |
| DCHECK(profile->IsOffTheRecord()); |
| @@ -231,6 +258,17 @@ ChromeURLRequestContextGetter::CreateOffTheRecordForExtensions( |
| profile, new FactoryForExtensions(profile_io_data)); |
| } |
| +// static |
| +ChromeURLRequestContextGetter* |
| +ChromeURLRequestContextGetter::CreateOffTheRecordForIsolatedApp( |
| + Profile* profile, |
| + const ProfileIOData* profile_io_data, |
| + const Extension* installed_app) { |
| + DCHECK(profile->IsOffTheRecord()); |
| + return new ChromeURLRequestContextGetter( |
| + profile, new FactoryForIsolatedApp(profile_io_data, installed_app)); |
| +} |
| + |
| void ChromeURLRequestContextGetter::CleanupOnUIThread() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| // Unregister for pref notifications. |