summaryrefslogtreecommitdiff
path: root/chromium/components/viz/service/surfaces
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/viz/service/surfaces')
-rw-r--r--chromium/components/viz/service/surfaces/surface_manager.h2
-rw-r--r--chromium/components/viz/service/surfaces/surface_unittest.cc10
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, &copy_called)));
+ base::BindOnce(&TestCopyResultCallback, &copy_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);
}