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

Side by Side Diff: media/blink/webmediaplayer_impl.cc

Issue 2439543003: Do not use overlays when VR shell is enabled. (Closed)
Patch Set: address final comments (and a rebase) Created 4 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 | « media/blink/webmediaplayer_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 "media/blink/webmediaplayer_impl.h" 5 #include "media/blink/webmediaplayer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <limits> 9 #include <limits>
10 #include <string> 10 #include <string>
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 observer_(params.media_observer()) { 243 observer_(params.media_observer()) {
244 DCHECK(!adjust_allocated_memory_cb_.is_null()); 244 DCHECK(!adjust_allocated_memory_cb_.is_null());
245 DCHECK(renderer_factory_); 245 DCHECK(renderer_factory_);
246 DCHECK(client_); 246 DCHECK(client_);
247 247
248 tick_clock_.reset(new base::DefaultTickClock()); 248 tick_clock_.reset(new base::DefaultTickClock());
249 249
250 force_video_overlays_ = base::CommandLine::ForCurrentProcess()->HasSwitch( 250 force_video_overlays_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
251 switches::kForceVideoOverlays); 251 switches::kForceVideoOverlays);
252 252
253 disable_fullscreen_video_overlays_ =
254 !base::FeatureList::IsEnabled(media::kOverlayFullscreenVideo);
255
256 if (delegate_) 253 if (delegate_)
257 delegate_id_ = delegate_->AddObserver(this); 254 delegate_id_ = delegate_->AddObserver(this);
258 255
259 media_log_->AddEvent( 256 media_log_->AddEvent(
260 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED)); 257 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED));
261 258
262 if (params.initial_cdm()) 259 if (params.initial_cdm())
263 SetCdm(params.initial_cdm()); 260 SetCdm(params.initial_cdm());
264 261
265 // TODO(xhwang): When we use an external Renderer, many methods won't work, 262 // TODO(xhwang): When we use an external Renderer, many methods won't work,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 DVLOG(1) << __func__ << "(" << load_type << ", " << url << ", " << cors_mode 302 DVLOG(1) << __func__ << "(" << load_type << ", " << url << ", " << cors_mode
306 << ")"; 303 << ")";
307 if (!defer_load_cb_.is_null()) { 304 if (!defer_load_cb_.is_null()) {
308 defer_load_cb_.Run(base::Bind( 305 defer_load_cb_.Run(base::Bind(
309 &WebMediaPlayerImpl::DoLoad, AsWeakPtr(), load_type, url, cors_mode)); 306 &WebMediaPlayerImpl::DoLoad, AsWeakPtr(), load_type, url, cors_mode));
310 return; 307 return;
311 } 308 }
312 DoLoad(load_type, url, cors_mode); 309 DoLoad(load_type, url, cors_mode);
313 } 310 }
314 311
312 void WebMediaPlayerImpl::SetEnableFullscreenOverlays(bool enable_overlays) {
313 enable_fullscreen_video_overlays_ = enable_overlays;
314 }
315
315 bool WebMediaPlayerImpl::supportsOverlayFullscreenVideo() { 316 bool WebMediaPlayerImpl::supportsOverlayFullscreenVideo() {
316 #if defined(OS_ANDROID) 317 #if defined(OS_ANDROID)
317 return true; 318 return true;
318 #else 319 #else
319 return false; 320 return false;
320 #endif 321 #endif
321 } 322 }
322 323
323 void WebMediaPlayerImpl::EnableOverlay() { 324 void WebMediaPlayerImpl::EnableOverlay() {
324 overlay_enabled_ = true; 325 overlay_enabled_ = true;
(...skipping 13 matching lines...) Expand all
338 surface_created_cb_.Cancel(); 339 surface_created_cb_.Cancel();
339 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; 340 overlay_surface_id_ = SurfaceManager::kNoSurfaceID;
340 341
341 if (decoder_requires_restart_for_overlay_) 342 if (decoder_requires_restart_for_overlay_)
342 ScheduleRestart(); 343 ScheduleRestart();
343 else if (!set_surface_cb_.is_null()) 344 else if (!set_surface_cb_.is_null())
344 set_surface_cb_.Run(overlay_surface_id_); 345 set_surface_cb_.Run(overlay_surface_id_);
345 } 346 }
346 347
347 void WebMediaPlayerImpl::enteredFullscreen() { 348 void WebMediaPlayerImpl::enteredFullscreen() {
348 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) 349 if (!force_video_overlays_ && enable_fullscreen_video_overlays_)
349 EnableOverlay(); 350 EnableOverlay();
350 if (observer_) 351 if (observer_)
351 observer_->OnEnteredFullscreen(); 352 observer_->OnEnteredFullscreen();
352 } 353 }
353 354
354 void WebMediaPlayerImpl::exitedFullscreen() { 355 void WebMediaPlayerImpl::exitedFullscreen() {
355 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) 356 if (!force_video_overlays_ && enable_fullscreen_video_overlays_)
356 DisableOverlay(); 357 DisableOverlay();
357 if (observer_) 358 if (observer_)
358 observer_->OnExitedFullscreen(); 359 observer_->OnExitedFullscreen();
359 } 360 }
360 361
361 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { 362 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) {
362 if (observer_) 363 if (observer_)
363 observer_->OnBecameDominantVisibleContent(isDominant); 364 observer_->OnBecameDominantVisibleContent(isDominant);
364 } 365 }
365 366
(...skipping 1638 matching lines...) Expand 10 before | Expand all | Expand 10 after
2004 return delegate_ && delegate_->IsHidden(); 2005 return delegate_ && delegate_->IsHidden();
2005 } 2006 }
2006 2007
2007 void WebMediaPlayerImpl::ActivateViewportIntersectionMonitoring(bool activate) { 2008 void WebMediaPlayerImpl::ActivateViewportIntersectionMonitoring(bool activate) {
2008 DCHECK(main_task_runner_->BelongsToCurrentThread()); 2009 DCHECK(main_task_runner_->BelongsToCurrentThread());
2009 2010
2010 client_->activateViewportIntersectionMonitoring(activate); 2011 client_->activateViewportIntersectionMonitoring(activate);
2011 } 2012 }
2012 2013
2013 } // namespace media 2014 } // namespace media
OLDNEW
« no previous file with comments | « media/blink/webmediaplayer_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698