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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 #include "content/renderer/media/android/stream_texture_wrapper_impl.h" | 256 #include "content/renderer/media/android/stream_texture_wrapper_impl.h" |
257 #include "media/base/android/media_codec_util.h" | 257 #include "media/base/android/media_codec_util.h" |
258 #include "third_party/WebKit/public/platform/WebFloatPoint.h" | 258 #include "third_party/WebKit/public/platform/WebFloatPoint.h" |
259 #endif | 259 #endif |
260 | 260 |
261 #if BUILDFLAG(ENABLE_PEPPER_CDMS) | 261 #if BUILDFLAG(ENABLE_PEPPER_CDMS) |
262 #include "content/renderer/media/cdm/pepper_cdm_wrapper_impl.h" | 262 #include "content/renderer/media/cdm/pepper_cdm_wrapper_impl.h" |
263 #include "content/renderer/media/cdm/render_cdm_factory.h" | 263 #include "content/renderer/media/cdm/render_cdm_factory.h" |
264 #endif | 264 #endif |
265 | 265 |
266 #if defined(ENABLE_MOJO_MEDIA) | 266 #if BUILDFLAG(ENABLE_MOJO_MEDIA) |
267 #include "content/renderer/media/media_interface_provider.h" | 267 #include "content/renderer/media/media_interface_provider.h" |
268 #endif | 268 #endif |
269 | 269 |
270 #if defined(ENABLE_MOJO_CDM) | 270 #if BUILDFLAG(ENABLE_MOJO_CDM) |
271 #include "media/mojo/clients/mojo_cdm_factory.h" // nogncheck | 271 #include "media/mojo/clients/mojo_cdm_factory.h" // nogncheck |
272 #endif | 272 #endif |
273 | 273 |
274 #if defined(ENABLE_MOJO_RENDERER) | 274 #if BUILDFLAG(ENABLE_MOJO_RENDERER) |
275 #include "media/mojo/clients/mojo_renderer_factory.h" // nogncheck | 275 #include "media/mojo/clients/mojo_renderer_factory.h" // nogncheck |
276 #endif | 276 #endif |
277 | 277 |
278 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 278 #if BUILDFLAG(ENABLE_MOJO_AUDIO_DECODER) || BUILDFLAG(ENABLE_MOJO_VIDEO_DECODER) |
279 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck | 279 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck |
280 #endif | 280 #endif |
281 | 281 |
282 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 282 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
283 #include "media/remoting/courier_renderer_factory.h" // nogncheck | 283 #include "media/remoting/courier_renderer_factory.h" // nogncheck |
284 #include "media/remoting/remoting_cdm_controller.h" // nogncheck | 284 #include "media/remoting/remoting_cdm_controller.h" // nogncheck |
285 #include "media/remoting/remoting_cdm_factory.h" // nogncheck | 285 #include "media/remoting/remoting_cdm_factory.h" // nogncheck |
286 #include "media/remoting/renderer_controller.h" // nogncheck | 286 #include "media/remoting/renderer_controller.h" // nogncheck |
287 #include "media/remoting/shared_session.h" // nogncheck | 287 #include "media/remoting/shared_session.h" // nogncheck |
288 #include "media/remoting/sink_availability_observer.h" // nogncheck | 288 #include "media/remoting/sink_availability_observer.h" // nogncheck |
(...skipping 2614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2903 std::move(mojo_media_player_renderer_factory), | 2903 std::move(mojo_media_player_renderer_factory), |
2904 base::Bind(&StreamTextureWrapperImpl::Create, | 2904 base::Bind(&StreamTextureWrapperImpl::Create, |
2905 render_thread->EnableStreamTextureCopy(), | 2905 render_thread->EnableStreamTextureCopy(), |
2906 render_thread->GetStreamTexureFactory(), | 2906 render_thread->GetStreamTexureFactory(), |
2907 base::ThreadTaskRunnerHandle::Get()))); | 2907 base::ThreadTaskRunnerHandle::Get()))); |
2908 | 2908 |
2909 factory_selector->SetUseMediaPlayer(UseMediaPlayerRenderer(url)); | 2909 factory_selector->SetUseMediaPlayer(UseMediaPlayerRenderer(url)); |
2910 #endif // defined(OS_ANDROID) | 2910 #endif // defined(OS_ANDROID) |
2911 | 2911 |
2912 bool use_mojo_renderer_factory = false; | 2912 bool use_mojo_renderer_factory = false; |
2913 #if defined(ENABLE_MOJO_RENDERER) | 2913 #if BUILDFLAG(ENABLE_MOJO_RENDERER) |
2914 #if BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) | 2914 #if BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) |
2915 use_mojo_renderer_factory = | 2915 use_mojo_renderer_factory = |
2916 !base::CommandLine::ForCurrentProcess()->HasSwitch( | 2916 !base::CommandLine::ForCurrentProcess()->HasSwitch( |
2917 switches::kDisableMojoRenderer); | 2917 switches::kDisableMojoRenderer); |
2918 #else | 2918 #else |
2919 use_mojo_renderer_factory = true; | 2919 use_mojo_renderer_factory = true; |
2920 #endif // BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) | 2920 #endif // BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) |
2921 if (use_mojo_renderer_factory) { | 2921 if (use_mojo_renderer_factory) { |
2922 factory_selector->AddFactory( | 2922 factory_selector->AddFactory( |
2923 media::RendererFactorySelector::FactoryType::MOJO, | 2923 media::RendererFactorySelector::FactoryType::MOJO, |
2924 base::MakeUnique<media::MojoRendererFactory>( | 2924 base::MakeUnique<media::MojoRendererFactory>( |
2925 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2925 base::Bind(&RenderThreadImpl::GetGpuFactories, |
2926 base::Unretained(render_thread)), | 2926 base::Unretained(render_thread)), |
2927 GetMediaInterfaceProvider())); | 2927 GetMediaInterfaceProvider())); |
2928 | 2928 |
2929 factory_selector->SetBaseFactoryType( | 2929 factory_selector->SetBaseFactoryType( |
2930 media::RendererFactorySelector::FactoryType::MOJO); | 2930 media::RendererFactorySelector::FactoryType::MOJO); |
2931 } | 2931 } |
2932 #endif // defined(ENABLE_MOJO_RENDERER) | 2932 #endif // BUILDFLAG(ENABLE_MOJO_RENDERER) |
2933 | 2933 |
2934 if (!use_mojo_renderer_factory) { | 2934 if (!use_mojo_renderer_factory) { |
2935 factory_selector->AddFactory( | 2935 factory_selector->AddFactory( |
2936 media::RendererFactorySelector::FactoryType::DEFAULT, | 2936 media::RendererFactorySelector::FactoryType::DEFAULT, |
2937 base::MakeUnique<media::DefaultRendererFactory>( | 2937 base::MakeUnique<media::DefaultRendererFactory>( |
2938 media_log.get(), GetDecoderFactory(), | 2938 media_log.get(), GetDecoderFactory(), |
2939 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2939 base::Bind(&RenderThreadImpl::GetGpuFactories, |
2940 base::Unretained(render_thread)))); | 2940 base::Unretained(render_thread)))); |
2941 | 2941 |
2942 factory_selector->SetBaseFactoryType( | 2942 factory_selector->SetBaseFactoryType( |
(...skipping 3783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6726 | 6726 |
6727 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { | 6727 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { |
6728 if (!media_permission_dispatcher_) { | 6728 if (!media_permission_dispatcher_) { |
6729 media_permission_dispatcher_.reset(new MediaPermissionDispatcher(base::Bind( | 6729 media_permission_dispatcher_.reset(new MediaPermissionDispatcher(base::Bind( |
6730 &RenderFrameImpl::GetInterface<blink::mojom::PermissionService>, | 6730 &RenderFrameImpl::GetInterface<blink::mojom::PermissionService>, |
6731 base::Unretained(this)))); | 6731 base::Unretained(this)))); |
6732 } | 6732 } |
6733 return media_permission_dispatcher_.get(); | 6733 return media_permission_dispatcher_.get(); |
6734 } | 6734 } |
6735 | 6735 |
6736 #if defined(ENABLE_MOJO_MEDIA) | 6736 #if BUILDFLAG(ENABLE_MOJO_MEDIA) |
6737 service_manager::mojom::InterfaceProvider* | 6737 service_manager::mojom::InterfaceProvider* |
6738 RenderFrameImpl::GetMediaInterfaceProvider() { | 6738 RenderFrameImpl::GetMediaInterfaceProvider() { |
6739 if (!media_interface_provider_) { | 6739 if (!media_interface_provider_) { |
6740 media_interface_provider_.reset( | 6740 media_interface_provider_.reset( |
6741 new MediaInterfaceProvider(GetRemoteInterfaces())); | 6741 new MediaInterfaceProvider(GetRemoteInterfaces())); |
6742 } | 6742 } |
6743 | 6743 |
6744 return media_interface_provider_.get(); | 6744 return media_interface_provider_.get(); |
6745 } | 6745 } |
6746 #endif // defined(ENABLE_MOJO_MEDIA) | 6746 #endif // BUILDFLAG(ENABLE_MOJO_MEDIA) |
6747 | 6747 |
6748 bool RenderFrameImpl::AreSecureCodecsSupported() { | 6748 bool RenderFrameImpl::AreSecureCodecsSupported() { |
6749 #if defined(OS_ANDROID) | 6749 #if defined(OS_ANDROID) |
6750 // Hardware-secure codecs are only supported if secure surfaces are enabled. | 6750 // Hardware-secure codecs are only supported if secure surfaces are enabled. |
6751 return render_view_->renderer_preferences_ | 6751 return render_view_->renderer_preferences_ |
6752 .use_video_overlay_for_embedded_encrypted_video; | 6752 .use_video_overlay_for_embedded_encrypted_video; |
6753 #else | 6753 #else |
6754 return false; | 6754 return false; |
6755 #endif // defined(OS_ANDROID) | 6755 #endif // defined(OS_ANDROID) |
6756 } | 6756 } |
6757 | 6757 |
6758 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 6758 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
6759 media::mojom::RemoterFactory* RenderFrameImpl::GetRemoterFactory() { | 6759 media::mojom::RemoterFactory* RenderFrameImpl::GetRemoterFactory() { |
6760 if (!remoter_factory_) | 6760 if (!remoter_factory_) |
6761 GetRemoteInterfaces()->GetInterface(&remoter_factory_); | 6761 GetRemoteInterfaces()->GetInterface(&remoter_factory_); |
6762 return remoter_factory_.get(); | 6762 return remoter_factory_.get(); |
6763 } | 6763 } |
6764 #endif | 6764 #endif |
6765 | 6765 |
6766 media::CdmFactory* RenderFrameImpl::GetCdmFactory() { | 6766 media::CdmFactory* RenderFrameImpl::GetCdmFactory() { |
6767 if (cdm_factory_) | 6767 if (cdm_factory_) |
6768 return cdm_factory_.get(); | 6768 return cdm_factory_.get(); |
6769 | 6769 |
6770 #if defined(ENABLE_MOJO_CDM) | 6770 #if BUILDFLAG(ENABLE_MOJO_CDM) |
6771 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); | 6771 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); |
6772 return cdm_factory_.get(); | 6772 return cdm_factory_.get(); |
6773 #endif // defined(ENABLE_MOJO_CDM) | 6773 #endif // BUILDFLAG(ENABLE_MOJO_CDM) |
6774 | 6774 |
6775 #if BUILDFLAG(ENABLE_PEPPER_CDMS) | 6775 #if BUILDFLAG(ENABLE_PEPPER_CDMS) |
6776 DCHECK(frame_); | 6776 DCHECK(frame_); |
6777 cdm_factory_.reset( | 6777 cdm_factory_.reset( |
6778 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_))); | 6778 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_))); |
6779 #endif // BUILDFLAG(ENABLE_PEPPER_CDMS) | 6779 #endif // BUILDFLAG(ENABLE_PEPPER_CDMS) |
6780 | 6780 |
6781 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 6781 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
6782 cdm_factory_.reset(new media::remoting::RemotingCdmFactory( | 6782 cdm_factory_.reset(new media::remoting::RemotingCdmFactory( |
6783 std::move(cdm_factory_), GetRemoterFactory(), | 6783 std::move(cdm_factory_), GetRemoterFactory(), |
6784 std::move(remoting_sink_observer_))); | 6784 std::move(remoting_sink_observer_))); |
6785 #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING) | 6785 #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING) |
6786 | 6786 |
6787 return cdm_factory_.get(); | 6787 return cdm_factory_.get(); |
6788 } | 6788 } |
6789 | 6789 |
6790 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { | 6790 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { |
6791 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 6791 #if BUILDFLAG(ENABLE_MOJO_AUDIO_DECODER) || BUILDFLAG(ENABLE_MOJO_VIDEO_DECODER) |
6792 if (!decoder_factory_) { | 6792 if (!decoder_factory_) { |
6793 decoder_factory_.reset( | 6793 decoder_factory_.reset( |
6794 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); | 6794 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); |
6795 } | 6795 } |
6796 #endif | 6796 #endif |
6797 return decoder_factory_.get(); | 6797 return decoder_factory_.get(); |
6798 } | 6798 } |
6799 | 6799 |
6800 #if BUILDFLAG(ENABLE_PLUGINS) | 6800 #if BUILDFLAG(ENABLE_PLUGINS) |
6801 void RenderFrameImpl::HandlePepperImeCommit(const base::string16& text) { | 6801 void RenderFrameImpl::HandlePepperImeCommit(const base::string16& text) { |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7063 policy(info.default_policy), | 7063 policy(info.default_policy), |
7064 replaces_current_history_item(info.replaces_current_history_item), | 7064 replaces_current_history_item(info.replaces_current_history_item), |
7065 history_navigation_in_new_child_frame( | 7065 history_navigation_in_new_child_frame( |
7066 info.is_history_navigation_in_new_child_frame), | 7066 info.is_history_navigation_in_new_child_frame), |
7067 client_redirect(info.is_client_redirect), | 7067 client_redirect(info.is_client_redirect), |
7068 cache_disabled(info.is_cache_disabled), | 7068 cache_disabled(info.is_cache_disabled), |
7069 form(info.form), | 7069 form(info.form), |
7070 source_location(info.source_location) {} | 7070 source_location(info.source_location) {} |
7071 | 7071 |
7072 } // namespace content | 7072 } // namespace content |
OLD | NEW |