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, |