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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 #include "media/audio/audio_output_device.h" | 144 #include "media/audio/audio_output_device.h" |
145 #include "media/base/audio_renderer_mixer_input.h" | 145 #include "media/base/audio_renderer_mixer_input.h" |
146 #include "media/base/cdm_factory.h" | 146 #include "media/base/cdm_factory.h" |
147 #include "media/base/decoder_factory.h" | 147 #include "media/base/decoder_factory.h" |
148 #include "media/base/media.h" | 148 #include "media/base/media.h" |
149 #include "media/base/media_log.h" | 149 #include "media/base/media_log.h" |
150 #include "media/base/media_switches.h" | 150 #include "media/base/media_switches.h" |
151 #include "media/blink/url_index.h" | 151 #include "media/blink/url_index.h" |
152 #include "media/blink/webencryptedmediaclient_impl.h" | 152 #include "media/blink/webencryptedmediaclient_impl.h" |
153 #include "media/blink/webmediaplayer_impl.h" | 153 #include "media/blink/webmediaplayer_impl.h" |
| 154 #include "media/media_features.h" |
154 #include "media/renderers/gpu_video_accelerator_factories.h" | 155 #include "media/renderers/gpu_video_accelerator_factories.h" |
155 #include "mojo/edk/js/core.h" | 156 #include "mojo/edk/js/core.h" |
156 #include "mojo/edk/js/support.h" | 157 #include "mojo/edk/js/support.h" |
157 #include "net/base/data_url.h" | 158 #include "net/base/data_url.h" |
158 #include "net/base/net_errors.h" | 159 #include "net/base/net_errors.h" |
159 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 160 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
160 #include "net/http/http_util.h" | 161 #include "net/http/http_util.h" |
161 #include "ppapi/features/features.h" | 162 #include "ppapi/features/features.h" |
162 #include "services/service_manager/public/cpp/interface_provider.h" | 163 #include "services/service_manager/public/cpp/interface_provider.h" |
163 #include "services/service_manager/public/cpp/interface_registry.h" | 164 #include "services/service_manager/public/cpp/interface_registry.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 #include "url/url_util.h" | 210 #include "url/url_util.h" |
210 | 211 |
211 #if BUILDFLAG(ENABLE_PLUGINS) | 212 #if BUILDFLAG(ENABLE_PLUGINS) |
212 #include "content/renderer/pepper/pepper_browser_connection.h" | 213 #include "content/renderer/pepper/pepper_browser_connection.h" |
213 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" | 214 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" |
214 #include "content/renderer/pepper/pepper_plugin_registry.h" | 215 #include "content/renderer/pepper/pepper_plugin_registry.h" |
215 #include "content/renderer/pepper/pepper_webplugin_impl.h" | 216 #include "content/renderer/pepper/pepper_webplugin_impl.h" |
216 #include "content/renderer/pepper/plugin_module.h" | 217 #include "content/renderer/pepper/plugin_module.h" |
217 #endif | 218 #endif |
218 | 219 |
219 #if defined(ENABLE_WEBRTC) | 220 #if BUILDFLAG(ENABLE_WEBRTC) |
220 #include "content/renderer/media/rtc_peer_connection_handler.h" | 221 #include "content/renderer/media/rtc_peer_connection_handler.h" |
221 #endif | 222 #endif |
222 | 223 |
223 #if defined(OS_ANDROID) | 224 #if defined(OS_ANDROID) |
224 #include <cpu-features.h> | 225 #include <cpu-features.h> |
225 | 226 |
226 #include "content/renderer/android/app_web_message_port_client.h" | 227 #include "content/renderer/android/app_web_message_port_client.h" |
227 #include "content/renderer/java/gin_java_bridge_dispatcher.h" | 228 #include "content/renderer/java/gin_java_bridge_dispatcher.h" |
228 #include "content/renderer/media/android/media_player_renderer_client_factory.h" | 229 #include "content/renderer/media/android/media_player_renderer_client_factory.h" |
229 #include "content/renderer/media/android/renderer_media_player_manager.h" | 230 #include "content/renderer/media/android/renderer_media_player_manager.h" |
(...skipping 4186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4416 } | 4417 } |
4417 | 4418 |
4418 blink::WebPushClient* RenderFrameImpl::pushClient() { | 4419 blink::WebPushClient* RenderFrameImpl::pushClient() { |
4419 if (!push_messaging_dispatcher_) | 4420 if (!push_messaging_dispatcher_) |
4420 push_messaging_dispatcher_ = new PushMessagingDispatcher(this); | 4421 push_messaging_dispatcher_ = new PushMessagingDispatcher(this); |
4421 return push_messaging_dispatcher_; | 4422 return push_messaging_dispatcher_; |
4422 } | 4423 } |
4423 | 4424 |
4424 void RenderFrameImpl::willStartUsingPeerConnectionHandler( | 4425 void RenderFrameImpl::willStartUsingPeerConnectionHandler( |
4425 blink::WebRTCPeerConnectionHandler* handler) { | 4426 blink::WebRTCPeerConnectionHandler* handler) { |
4426 #if defined(ENABLE_WEBRTC) | 4427 #if BUILDFLAG(ENABLE_WEBRTC) |
4427 static_cast<RTCPeerConnectionHandler*>(handler)->associateWithFrame(frame_); | 4428 static_cast<RTCPeerConnectionHandler*>(handler)->associateWithFrame(frame_); |
4428 #endif | 4429 #endif |
4429 } | 4430 } |
4430 | 4431 |
4431 blink::WebUserMediaClient* RenderFrameImpl::userMediaClient() { | 4432 blink::WebUserMediaClient* RenderFrameImpl::userMediaClient() { |
4432 if (!web_user_media_client_) | 4433 if (!web_user_media_client_) |
4433 InitializeUserMediaClient(); | 4434 InitializeUserMediaClient(); |
4434 return web_user_media_client_; | 4435 return web_user_media_client_; |
4435 } | 4436 } |
4436 | 4437 |
(...skipping 1496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5933 selection_range_ = range; | 5934 selection_range_ = range; |
5934 SetSelectedText(text, offset, range); | 5935 SetSelectedText(text, offset, range); |
5935 } | 5936 } |
5936 GetRenderWidget()->UpdateSelectionBounds(); | 5937 GetRenderWidget()->UpdateSelectionBounds(); |
5937 } | 5938 } |
5938 | 5939 |
5939 void RenderFrameImpl::InitializeUserMediaClient() { | 5940 void RenderFrameImpl::InitializeUserMediaClient() { |
5940 if (!RenderThreadImpl::current()) // Will be NULL during unit tests. | 5941 if (!RenderThreadImpl::current()) // Will be NULL during unit tests. |
5941 return; | 5942 return; |
5942 | 5943 |
5943 #if defined(ENABLE_WEBRTC) | 5944 #if BUILDFLAG(ENABLE_WEBRTC) |
5944 DCHECK(!web_user_media_client_); | 5945 DCHECK(!web_user_media_client_); |
5945 web_user_media_client_ = new UserMediaClientImpl( | 5946 web_user_media_client_ = new UserMediaClientImpl( |
5946 this, RenderThreadImpl::current()->GetPeerConnectionDependencyFactory(), | 5947 this, RenderThreadImpl::current()->GetPeerConnectionDependencyFactory(), |
5947 base::MakeUnique<MediaStreamDispatcher>(this)); | 5948 base::MakeUnique<MediaStreamDispatcher>(this)); |
5948 GetInterfaceRegistry()->AddInterface( | 5949 GetInterfaceRegistry()->AddInterface( |
5949 base::Bind(&MediaDevicesListenerImpl::Create, GetRoutingID())); | 5950 base::Bind(&MediaDevicesListenerImpl::Create, GetRoutingID())); |
5950 #endif | 5951 #endif |
5951 } | 5952 } |
5952 | 5953 |
5953 WebMediaPlayer* RenderFrameImpl::CreateWebMediaPlayerForMediaStream( | 5954 WebMediaPlayer* RenderFrameImpl::CreateWebMediaPlayerForMediaStream( |
5954 WebMediaPlayerClient* client, | 5955 WebMediaPlayerClient* client, |
5955 const WebString& sink_id, | 5956 const WebString& sink_id, |
5956 const WebSecurityOrigin& security_origin) { | 5957 const WebSecurityOrigin& security_origin) { |
5957 #if defined(ENABLE_WEBRTC) | 5958 #if BUILDFLAG(ENABLE_WEBRTC) |
5958 RenderThreadImpl* const render_thread = RenderThreadImpl::current(); | 5959 RenderThreadImpl* const render_thread = RenderThreadImpl::current(); |
5959 | 5960 |
5960 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner = | 5961 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner = |
5961 render_thread->compositor_task_runner(); | 5962 render_thread->compositor_task_runner(); |
5962 if (!compositor_task_runner.get()) | 5963 if (!compositor_task_runner.get()) |
5963 compositor_task_runner = base::ThreadTaskRunnerHandle::Get(); | 5964 compositor_task_runner = base::ThreadTaskRunnerHandle::Get(); |
5964 | 5965 |
5965 return new WebMediaPlayerMS( | 5966 return new WebMediaPlayerMS( |
5966 frame_, client, GetWebMediaPlayerDelegate()->AsWeakPtr(), | 5967 frame_, client, GetWebMediaPlayerDelegate()->AsWeakPtr(), |
5967 new RenderMediaLog(url::Origin(security_origin).GetURL()), | 5968 new RenderMediaLog(url::Origin(security_origin).GetURL()), |
5968 CreateRendererFactory(), compositor_task_runner, | 5969 CreateRendererFactory(), compositor_task_runner, |
5969 render_thread->GetMediaThreadTaskRunner(), | 5970 render_thread->GetMediaThreadTaskRunner(), |
5970 render_thread->GetWorkerTaskRunner(), render_thread->GetGpuFactories(), | 5971 render_thread->GetWorkerTaskRunner(), render_thread->GetGpuFactories(), |
5971 sink_id, security_origin); | 5972 sink_id, security_origin); |
5972 #else | 5973 #else |
5973 return NULL; | 5974 return NULL; |
5974 #endif // defined(ENABLE_WEBRTC) | 5975 #endif // BUILDFLAG(ENABLE_WEBRTC) |
5975 } | 5976 } |
5976 | 5977 |
5977 std::unique_ptr<MediaStreamRendererFactory> | 5978 std::unique_ptr<MediaStreamRendererFactory> |
5978 RenderFrameImpl::CreateRendererFactory() { | 5979 RenderFrameImpl::CreateRendererFactory() { |
5979 std::unique_ptr<MediaStreamRendererFactory> factory = | 5980 std::unique_ptr<MediaStreamRendererFactory> factory = |
5980 GetContentClient()->renderer()->CreateMediaStreamRendererFactory(); | 5981 GetContentClient()->renderer()->CreateMediaStreamRendererFactory(); |
5981 if (factory.get()) | 5982 if (factory.get()) |
5982 return factory; | 5983 return factory; |
5983 #if defined(ENABLE_WEBRTC) | 5984 #if BUILDFLAG(ENABLE_WEBRTC) |
5984 return std::unique_ptr<MediaStreamRendererFactory>( | 5985 return std::unique_ptr<MediaStreamRendererFactory>( |
5985 new MediaStreamRendererFactoryImpl()); | 5986 new MediaStreamRendererFactoryImpl()); |
5986 #else | 5987 #else |
5987 return std::unique_ptr<MediaStreamRendererFactory>( | 5988 return std::unique_ptr<MediaStreamRendererFactory>( |
5988 static_cast<MediaStreamRendererFactory*>(NULL)); | 5989 static_cast<MediaStreamRendererFactory*>(NULL)); |
5989 #endif | 5990 #endif |
5990 } | 5991 } |
5991 | 5992 |
5992 void RenderFrameImpl::PrepareRenderViewForNavigation( | 5993 void RenderFrameImpl::PrepareRenderViewForNavigation( |
5993 const GURL& url, | 5994 const GURL& url, |
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6609 // event target. Potentially a Pepper plugin will receive the event. | 6610 // event target. Potentially a Pepper plugin will receive the event. |
6610 // In order to tell whether a plugin gets the last mouse event and which it | 6611 // In order to tell whether a plugin gets the last mouse event and which it |
6611 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6612 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
6612 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6613 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
6613 // |pepper_last_mouse_event_target_|. | 6614 // |pepper_last_mouse_event_target_|. |
6614 pepper_last_mouse_event_target_ = nullptr; | 6615 pepper_last_mouse_event_target_ = nullptr; |
6615 #endif | 6616 #endif |
6616 } | 6617 } |
6617 | 6618 |
6618 } // namespace content | 6619 } // namespace content |
OLD | NEW |