diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-09 21:59:32 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-09 21:59:32 +0000 |
commit | f37bff408d28bb87f74ebb1907cb4727ae22329e (patch) | |
tree | 38d35c642704dfa79b6e0b2fc1abbc28570a4b33 /chrome/browser/net | |
parent | 4f61e0e76ac6a0fb034cfd0973d06e5216ada7fc (diff) | |
download | chromium_src-f37bff408d28bb87f74ebb1907cb4727ae22329e.zip chromium_src-f37bff408d28bb87f74ebb1907cb4727ae22329e.tar.gz chromium_src-f37bff408d28bb87f74ebb1907cb4727ae22329e.tar.bz2 |
Attempt 2 at: Splits ChromeURLDataManager into 2 chunks:
. ChromeURLDataManager is no longer a singleton and is always used on
the UI thread. ChromeURLDataManager is now profile specific (you get
from the profile).
. ChromeURLDataManagerBackend handles the URLRequests and the
DataSources. ChromeURLDataManagerBackend is created by
ChromeURLRequestContext.
All DataSources are now profile specific. There were two that wanted
to be global, but have been converted.
This differs from the version I landed in that there is now a NULL
check in ChromeURLDataManager::DeleteDataSources.
BUG=52022 71868
TEST=none
TBR=willchan, evan, ahendrickson
Review URL: http://codereview.chromium.org/6462036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74340 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r-- | chrome/browser/net/chrome_url_request_context.cc | 8 | ||||
-rw-r--r-- | chrome/browser/net/chrome_url_request_context.h | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/net/chrome_url_request_context.cc b/chrome/browser/net/chrome_url_request_context.cc index e42ae2d..573ffdc 100644 --- a/chrome/browser/net/chrome_url_request_context.cc +++ b/chrome/browser/net/chrome_url_request_context.cc @@ -11,6 +11,7 @@ #include "base/string_util.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_thread.h" +#include "chrome/browser/dom_ui/chrome_url_data_manager_backend.h" #include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/user_script_master.h" #include "chrome/browser/io_thread.h" @@ -732,6 +733,13 @@ ChromeURLRequestContext::ChromeURLRequestContext() CheckCurrentlyOnIOThread(); } +ChromeURLDataManagerBackend* + ChromeURLRequestContext::GetChromeURLDataManagerBackend() { + if (!chrome_url_data_manager_backend_.get()) + chrome_url_data_manager_backend_.reset(new ChromeURLDataManagerBackend()); + return chrome_url_data_manager_backend_.get(); +} + ChromeURLRequestContext::~ChromeURLRequestContext() { CheckCurrentlyOnIOThread(); diff --git a/chrome/browser/net/chrome_url_request_context.h b/chrome/browser/net/chrome_url_request_context.h index 5d57b46..943b0fd 100644 --- a/chrome/browser/net/chrome_url_request_context.h +++ b/chrome/browser/net/chrome_url_request_context.h @@ -40,6 +40,7 @@ class DnsCertProvenanceChecker; class NetworkDelegate; } +class ChromeURLDataManagerBackend; class ChromeURLRequestContext; class ChromeURLRequestContextFactory; @@ -102,6 +103,8 @@ class ChromeURLRequestContext : public net::URLRequestContext { return prerender_manager_.get(); } + ChromeURLDataManagerBackend* GetChromeURLDataManagerBackend(); + protected: virtual ~ChromeURLRequestContext(); @@ -191,6 +194,7 @@ class ChromeURLRequestContext : public net::URLRequestContext { scoped_refptr<ExtensionInfoMap> extension_info_map_; scoped_refptr<ExtensionIOEventRouter> extension_io_event_router_; scoped_refptr<PrerenderManager> prerender_manager_; + scoped_ptr<ChromeURLDataManagerBackend> chrome_url_data_manager_backend_; bool is_off_the_record_; |