Index: ppapi/proxy/ppb_buffer_proxy.cc |
diff --git a/ppapi/proxy/ppb_buffer_proxy.cc b/ppapi/proxy/ppb_buffer_proxy.cc |
index c6d8cdd626b427e2e584975d4458117525fccced..80617f9c4c2390f96abdb8c7e4239fd7ae045b19 100644 |
--- a/ppapi/proxy/ppb_buffer_proxy.cc |
+++ b/ppapi/proxy/ppb_buffer_proxy.cc |
@@ -59,7 +59,7 @@ void Buffer::Unmap() { |
shm_.Unmap(); |
} |
-int32_t Buffer::GetSharedMemory(int* out_handle) { |
+int32_t Buffer::GetSharedMemory(base::SharedMemoryHandle* out_handle) { |
NOTREACHED(); |
return PP_ERROR_NOTSUPPORTED; |
} |
@@ -132,24 +132,14 @@ void PPB_Buffer_Proxy::OnMsgCreate( |
local_buffer_resource, false); |
if (trusted_buffer.failed()) |
return; |
- int local_fd; |
- if (trusted_buffer.object()->GetSharedMemory(&local_fd) != PP_OK) |
+ base::SharedMemoryHandle local_handle; |
+ if (trusted_buffer.object()->GetSharedMemory(&local_handle) != PP_OK) |
return; |
result_resource->SetHostResource(instance, local_buffer_resource); |
- // TODO(piman/brettw): Change trusted interface to return a PP_FileHandle, |
- // those casts are ugly. |
- base::PlatformFile platform_file = |
-#if defined(OS_WIN) |
- reinterpret_cast<HANDLE>(static_cast<intptr_t>(local_fd)); |
-#elif defined(OS_POSIX) |
- local_fd; |
-#else |
- #error Not implemented. |
-#endif |
result_shm_handle->set_shmem( |
- dispatcher->ShareHandleWithRemote(platform_file, false), size); |
+ dispatcher->ShareSharedMemoryHandleWithRemote(local_handle), size); |
} |
} // namespace proxy |