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

Side by Side Diff: cc/surfaces/surface_synchronization_unittest.cc

Issue 2872883002: Rename EvictFrame, EvictSurface to EvictCurrentSurface (Closed)
Patch Set: Rebase Created 3 years, 7 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 unified diff | Download patch
« no previous file with comments | « cc/surfaces/surface_manager_ref_unittest.cc ('k') | cc/surfaces/surface_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "base/containers/flat_set.h" 5 #include "base/containers/flat_set.h"
6 #include "cc/surfaces/compositor_frame_sink_support.h" 6 #include "cc/surfaces/compositor_frame_sink_support.h"
7 #include "cc/surfaces/surface_id.h" 7 #include "cc/surfaces/surface_id.h"
8 #include "cc/surfaces/surface_manager.h" 8 #include "cc/surfaces/surface_manager.h"
9 #include "cc/surfaces/surface_observer.h" 9 #include "cc/surfaces/surface_observer.h"
10 #include "cc/test/begin_frame_args_test.h" 10 #include "cc/test/begin_frame_args_test.h"
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 MakeCompositorFrame({child_id2}, empty_surface_ids(), 638 MakeCompositorFrame({child_id2}, empty_surface_ids(),
639 TransferableResourceArray())); 639 TransferableResourceArray()));
640 640
641 // Verify that the CompositorFrame is blocked on |child_id2|. 641 // Verify that the CompositorFrame is blocked on |child_id2|.
642 EXPECT_FALSE(child_surface1()->HasActiveFrame()); 642 EXPECT_FALSE(child_surface1()->HasActiveFrame());
643 EXPECT_TRUE(child_surface1()->HasPendingFrame()); 643 EXPECT_TRUE(child_surface1()->HasPendingFrame());
644 EXPECT_THAT(child_surface1()->blocking_surfaces(), 644 EXPECT_THAT(child_surface1()->blocking_surfaces(),
645 UnorderedElementsAre(child_id2)); 645 UnorderedElementsAre(child_id2));
646 646
647 // Evict child_support1's current Surface. 647 // Evict child_support1's current Surface.
648 // TODO(fsamuel): EvictFrame => EvictCurrentSurface. 648 // TODO(fsamuel): EvictCurrentSurface => EvictCurrentSurface.
649 child_support1().EvictFrame(); 649 child_support1().EvictCurrentSurface();
650 650
651 // The parent Surface should immediately activate. 651 // The parent Surface should immediately activate.
652 EXPECT_TRUE(parent_surface()->HasActiveFrame()); 652 EXPECT_TRUE(parent_surface()->HasActiveFrame());
653 EXPECT_FALSE(parent_surface()->HasPendingFrame()); 653 EXPECT_FALSE(parent_surface()->HasPendingFrame());
654 EXPECT_THAT(parent_surface()->blocking_surfaces(), IsEmpty()); 654 EXPECT_THAT(parent_surface()->blocking_surfaces(), IsEmpty());
655 EXPECT_FALSE(dependency_tracker().has_deadline()); 655 EXPECT_FALSE(dependency_tracker().has_deadline());
656 } 656 }
657 657
658 // This test verifies that if a surface has both a pending and active 658 // This test verifies that if a surface has both a pending and active
659 // CompositorFrame and the pending CompositorFrame activates, replacing the 659 // CompositorFrame and the pending CompositorFrame activates, replacing the
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 Surface* surface = surface_manager().GetSurfaceForId(child_id); 1039 Surface* surface = surface_manager().GetSurfaceForId(child_id);
1040 EXPECT_NE(nullptr, surface); 1040 EXPECT_NE(nullptr, surface);
1041 1041
1042 // Add a reference from the parent to the child. 1042 // Add a reference from the parent to the child.
1043 parent_support().SubmitCompositorFrame( 1043 parent_support().SubmitCompositorFrame(
1044 parent_id.local_surface_id(), 1044 parent_id.local_surface_id(),
1045 MakeCompositorFrame({child_id}, {child_id}, TransferableResourceArray())); 1045 MakeCompositorFrame({child_id}, {child_id}, TransferableResourceArray()));
1046 1046
1047 // Attempt to destroy the child surface. The surface must still exist since 1047 // Attempt to destroy the child surface. The surface must still exist since
1048 // the parent needs it but it will be marked as destroyed. 1048 // the parent needs it but it will be marked as destroyed.
1049 child_support1().EvictFrame(); 1049 child_support1().EvictCurrentSurface();
1050 surface = surface_manager().GetSurfaceForId(child_id); 1050 surface = surface_manager().GetSurfaceForId(child_id);
1051 EXPECT_NE(nullptr, surface); 1051 EXPECT_NE(nullptr, surface);
1052 EXPECT_TRUE(surface->destroyed()); 1052 EXPECT_TRUE(surface->destroyed());
1053 1053
1054 // Child submits another frame to the same local surface id that is marked 1054 // Child submits another frame to the same local surface id that is marked
1055 // destroyed. 1055 // destroyed.
1056 child_support1().SubmitCompositorFrame(child_id.local_surface_id(), 1056 child_support1().SubmitCompositorFrame(child_id.local_surface_id(),
1057 MakeCompositorFrame()); 1057 MakeCompositorFrame());
1058 1058
1059 // Verify that the surface that was marked destroyed is recovered and is being 1059 // Verify that the surface that was marked destroyed is recovered and is being
(...skipping 17 matching lines...) Expand all
1077 // Add a reference from parent. 1077 // Add a reference from parent.
1078 parent_support().SubmitCompositorFrame( 1078 parent_support().SubmitCompositorFrame(
1079 parent_id.local_surface_id(), 1079 parent_id.local_surface_id(),
1080 MakeCompositorFrame({child_id}, {child_id}, TransferableResourceArray())); 1080 MakeCompositorFrame({child_id}, {child_id}, TransferableResourceArray()));
1081 1081
1082 // Remove the reference from parant. This allows us to destroy the surface. 1082 // Remove the reference from parant. This allows us to destroy the surface.
1083 parent_support().SubmitCompositorFrame(parent_id.local_surface_id(), 1083 parent_support().SubmitCompositorFrame(parent_id.local_surface_id(),
1084 MakeCompositorFrame()); 1084 MakeCompositorFrame());
1085 1085
1086 // Destroy the surface. 1086 // Destroy the surface.
1087 child_support1().EvictFrame(); 1087 child_support1().EvictCurrentSurface();
1088 EXPECT_EQ(nullptr, surface_manager().GetSurfaceForId(child_id)); 1088 EXPECT_EQ(nullptr, surface_manager().GetSurfaceForId(child_id));
1089 1089
1090 // Submit another frame with the same local surface id. This should work fine 1090 // Submit another frame with the same local surface id. This should work fine
1091 // and a new surface must be created. 1091 // and a new surface must be created.
1092 child_support1().SubmitCompositorFrame(child_id.local_surface_id(), 1092 child_support1().SubmitCompositorFrame(child_id.local_surface_id(),
1093 MakeCompositorFrame()); 1093 MakeCompositorFrame());
1094 EXPECT_NE(nullptr, surface_manager().GetSurfaceForId(child_id)); 1094 EXPECT_NE(nullptr, surface_manager().GetSurfaceForId(child_id));
1095 } 1095 }
1096 1096
1097 // This test verifies that a crash does not occur if garbage collection is 1097 // This test verifies that a crash does not occur if garbage collection is
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
1381 DidReceiveCompositorFrameAck(Eq(returned_resources2))); 1381 DidReceiveCompositorFrameAck(Eq(returned_resources2)));
1382 child_support1().SubmitCompositorFrame( 1382 child_support1().SubmitCompositorFrame(
1383 child_id1.local_surface_id(), 1383 child_id1.local_surface_id(),
1384 MakeCompositorFrame(empty_surface_ids(), empty_surface_ids(), 1384 MakeCompositorFrame(empty_surface_ids(), empty_surface_ids(),
1385 {resource2})); 1385 {resource2}));
1386 testing::Mock::VerifyAndClearExpectations(&support_client_); 1386 testing::Mock::VerifyAndClearExpectations(&support_client_);
1387 } 1387 }
1388 1388
1389 } // namespace test 1389 } // namespace test
1390 } // namespace cc 1390 } // namespace cc
OLDNEW
« no previous file with comments | « cc/surfaces/surface_manager_ref_unittest.cc ('k') | cc/surfaces/surface_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698