Commit 6ecb238a authored by alokp's avatar alokp Committed by Commit bot

Let content embedders register in-process media service.

This change makes the registration of in-process media service consistent with that of out-of-process service.

BUG=571155

Review URL: https://codereview.chromium.org/1544853003

Cr-Commit-Position: refs/heads/master@{#371662}
parent 86d53e7b
...@@ -154,6 +154,7 @@ include_rules = [ ...@@ -154,6 +154,7 @@ include_rules = [
"+media/audio", # For media audio hang monitor. "+media/audio", # For media audio hang monitor.
"+media/base", # For media switches "+media/base", # For media switches
"+media/midi", # For midi switches "+media/midi", # For midi switches
"+media/mojo", # For mojo media services.
"+mojo/shell/public/cpp", "+mojo/shell/public/cpp",
"+mojo/converters", "+mojo/converters",
"+mojo/runner/child", "+mojo/runner/child",
......
...@@ -295,6 +295,10 @@ ...@@ -295,6 +295,10 @@
#include "chrome/browser/chrome_browser_main_extra_parts_exo.h" #include "chrome/browser/chrome_browser_main_extra_parts_exo.h"
#endif #endif
#if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
#include "media/mojo/services/mojo_media_application.h"
#endif
using base::FileDescriptor; using base::FileDescriptor;
using blink::WebWindowFeatures; using blink::WebWindowFeatures;
using content::AccessTokenStore; using content::AccessTokenStore;
...@@ -2711,6 +2715,14 @@ void ChromeContentBrowserClient::RegisterRenderFrameMojoServices( ...@@ -2711,6 +2715,14 @@ void ChromeContentBrowserClient::RegisterRenderFrameMojoServices(
#endif // !defined(OS_ANDROID) && !defined(OS_IOS) #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
} }
void ChromeContentBrowserClient::RegisterInProcessMojoApplications(
StaticMojoApplicationMap* apps) {
#if (ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
apps->insert(std::make_pair(
GURL("mojo:media"), base::Bind(&media::MojoMediaApplication::CreateApp)));
#endif
}
void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications( void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications(
OutOfProcessMojoApplicationMap* apps) { OutOfProcessMojoApplicationMap* apps) {
#if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS)
......
...@@ -288,6 +288,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { ...@@ -288,6 +288,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
void RegisterRenderFrameMojoServices( void RegisterRenderFrameMojoServices(
content::ServiceRegistry* registry, content::ServiceRegistry* registry,
content::RenderFrameHost* render_frame_host) override; content::RenderFrameHost* render_frame_host) override;
void RegisterInProcessMojoApplications(
StaticMojoApplicationMap* apps) override;
void RegisterOutOfProcessMojoApplications( void RegisterOutOfProcessMojoApplications(
OutOfProcessMojoApplicationMap* apps) override; OutOfProcessMojoApplicationMap* apps) override;
void OpenURL(content::BrowserContext* browser_context, void OpenURL(content::BrowserContext* browser_context,
......
...@@ -30,11 +30,6 @@ ...@@ -30,11 +30,6 @@
#include "mojo/shell/public/cpp/application_delegate.h" #include "mojo/shell/public/cpp/application_delegate.h"
#include "mojo/shell/static_application_loader.h" #include "mojo/shell/static_application_loader.h"
#if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) || \
defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
#include "media/mojo/services/mojo_media_application.h"
#endif
namespace content { namespace content {
namespace { namespace {
...@@ -251,13 +246,7 @@ MojoShellContext::MojoShellContext() { ...@@ -251,13 +246,7 @@ MojoShellContext::MojoShellContext() {
app.first); app.first);
} }
#if (ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) #if (ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
application_manager_->SetLoaderForURL(
scoped_ptr<mojo::shell::ApplicationLoader>(
new mojo::shell::StaticApplicationLoader(
base::Bind(&media::MojoMediaApplication::CreateApp))),
GURL("mojo:media"));
#elif(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
application_manager_->SetLoaderForURL( application_manager_->SetLoaderForURL(
scoped_ptr<mojo::shell::ApplicationLoader>(new GpuProcessLoader()), scoped_ptr<mojo::shell::ApplicationLoader>(new GpuProcessLoader()),
GURL("mojo:media")); GURL("mojo:media"));
......
...@@ -218,6 +218,14 @@ bool ShellContentBrowserClient::IsNPAPIEnabled() { ...@@ -218,6 +218,14 @@ bool ShellContentBrowserClient::IsNPAPIEnabled() {
#endif #endif
} }
void ShellContentBrowserClient::RegisterInProcessMojoApplications(
StaticMojoApplicationMap* apps) {
#if (ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
apps->insert(std::make_pair(
GURL("mojo:media"), base::Bind(&media::MojoMediaApplication::CreateApp)));
#endif
}
void ShellContentBrowserClient::RegisterOutOfProcessMojoApplications( void ShellContentBrowserClient::RegisterOutOfProcessMojoApplications(
OutOfProcessMojoApplicationMap* apps) { OutOfProcessMojoApplicationMap* apps) {
apps->insert(std::make_pair(GURL(kTestMojoAppUrl), apps->insert(std::make_pair(GURL(kTestMojoAppUrl),
......
...@@ -47,6 +47,8 @@ class ShellContentBrowserClient : public ContentBrowserClient { ...@@ -47,6 +47,8 @@ class ShellContentBrowserClient : public ContentBrowserClient {
URLRequestInterceptorScopedVector request_interceptors) override; URLRequestInterceptorScopedVector request_interceptors) override;
bool IsHandledURL(const GURL& url) override; bool IsHandledURL(const GURL& url) override;
bool IsNPAPIEnabled() override; bool IsNPAPIEnabled() override;
void RegisterInProcessMojoApplications(
StaticMojoApplicationMap* apps) override;
void RegisterOutOfProcessMojoApplications( void RegisterOutOfProcessMojoApplications(
OutOfProcessMojoApplicationMap* apps) override; OutOfProcessMojoApplicationMap* apps) override;
void AppendExtraCommandLineSwitches(base::CommandLine* command_line, void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment