summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorhendrikw <hendrikw@chromium.org>2015-05-18 16:14:14 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-18 23:14:21 +0000
commite19cc6a61419d38f3ec658c5e74363d77e900c09 (patch)
tree351e34313a99f53dc3675014babdb8ff6f295822 /content/renderer
parent1dfbd1030bd04e76ba41bff933cd2d8fc6d1e3f0 (diff)
downloadchromium_src-e19cc6a61419d38f3ec658c5e74363d77e900c09.zip
chromium_src-e19cc6a61419d38f3ec658c5e74363d77e900c09.tar.gz
chromium_src-e19cc6a61419d38f3ec658c5e74363d77e900c09.tar.bz2
cc: Video layers without a frame should not occlude
Added VisibleContentOpaqueRegion() to the VideoLayerImpl, if a frame hasn't been set yet, then we don't have an opaque region. + test BUG=460612 Review URL: https://codereview.chromium.org/1134663005 Cr-Commit-Position: refs/heads/master@{#330449}
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/media/android/webmediaplayer_android.cc5
-rw-r--r--content/renderer/media/android/webmediaplayer_android.h1
-rw-r--r--content/renderer/media/webmediaplayer_ms.cc5
-rw-r--r--content/renderer/media/webmediaplayer_ms.h1
4 files changed, 12 insertions, 0 deletions
diff --git a/content/renderer/media/android/webmediaplayer_android.cc b/content/renderer/media/android/webmediaplayer_android.cc
index 763bdaa..16f17f4 100644
--- a/content/renderer/media/android/webmediaplayer_android.cc
+++ b/content/renderer/media/android/webmediaplayer_android.cc
@@ -1280,6 +1280,11 @@ bool WebMediaPlayerAndroid::UpdateCurrentFrame(base::TimeTicks deadline_min,
return false;
}
+bool WebMediaPlayerAndroid::HasCurrentFrame() {
+ base::AutoLock auto_lock(current_frame_lock_);
+ return current_frame_;
+}
+
scoped_refptr<media::VideoFrame> WebMediaPlayerAndroid::GetCurrentFrame() {
scoped_refptr<VideoFrame> video_frame;
{
diff --git a/content/renderer/media/android/webmediaplayer_android.h b/content/renderer/media/android/webmediaplayer_android.h
index 5d5f653..2627ac0 100644
--- a/content/renderer/media/android/webmediaplayer_android.h
+++ b/content/renderer/media/android/webmediaplayer_android.h
@@ -187,6 +187,7 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer,
cc::VideoFrameProvider::Client* client) override;
bool UpdateCurrentFrame(base::TimeTicks deadline_min,
base::TimeTicks deadline_max) override;
+ bool HasCurrentFrame() override;
scoped_refptr<media::VideoFrame> GetCurrentFrame() override;
void PutCurrentFrame() override;
diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc
index de6f33b..556d58a 100644
--- a/content/renderer/media/webmediaplayer_ms.cc
+++ b/content/renderer/media/webmediaplayer_ms.cc
@@ -464,6 +464,11 @@ bool WebMediaPlayerMS::UpdateCurrentFrame(base::TimeTicks deadline_min,
return false;
}
+bool WebMediaPlayerMS::HasCurrentFrame() {
+ base::AutoLock auto_lock(current_frame_lock_);
+ return current_frame_;
+}
+
scoped_refptr<media::VideoFrame> WebMediaPlayerMS::GetCurrentFrame() {
DVLOG(3) << "WebMediaPlayerMS::GetCurrentFrame";
base::AutoLock auto_lock(current_frame_lock_);
diff --git a/content/renderer/media/webmediaplayer_ms.h b/content/renderer/media/webmediaplayer_ms.h
index 7310fd6..7a5ba71 100644
--- a/content/renderer/media/webmediaplayer_ms.h
+++ b/content/renderer/media/webmediaplayer_ms.h
@@ -136,6 +136,7 @@ class WebMediaPlayerMS
cc::VideoFrameProvider::Client* client) override;
bool UpdateCurrentFrame(base::TimeTicks deadline_min,
base::TimeTicks deadline_max) override;
+ bool HasCurrentFrame() override;
scoped_refptr<media::VideoFrame> GetCurrentFrame() override;
void PutCurrentFrame() override;