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

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

Issue 2298003002: gfx: Struct traits for GpuMemoryBufferHandle. (Closed)
Patch Set: . 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
« no previous file with comments | « ui/gfx/mojo/buffer_types_traits.cc ('k') | ui/gfx/mojo/traits_test_service.mojom » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..556954b0f546648346f3b4d9ad312af65ac4155f 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,33 @@ 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);
+#if !defined(OS_MACOSX) && !defined(OS_IOS)
+ // TODO: Add support for mach_port on mac.
+ base::SharedMemory output_memory(output.handle, true);
+ EXPECT_TRUE(output_memory.Map(1024));
+#endif
+}
+
} // namespace gfx
« no previous file with comments | « ui/gfx/mojo/buffer_types_traits.cc ('k') | ui/gfx/mojo/traits_test_service.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698