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

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

Issue 2439543003: Do not use overlays when VR shell is enabled. (Closed)
Patch Set: Address ddorwin comments, move new methods out of ANDROID build check so they compile on all platfo… 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
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_)
ddorwin 2016/12/16 19:15:18 Separate from this CL: This logic is not obvious.
amp 2016/12/16 19:25:03 Acknowledged.
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_)
ddorwin 2016/12/16 19:15:18 Similarly, enable_fullscreen_video_overlays_ is th
amp 2016/12/16 19:25:03 Acknowledged.
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 1614 matching lines...) Expand 10 before | Expand all | Expand 10 after
1980 watch_time_reporter_->OnShown(); 1981 watch_time_reporter_->OnShown();
1981 } 1982 }
1982 1983
1983 bool WebMediaPlayerImpl::IsHidden() const { 1984 bool WebMediaPlayerImpl::IsHidden() const {
1984 DCHECK(main_task_runner_->BelongsToCurrentThread()); 1985 DCHECK(main_task_runner_->BelongsToCurrentThread());
1985 1986
1986 return delegate_ && delegate_->IsHidden(); 1987 return delegate_ && delegate_->IsHidden();
1987 } 1988 }
1988 1989
1989 } // namespace media 1990 } // namespace media
OLDNEW
« media/blink/webmediaplayer_impl.h ('K') | « media/blink/webmediaplayer_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698