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

Unified Diff: cc/layers/video_frame_provider_client_impl_unittest.cc

Issue 2692873003: Mark Layer Damaged When The Client Is Gone (Closed)
Patch Set: Add unit test Created 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/video_frame_provider_client_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/video_frame_provider_client_impl_unittest.cc
diff --git a/cc/layers/video_frame_provider_client_impl_unittest.cc b/cc/layers/video_frame_provider_client_impl_unittest.cc
index eaa0e6fe40fc59b8ed8261f70b66977cc8533335..075f4b7674fcba59a4f6af3a9e2fbecc3687e6a1 100644
--- a/cc/layers/video_frame_provider_client_impl_unittest.cc
+++ b/cc/layers/video_frame_provider_client_impl_unittest.cc
@@ -102,6 +102,14 @@ TEST_F(VideoFrameProviderClientImplTest, StartStopRendering) {
StopRendering();
}
+TEST_F(VideoFrameProviderClientImplTest, StopRenderingUpdateDamage) {
+ CreateActiveVideoLayer();
+ StartRendering();
+ EXPECT_EQ(gfx::Rect(), video_layer_impl_->update_rect());
+ StopRendering();
+ EXPECT_NE(gfx::Rect(), video_layer_impl_->update_rect());
+}
+
TEST_F(VideoFrameProviderClientImplTest, StopUsingProvider) {
ASSERT_TRUE(client_impl_->get_provider_for_testing());
StartRendering();
@@ -110,6 +118,28 @@ TEST_F(VideoFrameProviderClientImplTest, StopUsingProvider) {
ASSERT_FALSE(client_impl_->get_provider_for_testing());
}
+TEST_F(VideoFrameProviderClientImplTest, StopUsingProviderUpdateDamage) {
+ CreateActiveVideoLayer();
+ ASSERT_TRUE(client_impl_->get_provider_for_testing());
+ StartRendering();
+ EXPECT_CALL(*this, RemoveVideoFrameController(_));
+ EXPECT_EQ(gfx::Rect(), video_layer_impl_->update_rect());
+ client_impl_->StopUsingProvider();
+ EXPECT_NE(gfx::Rect(), video_layer_impl_->update_rect());
+ ASSERT_FALSE(client_impl_->get_provider_for_testing());
+}
+
+TEST_F(VideoFrameProviderClientImplTest, StopNotUpdateDamage) {
+ CreateActiveVideoLayer();
+ ASSERT_TRUE(client_impl_->get_provider_for_testing());
+ StartRendering();
+ EXPECT_CALL(*this, RemoveVideoFrameController(_));
+ EXPECT_EQ(gfx::Rect(), video_layer_impl_->update_rect());
+ client_impl_->Stop();
+ EXPECT_EQ(gfx::Rect(), video_layer_impl_->update_rect());
+ ASSERT_FALSE(client_impl_->get_provider_for_testing());
+}
+
TEST_F(VideoFrameProviderClientImplTest, FrameAcquisition) {
CreateActiveVideoLayer();
StartRenderingAndRenderFrame();
« no previous file with comments | « cc/layers/video_frame_provider_client_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698