| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 #include "media/mojo/clients/mojo_renderer_factory.h" // nogncheck | 249 #include "media/mojo/clients/mojo_renderer_factory.h" // nogncheck |
| 250 #else | 250 #else |
| 251 #include "media/renderers/default_renderer_factory.h" | 251 #include "media/renderers/default_renderer_factory.h" |
| 252 #endif | 252 #endif |
| 253 | 253 |
| 254 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 254 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) |
| 255 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck | 255 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck |
| 256 #endif | 256 #endif |
| 257 | 257 |
| 258 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 258 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 259 #include "media/remoting/remoting_controller.h" // nogncheck | 259 #include "media/remoting/remoting_cdm_controller.h" // nogncheck |
| 260 #include "media/remoting/remoting_cdm_factory.h" // nogncheck |
| 261 #include "media/remoting/remoting_renderer_controller.h" // nogncheck |
| 260 #include "media/remoting/remoting_renderer_factory.h" // nogncheck | 262 #include "media/remoting/remoting_renderer_factory.h" // nogncheck |
| 261 #endif | 263 #endif |
| 262 | 264 |
| 263 using base::Time; | 265 using base::Time; |
| 264 using base::TimeDelta; | 266 using base::TimeDelta; |
| 265 using blink::WebCachePolicy; | 267 using blink::WebCachePolicy; |
| 266 using blink::WebContentDecryptionModule; | 268 using blink::WebContentDecryptionModule; |
| 267 using blink::WebContextMenuData; | 269 using blink::WebContextMenuData; |
| 268 using blink::WebCString; | 270 using blink::WebCString; |
| 269 using blink::WebData; | 271 using blink::WebData; |
| (...skipping 2401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2671 | 2673 |
| 2672 WebPluginParams params_to_use = params; | 2674 WebPluginParams params_to_use = params; |
| 2673 params_to_use.mimeType = WebString::fromUTF8(mime_type); | 2675 params_to_use.mimeType = WebString::fromUTF8(mime_type); |
| 2674 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */); | 2676 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */); |
| 2675 #else | 2677 #else |
| 2676 return NULL; | 2678 return NULL; |
| 2677 #endif // defined(ENABLE_PLUGINS) | 2679 #endif // defined(ENABLE_PLUGINS) |
| 2678 } | 2680 } |
| 2679 | 2681 |
| 2680 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2682 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 2681 std::unique_ptr<media::RemotingController> | 2683 std::unique_ptr<media::RemotingRendererController> |
| 2682 RenderFrameImpl::CreateRemotingController() { | 2684 RenderFrameImpl::CreateRemotingRendererController() { |
| 2683 media::mojom::RemotingSourcePtr remoting_source; | 2685 media::mojom::RemotingSourcePtr remoting_source; |
| 2684 media::mojom::RemotingSourceRequest remoting_source_request = | 2686 media::mojom::RemotingSourceRequest remoting_source_request = |
| 2685 mojo::GetProxy(&remoting_source); | 2687 mojo::GetProxy(&remoting_source); |
| 2686 media::mojom::RemoterPtr remoter; | 2688 media::mojom::RemoterPtr remoter; |
| 2687 GetRemoterFactory()->Create(std::move(remoting_source), | 2689 GetRemoterFactory()->Create(std::move(remoting_source), |
| 2688 mojo::GetProxy(&remoter)); | 2690 mojo::GetProxy(&remoter)); |
| 2689 return base::MakeUnique<media::RemotingController>( | 2691 return base::MakeUnique<media::RemotingRendererController>( |
| 2690 std::move(remoting_source_request), std::move(remoter)); | 2692 make_scoped_refptr(new media::RemotingSourceImpl( |
| 2693 std::move(remoting_source_request), std::move(remoter)))); |
| 2691 } | 2694 } |
| 2692 #endif | 2695 #endif |
| 2693 | 2696 |
| 2694 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( | 2697 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
| 2695 const blink::WebMediaPlayerSource& source, | 2698 const blink::WebMediaPlayerSource& source, |
| 2696 WebMediaPlayerClient* client, | 2699 WebMediaPlayerClient* client, |
| 2697 WebMediaPlayerEncryptedMediaClient* encrypted_client, | 2700 WebMediaPlayerEncryptedMediaClient* encrypted_client, |
| 2698 WebContentDecryptionModule* initial_cdm, | 2701 WebContentDecryptionModule* initial_cdm, |
| 2699 const blink::WebString& sink_id) { | 2702 const blink::WebString& sink_id) { |
| 2700 blink::WebMediaStream web_stream = | 2703 blink::WebMediaStream web_stream = |
| (...skipping 24 matching lines...) Expand all Loading... |
| 2725 | 2728 |
| 2726 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog( | 2729 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog( |
| 2727 blink::WebStringToGURL(frame_->getSecurityOrigin().toString()))); | 2730 blink::WebStringToGURL(frame_->getSecurityOrigin().toString()))); |
| 2728 | 2731 |
| 2729 #if defined(OS_ANDROID) | 2732 #if defined(OS_ANDROID) |
| 2730 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_) | 2733 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_) |
| 2731 media_surface_manager_ = new RendererSurfaceViewManager(this); | 2734 media_surface_manager_ = new RendererSurfaceViewManager(this); |
| 2732 #endif // defined(OS_ANDROID) | 2735 #endif // defined(OS_ANDROID) |
| 2733 | 2736 |
| 2734 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2737 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 2735 std::unique_ptr<media::RemotingController> remoting_controller = | 2738 std::unique_ptr<media::RemotingRendererController> remoting_controller = |
| 2736 CreateRemotingController(); | 2739 CreateRemotingRendererController(); |
| 2737 base::WeakPtr<media::MediaObserver> media_observer = | 2740 base::WeakPtr<media::MediaObserver> media_observer = |
| 2738 remoting_controller->GetWeakPtr(); | 2741 remoting_controller->GetWeakPtr(); |
| 2739 #else | 2742 #else |
| 2740 base::WeakPtr<media::MediaObserver> media_observer = nullptr; | 2743 base::WeakPtr<media::MediaObserver> media_observer = nullptr; |
| 2741 #endif | 2744 #endif |
| 2742 | 2745 |
| 2743 media::WebMediaPlayerParams params( | 2746 media::WebMediaPlayerParams params( |
| 2744 base::Bind(&ContentRendererClient::DeferMediaLoad, | 2747 base::Bind(&ContentRendererClient::DeferMediaLoad, |
| 2745 base::Unretained(GetContentClient()->renderer()), | 2748 base::Unretained(GetContentClient()->renderer()), |
| 2746 static_cast<RenderFrame*>(this), | 2749 static_cast<RenderFrame*>(this), |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2784 GetMediaInterfaceProvider()); | 2787 GetMediaInterfaceProvider()); |
| 2785 #else | 2788 #else |
| 2786 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( | 2789 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
| 2787 media_log, GetDecoderFactory(), | 2790 media_log, GetDecoderFactory(), |
| 2788 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2791 base::Bind(&RenderThreadImpl::GetGpuFactories, |
| 2789 base::Unretained(render_thread))); | 2792 base::Unretained(render_thread))); |
| 2790 #endif | 2793 #endif |
| 2791 } | 2794 } |
| 2792 | 2795 |
| 2793 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2796 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 2794 media::RemotingController* remoting_controller_ptr = | 2797 media::RemotingRendererController* remoting_controller_ptr = |
| 2795 remoting_controller.get(); | 2798 remoting_controller.get(); |
| 2796 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>( | 2799 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>( |
| 2797 std::move(media_renderer_factory), std::move(remoting_controller)); | 2800 std::move(media_renderer_factory), std::move(remoting_controller)); |
| 2798 #endif | 2801 #endif |
| 2799 | 2802 |
| 2800 if (!url_index_.get() || url_index_->frame() != frame_) | 2803 if (!url_index_.get() || url_index_->frame() != frame_) |
| 2801 url_index_.reset(new media::UrlIndex(frame_)); | 2804 url_index_.reset(new media::UrlIndex(frame_)); |
| 2802 | 2805 |
| 2803 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( | 2806 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( |
| 2804 frame_, client, encrypted_client, | 2807 frame_, client, encrypted_client, |
| (...skipping 3590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6395 if (UseMojoCdm()) { | 6398 if (UseMojoCdm()) { |
| 6396 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); | 6399 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); |
| 6397 return cdm_factory_.get(); | 6400 return cdm_factory_.get(); |
| 6398 } | 6401 } |
| 6399 #endif // defined(ENABLE_MOJO_CDM) | 6402 #endif // defined(ENABLE_MOJO_CDM) |
| 6400 | 6403 |
| 6401 #if BUILDFLAG(ENABLE_PEPPER_CDMS) | 6404 #if BUILDFLAG(ENABLE_PEPPER_CDMS) |
| 6402 DCHECK(frame_); | 6405 DCHECK(frame_); |
| 6403 cdm_factory_.reset( | 6406 cdm_factory_.reset( |
| 6404 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_))); | 6407 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_))); |
| 6408 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 6409 cdm_factory_.reset(new media::RemotingCdmFactory( |
| 6410 base::MakeUnique<RenderCdmFactory>( |
| 6411 base::Bind(&PepperCdmWrapperImpl::Create, frame_)), |
| 6412 GetRemoterFactory())); |
| 6413 #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 6405 #endif // BUILDFLAG(ENABLE_PEPPER_CDMS) | 6414 #endif // BUILDFLAG(ENABLE_PEPPER_CDMS) |
| 6406 | 6415 |
| 6407 return cdm_factory_.get(); | 6416 return cdm_factory_.get(); |
| 6408 } | 6417 } |
| 6409 | 6418 |
| 6410 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { | 6419 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { |
| 6411 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 6420 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) |
| 6412 if (!decoder_factory_) { | 6421 if (!decoder_factory_) { |
| 6413 decoder_factory_.reset( | 6422 decoder_factory_.reset( |
| 6414 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); | 6423 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6591 // event target. Potentially a Pepper plugin will receive the event. | 6600 // event target. Potentially a Pepper plugin will receive the event. |
| 6592 // In order to tell whether a plugin gets the last mouse event and which it | 6601 // In order to tell whether a plugin gets the last mouse event and which it |
| 6593 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6602 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
| 6594 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6603 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
| 6595 // |pepper_last_mouse_event_target_|. | 6604 // |pepper_last_mouse_event_target_|. |
| 6596 pepper_last_mouse_event_target_ = nullptr; | 6605 pepper_last_mouse_event_target_ = nullptr; |
| 6597 #endif | 6606 #endif |
| 6598 } | 6607 } |
| 6599 | 6608 |
| 6600 } // namespace content | 6609 } // namespace content |
| OLD | NEW |