| 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 |