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

Side by Side Diff: content/browser/mojo/mojo_shell_context.cc

Issue 1544853003: Let content embedders register in-process media service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 10 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "content/browser/mojo/mojo_shell_context.h" 5 #include "content/browser/mojo/mojo_shell_context.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 12 matching lines...) Expand all
23 #include "mojo/common/url_type_converters.h" 23 #include "mojo/common/url_type_converters.h"
24 #include "mojo/public/cpp/bindings/interface_request.h" 24 #include "mojo/public/cpp/bindings/interface_request.h"
25 #include "mojo/public/cpp/bindings/string.h" 25 #include "mojo/public/cpp/bindings/string.h"
26 #include "mojo/shell/application_loader.h" 26 #include "mojo/shell/application_loader.h"
27 #include "mojo/shell/connect_to_application_params.h" 27 #include "mojo/shell/connect_to_application_params.h"
28 #include "mojo/shell/identity.h" 28 #include "mojo/shell/identity.h"
29 #include "mojo/shell/package_manager/package_manager_impl.h" 29 #include "mojo/shell/package_manager/package_manager_impl.h"
30 #include "mojo/shell/public/cpp/application_delegate.h" 30 #include "mojo/shell/public/cpp/application_delegate.h"
31 #include "mojo/shell/static_application_loader.h" 31 #include "mojo/shell/static_application_loader.h"
32 32
33 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) || \
34 defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
35 #include "media/mojo/services/mojo_media_application.h"
36 #endif
37
38 namespace content { 33 namespace content {
39 34
40 namespace { 35 namespace {
41 36
42 // An extra set of apps to register on initialization, if set by a test. 37 // An extra set of apps to register on initialization, if set by a test.
43 const MojoShellContext::StaticApplicationMap* g_applications_for_test; 38 const MojoShellContext::StaticApplicationMap* g_applications_for_test;
44 39
45 void StartUtilityProcessOnIOThread( 40 void StartUtilityProcessOnIOThread(
46 mojo::InterfaceRequest<ProcessControl> request, 41 mojo::InterfaceRequest<ProcessControl> request,
47 const base::string16& process_name, 42 const base::string16& process_name,
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 GetContentClient() 239 GetContentClient()
245 ->browser() 240 ->browser()
246 ->RegisterUnsandboxedOutOfProcessMojoApplications(&unsandboxed_apps); 241 ->RegisterUnsandboxedOutOfProcessMojoApplications(&unsandboxed_apps);
247 for (const auto& app : unsandboxed_apps) { 242 for (const auto& app : unsandboxed_apps) {
248 application_manager_->SetLoaderForURL( 243 application_manager_->SetLoaderForURL(
249 scoped_ptr<mojo::shell::ApplicationLoader>( 244 scoped_ptr<mojo::shell::ApplicationLoader>(
250 new UtilityProcessLoader(app.second, false /* use_sandbox */)), 245 new UtilityProcessLoader(app.second, false /* use_sandbox */)),
251 app.first); 246 app.first);
252 } 247 }
253 248
254 #if (ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) 249 #if (ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
255 application_manager_->SetLoaderForURL(
256 scoped_ptr<mojo::shell::ApplicationLoader>(
257 new mojo::shell::StaticApplicationLoader(
258 base::Bind(&media::MojoMediaApplication::CreateApp))),
259 GURL("mojo:media"));
260 #elif(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
261 application_manager_->SetLoaderForURL( 250 application_manager_->SetLoaderForURL(
262 scoped_ptr<mojo::shell::ApplicationLoader>(new GpuProcessLoader()), 251 scoped_ptr<mojo::shell::ApplicationLoader>(new GpuProcessLoader()),
263 GURL("mojo:media")); 252 GURL("mojo:media"));
264 #endif 253 #endif
265 } 254 }
266 255
267 MojoShellContext::~MojoShellContext() { 256 MojoShellContext::~MojoShellContext() {
268 } 257 }
269 258
270 // static 259 // static
(...skipping 23 matching lines...) Expand all
294 mojo::shell::GetPermissiveCapabilityFilter())); 283 mojo::shell::GetPermissiveCapabilityFilter()));
295 params->SetTarget(mojo::shell::Identity(url, std::string(), filter)); 284 params->SetTarget(mojo::shell::Identity(url, std::string(), filter));
296 params->set_services(std::move(request)); 285 params->set_services(std::move(request));
297 params->set_exposed_services(std::move(exposed_services)); 286 params->set_exposed_services(std::move(exposed_services));
298 params->set_on_application_end(base::Bind(&base::DoNothing)); 287 params->set_on_application_end(base::Bind(&base::DoNothing));
299 params->set_connect_callback(callback); 288 params->set_connect_callback(callback);
300 application_manager_->ConnectToApplication(std::move(params)); 289 application_manager_->ConnectToApplication(std::move(params));
301 } 290 }
302 291
303 } // namespace content 292 } // namespace content
OLDNEW
« no previous file with comments | « chrome/browser/chrome_content_browser_client.cc ('k') | content/shell/browser/shell_content_browser_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698