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 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
250 #include "media/mojo/clients/mojo_renderer_factory.h" // nogncheck | 250 #include "media/mojo/clients/mojo_renderer_factory.h" // nogncheck |
251 #else | 251 #else |
252 #include "media/renderers/default_renderer_factory.h" | 252 #include "media/renderers/default_renderer_factory.h" |
253 #endif | 253 #endif |
254 | 254 |
255 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 255 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) |
256 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck | 256 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck |
257 #endif | 257 #endif |
258 | 258 |
259 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 259 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
260 #include "media/remoting/remoting_controller.h" // nogncheck | 260 #include "media/remoting/remoting_cdm_controller.h" // nogncheck |
261 #include "media/remoting/remoting_cdm_factory.h" // nogncheck | |
262 #include "media/remoting/remoting_renderer_controller.h" // nogncheck | |
261 #include "media/remoting/remoting_renderer_factory.h" // nogncheck | 263 #include "media/remoting/remoting_renderer_factory.h" // nogncheck |
262 #endif | 264 #endif |
263 | 265 |
264 using base::Time; | 266 using base::Time; |
265 using base::TimeDelta; | 267 using base::TimeDelta; |
266 using blink::WebCachePolicy; | 268 using blink::WebCachePolicy; |
267 using blink::WebContentDecryptionModule; | 269 using blink::WebContentDecryptionModule; |
268 using blink::WebContextMenuData; | 270 using blink::WebContextMenuData; |
269 using blink::WebCString; | 271 using blink::WebCString; |
270 using blink::WebData; | 272 using blink::WebData; |
(...skipping 2400 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 scoped_refptr<media::RemotingSourceImpl> remoting_source_impl = |
2690 std::move(remoting_source_request), std::move(remoter)); | 2692 new media::RemotingSourceImpl(std::move(remoting_source_request), |
2693 std::move(remoter)); | |
2694 return base::MakeUnique<media::RemotingRendererController>( | |
miu
2016/10/25 04:21:25
nit: Looks like you were trying to do this:
ret
xjz
2016/10/26 22:00:25
Done.
| |
2695 std::move(remoting_source_impl)); | |
2691 } | 2696 } |
2692 #endif | 2697 #endif |
2693 | 2698 |
2694 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( | 2699 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
2695 const blink::WebMediaPlayerSource& source, | 2700 const blink::WebMediaPlayerSource& source, |
2696 WebMediaPlayerClient* client, | 2701 WebMediaPlayerClient* client, |
2697 WebMediaPlayerEncryptedMediaClient* encrypted_client, | 2702 WebMediaPlayerEncryptedMediaClient* encrypted_client, |
2698 WebContentDecryptionModule* initial_cdm, | 2703 WebContentDecryptionModule* initial_cdm, |
2699 const blink::WebString& sink_id) { | 2704 const blink::WebString& sink_id) { |
2700 blink::WebMediaStream web_stream = | 2705 blink::WebMediaStream web_stream = |
(...skipping 24 matching lines...) Expand all Loading... | |
2725 | 2730 |
2726 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog( | 2731 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog( |
2727 blink::WebStringToGURL(frame_->getSecurityOrigin().toString()))); | 2732 blink::WebStringToGURL(frame_->getSecurityOrigin().toString()))); |
2728 | 2733 |
2729 #if defined(OS_ANDROID) | 2734 #if defined(OS_ANDROID) |
2730 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_) | 2735 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_) |
2731 media_surface_manager_ = new RendererSurfaceViewManager(this); | 2736 media_surface_manager_ = new RendererSurfaceViewManager(this); |
2732 #endif // defined(OS_ANDROID) | 2737 #endif // defined(OS_ANDROID) |
2733 | 2738 |
2734 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2739 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
2735 std::unique_ptr<media::RemotingController> remoting_controller = | 2740 std::unique_ptr<media::RemotingRendererController> remoting_controller = |
2736 CreateRemotingController(); | 2741 CreateRemotingRendererController(); |
2737 base::WeakPtr<media::MediaObserver> media_observer = | 2742 base::WeakPtr<media::MediaObserver> media_observer = |
2738 remoting_controller->GetWeakPtr(); | 2743 remoting_controller->GetWeakPtr(); |
2739 #else | 2744 #else |
2740 base::WeakPtr<media::MediaObserver> media_observer = nullptr; | 2745 base::WeakPtr<media::MediaObserver> media_observer = nullptr; |
2741 #endif | 2746 #endif |
2742 | 2747 |
2743 media::WebMediaPlayerParams params( | 2748 media::WebMediaPlayerParams params( |
2744 base::Bind(&ContentRendererClient::DeferMediaLoad, | 2749 base::Bind(&ContentRendererClient::DeferMediaLoad, |
2745 base::Unretained(GetContentClient()->renderer()), | 2750 base::Unretained(GetContentClient()->renderer()), |
2746 static_cast<RenderFrame*>(this), | 2751 static_cast<RenderFrame*>(this), |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2784 GetMediaInterfaceProvider()); | 2789 GetMediaInterfaceProvider()); |
2785 #else | 2790 #else |
2786 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( | 2791 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
2787 media_log, GetDecoderFactory(), | 2792 media_log, GetDecoderFactory(), |
2788 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2793 base::Bind(&RenderThreadImpl::GetGpuFactories, |
2789 base::Unretained(render_thread))); | 2794 base::Unretained(render_thread))); |
2790 #endif | 2795 #endif |
2791 } | 2796 } |
2792 | 2797 |
2793 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2798 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
2794 media::RemotingController* remoting_controller_ptr = | 2799 media::RemotingRendererController* remoting_controller_ptr = |
2795 remoting_controller.get(); | 2800 remoting_controller.get(); |
2796 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>( | 2801 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>( |
2797 std::move(media_renderer_factory), std::move(remoting_controller)); | 2802 std::move(media_renderer_factory), std::move(remoting_controller)); |
2798 #endif | 2803 #endif |
2799 | 2804 |
2800 if (!url_index_.get() || url_index_->frame() != frame_) | 2805 if (!url_index_.get() || url_index_->frame() != frame_) |
2801 url_index_.reset(new media::UrlIndex(frame_)); | 2806 url_index_.reset(new media::UrlIndex(frame_)); |
2802 | 2807 |
2803 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( | 2808 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( |
2804 frame_, client, encrypted_client, | 2809 frame_, client, encrypted_client, |
(...skipping 3568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6373 if (UseMojoCdm()) { | 6378 if (UseMojoCdm()) { |
6374 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); | 6379 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); |
6375 return cdm_factory_.get(); | 6380 return cdm_factory_.get(); |
6376 } | 6381 } |
6377 #endif // defined(ENABLE_MOJO_CDM) | 6382 #endif // defined(ENABLE_MOJO_CDM) |
6378 | 6383 |
6379 #if BUILDFLAG(ENABLE_PEPPER_CDMS) | 6384 #if BUILDFLAG(ENABLE_PEPPER_CDMS) |
6380 DCHECK(frame_); | 6385 DCHECK(frame_); |
6381 cdm_factory_.reset( | 6386 cdm_factory_.reset( |
6382 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_))); | 6387 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_))); |
6388 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | |
6389 cdm_factory_.reset(new media::RemotingCdmFactory( | |
6390 base::MakeUnique<RenderCdmFactory>( | |
6391 base::Bind(&PepperCdmWrapperImpl::Create, frame_)), | |
6392 GetRemoterFactory())); | |
6393 #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING) | |
6383 #endif // BUILDFLAG(ENABLE_PEPPER_CDMS) | 6394 #endif // BUILDFLAG(ENABLE_PEPPER_CDMS) |
6384 | 6395 |
6385 return cdm_factory_.get(); | 6396 return cdm_factory_.get(); |
6386 } | 6397 } |
6387 | 6398 |
6388 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { | 6399 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { |
6389 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 6400 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) |
6390 if (!decoder_factory_) { | 6401 if (!decoder_factory_) { |
6391 decoder_factory_.reset( | 6402 decoder_factory_.reset( |
6392 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); | 6403 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6565 // event target. Potentially a Pepper plugin will receive the event. | 6576 // event target. Potentially a Pepper plugin will receive the event. |
6566 // In order to tell whether a plugin gets the last mouse event and which it | 6577 // In order to tell whether a plugin gets the last mouse event and which it |
6567 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6578 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
6568 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6579 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
6569 // |pepper_last_mouse_event_target_|. | 6580 // |pepper_last_mouse_event_target_|. |
6570 pepper_last_mouse_event_target_ = nullptr; | 6581 pepper_last_mouse_event_target_ = nullptr; |
6571 #endif | 6582 #endif |
6572 } | 6583 } |
6573 | 6584 |
6574 } // namespace content | 6585 } // namespace content |
OLD | NEW |