Chromium Code Reviews| Index: mojo/services/html_viewer/webmediaplayer_factory.cc |
| diff --git a/mojo/services/html_viewer/webmediaplayer_factory.cc b/mojo/services/html_viewer/webmediaplayer_factory.cc |
| index 7f067545a6418e370fead2b004d8425fbead1f38..ec0f1d4d8fb19ac9bd45746915333df212054cf8 100644 |
| --- a/mojo/services/html_viewer/webmediaplayer_factory.cc |
| +++ b/mojo/services/html_viewer/webmediaplayer_factory.cc |
| @@ -47,6 +47,14 @@ WebMediaPlayerFactory::WebMediaPlayerFactory( |
| WebMediaPlayerFactory::~WebMediaPlayerFactory() { |
| } |
|
xhwang
2014/12/13 01:06:31
err, I'll add #if !defined(OS_ANDROID) here...
xhwang
2014/12/15 19:51:11
Done.
|
| +// Helper function to take the ownership of |service_provider_ptr|. Note that |
| +// mojo::ConnectToService takes a raw pointer which doesn't take the ownership. |
| +static void ConnectToMediaRendererService( |
| + ServiceProviderPtr service_provider_ptr, |
| + InterfacePtr<MediaRenderer>* media_renderer_ptr) { |
| + ConnectToService(service_provider_ptr.get(), media_renderer_ptr); |
| +} |
| + |
| blink::WebMediaPlayer* WebMediaPlayerFactory::CreateMediaPlayer( |
| blink::WebLocalFrame* frame, |
| const blink::WebURL& url, |
| @@ -62,8 +70,9 @@ blink::WebMediaPlayer* WebMediaPlayerFactory::CreateMediaPlayer( |
| ServiceProviderPtr media_renderer_service_provider; |
| shell->ConnectToApplication("mojo:media", |
| GetProxy(&media_renderer_service_provider)); |
| - media_renderer_factory.reset( |
| - new media::MojoRendererFactory(media_renderer_service_provider.Pass())); |
| + media_renderer_factory.reset(new media::MojoRendererFactory( |
| + base::Bind(&ConnectToMediaRendererService, |
| + base::Passed(&media_renderer_service_provider)))); |
| } else { |
| media_renderer_factory.reset( |
| new media::DefaultRendererFactory(media_log, |