diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-16 19:07:35 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-16 19:07:35 +0000 |
commit | 63e26829823d96127ad24eabbca69e4d6008d7aa (patch) | |
tree | f67bcf5b4ca9ae655b2f86db22df278bbd114683 /chrome/browser/profiles/profile_impl_io_data.h | |
parent | fd4c31da5b3674eb049b6054ed1e87870ea5db5d (diff) | |
download | chromium_src-63e26829823d96127ad24eabbca69e4d6008d7aa.zip chromium_src-63e26829823d96127ad24eabbca69e4d6008d7aa.tar.gz chromium_src-63e26829823d96127ad24eabbca69e4d6008d7aa.tar.bz2 |
Remove more unnecessary ChromeURLRequestContext members.
ProfileIOData is now always deleted on the IO thread. Replaces a use of ChromeURLRequestContextGetter with a ChromeURLDataManagerBackend getter callback. Also gets rid of ExtensionInfoMap from ChromeURLRequestContext by directly passing it into the places that need it. Gets rid of the HTML5 storage objects from ChromeURLRequestContext too.
Adds a workaround for TranslateManager's Profile::GetDefaultRequestContext() use, since after this refactoring (by not requiring ChromeURLRequestContextGetter for ChromeURLDataManagerBackend), it prevents having to initialize the ChromeURLRequestContextGetter in most tests since they don't actually use it. This means |default_request_context_| doesn't always get initialized in BrowserMain(), which causes TranslateManager to crash on startup since it requires |default_request_context_| to be initialized. So we forcibly initialize |default_request_context_| until TranslateManager stops depending on this.
BUG=89396
TEST=none
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=92668
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=92690
Review URL: http://codereview.chromium.org/7282054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92804 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/profiles/profile_impl_io_data.h')
-rw-r--r-- | chrome/browser/profiles/profile_impl_io_data.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/browser/profiles/profile_impl_io_data.h b/chrome/browser/profiles/profile_impl_io_data.h index 188fa7f..0e122c1 100644 --- a/chrome/browser/profiles/profile_impl_io_data.h +++ b/chrome/browser/profiles/profile_impl_io_data.h @@ -7,6 +7,7 @@ #pragma once #include "base/basictypes.h" +#include "base/callback.h" #include "base/hash_tables.h" #include "base/memory/ref_counted.h" #include "chrome/browser/profiles/profile_io_data.h" @@ -36,6 +37,8 @@ class ProfileImplIOData : public ProfileIOData { const FilePath& extensions_cookie_path, const FilePath& app_path); + base::Callback<ChromeURLDataManagerBackend*(void)> + GetChromeURLDataManagerBackendGetter() const; const content::ResourceContext& GetResourceContext() const; scoped_refptr<ChromeURLRequestContextGetter> GetMainRequestContextGetter() const; @@ -72,7 +75,7 @@ class ProfileImplIOData : public ProfileIOData { mutable scoped_refptr<ChromeURLRequestContextGetter> extensions_request_context_getter_; mutable ChromeURLRequestContextGetterMap app_request_context_getter_map_; - const scoped_refptr<ProfileImplIOData> io_data_; + scoped_refptr<ProfileImplIOData> io_data_; Profile* const profile_; |