OLD | NEW |
---|---|
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 <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
71 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade rs.h" | 71 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade rs.h" |
72 #include "components/dom_distiller/content/renderer/distillability_agent.h" | 72 #include "components/dom_distiller/content/renderer/distillability_agent.h" |
73 #include "components/dom_distiller/content/renderer/distiller_js_render_frame_ob server.h" | 73 #include "components/dom_distiller/content/renderer/distiller_js_render_frame_ob server.h" |
74 #include "components/dom_distiller/core/dom_distiller_switches.h" | 74 #include "components/dom_distiller/core/dom_distiller_switches.h" |
75 #include "components/dom_distiller/core/url_constants.h" | 75 #include "components/dom_distiller/core/url_constants.h" |
76 #include "components/error_page/common/localized_error.h" | 76 #include "components/error_page/common/localized_error.h" |
77 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" | 77 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" |
78 #include "components/password_manager/content/renderer/credential_manager_client .h" | 78 #include "components/password_manager/content/renderer/credential_manager_client .h" |
79 #include "components/pdf/renderer/pepper_pdf_host.h" | 79 #include "components/pdf/renderer/pepper_pdf_host.h" |
80 #include "components/safe_browsing/renderer/threat_dom_details.h" | 80 #include "components/safe_browsing/renderer/threat_dom_details.h" |
81 #include "components/safe_browsing/renderer/websocket_sb_handshake_throttle.h" | |
81 #include "components/signin/core/common/profile_management_switches.h" | 82 #include "components/signin/core/common/profile_management_switches.h" |
82 #include "components/spellcheck/spellcheck_build_features.h" | 83 #include "components/spellcheck/spellcheck_build_features.h" |
83 #include "components/startup_metric_utils/common/startup_metric.mojom.h" | 84 #include "components/startup_metric_utils/common/startup_metric.mojom.h" |
84 #include "components/subresource_filter/content/renderer/subresource_filter_agen t.h" | 85 #include "components/subresource_filter/content/renderer/subresource_filter_agen t.h" |
85 #include "components/subresource_filter/content/renderer/unverified_ruleset_deal er.h" | 86 #include "components/subresource_filter/content/renderer/unverified_ruleset_deal er.h" |
86 #include "components/task_scheduler_util/renderer/initialization.h" | 87 #include "components/task_scheduler_util/renderer/initialization.h" |
87 #include "components/version_info/version_info.h" | 88 #include "components/version_info/version_info.h" |
88 #include "components/visitedlink/renderer/visitedlink_slave.h" | 89 #include "components/visitedlink/renderer/visitedlink_slave.h" |
89 #include "components/web_cache/renderer/web_cache_impl.h" | 90 #include "components/web_cache/renderer/web_cache_impl.h" |
90 #include "content/public/common/content_constants.h" | 91 #include "content/public/common/content_constants.h" |
(...skipping 1107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1198 | 1199 |
1199 return false; | 1200 return false; |
1200 } | 1201 } |
1201 | 1202 |
1202 bool ChromeContentRendererClient::WillSendRequest( | 1203 bool ChromeContentRendererClient::WillSendRequest( |
1203 WebLocalFrame* frame, | 1204 WebLocalFrame* frame, |
1204 ui::PageTransition transition_type, | 1205 ui::PageTransition transition_type, |
1205 const blink::WebURL& url, | 1206 const blink::WebURL& url, |
1206 std::vector<std::unique_ptr<content::URLLoaderThrottle>>* throttles, | 1207 std::vector<std::unique_ptr<content::URLLoaderThrottle>>* throttles, |
1207 GURL* new_url) { | 1208 GURL* new_url) { |
1208 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 1209 if (UsingSafeBrowsingMojoService()) { |
1209 switches::kEnableNetworkService)) { | |
1210 if (!safe_browsing_) { | |
1211 RenderThread::Get()->GetConnector()->BindInterface( | |
1212 content::mojom::kBrowserServiceName, &safe_browsing_); | |
1213 } | |
1214 RenderFrame* render_frame = content::RenderFrame::FromWebFrame(frame); | 1210 RenderFrame* render_frame = content::RenderFrame::FromWebFrame(frame); |
1215 throttles->push_back( | 1211 throttles->push_back( |
1216 base::MakeUnique<safe_browsing::RendererURLLoaderThrottle>( | 1212 base::MakeUnique<safe_browsing::RendererURLLoaderThrottle>( |
1217 safe_browsing_.get(), render_frame->GetRoutingID())); | 1213 safe_browsing_.get(), render_frame->GetRoutingID())); |
1218 } | 1214 } |
1219 | 1215 |
1220 // Check whether the request should be allowed. If not allowed, we reset the | 1216 // Check whether the request should be allowed. If not allowed, we reset the |
1221 // URL to something invalid to prevent the request and cause an error. | 1217 // URL to something invalid to prevent the request and cause an error. |
1222 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1218 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1223 if (ChromeExtensionsRendererClient::GetInstance()->WillSendRequest( | 1219 if (ChromeExtensionsRendererClient::GetInstance()->WillSendRequest( |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1303 #if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS) | 1299 #if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS) |
1304 bool ChromeContentRendererClient::IsExtensionOrSharedModuleWhitelisted( | 1300 bool ChromeContentRendererClient::IsExtensionOrSharedModuleWhitelisted( |
1305 const GURL& url, const std::set<std::string>& whitelist) { | 1301 const GURL& url, const std::set<std::string>& whitelist) { |
1306 const extensions::ExtensionSet* extension_set = | 1302 const extensions::ExtensionSet* extension_set = |
1307 extensions::RendererExtensionRegistry::Get()->GetMainThreadExtensionSet(); | 1303 extensions::RendererExtensionRegistry::Get()->GetMainThreadExtensionSet(); |
1308 return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set, | 1304 return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set, |
1309 whitelist); | 1305 whitelist); |
1310 } | 1306 } |
1311 #endif | 1307 #endif |
1312 | 1308 |
1309 std::unique_ptr<blink::WebSocketHandshakeThrottle> | |
1310 ChromeContentRendererClient::CreateWebSocketHandshakeThrottle() { | |
1311 if (!UsingSafeBrowsingMojoService()) | |
1312 return nullptr; | |
1313 return base::MakeUnique<safe_browsing::WebSocketSBHandshakeThrottle>( | |
1314 safe_browsing_.get()); | |
1315 } | |
1316 | |
1313 std::unique_ptr<blink::WebSpeechSynthesizer> | 1317 std::unique_ptr<blink::WebSpeechSynthesizer> |
1314 ChromeContentRendererClient::OverrideSpeechSynthesizer( | 1318 ChromeContentRendererClient::OverrideSpeechSynthesizer( |
1315 blink::WebSpeechSynthesizerClient* client) { | 1319 blink::WebSpeechSynthesizerClient* client) { |
1316 return base::MakeUnique<TtsDispatcher>(client); | 1320 return base::MakeUnique<TtsDispatcher>(client); |
1317 } | 1321 } |
1318 | 1322 |
1319 bool ChromeContentRendererClient::AllowPepperMediaStreamAPI( | 1323 bool ChromeContentRendererClient::AllowPepperMediaStreamAPI( |
1320 const GURL& url) { | 1324 const GURL& url) { |
1321 #if defined(OS_ANDROID) | 1325 #if defined(OS_ANDROID) |
1322 return false; | 1326 return false; |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1593 | 1597 |
1594 RecordYouTubeRewriteUMA(result); | 1598 RecordYouTubeRewriteUMA(result); |
1595 return corrected_url.ReplaceComponents(r); | 1599 return corrected_url.ReplaceComponents(r); |
1596 } | 1600 } |
1597 | 1601 |
1598 std::unique_ptr<base::TaskScheduler::InitParams> | 1602 std::unique_ptr<base::TaskScheduler::InitParams> |
1599 ChromeContentRendererClient::GetTaskSchedulerInitParams() { | 1603 ChromeContentRendererClient::GetTaskSchedulerInitParams() { |
1600 return task_scheduler_util:: | 1604 return task_scheduler_util:: |
1601 GetRendererTaskSchedulerInitParamsFromCommandLine(); | 1605 GetRendererTaskSchedulerInitParamsFromCommandLine(); |
1602 } | 1606 } |
1607 | |
1608 bool ChromeContentRendererClient::UsingSafeBrowsingMojoService() { | |
1609 if (safe_browsing_) | |
1610 return true; | |
1611 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | |
1612 switches::kEnableNetworkService)) { | |
1613 return false; | |
1614 } | |
1615 RenderThread::Get()->GetConnector()->BindInterface( | |
1616 content::mojom::kBrowserServiceName, &safe_browsing_); | |
1617 DCHECK(safe_browsing_); | |
jam
2017/06/27 01:36:28
BindInterface completes asynchronously, but it'll
Adam Rice
2017/06/27 02:17:05
Removed.
| |
1618 return true; | |
1619 } | |
OLD | NEW |