Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1396)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 1259633002: NOT FOR LANDING Implement WebMediaSession (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: hack until something works Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698