summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profiles/profile_impl_io_data.h
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-16 19:07:35 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-16 19:07:35 +0000
commit63e26829823d96127ad24eabbca69e4d6008d7aa (patch)
treef67bcf5b4ca9ae655b2f86db22df278bbd114683 /chrome/browser/profiles/profile_impl_io_data.h
parentfd4c31da5b3674eb049b6054ed1e87870ea5db5d (diff)
downloadchromium_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.h5
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_;