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

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

Issue 1436243002: Add render-side manager for MediaSession (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moar tests Created 5 years 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
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 #include "content/renderer/media/rtc_peer_connection_handler.h" 177 #include "content/renderer/media/rtc_peer_connection_handler.h"
178 #endif 178 #endif
179 179
180 #if defined(OS_ANDROID) 180 #if defined(OS_ANDROID)
181 #include <cpu-features.h> 181 #include <cpu-features.h>
182 182
183 #include "content/common/gpu/client/context_provider_command_buffer.h" 183 #include "content/common/gpu/client/context_provider_command_buffer.h"
184 #include "content/renderer/android/synchronous_compositor_factory.h" 184 #include "content/renderer/android/synchronous_compositor_factory.h"
185 #include "content/renderer/java/gin_java_bridge_dispatcher.h" 185 #include "content/renderer/java/gin_java_bridge_dispatcher.h"
186 #include "content/renderer/media/android/renderer_media_player_manager.h" 186 #include "content/renderer/media/android/renderer_media_player_manager.h"
187 #include "content/renderer/media/android/renderer_media_session_manager.h"
187 #include "content/renderer/media/android/stream_texture_factory_impl.h" 188 #include "content/renderer/media/android/stream_texture_factory_impl.h"
188 #include "content/renderer/media/android/webmediaplayer_android.h" 189 #include "content/renderer/media/android/webmediaplayer_android.h"
189 #include "content/renderer/media/android/webmediasession_android.h" 190 #include "content/renderer/media/android/webmediasession_android.h"
190 #else 191 #else
191 #include "cc/blink/context_provider_web_context.h" 192 #include "cc/blink/context_provider_web_context.h"
192 #include "content/renderer/usb/web_usb_client_impl.h" 193 #include "content/renderer/usb/web_usb_client_impl.h"
193 #include "device/devices_app/public/cpp/constants.h" 194 #include "device/devices_app/public/cpp/constants.h"
194 #endif 195 #endif
195 196
196 #if defined(ENABLE_PEPPER_CDMS) 197 #if defined(ENABLE_PEPPER_CDMS)
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 cookie_jar_(this), 749 cookie_jar_(this),
749 selection_text_offset_(0), 750 selection_text_offset_(0),
750 selection_range_(gfx::Range::InvalidRange()), 751 selection_range_(gfx::Range::InvalidRange()),
751 handling_select_range_(false), 752 handling_select_range_(false),
752 notification_permission_dispatcher_(NULL), 753 notification_permission_dispatcher_(NULL),
753 web_user_media_client_(NULL), 754 web_user_media_client_(NULL),
754 media_permission_dispatcher_(NULL), 755 media_permission_dispatcher_(NULL),
755 midi_dispatcher_(NULL), 756 midi_dispatcher_(NULL),
756 #if defined(OS_ANDROID) 757 #if defined(OS_ANDROID)
757 media_player_manager_(NULL), 758 media_player_manager_(NULL),
759 media_session_manager_(NULL),
758 #endif 760 #endif
759 #if defined(ENABLE_BROWSER_CDMS) 761 #if defined(ENABLE_BROWSER_CDMS)
760 cdm_manager_(NULL), 762 cdm_manager_(NULL),
761 #endif 763 #endif
762 #if defined(VIDEO_HOLE) 764 #if defined(VIDEO_HOLE)
763 contains_media_player_(false), 765 contains_media_player_(false),
764 #endif 766 #endif
765 devtools_agent_(nullptr), 767 devtools_agent_(nullptr),
766 wakelock_dispatcher_(nullptr), 768 wakelock_dispatcher_(nullptr),
767 geolocation_dispatcher_(NULL), 769 geolocation_dispatcher_(NULL),
(...skipping 1453 matching lines...) Expand 10 before | Expand all | Expand 10 after
2221 // !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) 2223 // !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2222 2224
2223 return new media::WebMediaPlayerImpl( 2225 return new media::WebMediaPlayerImpl(
2224 frame, client, encrypted_client, GetWebMediaPlayerDelegate()->AsWeakPtr(), 2226 frame, client, encrypted_client, GetWebMediaPlayerDelegate()->AsWeakPtr(),
2225 media_renderer_factory.Pass(), GetCdmFactory(), params); 2227 media_renderer_factory.Pass(), GetCdmFactory(), params);
2226 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) 2228 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2227 } 2229 }
2228 2230
2229 blink::WebMediaSession* RenderFrameImpl::createMediaSession() { 2231 blink::WebMediaSession* RenderFrameImpl::createMediaSession() {
2230 #if defined(OS_ANDROID) 2232 #if defined(OS_ANDROID)
2231 return new WebMediaSessionAndroid(); 2233 return new WebMediaSessionAndroid(GetMediaSessionManager());
2232 #else 2234 #else
2233 return nullptr; 2235 return nullptr;
2234 #endif // defined(OS_ANDROID) 2236 #endif // defined(OS_ANDROID)
2235 } 2237 }
2236 2238
2237 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( 2239 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost(
2238 blink::WebLocalFrame* frame, 2240 blink::WebLocalFrame* frame,
2239 blink::WebApplicationCacheHostClient* client) { 2241 blink::WebApplicationCacheHostClient* client) {
2240 if (!frame || !frame->view()) 2242 if (!frame || !frame->view())
2241 return NULL; 2243 return NULL;
(...skipping 3011 matching lines...) Expand 10 before | Expand all | Expand 10 after
5253 GetWebMediaPlayerDelegate()->AsWeakPtr(), 5255 GetWebMediaPlayerDelegate()->AsWeakPtr(),
5254 GetMediaPlayerManager(), GetCdmFactory(), 5256 GetMediaPlayerManager(), GetCdmFactory(),
5255 stream_texture_factory, routing_id_, params); 5257 stream_texture_factory, routing_id_, params);
5256 } 5258 }
5257 5259
5258 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { 5260 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() {
5259 if (!media_player_manager_) 5261 if (!media_player_manager_)
5260 media_player_manager_ = new RendererMediaPlayerManager(this); 5262 media_player_manager_ = new RendererMediaPlayerManager(this);
5261 return media_player_manager_; 5263 return media_player_manager_;
5262 } 5264 }
5265
5266 RendererMediaSessionManager* RenderFrameImpl::GetMediaSessionManager() {
5267 if (!media_session_manager_)
5268 media_session_manager_ = new RendererMediaSessionManager(this);
5269 return media_session_manager_;
5270 }
5271
5263 #endif // defined(OS_ANDROID) 5272 #endif // defined(OS_ANDROID)
5264 5273
5265 scoped_ptr<media::MediaPermission> RenderFrameImpl::CreateMediaPermissionProxy( 5274 scoped_ptr<media::MediaPermission> RenderFrameImpl::CreateMediaPermissionProxy(
5266 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner) { 5275 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner) {
5267 MediaPermissionDispatcherImpl* media_permission = 5276 MediaPermissionDispatcherImpl* media_permission =
5268 static_cast<MediaPermissionDispatcherImpl*>(GetMediaPermission()); 5277 static_cast<MediaPermissionDispatcherImpl*>(GetMediaPermission());
5269 return media_permission->CreateProxy(caller_task_runner).Pass(); 5278 return media_permission->CreateProxy(caller_task_runner).Pass();
5270 } 5279 }
5271 5280
5272 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { 5281 media::MediaPermission* RenderFrameImpl::GetMediaPermission() {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
5370 media::ConvertToSwitchOutputDeviceCB(web_callbacks); 5379 media::ConvertToSwitchOutputDeviceCB(web_callbacks);
5371 scoped_refptr<media::AudioOutputDevice> device = 5380 scoped_refptr<media::AudioOutputDevice> device =
5372 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), 5381 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(),
5373 security_origin); 5382 security_origin);
5374 media::OutputDeviceStatus status = device->GetDeviceStatus(); 5383 media::OutputDeviceStatus status = device->GetDeviceStatus();
5375 device->Stop(); 5384 device->Stop();
5376 callback.Run(status); 5385 callback.Run(status);
5377 } 5386 }
5378 5387
5379 } // namespace content 5388 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698