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

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

Issue 2545523007: Revert of discardable_memory: Using mojo IPC to replace Chrome IPC (Closed)
Patch Set: 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_);
164 } 166 }
165 167
166 bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message) { 168 bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
167 bool handled = true; 169 bool handled = true;
168 IPC_BEGIN_MESSAGE_MAP(RenderMessageFilter, message) 170 IPC_BEGIN_MESSAGE_MAP(RenderMessageFilter, message)
169 #if defined(OS_MACOSX) 171 #if defined(OS_MACOSX)
170 // On Mac, the IPCs ViewHostMsg_SwapCompositorFrame, ViewHostMsg_UpdateRect, 172 // On Mac, the IPCs ViewHostMsg_SwapCompositorFrame, ViewHostMsg_UpdateRect,
171 // and GpuCommandBufferMsg_SwapBuffersCompleted need to be handled in a 173 // and GpuCommandBufferMsg_SwapBuffersCompleted need to be handled in a
172 // nested message loop during resize. 174 // nested message loop during resize.
173 IPC_MESSAGE_HANDLER_GENERIC( 175 IPC_MESSAGE_HANDLER_GENERIC(
(...skipping 17 matching lines...) Expand all
191 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_EstablishGpuChannel, 193 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_EstablishGpuChannel,
192 OnEstablishGpuChannel) 194 OnEstablishGpuChannel)
193 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_HasGpuProcess, 195 IPC_MESSAGE_HANDLER_DELAY_REPLY(ChildProcessHostMsg_HasGpuProcess,
194 OnHasGpuProcess) 196 OnHasGpuProcess)
195 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedGpuMemoryBuffer, 197 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedGpuMemoryBuffer,
196 OnDeletedGpuMemoryBuffer) 198 OnDeletedGpuMemoryBuffer)
197 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_AllocatedSharedBitmap, 199 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_AllocatedSharedBitmap,
198 OnAllocatedSharedBitmap) 200 OnAllocatedSharedBitmap)
199 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedSharedBitmap, 201 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedSharedBitmap,
200 OnDeletedSharedBitmap) 202 OnDeletedSharedBitmap)
201 203 IPC_MESSAGE_HANDLER_DELAY_REPLY(
204 ChildProcessHostMsg_SyncAllocateLockedDiscardableSharedMemory,
205 OnAllocateLockedDiscardableSharedMemory)
206 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_DeletedDiscardableSharedMemory,
207 OnDeletedDiscardableSharedMemory)
202 #if defined(OS_LINUX) 208 #if defined(OS_LINUX)
203 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_SetThreadPriority, 209 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_SetThreadPriority,
204 OnSetThreadPriority) 210 OnSetThreadPriority)
205 #endif 211 #endif
206 IPC_MESSAGE_HANDLER_DELAY_REPLY(RenderProcessHostMsg_Keygen, OnKeygen) 212 IPC_MESSAGE_HANDLER_DELAY_REPLY(RenderProcessHostMsg_Keygen, OnKeygen)
207 IPC_MESSAGE_HANDLER(RenderProcessHostMsg_DidGenerateCacheableMetadata, 213 IPC_MESSAGE_HANDLER(RenderProcessHostMsg_DidGenerateCacheableMetadata,
208 OnCacheableMetadataAvailable) 214 OnCacheableMetadataAvailable)
209 IPC_MESSAGE_HANDLER( 215 IPC_MESSAGE_HANDLER(
210 RenderProcessHostMsg_DidGenerateCacheableMetadataInCacheStorage, 216 RenderProcessHostMsg_DidGenerateCacheableMetadataInCacheStorage,
211 OnCacheableMetadataAvailableForCacheStorage) 217 OnCacheableMetadataAvailableForCacheStorage)
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 size_t buffer_size, 362 size_t buffer_size,
357 const base::SharedMemoryHandle& handle, 363 const base::SharedMemoryHandle& handle,
358 const cc::SharedBitmapId& id) { 364 const cc::SharedBitmapId& id) {
359 bitmap_manager_client_.ChildAllocatedSharedBitmap(buffer_size, handle, id); 365 bitmap_manager_client_.ChildAllocatedSharedBitmap(buffer_size, handle, id);
360 } 366 }
361 367
362 void RenderMessageFilter::OnDeletedSharedBitmap(const cc::SharedBitmapId& id) { 368 void RenderMessageFilter::OnDeletedSharedBitmap(const cc::SharedBitmapId& id) {
363 bitmap_manager_client_.ChildDeletedSharedBitmap(id); 369 bitmap_manager_client_.ChildDeletedSharedBitmap(id);
364 } 370 }
365 371
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
366 #if defined(OS_LINUX) 411 #if defined(OS_LINUX)
367 void RenderMessageFilter::SetThreadPriorityOnFileThread( 412 void RenderMessageFilter::SetThreadPriorityOnFileThread(
368 base::PlatformThreadId ns_tid, 413 base::PlatformThreadId ns_tid,
369 base::ThreadPriority priority) { 414 base::ThreadPriority priority) {
370 bool ns_pid_supported = false; 415 bool ns_pid_supported = false;
371 pid_t peer_tid = base::FindThreadID(peer_pid(), ns_tid, &ns_pid_supported); 416 pid_t peer_tid = base::FindThreadID(peer_pid(), ns_tid, &ns_pid_supported);
372 if (peer_tid == -1) { 417 if (peer_tid == -1) {
373 if (ns_pid_supported) 418 if (ns_pid_supported)
374 DLOG(WARNING) << "Could not find tid"; 419 DLOG(WARNING) << "Could not find tid";
375 return; 420 return;
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 void RenderMessageFilter::OnDeletedGpuMemoryBuffer( 658 void RenderMessageFilter::OnDeletedGpuMemoryBuffer(
614 gfx::GpuMemoryBufferId id, 659 gfx::GpuMemoryBufferId id,
615 const gpu::SyncToken& sync_token) { 660 const gpu::SyncToken& sync_token) {
616 DCHECK(BrowserGpuMemoryBufferManager::current()); 661 DCHECK(BrowserGpuMemoryBufferManager::current());
617 662
618 BrowserGpuMemoryBufferManager::current()->ChildProcessDeletedGpuMemoryBuffer( 663 BrowserGpuMemoryBufferManager::current()->ChildProcessDeletedGpuMemoryBuffer(
619 id, render_process_id_, sync_token); 664 id, render_process_id_, sync_token);
620 } 665 }
621 666
622 } // namespace content 667 } // 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