| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |