| 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 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 #include "content/public/browser/web_contents.h" | 43 #include "content/public/browser/web_contents.h" |
| 44 #include "content/public/common/content_descriptors.h" | 44 #include "content/public/common/content_descriptors.h" |
| 45 #include "content/public/common/content_switches.h" | 45 #include "content/public/common/content_switches.h" |
| 46 #include "content/public/common/url_constants.h" | 46 #include "content/public/common/url_constants.h" |
| 47 #include "content/public/common/web_preferences.h" | 47 #include "content/public/common/web_preferences.h" |
| 48 #include "net/ssl/ssl_cert_request_info.h" | 48 #include "net/ssl/ssl_cert_request_info.h" |
| 49 #include "net/url_request/url_request_context_getter.h" | 49 #include "net/url_request/url_request_context_getter.h" |
| 50 #include "ui/gl/gl_switches.h" | 50 #include "ui/gl/gl_switches.h" |
| 51 | 51 |
| 52 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | 52 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
| 53 #include "chromecast/browser/media/cast_mojo_media_application.h" |
| 53 #include "chromecast/browser/media/cast_mojo_media_client.h" | 54 #include "chromecast/browser/media/cast_mojo_media_client.h" |
| 54 // nogncheck because of conditional dependency. | |
| 55 #include "media/mojo/services/mojo_media_application.h" // nogncheck | |
| 56 #endif // ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS | 55 #endif // ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS |
| 57 | 56 |
| 58 #if defined(OS_ANDROID) | 57 #if defined(OS_ANDROID) |
| 59 #include "components/crash/content/browser/crash_dump_manager_android.h" | 58 #include "components/crash/content/browser/crash_dump_manager_android.h" |
| 60 #include "components/external_video_surface/browser/android/external_video_surfa
ce_container_impl.h" | 59 #include "components/external_video_surface/browser/android/external_video_surfa
ce_container_impl.h" |
| 61 #else | 60 #else |
| 62 #include "chromecast/browser/media/cast_browser_cdm_factory.h" | 61 #include "chromecast/browser/media/cast_browser_cdm_factory.h" |
| 63 #endif // defined(OS_ANDROID) | 62 #endif // defined(OS_ANDROID) |
| 64 | 63 |
| 65 namespace chromecast { | 64 namespace chromecast { |
| 66 namespace shell { | 65 namespace shell { |
| 67 | 66 |
| 68 namespace { | 67 namespace { |
| 69 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | 68 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
| 70 static scoped_ptr<mojo::ShellClient> CreateCastMojoMediaApplication( | 69 static scoped_ptr<mojo::ShellClient> CreateCastMojoMediaApplication( |
| 71 CastContentBrowserClient* browser_client) { | 70 CastContentBrowserClient* browser_client) { |
| 72 scoped_ptr<::media::MojoMediaClient> mojo_media_client( | 71 scoped_ptr<media::CastMojoMediaClient> mojo_media_client( |
| 73 new media::CastMojoMediaClient( | 72 new media::CastMojoMediaClient( |
| 74 base::Bind(&CastContentBrowserClient::CreateMediaPipelineBackend, | 73 base::Bind(&CastContentBrowserClient::CreateMediaPipelineBackend, |
| 75 base::Unretained(browser_client)))); | 74 base::Unretained(browser_client)))); |
| 76 return scoped_ptr<mojo::ShellClient>( | 75 return scoped_ptr<mojo::ShellClient>(new media::CastMojoMediaApplication( |
| 77 new ::media::MojoMediaApplication(std::move(mojo_media_client))); | 76 std::move(mojo_media_client), browser_client->GetMediaTaskRunner())); |
| 78 } | 77 } |
| 79 #endif // ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS | 78 #endif // ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS |
| 80 } // namespace | 79 } // namespace |
| 81 | 80 |
| 82 CastContentBrowserClient::CastContentBrowserClient() | 81 CastContentBrowserClient::CastContentBrowserClient() |
| 83 : cast_browser_main_parts_(nullptr), | 82 : cast_browser_main_parts_(nullptr), |
| 84 url_request_context_factory_(new URLRequestContextFactory()) {} | 83 url_request_context_factory_(new URLRequestContextFactory()) {} |
| 85 | 84 |
| 86 CastContentBrowserClient::~CastContentBrowserClient() { | 85 CastContentBrowserClient::~CastContentBrowserClient() { |
| 87 content::BrowserThread::DeleteSoon( | 86 content::BrowserThread::DeleteSoon( |
| (...skipping 11 matching lines...) Expand all Loading... |
| 99 | 98 |
| 100 scoped_ptr<CastService> CastContentBrowserClient::CreateCastService( | 99 scoped_ptr<CastService> CastContentBrowserClient::CreateCastService( |
| 101 content::BrowserContext* browser_context, | 100 content::BrowserContext* browser_context, |
| 102 PrefService* pref_service, | 101 PrefService* pref_service, |
| 103 net::URLRequestContextGetter* request_context_getter, | 102 net::URLRequestContextGetter* request_context_getter, |
| 104 media::VideoPlaneController* video_plane_controller) { | 103 media::VideoPlaneController* video_plane_controller) { |
| 105 return make_scoped_ptr(new CastServiceSimple(browser_context, pref_service)); | 104 return make_scoped_ptr(new CastServiceSimple(browser_context, pref_service)); |
| 106 } | 105 } |
| 107 | 106 |
| 108 #if !defined(OS_ANDROID) | 107 #if !defined(OS_ANDROID) |
| 108 scoped_refptr<base::SingleThreadTaskRunner> |
| 109 CastContentBrowserClient::GetMediaTaskRunner() { |
| 110 DCHECK(cast_browser_main_parts_); |
| 111 return cast_browser_main_parts_->GetMediaTaskRunner(); |
| 112 } |
| 113 |
| 109 scoped_ptr<media::MediaPipelineBackend> | 114 scoped_ptr<media::MediaPipelineBackend> |
| 110 CastContentBrowserClient::CreateMediaPipelineBackend( | 115 CastContentBrowserClient::CreateMediaPipelineBackend( |
| 111 const media::MediaPipelineDeviceParams& params) { | 116 const media::MediaPipelineDeviceParams& params) { |
| 112 return make_scoped_ptr( | 117 return make_scoped_ptr( |
| 113 media::MediaPipelineBackendManager::CreateMediaPipelineBackend(params)); | 118 media::MediaPipelineBackendManager::CreateMediaPipelineBackend(params)); |
| 114 } | 119 } |
| 115 | 120 |
| 116 media::MediaResourceTracker* | 121 media::MediaResourceTracker* |
| 117 CastContentBrowserClient::media_resource_tracker() { | 122 CastContentBrowserClient::media_resource_tracker() { |
| 118 return cast_browser_main_parts_->media_resource_tracker(); | 123 return cast_browser_main_parts_->media_resource_tracker(); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 // getting HostResolver. | 161 // getting HostResolver. |
| 157 content::BrowserThread::PostTaskAndReplyWithResult( | 162 content::BrowserThread::PostTaskAndReplyWithResult( |
| 158 content::BrowserThread::IO, FROM_HERE, | 163 content::BrowserThread::IO, FROM_HERE, |
| 159 base::Bind(&net::URLRequestContextGetter::GetURLRequestContext, | 164 base::Bind(&net::URLRequestContextGetter::GetURLRequestContext, |
| 160 base::Unretained( | 165 base::Unretained( |
| 161 url_request_context_factory_->GetSystemGetter())), | 166 url_request_context_factory_->GetSystemGetter())), |
| 162 base::Bind(&CastContentBrowserClient::AddNetworkHintsMessageFilter, | 167 base::Bind(&CastContentBrowserClient::AddNetworkHintsMessageFilter, |
| 163 base::Unretained(this), host->GetID())); | 168 base::Unretained(this), host->GetID())); |
| 164 } | 169 } |
| 165 | 170 |
| 166 scoped_refptr<base::SingleThreadTaskRunner> | |
| 167 CastContentBrowserClient::GetMediaTaskRunner() { | |
| 168 DCHECK(cast_browser_main_parts_); | |
| 169 return cast_browser_main_parts_->GetMediaTaskRunner(); | |
| 170 } | |
| 171 | |
| 172 void CastContentBrowserClient::AddNetworkHintsMessageFilter( | 171 void CastContentBrowserClient::AddNetworkHintsMessageFilter( |
| 173 int render_process_id, net::URLRequestContext* context) { | 172 int render_process_id, net::URLRequestContext* context) { |
| 174 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 173 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| 175 | 174 |
| 176 content::RenderProcessHost* host = | 175 content::RenderProcessHost* host = |
| 177 content::RenderProcessHost::FromID(render_process_id); | 176 content::RenderProcessHost::FromID(render_process_id); |
| 178 if (!host) | 177 if (!host) |
| 179 return; | 178 return; |
| 180 | 179 |
| 181 scoped_refptr<content::BrowserMessageFilter> network_hints_message_filter( | 180 scoped_refptr<content::BrowserMessageFilter> network_hints_message_filter( |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 process_type, dumps_path, false /* upload */); | 490 process_type, dumps_path, false /* upload */); |
| 492 // StartUploaderThread() even though upload is diferred. | 491 // StartUploaderThread() even though upload is diferred. |
| 493 // Breakpad-related memory is freed in the uploader thread. | 492 // Breakpad-related memory is freed in the uploader thread. |
| 494 crash_handler->StartUploaderThread(); | 493 crash_handler->StartUploaderThread(); |
| 495 return crash_handler; | 494 return crash_handler; |
| 496 } | 495 } |
| 497 #endif // !defined(OS_ANDROID) | 496 #endif // !defined(OS_ANDROID) |
| 498 | 497 |
| 499 } // namespace shell | 498 } // namespace shell |
| 500 } // namespace chromecast | 499 } // namespace chromecast |
| OLD | NEW |