| 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 |