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 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 #include "content/renderer/media/rtc_peer_connection_handler.h" | 162 #include "content/renderer/media/rtc_peer_connection_handler.h" |
163 #endif | 163 #endif |
164 | 164 |
165 #if defined(OS_ANDROID) | 165 #if defined(OS_ANDROID) |
166 #include <cpu-features.h> | 166 #include <cpu-features.h> |
167 | 167 |
168 #include "content/common/gpu/client/context_provider_command_buffer.h" | 168 #include "content/common/gpu/client/context_provider_command_buffer.h" |
169 #include "content/renderer/android/synchronous_compositor_factory.h" | 169 #include "content/renderer/android/synchronous_compositor_factory.h" |
170 #include "content/renderer/java/gin_java_bridge_dispatcher.h" | 170 #include "content/renderer/java/gin_java_bridge_dispatcher.h" |
171 #include "content/renderer/media/android/renderer_media_player_manager.h" | 171 #include "content/renderer/media/android/renderer_media_player_manager.h" |
| 172 #include "content/renderer/media/android/renderer_media_session_manager.h" |
172 #include "content/renderer/media/android/stream_texture_factory_impl.h" | 173 #include "content/renderer/media/android/stream_texture_factory_impl.h" |
173 #include "content/renderer/media/android/webmediaplayer_android.h" | 174 #include "content/renderer/media/android/webmediaplayer_android.h" |
| 175 #include "content/renderer/media/android/webmediasession_android.h" |
174 #else | 176 #else |
175 #include "cc/blink/context_provider_web_context.h" | 177 #include "cc/blink/context_provider_web_context.h" |
176 #endif | 178 #endif |
177 | 179 |
178 #if defined(ENABLE_PEPPER_CDMS) | 180 #if defined(ENABLE_PEPPER_CDMS) |
179 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h" | 181 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h" |
180 #elif defined(ENABLE_BROWSER_CDMS) | 182 #elif defined(ENABLE_BROWSER_CDMS) |
181 #include "content/renderer/media/crypto/renderer_cdm_manager.h" | 183 #include "content/renderer/media/crypto/renderer_cdm_manager.h" |
182 #endif | 184 #endif |
183 | 185 |
(...skipping 21 matching lines...) Expand all Loading... |
205 using blink::WebElement; | 207 using blink::WebElement; |
206 using blink::WebExternalPopupMenu; | 208 using blink::WebExternalPopupMenu; |
207 using blink::WebExternalPopupMenuClient; | 209 using blink::WebExternalPopupMenuClient; |
208 using blink::WebFrame; | 210 using blink::WebFrame; |
209 using blink::WebHistoryItem; | 211 using blink::WebHistoryItem; |
210 using blink::WebHTTPBody; | 212 using blink::WebHTTPBody; |
211 using blink::WebLocalFrame; | 213 using blink::WebLocalFrame; |
212 using blink::WebMediaPlayer; | 214 using blink::WebMediaPlayer; |
213 using blink::WebMediaPlayerClient; | 215 using blink::WebMediaPlayerClient; |
214 using blink::WebMediaPlayerEncryptedMediaClient; | 216 using blink::WebMediaPlayerEncryptedMediaClient; |
| 217 using blink::WebMediaSession; |
215 using blink::WebNavigationPolicy; | 218 using blink::WebNavigationPolicy; |
216 using blink::WebNavigationType; | 219 using blink::WebNavigationType; |
217 using blink::WebNode; | 220 using blink::WebNode; |
218 using blink::WebPluginParams; | 221 using blink::WebPluginParams; |
219 using blink::WebPopupMenuInfo; | 222 using blink::WebPopupMenuInfo; |
220 using blink::WebRange; | 223 using blink::WebRange; |
221 using blink::WebReferrerPolicy; | 224 using blink::WebReferrerPolicy; |
222 using blink::WebScriptSource; | 225 using blink::WebScriptSource; |
223 using blink::WebSearchableFormData; | 226 using blink::WebSearchableFormData; |
224 using blink::WebSecurityOrigin; | 227 using blink::WebSecurityOrigin; |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
661 cookie_jar_(this), | 664 cookie_jar_(this), |
662 selection_text_offset_(0), | 665 selection_text_offset_(0), |
663 selection_range_(gfx::Range::InvalidRange()), | 666 selection_range_(gfx::Range::InvalidRange()), |
664 handling_select_range_(false), | 667 handling_select_range_(false), |
665 notification_permission_dispatcher_(NULL), | 668 notification_permission_dispatcher_(NULL), |
666 web_user_media_client_(NULL), | 669 web_user_media_client_(NULL), |
667 media_permission_dispatcher_(NULL), | 670 media_permission_dispatcher_(NULL), |
668 midi_dispatcher_(NULL), | 671 midi_dispatcher_(NULL), |
669 #if defined(OS_ANDROID) | 672 #if defined(OS_ANDROID) |
670 media_player_manager_(NULL), | 673 media_player_manager_(NULL), |
| 674 media_session_manager_(NULL), |
671 #endif | 675 #endif |
672 #if defined(ENABLE_BROWSER_CDMS) | 676 #if defined(ENABLE_BROWSER_CDMS) |
673 cdm_manager_(NULL), | 677 cdm_manager_(NULL), |
674 #endif | 678 #endif |
675 #if defined(VIDEO_HOLE) | 679 #if defined(VIDEO_HOLE) |
676 contains_media_player_(false), | 680 contains_media_player_(false), |
677 #endif | 681 #endif |
678 devtools_agent_(nullptr), | 682 devtools_agent_(nullptr), |
679 geolocation_dispatcher_(NULL), | 683 geolocation_dispatcher_(NULL), |
680 push_messaging_dispatcher_(NULL), | 684 push_messaging_dispatcher_(NULL), |
(...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2061 *render_thread->GetAudioHardwareConfig())); | 2065 *render_thread->GetAudioHardwareConfig())); |
2062 } | 2066 } |
2063 #endif // defined(ENABLE_MOJO_MEDIA) | 2067 #endif // defined(ENABLE_MOJO_MEDIA) |
2064 | 2068 |
2065 return new media::WebMediaPlayerImpl( | 2069 return new media::WebMediaPlayerImpl( |
2066 frame, client, encrypted_client, weak_factory_.GetWeakPtr(), | 2070 frame, client, encrypted_client, weak_factory_.GetWeakPtr(), |
2067 media_renderer_factory.Pass(), GetCdmFactory(), params); | 2071 media_renderer_factory.Pass(), GetCdmFactory(), params); |
2068 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) | 2072 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) |
2069 } | 2073 } |
2070 | 2074 |
| 2075 blink::WebMediaSession* RenderFrameImpl::createMediaSession( |
| 2076 blink::WebLocalFrame* frame) { |
| 2077 #if defined(OS_ANDROID) |
| 2078 return CreateAndroidWebMediaSession(); |
| 2079 #else |
| 2080 NOTREACHED(); |
| 2081 return nullptr; |
| 2082 #endif // defined(OS_ANDROID) |
| 2083 } |
| 2084 |
2071 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( | 2085 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( |
2072 blink::WebLocalFrame* frame, | 2086 blink::WebLocalFrame* frame, |
2073 blink::WebApplicationCacheHostClient* client) { | 2087 blink::WebApplicationCacheHostClient* client) { |
2074 if (!frame || !frame->view()) | 2088 if (!frame || !frame->view()) |
2075 return NULL; | 2089 return NULL; |
2076 DCHECK(!frame_ || frame_ == frame); | 2090 DCHECK(!frame_ || frame_ == frame); |
2077 return new RendererWebApplicationCacheHostImpl( | 2091 return new RendererWebApplicationCacheHostImpl( |
2078 RenderViewImpl::FromWebView(frame->view()), client, | 2092 RenderViewImpl::FromWebView(frame->view()), client, |
2079 RenderThreadImpl::current()->appcache_dispatcher()->backend_proxy()); | 2093 RenderThreadImpl::current()->appcache_dispatcher()->backend_proxy()); |
2080 } | 2094 } |
(...skipping 2904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4985 RenderThreadImpl::current()->GetMediaThreadTaskRunner(), | 4999 RenderThreadImpl::current()->GetMediaThreadTaskRunner(), |
4986 new RenderMediaLog()); | 5000 new RenderMediaLog()); |
4987 } | 5001 } |
4988 | 5002 |
4989 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { | 5003 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { |
4990 if (!media_player_manager_) | 5004 if (!media_player_manager_) |
4991 media_player_manager_ = new RendererMediaPlayerManager(this); | 5005 media_player_manager_ = new RendererMediaPlayerManager(this); |
4992 return media_player_manager_; | 5006 return media_player_manager_; |
4993 } | 5007 } |
4994 | 5008 |
| 5009 WebMediaSession* RenderFrameImpl::CreateAndroidWebMediaSession() { |
| 5010 return new WebMediaSessionAndroid(GetMediaSessionManager()); |
| 5011 } |
| 5012 |
| 5013 RendererMediaSessionManager* RenderFrameImpl::GetMediaSessionManager() { |
| 5014 if (!media_session_manager_) |
| 5015 media_session_manager_ = new RendererMediaSessionManager(this); |
| 5016 return media_session_manager_; |
| 5017 } |
| 5018 |
4995 #endif // defined(OS_ANDROID) | 5019 #endif // defined(OS_ANDROID) |
4996 | 5020 |
4997 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { | 5021 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { |
4998 if (!media_permission_dispatcher_) | 5022 if (!media_permission_dispatcher_) |
4999 media_permission_dispatcher_ = new MediaPermissionDispatcher(this); | 5023 media_permission_dispatcher_ = new MediaPermissionDispatcher(this); |
5000 return media_permission_dispatcher_; | 5024 return media_permission_dispatcher_; |
5001 } | 5025 } |
5002 | 5026 |
5003 #if defined(ENABLE_MOJO_MEDIA) | 5027 #if defined(ENABLE_MOJO_MEDIA) |
5004 media::interfaces::ServiceFactory* RenderFrameImpl::GetMediaServiceFactory() { | 5028 media::interfaces::ServiceFactory* RenderFrameImpl::GetMediaServiceFactory() { |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5069 void RenderFrameImpl::RegisterMojoServices() { | 5093 void RenderFrameImpl::RegisterMojoServices() { |
5070 // Only main frame have ImageDownloader service. | 5094 // Only main frame have ImageDownloader service. |
5071 if (!frame_->parent()) { | 5095 if (!frame_->parent()) { |
5072 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>( | 5096 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>( |
5073 base::Bind(&ImageDownloaderImpl::CreateMojoService, | 5097 base::Bind(&ImageDownloaderImpl::CreateMojoService, |
5074 base::Unretained(this))); | 5098 base::Unretained(this))); |
5075 } | 5099 } |
5076 } | 5100 } |
5077 | 5101 |
5078 } // namespace content | 5102 } // namespace content |
OLD | NEW |