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

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: Adressed comments; moved blink parts to another CL 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 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 #include "content/renderer/media/rtc_peer_connection_handler.h" 194 #include "content/renderer/media/rtc_peer_connection_handler.h"
195 #endif 195 #endif
196 196
197 #if defined(OS_ANDROID) 197 #if defined(OS_ANDROID)
198 #include <cpu-features.h> 198 #include <cpu-features.h>
199 199
200 #include "content/common/gpu/client/context_provider_command_buffer.h" 200 #include "content/common/gpu/client/context_provider_command_buffer.h"
201 #include "content/renderer/java/gin_java_bridge_dispatcher.h" 201 #include "content/renderer/java/gin_java_bridge_dispatcher.h"
202 #include "content/renderer/media/android/renderer_media_player_manager.h" 202 #include "content/renderer/media/android/renderer_media_player_manager.h"
203 #include "content/renderer/media/android/renderer_media_session_manager.h" 203 #include "content/renderer/media/android/renderer_media_session_manager.h"
204 #include "content/renderer/media/android/renderer_surface_view_manager.h"
204 #include "content/renderer/media/android/stream_texture_factory_impl.h" 205 #include "content/renderer/media/android/stream_texture_factory_impl.h"
205 #include "content/renderer/media/android/webmediaplayer_android.h" 206 #include "content/renderer/media/android/webmediaplayer_android.h"
206 #include "content/renderer/media/android/webmediasession_android.h" 207 #include "content/renderer/media/android/webmediasession_android.h"
207 #include "media/base/android/media_codec_util.h" 208 #include "media/base/android/media_codec_util.h"
208 #include "third_party/WebKit/public/platform/WebFloatPoint.h" 209 #include "third_party/WebKit/public/platform/WebFloatPoint.h"
209 #else 210 #else
210 #include "cc/blink/context_provider_web_context.h" 211 #include "cc/blink/context_provider_web_context.h"
211 #endif 212 #endif
212 213
213 #if defined(ENABLE_PEPPER_CDMS) 214 #if defined(ENABLE_PEPPER_CDMS)
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
996 cookie_jar_(this), 997 cookie_jar_(this),
997 selection_text_offset_(0), 998 selection_text_offset_(0),
998 selection_range_(gfx::Range::InvalidRange()), 999 selection_range_(gfx::Range::InvalidRange()),
999 handling_select_range_(false), 1000 handling_select_range_(false),
1000 notification_permission_dispatcher_(NULL), 1001 notification_permission_dispatcher_(NULL),
1001 web_user_media_client_(NULL), 1002 web_user_media_client_(NULL),
1002 midi_dispatcher_(NULL), 1003 midi_dispatcher_(NULL),
1003 #if defined(OS_ANDROID) 1004 #if defined(OS_ANDROID)
1004 media_player_manager_(NULL), 1005 media_player_manager_(NULL),
1005 media_session_manager_(NULL), 1006 media_session_manager_(NULL),
1007 media_surface_manager_(nullptr),
1006 #endif 1008 #endif
1007 #if defined(ENABLE_BROWSER_CDMS) 1009 #if defined(ENABLE_BROWSER_CDMS)
1008 cdm_manager_(NULL), 1010 cdm_manager_(NULL),
1009 #endif 1011 #endif
1010 #if defined(VIDEO_HOLE) 1012 #if defined(VIDEO_HOLE)
1011 contains_media_player_(false), 1013 contains_media_player_(false),
1012 #endif 1014 #endif
1013 devtools_agent_(nullptr), 1015 devtools_agent_(nullptr),
1014 wakelock_dispatcher_(nullptr), 1016 wakelock_dispatcher_(nullptr),
1015 geolocation_dispatcher_(NULL), 1017 geolocation_dispatcher_(NULL),
(...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after
2474 2476
2475 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 2477 RenderThreadImpl* render_thread = RenderThreadImpl::current();
2476 2478
2477 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink = 2479 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink =
2478 render_thread->GetAudioRendererMixerManager()->CreateInput( 2480 render_thread->GetAudioRendererMixerManager()->CreateInput(
2479 routing_id_, sink_id.utf8(), frame->securityOrigin()); 2481 routing_id_, sink_id.utf8(), frame->securityOrigin());
2480 media::WebMediaPlayerParams::Context3DCB context_3d_cb = 2482 media::WebMediaPlayerParams::Context3DCB context_3d_cb =
2481 base::Bind(&GetSharedMainThreadContext3D); 2483 base::Bind(&GetSharedMainThreadContext3D);
2482 2484
2483 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); 2485 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
2486 #if defined(OS_ANDROID)
2487 if (!media_surface_manager_)
2488 media_surface_manager_ = new RendererSurfaceViewManager(this);
2489 #endif
2484 media::WebMediaPlayerParams params( 2490 media::WebMediaPlayerParams params(
2485 base::Bind(&ContentRendererClient::DeferMediaLoad, 2491 base::Bind(&ContentRendererClient::DeferMediaLoad,
2486 base::Unretained(GetContentClient()->renderer()), 2492 base::Unretained(GetContentClient()->renderer()),
2487 static_cast<RenderFrame*>(this), 2493 static_cast<RenderFrame*>(this),
2488 GetWebMediaPlayerDelegate()->has_played_media()), 2494 GetWebMediaPlayerDelegate()->has_played_media()),
2489 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), 2495 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
2490 render_thread->GetWorkerTaskRunner(), 2496 render_thread->GetWorkerTaskRunner(),
2491 render_thread->compositor_task_runner(), context_3d_cb, 2497 render_thread->compositor_task_runner(), context_3d_cb,
2492 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, 2498 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory,
2493 base::Unretained(blink::mainThreadIsolate())), 2499 base::Unretained(blink::mainThreadIsolate())),
2494 GetMediaPermission(), initial_cdm); 2500 GetMediaPermission(), initial_cdm, media_surface_manager_);
2495 2501
2496 #if defined(OS_ANDROID) 2502 #if defined(OS_ANDROID)
2497 if (!CanUseWebMediaPlayerImpl(load_type, url)) { 2503 if (!CanUseWebMediaPlayerImpl(load_type, url)) {
2498 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); 2504 return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
2499 } else if (!MustUseWebMediaPlayerImpl(load_type, url)) { 2505 } else if (!MustUseWebMediaPlayerImpl(load_type, url)) {
2500 // TODO(dalecurtis): This experiment is temporary and should be removed once 2506 // TODO(dalecurtis): This experiment is temporary and should be removed once
2501 // we have enough data to support the primacy of the unified media pipeline; 2507 // we have enough data to support the primacy of the unified media pipeline;
2502 // see http://crbug.com/533190 for details. 2508 // see http://crbug.com/533190 for details.
2503 // 2509 //
2504 // Note: It's important to query the field trial state first, to ensure that 2510 // Note: It's important to query the field trial state first, to ensure that
(...skipping 3619 matching lines...) Expand 10 before | Expand all | Expand 10 after
6124 int match_count, 6130 int match_count,
6125 int ordinal, 6131 int ordinal,
6126 const WebRect& selection_rect, 6132 const WebRect& selection_rect,
6127 bool final_status_update) { 6133 bool final_status_update) {
6128 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, 6134 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count,
6129 selection_rect, ordinal, 6135 selection_rect, ordinal,
6130 final_status_update)); 6136 final_status_update));
6131 } 6137 }
6132 6138
6133 } // namespace content 6139 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698