diff options
Diffstat (limited to 'chromium/components/viz/service/surfaces')
-rw-r--r-- | chromium/components/viz/service/surfaces/surface_manager.h | 2 | ||||
-rw-r--r-- | chromium/components/viz/service/surfaces/surface_unittest.cc | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/chromium/components/viz/service/surfaces/surface_manager.h b/chromium/components/viz/service/surfaces/surface_manager.h index 75a7c60158c..a2a774769f7 100644 --- a/chromium/components/viz/service/surfaces/surface_manager.h +++ b/chromium/components/viz/service/surfaces/surface_manager.h @@ -12,9 +12,9 @@ #include <unordered_set> #include <vector> +#include "base/check_op.h" #include "base/containers/flat_map.h" #include "base/containers/flat_set.h" -#include "base/logging.h" #include "base/macros.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" diff --git a/chromium/components/viz/service/surfaces/surface_unittest.cc b/chromium/components/viz/service/surfaces/surface_unittest.cc index 1054b5fa130..0ccffb3ffac 100644 --- a/chromium/components/viz/service/surfaces/surface_unittest.cc +++ b/chromium/components/viz/service/surfaces/surface_unittest.cc @@ -4,6 +4,7 @@ #include "components/viz/service/surfaces/surface.h" #include "base/bind.h" +#include "base/run_loop.h" #include "cc/test/scheduler_test_common.h" #include "components/viz/common/frame_sinks/copy_output_result.h" #include "components/viz/common/surfaces/parent_local_surface_id_allocator.h" @@ -76,8 +77,10 @@ TEST(SurfaceTest, SurfaceIds) { } void TestCopyResultCallback(bool* called, + base::OnceClosure finished, std::unique_ptr<CopyOutputResult> result) { *called = true; + std::move(finished).Run(); } // Test that CopyOutputRequests can outlive the current frame and be @@ -94,14 +97,16 @@ TEST(SurfaceTest, CopyRequestLifetime) { CompositorFrame frame = MakeDefaultCompositorFrame(); support->SubmitCompositorFrame(local_surface_id, std::move(frame)); Surface* surface = surface_manager->GetSurfaceForId(surface_id); - ASSERT_TRUE(!!surface); + ASSERT_TRUE(surface); bool copy_called = false; + base::RunLoop copy_runloop; support->RequestCopyOfOutput( local_surface_id, std::make_unique<CopyOutputRequest>( CopyOutputRequest::ResultFormat::RGBA_BITMAP, - base::BindOnce(&TestCopyResultCallback, ©_called))); + base::BindOnce(&TestCopyResultCallback, ©_called, + copy_runloop.QuitClosure()))); surface->TakeCopyOutputRequestsFromClient(); EXPECT_TRUE(surface_manager->GetSurfaceForId(surface_id)); EXPECT_FALSE(copy_called); @@ -135,6 +140,7 @@ TEST(SurfaceTest, CopyRequestLifetime) { ASSERT_EQ(1u, copy_requests.count(last_pass_id)); EXPECT_FALSE(copy_called); copy_requests.clear(); // Deleted requests will auto-send an empty result. + copy_runloop.Run(); EXPECT_TRUE(copy_called); } |