Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Side by Side Diff: chromecast/browser/cast_content_browser_client.cc

Issue 1854893002: [chromecast] Bind and run mojo media services on cma thread. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments 2 Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chromecast/browser/cast_content_browser_client.h ('k') | chromecast/browser/media/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « chromecast/browser/cast_content_browser_client.h ('k') | chromecast/browser/media/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698