Chromium Code Reviews| Index: chrome/browser/io_thread.cc |
| =================================================================== |
| --- chrome/browser/io_thread.cc (revision 96009) |
| +++ chrome/browser/io_thread.cc (working copy) |
| @@ -24,7 +24,7 @@ |
| #include "chrome/browser/net/chrome_url_request_context.h" |
| #include "chrome/browser/net/connect_interceptor.h" |
| #include "chrome/browser/net/passive_log_collector.h" |
| -#include "chrome/browser/net/predictor_api.h" |
| +#include "chrome/browser/net/predictor.h" |
| #include "chrome/browser/net/pref_proxy_config_service.h" |
| #include "chrome/browser/net/proxy_service_factory.h" |
| #include "chrome/browser/prefs/pref_service.h" |
| @@ -340,8 +340,6 @@ |
| net_log_(net_log), |
| extension_event_router_forwarder_(extension_event_router_forwarder), |
| globals_(NULL), |
| - speculative_interceptor_(NULL), |
| - predictor_(NULL), |
| ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) { |
| // We call RegisterPrefs() here (instead of inside browser_prefs.cc) to make |
| // sure that everything is initialized in the right order. |
| @@ -384,32 +382,18 @@ |
| } |
| void IOThread::InitNetworkPredictor( |
|
willchan no longer on Chromium
2011/08/10 16:10:35
Please kill off IOThread::InitNetworkPredictor().
rpetterson
2011/08/12 03:12:36
Done.
|
| - bool prefetching_enabled, |
| - base::TimeDelta max_dns_queue_delay, |
| - size_t max_speculative_parallel_resolves, |
| const chrome_common_net::UrlList& startup_urls, |
| ListValue* referral_list, |
| - bool preconnect_enabled) { |
| + chrome_browser_net::Predictor* predictor) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| message_loop()->PostTask( |
| FROM_HERE, |
| NewRunnableMethod( |
| this, |
| &IOThread::InitNetworkPredictorOnIOThread, |
| - prefetching_enabled, max_dns_queue_delay, |
| - max_speculative_parallel_resolves, |
| - startup_urls, referral_list, preconnect_enabled)); |
| + startup_urls, referral_list, predictor)); |
| } |
| -void IOThread::ChangedToOnTheRecord() { |
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| - message_loop()->PostTask( |
| - FROM_HERE, |
| - NewRunnableMethod( |
| - this, |
| - &IOThread::ChangedToOnTheRecordOnIOThread)); |
| -} |
| - |
| net::URLRequestContextGetter* IOThread::system_url_request_context_getter() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| if (!system_url_request_context_getter_) { |
| @@ -418,13 +402,15 @@ |
| return system_url_request_context_getter_; |
| } |
| -void IOThread::ClearNetworkingHistory() { |
| +void IOThread::ClearNetworkingHistory( |
| + chrome_browser_net::Predictor* predictor) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| ClearHostCache(); |
| // Discard acrued data used to speculate in the future. |
| - chrome_browser_net::DiscardInitialNavigationHistory(); |
| - if (predictor_) |
| - predictor_->DiscardAllResults(); |
| + if (predictor) { |
| + predictor->DiscardInitialNavigationHistory(); |
| + predictor->DiscardAllResults(); |
| + } |
| } |
| void IOThread::Init() { |
| @@ -516,21 +502,6 @@ |
| // This must be reset before the ChromeNetLog is destroyed. |
| network_change_observer_.reset(); |
| - // Not initialized in Init(). May not be initialized. |
| - if (predictor_) { |
| - predictor_->Shutdown(); |
| - |
| - // TODO(willchan): Stop reference counting Predictor. It's owned by |
| - // IOThread now. |
| - predictor_->Release(); |
| - predictor_ = NULL; |
| - chrome_browser_net::FreePredictorResources(); |
| - } |
| - |
| - // Deletion will unregister this interceptor. |
| - delete speculative_interceptor_; |
| - speculative_interceptor_ = NULL; |
| - |
| system_proxy_config_service_.reset(); |
| delete globals_; |
| @@ -588,50 +559,15 @@ |
| } |
| void IOThread::InitNetworkPredictorOnIOThread( |
| - bool prefetching_enabled, |
| - base::TimeDelta max_dns_queue_delay, |
| - size_t max_speculative_parallel_resolves, |
| const chrome_common_net::UrlList& startup_urls, |
| ListValue* referral_list, |
| - bool preconnect_enabled) { |
| + chrome_browser_net::Predictor* predictor) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| - CHECK(!predictor_); |
| - chrome_browser_net::EnablePredictor(prefetching_enabled); |
| - |
| - predictor_ = new chrome_browser_net::Predictor( |
|
jar (doing other things)
2011/08/16 01:19:09
Code like this is what caused us to have such a me
|
| - globals_->host_resolver.get(), |
| - max_dns_queue_delay, |
| - max_speculative_parallel_resolves, |
| - preconnect_enabled); |
| - predictor_->AddRef(); |
| - |
| - // Speculative_interceptor_ is used to predict subresource usage. |
| - DCHECK(!speculative_interceptor_); |
| - speculative_interceptor_ = new chrome_browser_net::ConnectInterceptor; |
| - |
| - FinalizePredictorInitialization(predictor_, startup_urls, referral_list); |
| + predictor->FinalizeInitializationOnIOThread(startup_urls, referral_list, |
|
jar (doing other things)
2011/08/16 01:19:09
This method name should be reflected in the name o
willchan no longer on Chromium
2011/08/16 01:42:57
I think I may have commented on this before (I hop
rpetterson
2011/08/16 03:52:12
Yes, this has already been pulled out.
|
| + globals_->host_resolver.get()); |
| } |
| -void IOThread::ChangedToOnTheRecordOnIOThread() { |
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| - |
| - if (predictor_) { |
| - // Destroy all evidence of our OTR session. |
| - // Note: OTR mode never saves InitialNavigationHistory data. |
| - predictor_->Predictor::DiscardAllResults(); |
| - } |
| - |
| - // Clear the host cache to avoid showing entries from the OTR session |
| - // in about:net-internals. |
| - ClearHostCache(); |
| - |
| - // Clear all of the passively logged data. |
| - // TODO(eroman): this is a bit heavy handed, really all we need to do is |
| - // clear the data pertaining to incognito context. |
| - net_log_->ClearAllPassivelyCapturedEvents(); |
| -} |
| - |
| void IOThread::ClearHostCache() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |