Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5273)

Unified Diff: chrome/browser/profiles/profile_impl_io_data.cc

Issue 7467012: Modifying prefetch to account for multi-profile. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Modifying prefetch to account for multi-profile. Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/profile_impl_io_data.cc
===================================================================
--- chrome/browser/profiles/profile_impl_io_data.cc (revision 100345)
+++ chrome/browser/profiles/profile_impl_io_data.cc (working copy)
@@ -12,6 +12,8 @@
#include "chrome/browser/io_thread.h"
#include "chrome/browser/net/chrome_net_log.h"
#include "chrome/browser/net/chrome_network_delegate.h"
+#include "chrome/browser/net/connect_interceptor.h"
+#include "chrome/browser/net/predictor.h"
#include "chrome/browser/net/sqlite_origin_bound_cert_store.h"
#include "chrome/browser/net/sqlite_persistent_cookie_store.h"
#include "chrome/browser/prefs/pref_member.h"
@@ -25,6 +27,7 @@
#include "net/base/origin_bound_cert_service.h"
#include "net/ftp/ftp_network_layer.h"
#include "net/http/http_cache.h"
+#include "net/url_request/url_request_job_factory.h"
ProfileImplIOData::Handle::Handle(Profile* profile)
: io_data_(new ProfileImplIOData),
@@ -43,6 +46,8 @@
if (extensions_request_context_getter_)
extensions_request_context_getter_->CleanupOnUIThread();
+ io_data_->predictor_->ShutdownOnUIThread(profile_->GetPrefs());
+
// Clean up all isolated app request contexts.
for (ChromeURLRequestContextGetterMap::iterator iter =
app_request_context_getter_map_.begin();
@@ -54,16 +59,22 @@
io_data_->ShutdownOnUIThread();
}
-void ProfileImplIOData::Handle::Init(const FilePath& cookie_path,
- const FilePath& origin_bound_cert_path,
- const FilePath& cache_path,
- int cache_max_size,
- const FilePath& media_cache_path,
- int media_cache_max_size,
- const FilePath& extensions_cookie_path,
- const FilePath& app_path) {
+void ProfileImplIOData::Handle::Init(
+ const FilePath& cookie_path,
+ const FilePath& origin_bound_cert_path,
+ const FilePath& cache_path,
+ int cache_max_size,
+ const FilePath& media_cache_path,
+ int media_cache_max_size,
+ const FilePath& extensions_cookie_path,
+ const FilePath& app_path,
+ chrome_browser_net::Predictor* predictor,
+ PrefService* local_state,
+ IOThread* io_thread) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DCHECK(!io_data_->lazy_params_.get());
+ DCHECK(predictor);
+
LazyParams* lazy_params = new LazyParams;
lazy_params->cookie_path = cookie_path;
@@ -78,6 +89,11 @@
// Keep track of isolated app path separately so we can use it on demand.
io_data_->app_path_ = app_path;
+
+ io_data_->predictor_.reset(predictor);
+ io_data_->predictor_->InitNetworkPredictor(profile_->GetPrefs(),
+ local_state,
+ io_thread);
}
base::Callback<ChromeURLDataManagerBackend*(void)>
@@ -336,6 +352,9 @@
media_request_context_->set_job_factory(job_factory());
extensions_context->set_job_factory(job_factory());
+ job_factory()->AddInterceptor(
+ new chrome_browser_net::ConnectInterceptor(predictor_.get()));
+
lazy_params_.reset();
}

Powered by Google App Engine
This is Rietveld 408576698