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

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

Issue 324143002: Decouple IPC::MessageFilter from IPC::Channel (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing compilation errors Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
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 // Represents the browser side of the browser <--> renderer communication 5 // Represents the browser side of the browser <--> renderer communication
6 // channel. There will be one RenderProcessHost per renderer process. 6 // channel. There will be one RenderProcessHost per renderer process.
7 7
8 #include "content/browser/renderer_host/render_process_host_impl.h" 8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 25 matching lines...) Expand all
36 #include "base/threading/thread.h" 36 #include "base/threading/thread.h"
37 #include "base/threading/thread_restrictions.h" 37 #include "base/threading/thread_restrictions.h"
38 #include "base/tracked_objects.h" 38 #include "base/tracked_objects.h"
39 #include "cc/base/switches.h" 39 #include "cc/base/switches.h"
40 #include "content/browser/appcache/appcache_dispatcher_host.h" 40 #include "content/browser/appcache/appcache_dispatcher_host.h"
41 #include "content/browser/appcache/chrome_appcache_service.h" 41 #include "content/browser/appcache/chrome_appcache_service.h"
42 #include "content/browser/battery_status/battery_status_message_filter.h" 42 #include "content/browser/battery_status/battery_status_message_filter.h"
43 #include "content/browser/browser_child_process_host_impl.h" 43 #include "content/browser/browser_child_process_host_impl.h"
44 #include "content/browser/browser_main.h" 44 #include "content/browser/browser_main.h"
45 #include "content/browser/browser_main_loop.h" 45 #include "content/browser/browser_main_loop.h"
46 #include "content/browser/browser_message_filter_peer.h"
46 #include "content/browser/browser_plugin/browser_plugin_message_filter.h" 47 #include "content/browser/browser_plugin/browser_plugin_message_filter.h"
47 #include "content/browser/child_process_security_policy_impl.h" 48 #include "content/browser/child_process_security_policy_impl.h"
48 #include "content/browser/device_sensors/device_motion_message_filter.h" 49 #include "content/browser/device_sensors/device_motion_message_filter.h"
49 #include "content/browser/device_sensors/device_orientation_message_filter.h" 50 #include "content/browser/device_sensors/device_orientation_message_filter.h"
50 #include "content/browser/dom_storage/dom_storage_context_wrapper.h" 51 #include "content/browser/dom_storage/dom_storage_context_wrapper.h"
51 #include "content/browser/dom_storage/dom_storage_message_filter.h" 52 #include "content/browser/dom_storage/dom_storage_message_filter.h"
52 #include "content/browser/download/mhtml_generation_manager.h" 53 #include "content/browser/download/mhtml_generation_manager.h"
53 #include "content/browser/fileapi/chrome_blob_storage_context.h" 54 #include "content/browser/fileapi/chrome_blob_storage_context.h"
54 #include "content/browser/fileapi/fileapi_message_filter.h" 55 #include "content/browser/fileapi/fileapi_message_filter.h"
55 #include "content/browser/frame_host/render_frame_message_filter.h" 56 #include "content/browser/frame_host/render_frame_message_filter.h"
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 bool is_isolated_guest) 444 bool is_isolated_guest)
444 : fast_shutdown_started_(false), 445 : fast_shutdown_started_(false),
445 deleting_soon_(false), 446 deleting_soon_(false),
446 #ifndef NDEBUG 447 #ifndef NDEBUG
447 is_self_deleted_(false), 448 is_self_deleted_(false),
448 #endif 449 #endif
449 pending_views_(0), 450 pending_views_(0),
450 mojo_activation_required_(false), 451 mojo_activation_required_(false),
451 visible_widgets_(0), 452 visible_widgets_(0),
452 backgrounded_(true), 453 backgrounded_(true),
454 filter_peer_(new BrowserMessageFilterPeer()),
453 is_initialized_(false), 455 is_initialized_(false),
454 id_(ChildProcessHostImpl::GenerateChildProcessUniqueId()), 456 id_(ChildProcessHostImpl::GenerateChildProcessUniqueId()),
455 browser_context_(browser_context), 457 browser_context_(browser_context),
456 storage_partition_impl_(storage_partition_impl), 458 storage_partition_impl_(storage_partition_impl),
457 sudden_termination_allowed_(true), 459 sudden_termination_allowed_(true),
458 ignore_input_events_(false), 460 ignore_input_events_(false),
459 is_isolated_guest_(is_isolated_guest), 461 is_isolated_guest_(is_isolated_guest),
460 gpu_observer_registered_(false), 462 gpu_observer_registered_(false),
461 delayed_cleanup_needed_(false), 463 delayed_cleanup_needed_(false),
462 within_process_died_observer_(false), 464 within_process_died_observer_(false),
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after
1404 } 1406 }
1405 return listener->OnMessageReceived(msg); 1407 return listener->OnMessageReceived(msg);
1406 } 1408 }
1407 1409
1408 void RenderProcessHostImpl::OnChannelConnected(int32 peer_pid) { 1410 void RenderProcessHostImpl::OnChannelConnected(int32 peer_pid) {
1409 #if defined(IPC_MESSAGE_LOG_ENABLED) 1411 #if defined(IPC_MESSAGE_LOG_ENABLED)
1410 Send(new ChildProcessMsg_SetIPCLoggingEnabled( 1412 Send(new ChildProcessMsg_SetIPCLoggingEnabled(
1411 IPC::Logging::GetInstance()->Enabled())); 1413 IPC::Logging::GetInstance()->Enabled()));
1412 #endif 1414 #endif
1413 1415
1416 filter_peer_->set_pid(peer_pid);
1414 tracked_objects::ThreadData::Status status = 1417 tracked_objects::ThreadData::Status status =
1415 tracked_objects::ThreadData::status(); 1418 tracked_objects::ThreadData::status();
1416 Send(new ChildProcessMsg_SetProfilerStatus(status)); 1419 Send(new ChildProcessMsg_SetProfilerStatus(status));
1417 } 1420 }
1418 1421
1419 void RenderProcessHostImpl::OnChannelError() { 1422 void RenderProcessHostImpl::OnChannelError() {
1420 ProcessDied(true /* already_dead */); 1423 ProcessDied(true /* already_dead */);
1421 } 1424 }
1422 1425
1423 void RenderProcessHostImpl::OnBadMessageReceived(const IPC::Message& message) { 1426 void RenderProcessHostImpl::OnBadMessageReceived(const IPC::Message& message) {
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1593 } 1596 }
1594 return stop_rtp_dump_callback_; 1597 return stop_rtp_dump_callback_;
1595 } 1598 }
1596 #endif 1599 #endif
1597 1600
1598 IPC::ChannelProxy* RenderProcessHostImpl::GetChannel() { 1601 IPC::ChannelProxy* RenderProcessHostImpl::GetChannel() {
1599 return channel_.get(); 1602 return channel_.get();
1600 } 1603 }
1601 1604
1602 void RenderProcessHostImpl::AddFilter(BrowserMessageFilter* filter) { 1605 void RenderProcessHostImpl::AddFilter(BrowserMessageFilter* filter) {
1606 // OnFilterRemovedFromHost() is called by BrowserMessageFilter::Internal.
1607 filter->OnFilterAddedToHost(filter_peer_.get());
1603 channel_->AddFilter(filter->GetFilter()); 1608 channel_->AddFilter(filter->GetFilter());
1604 } 1609 }
1605 1610
1606 bool RenderProcessHostImpl::FastShutdownForPageCount(size_t count) { 1611 bool RenderProcessHostImpl::FastShutdownForPageCount(size_t count) {
1607 if (static_cast<size_t>(GetActiveViewCount()) == count) 1612 if (static_cast<size_t>(GetActiveViewCount()) == count)
1608 return FastShutdownIfPossible(); 1613 return FastShutdownIfPossible();
1609 return false; 1614 return false;
1610 } 1615 }
1611 1616
1612 bool RenderProcessHostImpl::FastShutdownStarted() const { 1617 bool RenderProcessHostImpl::FastShutdownStarted() const {
(...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after
2301 void RenderProcessHostImpl::GpuMemoryBufferAllocated( 2306 void RenderProcessHostImpl::GpuMemoryBufferAllocated(
2302 IPC::Message* reply, 2307 IPC::Message* reply,
2303 const gfx::GpuMemoryBufferHandle& handle) { 2308 const gfx::GpuMemoryBufferHandle& handle) {
2304 DCHECK_CURRENTLY_ON(BrowserThread::UI); 2309 DCHECK_CURRENTLY_ON(BrowserThread::UI);
2305 ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer::WriteReplyParams(reply, 2310 ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer::WriteReplyParams(reply,
2306 handle); 2311 handle);
2307 Send(reply); 2312 Send(reply);
2308 } 2313 }
2309 2314
2310 } // namespace content 2315 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698