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

Unified Diff: content/browser/renderer_host/render_message_filter.cc

Issue 2488913003: Replacing allocate bitmap IPC messages with a new Mojo interface. (Closed)
Patch Set: Addressed @rockot's comment (+ formatting) Created 4 years, 1 month 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: content/browser/renderer_host/render_message_filter.cc
diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc
index 89e04e207f4fc5e979f595edb24b13fb2ba5a81b..0256b3a3e2d7f63f54c762454d2a77316bdc9519 100644
--- a/content/browser/renderer_host/render_message_filter.cc
+++ b/content/browser/renderer_host/render_message_filter.cc
@@ -44,7 +44,6 @@
#include "content/common/child_process_host_impl.h"
#include "content/common/child_process_messages.h"
#include "content/common/content_constants_internal.h"
-#include "content/common/host_shared_bitmap_manager.h"
#include "content/common/render_message_filter.mojom.h"
#include "content/common/render_process_messages.h"
#include "content/common/view_messages.h"
@@ -61,6 +60,7 @@
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_platform_file.h"
#include "media/base/media_log_event.h"
+#include "mojo/public/cpp/system/platform_handle.h"
#include "net/base/io_buffer.h"
#include "net/base/keygen_handler.h"
#include "net/base/mime_util.h"
@@ -186,8 +186,6 @@ bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
// handled here for renderer processes. For non-renderer child processes,
// they are handled in ChildProcessHostImpl.
IPC_MESSAGE_HANDLER_DELAY_REPLY(
- ChildProcessHostMsg_SyncAllocateSharedBitmap, OnAllocateSharedBitmap)
- IPC_MESSAGE_HANDLER_DELAY_REPLY(
ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer,
OnAllocateGpuMemoryBuffer)
IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_EstablishGpuChannel,
@@ -196,10 +194,6 @@ bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
OnHasGpuProcess)
IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedGpuMemoryBuffer,
OnDeletedGpuMemoryBuffer)
- IPC_MESSAGE_HANDLER(ChildProcessHostMsg_AllocatedSharedBitmap,
- OnAllocatedSharedBitmap)
- IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedSharedBitmap,
- OnDeletedSharedBitmap)
IPC_MESSAGE_HANDLER_DELAY_REPLY(
ChildProcessHostMsg_SyncAllocateLockedDiscardableSharedMemory,
OnAllocateLockedDiscardableSharedMemory)
@@ -333,39 +327,18 @@ void RenderMessageFilter::SendLoadFontReply(IPC::Message* reply,
#endif // defined(OS_MACOSX)
-void RenderMessageFilter::AllocateSharedBitmapOnFileThread(
- uint32_t buffer_size,
- const cc::SharedBitmapId& id,
- IPC::Message* reply_msg) {
- base::SharedMemoryHandle handle;
- bitmap_manager_client_.AllocateSharedBitmapForChild(PeerHandle(), buffer_size,
- id, &handle);
- ChildProcessHostMsg_SyncAllocateSharedBitmap::WriteReplyParams(reply_msg,
- handle);
- Send(reply_msg);
-}
-
-void RenderMessageFilter::OnAllocateSharedBitmap(uint32_t buffer_size,
- const cc::SharedBitmapId& id,
- IPC::Message* reply_msg) {
- BrowserThread::PostTask(
- BrowserThread::FILE_USER_BLOCKING,
- FROM_HERE,
- base::Bind(&RenderMessageFilter::AllocateSharedBitmapOnFileThread,
- this,
- buffer_size,
- id,
- reply_msg));
-}
-
-void RenderMessageFilter::OnAllocatedSharedBitmap(
- size_t buffer_size,
- const base::SharedMemoryHandle& handle,
+void RenderMessageFilter::AllocatedSharedBitmap(
+ mojo::ScopedSharedBufferHandle buffer,
const cc::SharedBitmapId& id) {
- bitmap_manager_client_.ChildAllocatedSharedBitmap(buffer_size, handle, id);
+ base::SharedMemoryHandle memory_handle;
+ size_t size;
+ MojoResult result = mojo::UnwrapSharedMemoryHandle(
+ std::move(buffer), &memory_handle, &size, NULL);
+ DCHECK_EQ(result, MOJO_RESULT_OK);
+ bitmap_manager_client_.ChildAllocatedSharedBitmap(size, memory_handle, id);
}
-void RenderMessageFilter::OnDeletedSharedBitmap(const cc::SharedBitmapId& id) {
+void RenderMessageFilter::DeletedSharedBitmap(const cc::SharedBitmapId& id) {
bitmap_manager_client_.ChildDeletedSharedBitmap(id);
}

Powered by Google App Engine
This is Rietveld 408576698