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

Side by Side Diff: content/browser/renderer_host/render_message_filter.cc

Issue 2485623002: discardable_memory: Using mojo IPC to replace Chrome IPC (Closed)
Patch Set: Fix bot issues Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/render_message_filter.h" 5 #include "content/browser/renderer_host/render_message_filter.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 render_widget_helper_->Init(render_process_id_, resource_dispatcher_host_); 154 render_widget_helper_->Init(render_process_id_, resource_dispatcher_host_);
155 } 155 }
156 156
157 RenderMessageFilter::~RenderMessageFilter() { 157 RenderMessageFilter::~RenderMessageFilter() {
158 // This function should be called on the IO thread. 158 // This function should be called on the IO thread.
159 DCHECK_CURRENTLY_ON(BrowserThread::IO); 159 DCHECK_CURRENTLY_ON(BrowserThread::IO);
160 BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager = 160 BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager =
161 BrowserGpuMemoryBufferManager::current(); 161 BrowserGpuMemoryBufferManager::current();
162 if (gpu_memory_buffer_manager) 162 if (gpu_memory_buffer_manager)
163 gpu_memory_buffer_manager->ProcessRemoved(render_process_id_); 163 gpu_memory_buffer_manager->ProcessRemoved(render_process_id_);
164 discardable_memory::DiscardableSharedMemoryManager::current()->ClientRemoved(
165 render_process_id_);
166 } 164 }
167 165
168 bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message) { 166 bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
169 bool handled = true; 167 bool handled = true;
170 IPC_BEGIN_MESSAGE_MAP(RenderMessageFilter, message) 168 IPC_BEGIN_MESSAGE_MAP(RenderMessageFilter, message)
171 #if defined(OS_MACOSX) 169 #if defined(OS_MACOSX)
172 // On Mac, the IPCs ViewHostMsg_SwapCompositorFrame, ViewHostMsg_UpdateRect, 170 // On Mac, the IPCs ViewHostMsg_SwapCompositorFrame, ViewHostMsg_UpdateRect,
173 // and GpuCommandBufferMsg_SwapBuffersCompleted need to be handled in a 171 // and GpuCommandBufferMsg_SwapBuffersCompleted need to be handled in a
174 // nested message loop during resize. 172 // nested message loop during resize.
175 IPC_MESSAGE_HANDLER_GENERIC( 173 IPC_MESSAGE_HANDLER_GENERIC(
(...skipping 17 matching lines...) Expand all
193 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_EstablishGpuChannel, 191 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_EstablishGpuChannel,
194 OnEstablishGpuChannel) 192 OnEstablishGpuChannel)
195 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_HasGpuProcess, 193 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_HasGpuProcess,
196 OnHasGpuProcess) 194 OnHasGpuProcess)
197 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedGpuMemoryBuffer, 195 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedGpuMemoryBuffer,
198 OnDeletedGpuMemoryBuffer) 196 OnDeletedGpuMemoryBuffer)
199 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_AllocatedSharedBitmap, 197 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_AllocatedSharedBitmap,
200 OnAllocatedSharedBitmap) 198 OnAllocatedSharedBitmap)
201 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedSharedBitmap, 199 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedSharedBitmap,
202 OnDeletedSharedBitmap) 200 OnDeletedSharedBitmap)
203 IPC_MESSAGE_HANDLER_DELAY_REPLY( 201
204 ChildProcessHostMsg_SyncAllocateLockedDiscardableSharedMemory,
205 OnAllocateLockedDiscardableSharedMemory)
206 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedDiscardableSharedMemory,
207 OnDeletedDiscardableSharedMemory)
208 #if defined(OS_LINUX) 202 #if defined(OS_LINUX)
209 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_SetThreadPriority, 203 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_SetThreadPriority,
210 OnSetThreadPriority) 204 OnSetThreadPriority)
211 #endif 205 #endif
212 IPC_MESSAGE_HANDLER_DELAY_REPLY(RenderProcessHostMsg_Keygen, OnKeygen) 206 IPC_MESSAGE_HANDLER_DELAY_REPLY(RenderProcessHostMsg_Keygen, OnKeygen)
213 IPC_MESSAGE_HANDLER(RenderProcessHostMsg_DidGenerateCacheableMetadata, 207 IPC_MESSAGE_HANDLER(RenderProcessHostMsg_DidGenerateCacheableMetadata,
214 OnCacheableMetadataAvailable) 208 OnCacheableMetadataAvailable)
215 IPC_MESSAGE_HANDLER( 209 IPC_MESSAGE_HANDLER(
216 RenderProcessHostMsg_DidGenerateCacheableMetadataInCacheStorage, 210 RenderProcessHostMsg_DidGenerateCacheableMetadataInCacheStorage,
217 OnCacheableMetadataAvailableForCacheStorage) 211 OnCacheableMetadataAvailableForCacheStorage)
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 size_t buffer_size, 356 size_t buffer_size,
363 const base::SharedMemoryHandle& handle, 357 const base::SharedMemoryHandle& handle,
364 const cc::SharedBitmapId& id) { 358 const cc::SharedBitmapId& id) {
365 bitmap_manager_client_.ChildAllocatedSharedBitmap(buffer_size, handle, id); 359 bitmap_manager_client_.ChildAllocatedSharedBitmap(buffer_size, handle, id);
366 } 360 }
367 361
368 void RenderMessageFilter::OnDeletedSharedBitmap(const cc::SharedBitmapId& id) { 362 void RenderMessageFilter::OnDeletedSharedBitmap(const cc::SharedBitmapId& id) {
369 bitmap_manager_client_.ChildDeletedSharedBitmap(id); 363 bitmap_manager_client_.ChildDeletedSharedBitmap(id);
370 } 364 }
371 365
372 void RenderMessageFilter::AllocateLockedDiscardableSharedMemoryOnFileThread(
373 uint32_t size,
374 discardable_memory::DiscardableSharedMemoryId id,
375 IPC::Message* reply_msg) {
376 base::SharedMemoryHandle handle;
377 discardable_memory::DiscardableSharedMemoryManager::current()
378 ->AllocateLockedDiscardableSharedMemoryForClient(
379 PeerHandle(), render_process_id_, size, id, &handle);
380 ChildProcessHostMsg_SyncAllocateLockedDiscardableSharedMemory::
381 WriteReplyParams(reply_msg, handle);
382 Send(reply_msg);
383 }
384
385 void RenderMessageFilter::OnAllocateLockedDiscardableSharedMemory(
386 uint32_t size,
387 discardable_memory::DiscardableSharedMemoryId id,
388 IPC::Message* reply_msg) {
389 BrowserThread::PostTask(
390 BrowserThread::FILE_USER_BLOCKING, FROM_HERE,
391 base::Bind(&RenderMessageFilter::
392 AllocateLockedDiscardableSharedMemoryOnFileThread,
393 this, size, id, reply_msg));
394 }
395
396 void RenderMessageFilter::DeletedDiscardableSharedMemoryOnFileThread(
397 discardable_memory::DiscardableSharedMemoryId id) {
398 discardable_memory::DiscardableSharedMemoryManager::current()
399 ->ClientDeletedDiscardableSharedMemory(id, render_process_id_);
400 }
401
402 void RenderMessageFilter::OnDeletedDiscardableSharedMemory(
403 discardable_memory::DiscardableSharedMemoryId id) {
404 BrowserThread::PostTask(
405 BrowserThread::FILE_USER_BLOCKING, FROM_HERE,
406 base::Bind(
407 &RenderMessageFilter::DeletedDiscardableSharedMemoryOnFileThread,
408 this, id));
409 }
410
411 #if defined(OS_LINUX) 366 #if defined(OS_LINUX)
412 void RenderMessageFilter::SetThreadPriorityOnFileThread( 367 void RenderMessageFilter::SetThreadPriorityOnFileThread(
413 base::PlatformThreadId ns_tid, 368 base::PlatformThreadId ns_tid,
414 base::ThreadPriority priority) { 369 base::ThreadPriority priority) {
415 bool ns_pid_supported = false; 370 bool ns_pid_supported = false;
416 pid_t peer_tid = base::FindThreadID(peer_pid(), ns_tid, &ns_pid_supported); 371 pid_t peer_tid = base::FindThreadID(peer_pid(), ns_tid, &ns_pid_supported);
417 if (peer_tid == -1) { 372 if (peer_tid == -1) {
418 if (ns_pid_supported) 373 if (ns_pid_supported)
419 DLOG(WARNING) << "Could not find tid"; 374 DLOG(WARNING) << "Could not find tid";
420 return; 375 return;
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 void RenderMessageFilter::OnDeletedGpuMemoryBuffer( 613 void RenderMessageFilter::OnDeletedGpuMemoryBuffer(
659 gfx::GpuMemoryBufferId id, 614 gfx::GpuMemoryBufferId id,
660 const gpu::SyncToken& sync_token) { 615 const gpu::SyncToken& sync_token) {
661 DCHECK(BrowserGpuMemoryBufferManager::current()); 616 DCHECK(BrowserGpuMemoryBufferManager::current());
662 617
663 BrowserGpuMemoryBufferManager::current()->ChildProcessDeletedGpuMemoryBuffer( 618 BrowserGpuMemoryBufferManager::current()->ChildProcessDeletedGpuMemoryBuffer(
664 id, render_process_id_, sync_token); 619 id, render_process_id_, sync_token);
665 } 620 }
666 621
667 } // namespace content 622 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_message_filter.h ('k') | content/browser/renderer_host/render_process_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698