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

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 14749005: Implement WebPrescientNetworking to trigger preconnect from Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase only Created 7 years, 6 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/renderer/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 23 matching lines...) Expand all
34 #include "chrome/renderer/extensions/chrome_v8_context.h" 34 #include "chrome/renderer/extensions/chrome_v8_context.h"
35 #include "chrome/renderer/extensions/chrome_v8_extension.h" 35 #include "chrome/renderer/extensions/chrome_v8_extension.h"
36 #include "chrome/renderer/extensions/dispatcher.h" 36 #include "chrome/renderer/extensions/dispatcher.h"
37 #include "chrome/renderer/extensions/extension_helper.h" 37 #include "chrome/renderer/extensions/extension_helper.h"
38 #include "chrome/renderer/extensions/miscellaneous_bindings.h" 38 #include "chrome/renderer/extensions/miscellaneous_bindings.h"
39 #include "chrome/renderer/extensions/renderer_permissions_policy_delegate.h" 39 #include "chrome/renderer/extensions/renderer_permissions_policy_delegate.h"
40 #include "chrome/renderer/extensions/resource_request_policy.h" 40 #include "chrome/renderer/extensions/resource_request_policy.h"
41 #include "chrome/renderer/external_extension.h" 41 #include "chrome/renderer/external_extension.h"
42 #include "chrome/renderer/loadtimes_extension_bindings.h" 42 #include "chrome/renderer/loadtimes_extension_bindings.h"
43 #include "chrome/renderer/net/net_error_helper.h" 43 #include "chrome/renderer/net/net_error_helper.h"
44 #include "chrome/renderer/net/prescient_networking_dispatcher.h"
44 #include "chrome/renderer/net/renderer_net_predictor.h" 45 #include "chrome/renderer/net/renderer_net_predictor.h"
45 #include "chrome/renderer/net_benchmarking_extension.h" 46 #include "chrome/renderer/net_benchmarking_extension.h"
46 #include "chrome/renderer/one_click_signin_agent.h" 47 #include "chrome/renderer/one_click_signin_agent.h"
47 #include "chrome/renderer/page_load_histograms.h" 48 #include "chrome/renderer/page_load_histograms.h"
48 #include "chrome/renderer/pepper/chrome_ppapi_interfaces.h" 49 #include "chrome/renderer/pepper/chrome_ppapi_interfaces.h"
49 #include "chrome/renderer/pepper/pepper_helper.h" 50 #include "chrome/renderer/pepper/pepper_helper.h"
50 #include "chrome/renderer/playback_extension.h" 51 #include "chrome/renderer/playback_extension.h"
51 #include "chrome/renderer/plugins/plugin_placeholder.h" 52 #include "chrome/renderer/plugins/plugin_placeholder.h"
52 #include "chrome/renderer/plugins/plugin_uma.h" 53 #include "chrome/renderer/plugins/plugin_uma.h"
53 #include "chrome/renderer/prerender/prerender_dispatcher.h" 54 #include "chrome/renderer/prerender/prerender_dispatcher.h"
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 207
207 ChromeContentRendererClient::~ChromeContentRendererClient() { 208 ChromeContentRendererClient::~ChromeContentRendererClient() {
208 g_current_client = NULL; 209 g_current_client = NULL;
209 } 210 }
210 211
211 void ChromeContentRendererClient::RenderThreadStarted() { 212 void ChromeContentRendererClient::RenderThreadStarted() {
212 chrome_observer_.reset(new ChromeRenderProcessObserver(this)); 213 chrome_observer_.reset(new ChromeRenderProcessObserver(this));
213 extension_dispatcher_.reset(new extensions::Dispatcher()); 214 extension_dispatcher_.reset(new extensions::Dispatcher());
214 permissions_policy_delegate_.reset( 215 permissions_policy_delegate_.reset(
215 new extensions::RendererPermissionsPolicyDelegate()); 216 new extensions::RendererPermissionsPolicyDelegate());
217 prescient_networking_dispatcher_.reset(new PrescientNetworkingDispatcher());
216 net_predictor_.reset(new RendererNetPredictor()); 218 net_predictor_.reset(new RendererNetPredictor());
217 spellcheck_.reset(new SpellCheck()); 219 spellcheck_.reset(new SpellCheck());
218 visited_link_slave_.reset(new visitedlink::VisitedLinkSlave()); 220 visited_link_slave_.reset(new visitedlink::VisitedLinkSlave());
219 #if defined(FULL_SAFE_BROWSING) 221 #if defined(FULL_SAFE_BROWSING)
220 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); 222 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create());
221 #endif 223 #endif
222 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher()); 224 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher());
223 225
224 RenderThread* thread = RenderThread::Get(); 226 RenderThread* thread = RenderThread::Get();
225 227
(...skipping 778 matching lines...) Expand 10 before | Expand all | Expand 10 after
1004 1006
1005 bool ChromeContentRendererClient::IsLinkVisited(unsigned long long link_hash) { 1007 bool ChromeContentRendererClient::IsLinkVisited(unsigned long long link_hash) {
1006 return visited_link_slave_->IsVisited(link_hash); 1008 return visited_link_slave_->IsVisited(link_hash);
1007 } 1009 }
1008 1010
1009 void ChromeContentRendererClient::PrefetchHostName(const char* hostname, 1011 void ChromeContentRendererClient::PrefetchHostName(const char* hostname,
1010 size_t length) { 1012 size_t length) {
1011 net_predictor_->Resolve(hostname, length); 1013 net_predictor_->Resolve(hostname, length);
1012 } 1014 }
1013 1015
1016 WebKit::WebPrescientNetworking*
1017 ChromeContentRendererClient::GetPrescientNetworking() {
1018 return prescient_networking_dispatcher_.get();
1019 }
1020
1014 bool ChromeContentRendererClient::ShouldOverridePageVisibilityState( 1021 bool ChromeContentRendererClient::ShouldOverridePageVisibilityState(
1015 const content::RenderView* render_view, 1022 const content::RenderView* render_view,
1016 WebKit::WebPageVisibilityState* override_state) const { 1023 WebKit::WebPageVisibilityState* override_state) const {
1017 if (!prerender::PrerenderHelper::IsPrerendering(render_view)) 1024 if (!prerender::PrerenderHelper::IsPrerendering(render_view))
1018 return false; 1025 return false;
1019 1026
1020 *override_state = WebKit::WebPageVisibilityStatePrerender; 1027 *override_state = WebKit::WebPageVisibilityStatePrerender;
1021 return true; 1028 return true;
1022 } 1029 }
1023 1030
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 1176
1170 if (container->element().shadowHost().isNull()) 1177 if (container->element().shadowHost().isNull())
1171 return false; 1178 return false;
1172 1179
1173 WebString tag_name = container->element().shadowHost().tagName(); 1180 WebString tag_name = container->element().shadowHost().tagName();
1174 return tag_name.equals(WebString::fromUTF8(kWebViewTagName)) || 1181 return tag_name.equals(WebString::fromUTF8(kWebViewTagName)) ||
1175 tag_name.equals(WebString::fromUTF8(kAdViewTagName)); 1182 tag_name.equals(WebString::fromUTF8(kAdViewTagName));
1176 } 1183 }
1177 1184
1178 } // namespace chrome 1185 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698