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 2755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2766 RenderThreadImpl::current()->SharedMainThreadContextProvider()); | 2766 RenderThreadImpl::current()->SharedMainThreadContextProvider()); |
2767 | 2767 |
2768 scoped_refptr<media::MediaLog> media_log( | 2768 scoped_refptr<media::MediaLog> media_log( |
2769 new RenderMediaLog(url::Origin(frame_->getSecurityOrigin()).GetURL())); | 2769 new RenderMediaLog(url::Origin(frame_->getSecurityOrigin()).GetURL())); |
2770 | 2770 |
2771 #if defined(OS_ANDROID) | 2771 #if defined(OS_ANDROID) |
2772 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_) | 2772 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_) |
2773 media_surface_manager_ = new RendererSurfaceViewManager(this); | 2773 media_surface_manager_ = new RendererSurfaceViewManager(this); |
2774 #endif // defined(OS_ANDROID) | 2774 #endif // defined(OS_ANDROID) |
2775 | 2775 |
| 2776 base::WeakPtr<media::MediaObserver> media_observer; |
2776 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2777 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
2777 std::unique_ptr<media::RemotingController> remoting_controller = | 2778 std::unique_ptr<media::RemotingController> remoting_controller; |
2778 CreateRemotingController(); | 2779 if (base::FeatureList::IsEnabled(media::kMediaRemoting)) { |
2779 base::WeakPtr<media::MediaObserver> media_observer = | 2780 remoting_controller = CreateRemotingController(); |
2780 remoting_controller->GetWeakPtr(); | 2781 media_observer = remoting_controller->GetWeakPtr(); |
2781 #else | 2782 } |
2782 base::WeakPtr<media::MediaObserver> media_observer = nullptr; | |
2783 #endif | 2783 #endif |
2784 | 2784 |
2785 media::WebMediaPlayerParams params( | 2785 media::WebMediaPlayerParams params( |
2786 base::Bind(&ContentRendererClient::DeferMediaLoad, | 2786 base::Bind(&ContentRendererClient::DeferMediaLoad, |
2787 base::Unretained(GetContentClient()->renderer()), | 2787 base::Unretained(GetContentClient()->renderer()), |
2788 static_cast<RenderFrame*>(this), | 2788 static_cast<RenderFrame*>(this), |
2789 GetWebMediaPlayerDelegate()->has_played_media()), | 2789 GetWebMediaPlayerDelegate()->has_played_media()), |
2790 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), | 2790 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), |
2791 render_thread->GetWorkerTaskRunner(), | 2791 render_thread->GetWorkerTaskRunner(), |
2792 render_thread->compositor_task_runner(), context_3d_cb, | 2792 render_thread->compositor_task_runner(), context_3d_cb, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2828 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( | 2828 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
2829 media_log, GetDecoderFactory(), | 2829 media_log, GetDecoderFactory(), |
2830 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2830 base::Bind(&RenderThreadImpl::GetGpuFactories, |
2831 base::Unretained(render_thread))); | 2831 base::Unretained(render_thread))); |
2832 #endif | 2832 #endif |
2833 } | 2833 } |
2834 | 2834 |
2835 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2835 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
2836 media::RemotingController* remoting_controller_ptr = | 2836 media::RemotingController* remoting_controller_ptr = |
2837 remoting_controller.get(); | 2837 remoting_controller.get(); |
2838 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>( | 2838 if (remoting_controller) { |
2839 std::move(media_renderer_factory), std::move(remoting_controller)); | 2839 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>( |
| 2840 std::move(media_renderer_factory), std::move(remoting_controller)); |
| 2841 } |
2840 #endif | 2842 #endif |
2841 | 2843 |
2842 if (!url_index_.get() || url_index_->frame() != frame_) | 2844 if (!url_index_.get() || url_index_->frame() != frame_) |
2843 url_index_.reset(new media::UrlIndex(frame_)); | 2845 url_index_.reset(new media::UrlIndex(frame_)); |
2844 | 2846 |
2845 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( | 2847 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( |
2846 frame_, client, encrypted_client, | 2848 frame_, client, encrypted_client, |
2847 GetWebMediaPlayerDelegate()->AsWeakPtr(), | 2849 GetWebMediaPlayerDelegate()->AsWeakPtr(), |
2848 std::move(media_renderer_factory), url_index_, params); | 2850 std::move(media_renderer_factory), url_index_, params); |
2849 | 2851 |
2850 #if defined(OS_ANDROID) // WMPI_CAST | 2852 #if defined(OS_ANDROID) // WMPI_CAST |
2851 media_player->SetMediaPlayerManager(GetMediaPlayerManager()); | 2853 media_player->SetMediaPlayerManager(GetMediaPlayerManager()); |
2852 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor()); | 2854 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor()); |
2853 media_player->SetUseFallbackPath(use_fallback_path); | 2855 media_player->SetUseFallbackPath(use_fallback_path); |
2854 #endif // defined(OS_ANDROID) | 2856 #endif // defined(OS_ANDROID) |
2855 | 2857 |
2856 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2858 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
2857 remoting_controller_ptr->SetSwitchRendererCallback(base::Bind( | 2859 if (remoting_controller_ptr) { |
2858 &media::WebMediaPlayerImpl::ScheduleRestart, media_player->AsWeakPtr())); | 2860 remoting_controller_ptr->SetSwitchRendererCallback( |
| 2861 base::Bind(&media::WebMediaPlayerImpl::ScheduleRestart, |
| 2862 media_player->AsWeakPtr())); |
| 2863 } |
2859 #endif | 2864 #endif |
2860 return media_player; | 2865 return media_player; |
2861 } | 2866 } |
2862 | 2867 |
2863 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( | 2868 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( |
2864 blink::WebApplicationCacheHostClient* client) { | 2869 blink::WebApplicationCacheHostClient* client) { |
2865 if (!frame_ || !frame_->view()) | 2870 if (!frame_ || !frame_->view()) |
2866 return NULL; | 2871 return NULL; |
2867 return new RendererWebApplicationCacheHostImpl( | 2872 return new RendererWebApplicationCacheHostImpl( |
2868 RenderViewImpl::FromWebView(frame_->view()), client, | 2873 RenderViewImpl::FromWebView(frame_->view()), client, |
(...skipping 3759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6628 // event target. Potentially a Pepper plugin will receive the event. | 6633 // event target. Potentially a Pepper plugin will receive the event. |
6629 // In order to tell whether a plugin gets the last mouse event and which it | 6634 // In order to tell whether a plugin gets the last mouse event and which it |
6630 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6635 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
6631 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6636 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
6632 // |pepper_last_mouse_event_target_|. | 6637 // |pepper_last_mouse_event_target_|. |
6633 pepper_last_mouse_event_target_ = nullptr; | 6638 pepper_last_mouse_event_target_ = nullptr; |
6634 #endif | 6639 #endif |
6635 } | 6640 } |
6636 | 6641 |
6637 } // namespace content | 6642 } // namespace content |
OLD | NEW |