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

Unified Diff: ui/gfx/mojo/struct_traits_unittest.cc

Issue 2298003002: gfx: Struct traits for GpuMemoryBufferHandle. (Closed)
Patch Set: tot merge Created 4 years, 3 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
Index: ui/gfx/mojo/struct_traits_unittest.cc
diff --git a/ui/gfx/mojo/struct_traits_unittest.cc b/ui/gfx/mojo/struct_traits_unittest.cc
index 1ecbf86db73cdbc698b7de651124069cbe2032ed..c77229e498a8b577e1a467181d13c01ceb1f34ce 100644
--- a/ui/gfx/mojo/struct_traits_unittest.cc
+++ b/ui/gfx/mojo/struct_traits_unittest.cc
@@ -49,6 +49,12 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
callback.Run(t);
}
+ void EchoGpuMemoryBufferHandle(
+ const GpuMemoryBufferHandle& handle,
+ const EchoGpuMemoryBufferHandleCallback& callback) override {
+ callback.Run(handle);
+ }
+
base::MessageLoop loop_;
mojo::BindingSet<TraitsTestService> traits_test_bindings_;
@@ -134,4 +140,30 @@ TEST_F(StructTraitsTest, MAYBE_AcceleratedWidget) {
EXPECT_EQ(input, output);
}
+TEST_F(StructTraitsTest, GpuMemoryBufferHandle) {
+ const gfx::GpuMemoryBufferId kId(99);
+ const uint32_t kOffset = 126;
+ const int32_t kStride = 256;
+ base::SharedMemory shared_memory;
+ ASSERT_TRUE(shared_memory.CreateAnonymous(1024));
+ ASSERT_TRUE(shared_memory.Map(1024));
+
+ gfx::GpuMemoryBufferHandle handle;
+ handle.type = gfx::SHARED_MEMORY_BUFFER;
+ handle.id = kId;
+ handle.handle = base::SharedMemory::DuplicateHandle(shared_memory.handle());
+ handle.offset = kOffset;
+ handle.stride = kStride;
+
+ mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+ gfx::GpuMemoryBufferHandle output;
+ proxy->EchoGpuMemoryBufferHandle(handle, &output);
+ EXPECT_EQ(gfx::SHARED_MEMORY_BUFFER, output.type);
+ EXPECT_EQ(kId, output.id);
+ EXPECT_EQ(kOffset, output.offset);
+ EXPECT_EQ(kStride, output.stride);
+ base::SharedMemory output_memory(output.handle, true);
+ EXPECT_TRUE(output_memory.Map(1024));
+}
+
} // namespace gfx

Powered by Google App Engine
This is Rietveld 408576698