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

Side by Side Diff: chrome/browser/renderer_host/chrome_render_view_host_observer.cc

Issue 14749005: Implement WebPrescientNetworking to trigger preconnect from Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/renderer_host/chrome_render_view_host_observer.h" 5 #include "chrome/browser/renderer_host/chrome_render_view_host_observer.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/extensions/extension_system.h" 9 #include "chrome/browser/extensions/extension_system.h"
10 #include "chrome/browser/net/predictor.h" 10 #include "chrome/browser/net/predictor.h"
(...skipping 14 matching lines...) Expand all
25 25
26 #if defined(OS_WIN) 26 #if defined(OS_WIN)
27 #include "base/win/win_util.h" 27 #include "base/win/win_util.h"
28 #endif // OS_WIN 28 #endif // OS_WIN
29 29
30 using content::ChildProcessSecurityPolicy; 30 using content::ChildProcessSecurityPolicy;
31 using content::RenderViewHost; 31 using content::RenderViewHost;
32 using content::SiteInstance; 32 using content::SiteInstance;
33 using extensions::Extension; 33 using extensions::Extension;
34 using extensions::Manifest; 34 using extensions::Manifest;
35 using chrome_browser_net::UrlInfo;
35 36
36 ChromeRenderViewHostObserver::ChromeRenderViewHostObserver( 37 ChromeRenderViewHostObserver::ChromeRenderViewHostObserver(
37 RenderViewHost* render_view_host, chrome_browser_net::Predictor* predictor) 38 RenderViewHost* render_view_host, chrome_browser_net::Predictor* predictor)
38 : content::RenderViewHostObserver(render_view_host), 39 : content::RenderViewHostObserver(render_view_host),
39 predictor_(predictor) { 40 predictor_(predictor) {
40 SiteInstance* site_instance = render_view_host->GetSiteInstance(); 41 SiteInstance* site_instance = render_view_host->GetSiteInstance();
41 profile_ = Profile::FromBrowserContext( 42 profile_ = Profile::FromBrowserContext(
42 site_instance->GetBrowserContext()); 43 site_instance->GetBrowserContext());
43 44
44 InitRenderViewForExtensions(); 45 InitRenderViewForExtensions();
(...skipping 14 matching lines...) Expand all
59 RenderViewHost* rvh) { 60 RenderViewHost* rvh) {
60 RemoveRenderViewHostForExtensions(rvh); 61 RemoveRenderViewHostForExtensions(rvh);
61 delete this; 62 delete this;
62 } 63 }
63 64
64 void ChromeRenderViewHostObserver::Navigate(const GURL& url) { 65 void ChromeRenderViewHostObserver::Navigate(const GURL& url) {
65 if (!predictor_) 66 if (!predictor_)
66 return; 67 return;
67 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kChromeFrame) && 68 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kChromeFrame) &&
68 (url.SchemeIs(chrome::kHttpScheme) || url.SchemeIs(chrome::kHttpsScheme))) 69 (url.SchemeIs(chrome::kHttpScheme) || url.SchemeIs(chrome::kHttpsScheme)))
69 predictor_->PreconnectUrlAndSubresources(url); 70 predictor_->PreconnectUrlAndSubresources(
71 url, UrlInfo::EARLY_LOAD_MOTIVATED, 0);
70 } 72 }
71 73
72 bool ChromeRenderViewHostObserver::OnMessageReceived( 74 bool ChromeRenderViewHostObserver::OnMessageReceived(
73 const IPC::Message& message) { 75 const IPC::Message& message) {
74 bool handled = true; 76 bool handled = true;
75 IPC_BEGIN_MESSAGE_MAP(ChromeRenderViewHostObserver, message) 77 IPC_BEGIN_MESSAGE_MAP(ChromeRenderViewHostObserver, message)
76 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_FocusedNodeTouched, 78 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_FocusedNodeTouched,
77 OnFocusedNodeTouched) 79 OnFocusedNodeTouched)
78 IPC_MESSAGE_UNHANDLED(handled = false) 80 IPC_MESSAGE_UNHANDLED(handled = false)
79 IPC_END_MESSAGE_MAP() 81 IPC_END_MESSAGE_MAP()
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 content::NotificationService::current()->Notify( 177 content::NotificationService::current()->Notify(
176 chrome::NOTIFICATION_FOCUSED_NODE_TOUCHED, 178 chrome::NOTIFICATION_FOCUSED_NODE_TOUCHED,
177 content::Source<RenderViewHost>(render_view_host()), 179 content::Source<RenderViewHost>(render_view_host()),
178 content::Details<bool>(&editable)); 180 content::Details<bool>(&editable));
179 } else { 181 } else {
180 #if defined(OS_WIN) 182 #if defined(OS_WIN)
181 base::win::DismissVirtualKeyboard(); 183 base::win::DismissVirtualKeyboard();
182 #endif 184 #endif
183 } 185 }
184 } 186 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698