OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chromecast/browser/cast_content_browser_client.h" | 5 #include "chromecast/browser/cast_content_browser_client.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 media::MediaResourceTracker* | 156 media::MediaResourceTracker* |
157 CastContentBrowserClient::media_resource_tracker() { | 157 CastContentBrowserClient::media_resource_tracker() { |
158 return cast_browser_main_parts_->media_resource_tracker(); | 158 return cast_browser_main_parts_->media_resource_tracker(); |
159 } | 159 } |
160 | 160 |
161 media::MediaPipelineBackendManager* | 161 media::MediaPipelineBackendManager* |
162 CastContentBrowserClient::media_pipeline_backend_manager() { | 162 CastContentBrowserClient::media_pipeline_backend_manager() { |
163 DCHECK(cast_browser_main_parts_); | 163 DCHECK(cast_browser_main_parts_); |
164 return cast_browser_main_parts_->media_pipeline_backend_manager(); | 164 return cast_browser_main_parts_->media_pipeline_backend_manager(); |
165 } | 165 } |
| 166 |
| 167 ::media::ScopedAudioManagerPtr CastContentBrowserClient::CreateAudioManager( |
| 168 ::media::AudioLogFactory* audio_log_factory) { |
| 169 return ::media::ScopedAudioManagerPtr(new media::CastAudioManager( |
| 170 GetMediaTaskRunner(), GetMediaTaskRunner(), audio_log_factory, |
| 171 media_pipeline_backend_manager())); |
| 172 } |
| 173 |
| 174 std::unique_ptr<::media::CdmFactory> |
| 175 CastContentBrowserClient::CreateCdmFactory() { |
| 176 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
| 177 return base::MakeUnique<media::CastCdmFactory>(GetMediaTaskRunner(), |
| 178 media_resource_tracker()); |
| 179 #endif // defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
| 180 return nullptr; |
| 181 } |
166 #endif // !defined(OS_ANDROID) | 182 #endif // !defined(OS_ANDROID) |
167 | 183 |
168 media::MediaCapsImpl* CastContentBrowserClient::media_caps() { | 184 media::MediaCapsImpl* CastContentBrowserClient::media_caps() { |
169 DCHECK(cast_browser_main_parts_); | 185 DCHECK(cast_browser_main_parts_); |
170 return cast_browser_main_parts_->media_caps(); | 186 return cast_browser_main_parts_->media_caps(); |
171 } | 187 } |
172 | 188 |
173 void CastContentBrowserClient::SetMetricsClientId( | 189 void CastContentBrowserClient::SetMetricsClientId( |
174 const std::string& client_id) { | 190 const std::string& client_id) { |
175 } | 191 } |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 base::StringPiece service_name) { | 452 base::StringPiece service_name) { |
437 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 453 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
438 if (service_name != content::mojom::kBrowserServiceName) | 454 if (service_name != content::mojom::kBrowserServiceName) |
439 return nullptr; | 455 return nullptr; |
440 base::StringPiece manifest_contents = | 456 base::StringPiece manifest_contents = |
441 rb.GetRawDataResourceForScale(IDR_CAST_CONTENT_BROWSER_MANIFEST_OVERLAY, | 457 rb.GetRawDataResourceForScale(IDR_CAST_CONTENT_BROWSER_MANIFEST_OVERLAY, |
442 ui::ScaleFactor::SCALE_FACTOR_NONE); | 458 ui::ScaleFactor::SCALE_FACTOR_NONE); |
443 return base::JSONReader::Read(manifest_contents); | 459 return base::JSONReader::Read(manifest_contents); |
444 } | 460 } |
445 | 461 |
446 #if defined(OS_ANDROID) | |
447 | |
448 void CastContentBrowserClient::GetAdditionalMappedFilesForChildProcess( | 462 void CastContentBrowserClient::GetAdditionalMappedFilesForChildProcess( |
449 const base::CommandLine& command_line, | 463 const base::CommandLine& command_line, |
450 int child_process_id, | 464 int child_process_id, |
451 content::FileDescriptorInfo* mappings, | 465 content::FileDescriptorInfo* mappings) { |
452 std::map<int, base::MemoryMappedFile::Region>* regions) { | 466 #if defined(OS_ANDROID) |
453 mappings->Share( | 467 mappings->ShareWithRegion( |
454 kAndroidPakDescriptor, | 468 kAndroidPakDescriptor, |
455 base::GlobalDescriptors::GetInstance()->Get(kAndroidPakDescriptor)); | 469 base::GlobalDescriptors::GetInstance()->Get(kAndroidPakDescriptor), |
456 regions->insert(std::make_pair( | 470 base::GlobalDescriptors::GetInstance()->GetRegion(kAndroidPakDescriptor)); |
457 kAndroidPakDescriptor, base::GlobalDescriptors::GetInstance()->GetRegion( | |
458 kAndroidPakDescriptor))); | |
459 | 471 |
460 if (breakpad::IsCrashReporterEnabled()) { | 472 if (breakpad::IsCrashReporterEnabled()) { |
461 base::File minidump_file( | 473 base::File minidump_file( |
462 breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( | 474 breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( |
463 child_process_id)); | 475 child_process_id)); |
464 if (!minidump_file.IsValid()) { | 476 if (!minidump_file.IsValid()) { |
465 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " | 477 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " |
466 << "be disabled for this process."; | 478 << "be disabled for this process."; |
467 } else { | 479 } else { |
468 mappings->Transfer(kAndroidMinidumpDescriptor, | 480 mappings->Transfer(kAndroidMinidumpDescriptor, |
469 base::ScopedFD(minidump_file.TakePlatformFile())); | 481 base::ScopedFD(minidump_file.TakePlatformFile())); |
470 } | 482 } |
471 } | 483 } |
472 } | |
473 | |
474 #else | 484 #else |
475 ::media::ScopedAudioManagerPtr CastContentBrowserClient::CreateAudioManager( | 485 int crash_signal_fd = GetCrashSignalFD(command_line); |
476 ::media::AudioLogFactory* audio_log_factory) { | |
477 return ::media::ScopedAudioManagerPtr(new media::CastAudioManager( | |
478 GetMediaTaskRunner(), GetMediaTaskRunner(), audio_log_factory, | |
479 media_pipeline_backend_manager())); | |
480 } | |
481 | |
482 std::unique_ptr<::media::CdmFactory> | |
483 CastContentBrowserClient::CreateCdmFactory() { | |
484 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | |
485 return base::MakeUnique<media::CastCdmFactory>(GetMediaTaskRunner(), | |
486 media_resource_tracker()); | |
487 #endif // defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | |
488 return nullptr; | |
489 } | |
490 | |
491 void CastContentBrowserClient::GetAdditionalMappedFilesForChildProcess( | |
492 const base::CommandLine& command_line, | |
493 int child_process_id, | |
494 content::FileDescriptorInfo* mappings) { | |
495 int crash_signal_fd = GetCrashSignalFD(command_line); | |
496 if (crash_signal_fd >= 0) { | 486 if (crash_signal_fd >= 0) { |
497 mappings->Share(kCrashDumpSignal, crash_signal_fd); | 487 mappings->Share(kCrashDumpSignal, crash_signal_fd); |
498 } | 488 } |
| 489 #endif // defined(OS_ANDROID) |
499 } | 490 } |
500 | 491 |
501 #endif // defined(OS_ANDROID) | |
502 | |
503 void CastContentBrowserClient::GetAdditionalWebUISchemes( | 492 void CastContentBrowserClient::GetAdditionalWebUISchemes( |
504 std::vector<std::string>* additional_schemes) { | 493 std::vector<std::string>* additional_schemes) { |
505 additional_schemes->push_back(kChromeResourceScheme); | 494 additional_schemes->push_back(kChromeResourceScheme); |
506 } | 495 } |
507 | 496 |
508 content::DevToolsManagerDelegate* | 497 content::DevToolsManagerDelegate* |
509 CastContentBrowserClient::GetDevToolsManagerDelegate() { | 498 CastContentBrowserClient::GetDevToolsManagerDelegate() { |
510 return new CastDevToolsManagerDelegate(); | 499 return new CastDevToolsManagerDelegate(); |
511 } | 500 } |
512 | 501 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 process_type, dumps_path, false /* upload */); | 534 process_type, dumps_path, false /* upload */); |
546 // StartUploaderThread() even though upload is diferred. | 535 // StartUploaderThread() even though upload is diferred. |
547 // Breakpad-related memory is freed in the uploader thread. | 536 // Breakpad-related memory is freed in the uploader thread. |
548 crash_handler->StartUploaderThread(); | 537 crash_handler->StartUploaderThread(); |
549 return crash_handler; | 538 return crash_handler; |
550 } | 539 } |
551 #endif // !defined(OS_ANDROID) | 540 #endif // !defined(OS_ANDROID) |
552 | 541 |
553 } // namespace shell | 542 } // namespace shell |
554 } // namespace chromecast | 543 } // namespace chromecast |
OLD | NEW |