Chromium Code Reviews| Index: chrome/browser/net/chrome_network_delegate.cc |
| diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc |
| index 2c65be638488e795da5754ef3d53f77efb63b0a6..1331fe609c8226d069a97fcb32ad83b9d50eec84 100644 |
| --- a/chrome/browser/net/chrome_network_delegate.cc |
| +++ b/chrome/browser/net/chrome_network_delegate.cc |
| @@ -14,6 +14,8 @@ |
| #include "chrome/browser/extensions/extension_event_router_forwarder.h" |
| #include "chrome/browser/extensions/extension_info_map.h" |
| #include "chrome/browser/extensions/extension_process_manager.h" |
| +#include "chrome/browser/net/resource_prefetch_predictor_observer.h" |
| +#include "chrome/browser/predictors/resource_prefetch_predictor.h" |
| #include "chrome/browser/prefs/pref_member.h" |
| #include "chrome/browser/profiles/profile_manager.h" |
| #include "chrome/browser/task_manager/task_manager.h" |
| @@ -123,6 +125,8 @@ ChromeNetworkDelegate::ChromeNetworkDelegate( |
| const policy::URLBlacklistManager* url_blacklist_manager, |
| void* profile, |
| CookieSettings* cookie_settings, |
| + scoped_refptr<predictors::ResourcePrefetchPredictor> |
| + resource_prefetch_predictor, |
| BooleanPrefMember* enable_referrers) |
| : event_router_(event_router), |
| profile_(profile), |
| @@ -133,6 +137,11 @@ ChromeNetworkDelegate::ChromeNetworkDelegate( |
| DCHECK(event_router); |
| DCHECK(enable_referrers); |
| DCHECK(!profile || cookie_settings); |
| + |
| + if (resource_prefetch_predictor) |
| + resource_prefetch_predictor_observer_.reset( |
| + new chrome_browser_net::ResourcePrefetchPredictorObserver( |
| + resource_prefetch_predictor)); |
| } |
| ChromeNetworkDelegate::~ChromeNetworkDelegate() {} |
| @@ -172,6 +181,9 @@ int ChromeNetworkDelegate::OnBeforeURLRequest( |
| ForwardRequestStatus(REQUEST_STARTED, request, profile_); |
| + if (resource_prefetch_predictor_observer_.get()) |
|
dominich
2012/05/24 16:07:53
Is there a way to create a ProfileKeyedService on
Shishir
2012/05/30 01:07:51
The ProfileKeyedServices are all created together
|
| + resource_prefetch_predictor_observer_->OnBeforeURLRequest(request); |
| + |
| if (!enable_referrers_->GetValue()) |
| request->set_referrer(std::string()); |
| return ExtensionWebRequestEventRouter::GetInstance()->OnBeforeRequest( |
| @@ -207,6 +219,8 @@ void ChromeNetworkDelegate::OnBeforeRedirect(net::URLRequest* request, |
| const GURL& new_location) { |
| ExtensionWebRequestEventRouter::GetInstance()->OnBeforeRedirect( |
| profile_, extension_info_map_.get(), request, new_location); |
| + if (resource_prefetch_predictor_observer_.get()) |
| + resource_prefetch_predictor_observer_->OnBeforeRedirect(request); |
| } |
| @@ -214,6 +228,8 @@ void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) { |
| ExtensionWebRequestEventRouter::GetInstance()->OnResponseStarted( |
| profile_, extension_info_map_.get(), request); |
| ForwardProxyErrors(request, event_router_.get(), profile_); |
| + if (resource_prefetch_predictor_observer_.get()) |
| + resource_prefetch_predictor_observer_->OnResponseStarted(request); |
| } |
| void ChromeNetworkDelegate::OnRawBytesRead(const net::URLRequest& request, |