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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 #include "components/spellcheck/spellcheck_build_features.h" | 80 #include "components/spellcheck/spellcheck_build_features.h" |
81 #include "components/startup_metric_utils/common/startup_metric.mojom.h" | 81 #include "components/startup_metric_utils/common/startup_metric.mojom.h" |
82 #include "components/subresource_filter/content/renderer/subresource_filter_agen
t.h" | 82 #include "components/subresource_filter/content/renderer/subresource_filter_agen
t.h" |
83 #include "components/subresource_filter/content/renderer/unverified_ruleset_deal
er.h" | 83 #include "components/subresource_filter/content/renderer/unverified_ruleset_deal
er.h" |
84 #include "components/task_scheduler_util/renderer/initialization.h" | 84 #include "components/task_scheduler_util/renderer/initialization.h" |
85 #include "components/version_info/version_info.h" | 85 #include "components/version_info/version_info.h" |
86 #include "components/visitedlink/renderer/visitedlink_slave.h" | 86 #include "components/visitedlink/renderer/visitedlink_slave.h" |
87 #include "components/web_cache/renderer/web_cache_impl.h" | 87 #include "components/web_cache/renderer/web_cache_impl.h" |
88 #include "content/public/common/content_constants.h" | 88 #include "content/public/common/content_constants.h" |
89 #include "content/public/common/content_switches.h" | 89 #include "content/public/common/content_switches.h" |
| 90 #include "content/public/common/service_names.mojom.h" |
90 #include "content/public/common/url_constants.h" | 91 #include "content/public/common/url_constants.h" |
91 #include "content/public/renderer/plugin_instance_throttler.h" | 92 #include "content/public/renderer/plugin_instance_throttler.h" |
92 #include "content/public/renderer/render_frame.h" | 93 #include "content/public/renderer/render_frame.h" |
93 #include "content/public/renderer/render_thread.h" | 94 #include "content/public/renderer/render_thread.h" |
94 #include "content/public/renderer/render_view.h" | 95 #include "content/public/renderer/render_view.h" |
95 #include "content/public/renderer/render_view_visitor.h" | 96 #include "content/public/renderer/render_view_visitor.h" |
96 #include "extensions/common/constants.h" | 97 #include "extensions/common/constants.h" |
97 #include "extensions/features/features.h" | 98 #include "extensions/features/features.h" |
98 #include "ipc/ipc_sync_channel.h" | 99 #include "ipc/ipc_sync_channel.h" |
99 #include "media/media_features.h" | 100 #include "media/media_features.h" |
100 #include "net/base/net_errors.h" | 101 #include "net/base/net_errors.h" |
101 #include "ppapi/c/private/ppb_pdf.h" | 102 #include "ppapi/c/private/ppb_pdf.h" |
102 #include "ppapi/features/features.h" | 103 #include "ppapi/features/features.h" |
103 #include "ppapi/shared_impl/ppapi_switches.h" | 104 #include "ppapi/shared_impl/ppapi_switches.h" |
104 #include "printing/features/features.h" | 105 #include "printing/features/features.h" |
105 #include "services/service_manager/public/cpp/interface_provider.h" | 106 #include "services/service_manager/public/cpp/connector.h" |
106 #include "third_party/WebKit/public/platform/URLConversion.h" | 107 #include "third_party/WebKit/public/platform/URLConversion.h" |
107 #include "third_party/WebKit/public/platform/WebCache.h" | 108 #include "third_party/WebKit/public/platform/WebCache.h" |
108 #include "third_party/WebKit/public/platform/WebCachePolicy.h" | 109 #include "third_party/WebKit/public/platform/WebCachePolicy.h" |
109 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" | 110 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" |
110 #include "third_party/WebKit/public/platform/WebURL.h" | 111 #include "third_party/WebKit/public/platform/WebURL.h" |
111 #include "third_party/WebKit/public/platform/WebURLError.h" | 112 #include "third_party/WebKit/public/platform/WebURLError.h" |
112 #include "third_party/WebKit/public/platform/WebURLRequest.h" | 113 #include "third_party/WebKit/public/platform/WebURLRequest.h" |
113 #include "third_party/WebKit/public/platform/WebURLResponse.h" | 114 #include "third_party/WebKit/public/platform/WebURLResponse.h" |
114 #include "third_party/WebKit/public/web/WebDataSource.h" | 115 #include "third_party/WebKit/public/web/WebDataSource.h" |
115 #include "third_party/WebKit/public/web/WebDocument.h" | 116 #include "third_party/WebKit/public/web/WebDocument.h" |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 } | 352 } |
352 | 353 |
353 ChromeContentRendererClient::~ChromeContentRendererClient() { | 354 ChromeContentRendererClient::~ChromeContentRendererClient() { |
354 } | 355 } |
355 | 356 |
356 void ChromeContentRendererClient::RenderThreadStarted() { | 357 void ChromeContentRendererClient::RenderThreadStarted() { |
357 RenderThread* thread = RenderThread::Get(); | 358 RenderThread* thread = RenderThread::Get(); |
358 | 359 |
359 { | 360 { |
360 startup_metric_utils::mojom::StartupMetricHostPtr startup_metric_host; | 361 startup_metric_utils::mojom::StartupMetricHostPtr startup_metric_host; |
361 thread->GetRemoteInterfaces()->GetInterface(&startup_metric_host); | 362 thread->GetConnector()->BindInterface(content::mojom::kBrowserServiceName, |
| 363 &startup_metric_host); |
362 startup_metric_host->RecordRendererMainEntryTime(main_entry_time_); | 364 startup_metric_host->RecordRendererMainEntryTime(main_entry_time_); |
363 } | 365 } |
364 | 366 |
365 #if defined(OS_WIN) | 367 #if defined(OS_WIN) |
366 if (base::FeatureList::IsEnabled(features::kModuleDatabase)) { | 368 if (base::FeatureList::IsEnabled(features::kModuleDatabase)) { |
367 thread->GetRemoteInterfaces()->GetInterface(&module_event_sink_); | 369 thread->GetConnector()->BindInterface(content::mojom::kBrowserServiceName, |
| 370 &module_event_sink_); |
368 | 371 |
369 // Rebind the ModuleEventSink so that it can be accessed on the IO thread. | 372 // Rebind the ModuleEventSink so that it can be accessed on the IO thread. |
370 module_event_sink_.Bind(module_event_sink_.PassInterface(), | 373 module_event_sink_.Bind(module_event_sink_.PassInterface(), |
371 thread->GetIOTaskRunner()); | 374 thread->GetIOTaskRunner()); |
372 | 375 |
373 // It is safe to pass an unretained pointer to |module_event_sink_|, as it | 376 // It is safe to pass an unretained pointer to |module_event_sink_|, as it |
374 // is owned by the process singleton ChromeContentRendererClient, which is | 377 // is owned by the process singleton ChromeContentRendererClient, which is |
375 // leaked. | 378 // leaked. |
376 module_watcher_ = ModuleWatcher::Create( | 379 module_watcher_ = ModuleWatcher::Create( |
377 base::Bind(&OnModuleEvent, thread->GetIOTaskRunner(), | 380 base::Bind(&OnModuleEvent, thread->GetIOTaskRunner(), |
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1352 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1355 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1353 return ChromeExtensionsRendererClient::CreateBrowserPluginDelegate( | 1356 return ChromeExtensionsRendererClient::CreateBrowserPluginDelegate( |
1354 render_frame, mime_type, original_url); | 1357 render_frame, mime_type, original_url); |
1355 #else | 1358 #else |
1356 return nullptr; | 1359 return nullptr; |
1357 #endif | 1360 #endif |
1358 } | 1361 } |
1359 | 1362 |
1360 void ChromeContentRendererClient::RecordRappor(const std::string& metric, | 1363 void ChromeContentRendererClient::RecordRappor(const std::string& metric, |
1361 const std::string& sample) { | 1364 const std::string& sample) { |
1362 if (!rappor_recorder_) | 1365 if (!rappor_recorder_) { |
1363 RenderThread::Get()->GetRemoteInterfaces()->GetInterface(&rappor_recorder_); | 1366 RenderThread::Get()->GetConnector()->BindInterface( |
| 1367 content::mojom::kBrowserServiceName, &rappor_recorder_); |
| 1368 } |
1364 rappor_recorder_->RecordRappor(metric, sample); | 1369 rappor_recorder_->RecordRappor(metric, sample); |
1365 } | 1370 } |
1366 | 1371 |
1367 void ChromeContentRendererClient::RecordRapporURL(const std::string& metric, | 1372 void ChromeContentRendererClient::RecordRapporURL(const std::string& metric, |
1368 const GURL& url) { | 1373 const GURL& url) { |
1369 if (!rappor_recorder_) | 1374 if (!rappor_recorder_) { |
1370 RenderThread::Get()->GetRemoteInterfaces()->GetInterface(&rappor_recorder_); | 1375 RenderThread::Get()->GetConnector()->BindInterface( |
| 1376 content::mojom::kBrowserServiceName, &rappor_recorder_); |
| 1377 } |
1371 rappor_recorder_->RecordRapporURL(metric, url); | 1378 rappor_recorder_->RecordRapporURL(metric, url); |
1372 } | 1379 } |
1373 | 1380 |
1374 void ChromeContentRendererClient::AddImageContextMenuProperties( | 1381 void ChromeContentRendererClient::AddImageContextMenuProperties( |
1375 const WebURLResponse& response, | 1382 const WebURLResponse& response, |
1376 std::map<std::string, std::string>* properties) { | 1383 std::map<std::string, std::string>* properties) { |
1377 DCHECK(properties); | 1384 DCHECK(properties); |
1378 WebString header_key(WebString::fromASCII( | 1385 WebString header_key(WebString::fromASCII( |
1379 data_reduction_proxy::chrome_proxy_content_transform_header())); | 1386 data_reduction_proxy::chrome_proxy_content_transform_header())); |
1380 if (!response.httpHeaderField(header_key).isNull() && | 1387 if (!response.httpHeaderField(header_key).isNull() && |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1516 std::vector<base::SchedulerWorkerPoolParams>* params_vector, | 1523 std::vector<base::SchedulerWorkerPoolParams>* params_vector, |
1517 base::TaskScheduler::WorkerPoolIndexForTraitsCallback* | 1524 base::TaskScheduler::WorkerPoolIndexForTraitsCallback* |
1518 index_to_traits_callback) { | 1525 index_to_traits_callback) { |
1519 DCHECK(params_vector); | 1526 DCHECK(params_vector); |
1520 DCHECK(index_to_traits_callback); | 1527 DCHECK(index_to_traits_callback); |
1521 // If this call fails, content will fall back to the default params. | 1528 // If this call fails, content will fall back to the default params. |
1522 *params_vector = task_scheduler_util::GetRendererWorkerPoolParams(); | 1529 *params_vector = task_scheduler_util::GetRendererWorkerPoolParams(); |
1523 *index_to_traits_callback = | 1530 *index_to_traits_callback = |
1524 base::Bind(&task_scheduler_util::RendererWorkerPoolIndexForTraits); | 1531 base::Bind(&task_scheduler_util::RendererWorkerPoolIndexForTraits); |
1525 } | 1532 } |
OLD | NEW |