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

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

Issue 1655083002: Enable SurfaceView fullscreen video on Android with WebMediaPlayerImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@avda-sv
Patch Set: Created 4 years, 10 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 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 #endif 196 #endif
197 197
198 #if defined(OS_ANDROID) 198 #if defined(OS_ANDROID)
199 #include <cpu-features.h> 199 #include <cpu-features.h>
200 200
201 #include "content/common/gpu/client/context_provider_command_buffer.h" 201 #include "content/common/gpu/client/context_provider_command_buffer.h"
202 #include "content/renderer/android/synchronous_compositor_factory.h" 202 #include "content/renderer/android/synchronous_compositor_factory.h"
203 #include "content/renderer/java/gin_java_bridge_dispatcher.h" 203 #include "content/renderer/java/gin_java_bridge_dispatcher.h"
204 #include "content/renderer/media/android/renderer_media_player_manager.h" 204 #include "content/renderer/media/android/renderer_media_player_manager.h"
205 #include "content/renderer/media/android/renderer_media_session_manager.h" 205 #include "content/renderer/media/android/renderer_media_session_manager.h"
206 #include "content/renderer/media/android/renderer_surface_view_manager.h"
206 #include "content/renderer/media/android/stream_texture_factory_impl.h" 207 #include "content/renderer/media/android/stream_texture_factory_impl.h"
207 #include "content/renderer/media/android/webmediaplayer_android.h" 208 #include "content/renderer/media/android/webmediaplayer_android.h"
208 #include "content/renderer/media/android/webmediasession_android.h" 209 #include "content/renderer/media/android/webmediasession_android.h"
209 #include "media/base/android/media_codec_util.h" 210 #include "media/base/android/media_codec_util.h"
210 #include "third_party/WebKit/public/platform/WebFloatPoint.h" 211 #include "third_party/WebKit/public/platform/WebFloatPoint.h"
211 #else 212 #else
212 #include "cc/blink/context_provider_web_context.h" 213 #include "cc/blink/context_provider_web_context.h"
213 #include "device/devices_app/public/cpp/constants.h" 214 #include "device/devices_app/public/cpp/constants.h"
214 #endif 215 #endif
215 216
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 selection_text_offset_(0), 975 selection_text_offset_(0),
975 selection_range_(gfx::Range::InvalidRange()), 976 selection_range_(gfx::Range::InvalidRange()),
976 handling_select_range_(false), 977 handling_select_range_(false),
977 notification_permission_dispatcher_(NULL), 978 notification_permission_dispatcher_(NULL),
978 web_user_media_client_(NULL), 979 web_user_media_client_(NULL),
979 media_permission_dispatcher_(NULL), 980 media_permission_dispatcher_(NULL),
980 midi_dispatcher_(NULL), 981 midi_dispatcher_(NULL),
981 #if defined(OS_ANDROID) 982 #if defined(OS_ANDROID)
982 media_player_manager_(NULL), 983 media_player_manager_(NULL),
983 media_session_manager_(NULL), 984 media_session_manager_(NULL),
985 surface_manager_(nullptr),
984 #endif 986 #endif
985 #if defined(ENABLE_BROWSER_CDMS) 987 #if defined(ENABLE_BROWSER_CDMS)
986 cdm_manager_(NULL), 988 cdm_manager_(NULL),
987 #endif 989 #endif
988 #if defined(VIDEO_HOLE) 990 #if defined(VIDEO_HOLE)
989 contains_media_player_(false), 991 contains_media_player_(false),
990 #endif 992 #endif
991 devtools_agent_(nullptr), 993 devtools_agent_(nullptr),
992 wakelock_dispatcher_(nullptr), 994 wakelock_dispatcher_(nullptr),
993 geolocation_dispatcher_(NULL), 995 geolocation_dispatcher_(NULL),
(...skipping 1446 matching lines...) Expand 10 before | Expand all | Expand 10 after
2440 2442
2441 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 2443 RenderThreadImpl* render_thread = RenderThreadImpl::current();
2442 2444
2443 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink = 2445 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink =
2444 render_thread->GetAudioRendererMixerManager()->CreateInput( 2446 render_thread->GetAudioRendererMixerManager()->CreateInput(
2445 routing_id_, sink_id.utf8(), frame->securityOrigin()); 2447 routing_id_, sink_id.utf8(), frame->securityOrigin());
2446 media::WebMediaPlayerParams::Context3DCB context_3d_cb = 2448 media::WebMediaPlayerParams::Context3DCB context_3d_cb =
2447 base::Bind(&GetSharedMainThreadContext3D); 2449 base::Bind(&GetSharedMainThreadContext3D);
2448 2450
2449 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); 2451 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
2452 #if defined(OS_ANDROID)
2453 if (!surface_manager_)
2454 surface_manager_ = new RendererSurfaceViewManager(this);
2455 #endif
2450 media::WebMediaPlayerParams params( 2456 media::WebMediaPlayerParams params(
2451 base::Bind(&ContentRendererClient::DeferMediaLoad, 2457 base::Bind(&ContentRendererClient::DeferMediaLoad,
2452 base::Unretained(GetContentClient()->renderer()), 2458 base::Unretained(GetContentClient()->renderer()),
2453 static_cast<RenderFrame*>(this), 2459 static_cast<RenderFrame*>(this),
2454 GetWebMediaPlayerDelegate()->has_played_media()), 2460 GetWebMediaPlayerDelegate()->has_played_media()),
2455 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), 2461 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
2456 render_thread->GetWorkerTaskRunner(), 2462 render_thread->GetWorkerTaskRunner(),
2457 render_thread->compositor_task_runner(), context_3d_cb, 2463 render_thread->compositor_task_runner(), context_3d_cb,
2458 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, 2464 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory,
2459 base::Unretained(blink::mainThreadIsolate())), 2465 base::Unretained(blink::mainThreadIsolate())),
2460 GetMediaPermission(), initial_cdm); 2466 GetMediaPermission(), initial_cdm, surface_manager_);
2461 2467
2462 #if defined(OS_ANDROID) 2468 #if defined(OS_ANDROID)
2463 if (!CanUseWebMediaPlayerImpl(load_type, url)) { 2469 if (!CanUseWebMediaPlayerImpl(load_type, url)) {
2464 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); 2470 return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
2465 } else if (!MustUseWebMediaPlayerImpl(load_type, url)) { 2471 } else if (!MustUseWebMediaPlayerImpl(load_type, url)) {
2466 // TODO(dalecurtis): This experiment is temporary and should be removed once 2472 // TODO(dalecurtis): This experiment is temporary and should be removed once
2467 // we have enough data to support the primacy of the unified media pipeline; 2473 // we have enough data to support the primacy of the unified media pipeline;
2468 // see http://crbug.com/533190 for details. 2474 // see http://crbug.com/533190 for details.
2469 // 2475 //
2470 // Note: It's important to query the field trial state first, to ensure that 2476 // Note: It's important to query the field trial state first, to ensure that
(...skipping 3607 matching lines...) Expand 10 before | Expand all | Expand 10 after
6078 int match_count, 6084 int match_count,
6079 int ordinal, 6085 int ordinal,
6080 const WebRect& selection_rect, 6086 const WebRect& selection_rect,
6081 bool final_status_update) { 6087 bool final_status_update) {
6082 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, 6088 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count,
6083 selection_rect, ordinal, 6089 selection_rect, ordinal,
6084 final_status_update)); 6090 final_status_update));
6085 } 6091 }
6086 6092
6087 } // namespace content 6093 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698