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

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

Issue 1370453002: Introduce WebMediaSession (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Expect no platform implementation on !ANDROID Created 5 years, 2 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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 167
168 #if defined(OS_ANDROID) 168 #if defined(OS_ANDROID)
169 #include <cpu-features.h> 169 #include <cpu-features.h>
170 170
171 #include "content/common/gpu/client/context_provider_command_buffer.h" 171 #include "content/common/gpu/client/context_provider_command_buffer.h"
172 #include "content/renderer/android/synchronous_compositor_factory.h" 172 #include "content/renderer/android/synchronous_compositor_factory.h"
173 #include "content/renderer/java/gin_java_bridge_dispatcher.h" 173 #include "content/renderer/java/gin_java_bridge_dispatcher.h"
174 #include "content/renderer/media/android/renderer_media_player_manager.h" 174 #include "content/renderer/media/android/renderer_media_player_manager.h"
175 #include "content/renderer/media/android/stream_texture_factory_impl.h" 175 #include "content/renderer/media/android/stream_texture_factory_impl.h"
176 #include "content/renderer/media/android/webmediaplayer_android.h" 176 #include "content/renderer/media/android/webmediaplayer_android.h"
177 #include "content/renderer/media/android/webmediasession_android.h"
177 #else 178 #else
178 #include "cc/blink/context_provider_web_context.h" 179 #include "cc/blink/context_provider_web_context.h"
179 #include "content/renderer/usb/web_usb_client_impl.h" 180 #include "content/renderer/usb/web_usb_client_impl.h"
180 #include "device/devices_app/public/cpp/constants.h" 181 #include "device/devices_app/public/cpp/constants.h"
181 #endif 182 #endif
182 183
183 #if defined(ENABLE_PEPPER_CDMS) 184 #if defined(ENABLE_PEPPER_CDMS)
184 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h" 185 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h"
185 #elif defined(ENABLE_BROWSER_CDMS) 186 #elif defined(ENABLE_BROWSER_CDMS)
186 #include "content/renderer/media/crypto/renderer_cdm_manager.h" 187 #include "content/renderer/media/crypto/renderer_cdm_manager.h"
(...skipping 23 matching lines...) Expand all
210 using blink::WebElement; 211 using blink::WebElement;
211 using blink::WebExternalPopupMenu; 212 using blink::WebExternalPopupMenu;
212 using blink::WebExternalPopupMenuClient; 213 using blink::WebExternalPopupMenuClient;
213 using blink::WebFrame; 214 using blink::WebFrame;
214 using blink::WebHistoryItem; 215 using blink::WebHistoryItem;
215 using blink::WebHTTPBody; 216 using blink::WebHTTPBody;
216 using blink::WebLocalFrame; 217 using blink::WebLocalFrame;
217 using blink::WebMediaPlayer; 218 using blink::WebMediaPlayer;
218 using blink::WebMediaPlayerClient; 219 using blink::WebMediaPlayerClient;
219 using blink::WebMediaPlayerEncryptedMediaClient; 220 using blink::WebMediaPlayerEncryptedMediaClient;
221 using blink::WebMediaSession;
220 using blink::WebNavigationPolicy; 222 using blink::WebNavigationPolicy;
221 using blink::WebNavigationType; 223 using blink::WebNavigationType;
222 using blink::WebNode; 224 using blink::WebNode;
223 using blink::WebPluginParams; 225 using blink::WebPluginParams;
224 using blink::WebPopupMenuInfo; 226 using blink::WebPopupMenuInfo;
225 using blink::WebRange; 227 using blink::WebRange;
226 using blink::WebReferrerPolicy; 228 using blink::WebReferrerPolicy;
227 using blink::WebScriptSource; 229 using blink::WebScriptSource;
228 using blink::WebSearchableFormData; 230 using blink::WebSearchableFormData;
229 using blink::WebSecurityOrigin; 231 using blink::WebSecurityOrigin;
(...skipping 1884 matching lines...) Expand 10 before | Expand all | Expand 10 after
2114 *render_thread->GetAudioHardwareConfig())); 2116 *render_thread->GetAudioHardwareConfig()));
2115 } 2117 }
2116 #endif // defined(ENABLE_MOJO_MEDIA) 2118 #endif // defined(ENABLE_MOJO_MEDIA)
2117 2119
2118 return new media::WebMediaPlayerImpl( 2120 return new media::WebMediaPlayerImpl(
2119 frame, client, encrypted_client, weak_factory_.GetWeakPtr(), 2121 frame, client, encrypted_client, weak_factory_.GetWeakPtr(),
2120 media_renderer_factory.Pass(), GetCdmFactory(), params); 2122 media_renderer_factory.Pass(), GetCdmFactory(), params);
2121 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) 2123 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2122 } 2124 }
2123 2125
2126 WebMediaSession* RenderFrameImpl::createMediaSession(
2127 blink::WebLocalFrame* frame) {
2128 #if defined(OS_ANDROID)
2129 return CreateAndroidWebMediaSession();
2130 #else
2131 return nullptr;
2132 #endif // defined(OS_ANDROID)
2133 }
2134
2124 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( 2135 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost(
2125 blink::WebLocalFrame* frame, 2136 blink::WebLocalFrame* frame,
2126 blink::WebApplicationCacheHostClient* client) { 2137 blink::WebApplicationCacheHostClient* client) {
2127 if (!frame || !frame->view()) 2138 if (!frame || !frame->view())
2128 return NULL; 2139 return NULL;
2129 DCHECK(!frame_ || frame_ == frame); 2140 DCHECK(!frame_ || frame_ == frame);
2130 return new RendererWebApplicationCacheHostImpl( 2141 return new RendererWebApplicationCacheHostImpl(
2131 RenderViewImpl::FromWebView(frame->view()), client, 2142 RenderViewImpl::FromWebView(frame->view()), client,
2132 RenderThreadImpl::current()->appcache_dispatcher()->backend_proxy()); 2143 RenderThreadImpl::current()->appcache_dispatcher()->backend_proxy());
2133 } 2144 }
(...skipping 2909 matching lines...) Expand 10 before | Expand all | Expand 10 after
5043 return new WebMediaPlayerAndroid( 5054 return new WebMediaPlayerAndroid(
5044 frame_, client, encrypted_client, weak_factory_.GetWeakPtr(), 5055 frame_, client, encrypted_client, weak_factory_.GetWeakPtr(),
5045 GetMediaPlayerManager(), GetCdmFactory(), stream_texture_factory, params); 5056 GetMediaPlayerManager(), GetCdmFactory(), stream_texture_factory, params);
5046 } 5057 }
5047 5058
5048 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { 5059 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() {
5049 if (!media_player_manager_) 5060 if (!media_player_manager_)
5050 media_player_manager_ = new RendererMediaPlayerManager(this); 5061 media_player_manager_ = new RendererMediaPlayerManager(this);
5051 return media_player_manager_; 5062 return media_player_manager_;
5052 } 5063 }
5064
5065 WebMediaSession* RenderFrameImpl::CreateAndroidWebMediaSession() {
mlamouri (slow - plz ping) 2015/09/28 15:16:03 Do we need this level of indirection?
davve 2015/10/06 12:05:13 Probably not, no. If we ever get CreateAndroidWebM
5066 return new WebMediaSessionAndroid();
5067 }
5068
5053 #endif // defined(OS_ANDROID) 5069 #endif // defined(OS_ANDROID)
5054 5070
5055 scoped_ptr<media::MediaPermission> RenderFrameImpl::CreateMediaPermissionProxy( 5071 scoped_ptr<media::MediaPermission> RenderFrameImpl::CreateMediaPermissionProxy(
5056 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner) { 5072 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner) {
5057 MediaPermissionDispatcherImpl* media_permission = 5073 MediaPermissionDispatcherImpl* media_permission =
5058 static_cast<MediaPermissionDispatcherImpl*>(GetMediaPermission()); 5074 static_cast<MediaPermissionDispatcherImpl*>(GetMediaPermission());
5059 return media_permission->CreateProxy(caller_task_runner).Pass(); 5075 return media_permission->CreateProxy(caller_task_runner).Pass();
5060 } 5076 }
5061 5077
5062 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { 5078 media::MediaPermission* RenderFrameImpl::GetMediaPermission() {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
5138 mojo::ServiceProviderPtr service_provider; 5154 mojo::ServiceProviderPtr service_provider;
5139 mojo::URLRequestPtr request(mojo::URLRequest::New()); 5155 mojo::URLRequestPtr request(mojo::URLRequest::New());
5140 request->url = mojo::String::From(url); 5156 request->url = mojo::String::From(url);
5141 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), 5157 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider),
5142 nullptr, nullptr, 5158 nullptr, nullptr,
5143 base::Bind(&OnGotContentHandlerID)); 5159 base::Bind(&OnGotContentHandlerID));
5144 return service_provider.Pass(); 5160 return service_provider.Pass();
5145 } 5161 }
5146 5162
5147 } // namespace content 5163 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698