| Index: chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| index 2d25be6e00e746f60bbd4ae4d9eff5650004fd2e..ba19d67844746e6c5e76a9f5e4833e180c24a965 100644
|
| --- a/chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| +++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| @@ -52,6 +52,7 @@
|
| using content::BrowserThread;
|
| using extensions::APIPermission;
|
| using WebKit::WebCache;
|
| +using chrome_browser_net::UrlInfo;
|
|
|
| namespace {
|
|
|
| @@ -121,6 +122,23 @@ void AddDOMActionToExtensionActivityLog(
|
| }
|
| }
|
|
|
| +UrlInfo::ResolutionMotivation convertWebToUrlInfoMotivation(
|
| + WebKit::WebPreconnectMotivation webMotivation) {
|
| + switch(webMotivation) {
|
| + case WebKit::WebPreconnectMotivationLinkMouseOver:
|
| + return UrlInfo::MOUSE_OVER_MOTIVATED;
|
| + case WebKit::WebPreconnectMotivationLinkMouseDown:
|
| + return UrlInfo::MOUSE_DOWN_MOTIVATED;
|
| + case WebKit::WebPreconnectMotivationLinkTapUnconfirmed:
|
| + return UrlInfo::TAP_UNCONFIRMED_MOTIVATED;
|
| + case WebKit::WebPreconnectMotivationLinkTapDown:
|
| + return UrlInfo::TAP_DOWN_MOTIVATED;
|
| + default:
|
| + NOTREACHED();
|
| + return UrlInfo::MOUSE_OVER_MOTIVATED;
|
| + }
|
| +}
|
| +
|
| } // namespace
|
|
|
| ChromeRenderMessageFilter::ChromeRenderMessageFilter(
|
| @@ -155,6 +173,7 @@ bool ChromeRenderMessageFilter::OnMessageReceived(const IPC::Message& message,
|
| OnOpenNaClExecutable)
|
| #endif
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_DnsPrefetch, OnDnsPrefetch)
|
| + IPC_MESSAGE_HANDLER(ChromeViewHostMsg_Preconnect, OnPreconnect)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_ResourceTypeStats,
|
| OnResourceTypeStats)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_UpdatedCacheStats,
|
| @@ -298,6 +317,17 @@ void ChromeRenderMessageFilter::OnDnsPrefetch(
|
| profile_->GetNetworkPredictor()->DnsPrefetchList(hostnames);
|
| }
|
|
|
| +void ChromeRenderMessageFilter::OnPreconnect(
|
| + const GURL& url,
|
| + WebKit::WebPreconnectMotivation motivation,
|
| + uint32_t motivationVariationId) {
|
| + if (profile_->GetNetworkPredictor())
|
| + profile_->GetNetworkPredictor()->PreconnectUrlAndSubresources(
|
| + url,
|
| + convertWebToUrlInfoMotivation(motivation),
|
| + motivationVariationId);
|
| +}
|
| +
|
| void ChromeRenderMessageFilter::OnResourceTypeStats(
|
| const WebCache::ResourceTypeStats& stats) {
|
| HISTOGRAM_COUNTS("WebCoreCache.ImagesSizeKB",
|
|
|