Chromium Code Reviews| Index: chrome/renderer/chrome_content_renderer_client.cc |
| diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
| index d55fd2712e71623f55f8f78e45c828094e2e44c5..162148377ef761e7e360bf7c0ec963bd18934284 100644 |
| --- a/chrome/renderer/chrome_content_renderer_client.cc |
| +++ b/chrome/renderer/chrome_content_renderer_client.cc |
| @@ -78,6 +78,7 @@ |
| #include "components/password_manager/content/renderer/credential_manager_client.h" |
| #include "components/pdf/renderer/pepper_pdf_host.h" |
| #include "components/safe_browsing/renderer/threat_dom_details.h" |
| +#include "components/safe_browsing/renderer/websocket_sb_handshake_throttle.h" |
| #include "components/signin/core/common/profile_management_switches.h" |
| #include "components/spellcheck/spellcheck_build_features.h" |
| #include "components/startup_metric_utils/common/startup_metric.mojom.h" |
| @@ -1205,12 +1206,7 @@ bool ChromeContentRendererClient::WillSendRequest( |
| const blink::WebURL& url, |
| std::vector<std::unique_ptr<content::URLLoaderThrottle>>* throttles, |
| GURL* new_url) { |
| - if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| - switches::kEnableNetworkService)) { |
| - if (!safe_browsing_) { |
| - RenderThread::Get()->GetConnector()->BindInterface( |
| - content::mojom::kBrowserServiceName, &safe_browsing_); |
| - } |
| + if (UsingSafeBrowsingMojoService()) { |
| RenderFrame* render_frame = content::RenderFrame::FromWebFrame(frame); |
| throttles->push_back( |
| base::MakeUnique<safe_browsing::RendererURLLoaderThrottle>( |
| @@ -1310,6 +1306,14 @@ bool ChromeContentRendererClient::IsExtensionOrSharedModuleWhitelisted( |
| } |
| #endif |
| +std::unique_ptr<blink::WebSocketHandshakeThrottle> |
| +ChromeContentRendererClient::CreateWebSocketHandshakeThrottle() { |
| + if (!UsingSafeBrowsingMojoService()) |
| + return nullptr; |
| + return base::MakeUnique<safe_browsing::WebSocketSBHandshakeThrottle>( |
| + safe_browsing_.get()); |
| +} |
| + |
| std::unique_ptr<blink::WebSpeechSynthesizer> |
| ChromeContentRendererClient::OverrideSpeechSynthesizer( |
| blink::WebSpeechSynthesizerClient* client) { |
| @@ -1600,3 +1604,16 @@ ChromeContentRendererClient::GetTaskSchedulerInitParams() { |
| return task_scheduler_util:: |
| GetRendererTaskSchedulerInitParamsFromCommandLine(); |
| } |
| + |
| +bool ChromeContentRendererClient::UsingSafeBrowsingMojoService() { |
| + if (safe_browsing_) |
| + return true; |
| + if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kEnableNetworkService)) { |
| + return false; |
| + } |
| + RenderThread::Get()->GetConnector()->BindInterface( |
| + content::mojom::kBrowserServiceName, &safe_browsing_); |
| + 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.
|
| + return true; |
| +} |