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

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

Issue 12600018: ResourceScheduler should use renderer notifications instead of MRUCache to track renderers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reverse destruction order Created 7 years, 9 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 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 channel_->AddFilter(new GamepadBrowserMessageFilter()); 636 channel_->AddFilter(new GamepadBrowserMessageFilter());
637 channel_->AddFilter(new ProfilerMessageFilter(PROCESS_TYPE_RENDERER)); 637 channel_->AddFilter(new ProfilerMessageFilter(PROCESS_TYPE_RENDERER));
638 channel_->AddFilter(new HistogramMessageFilter()); 638 channel_->AddFilter(new HistogramMessageFilter());
639 channel_->AddFilter(new HyphenatorMessageFilter(this)); 639 channel_->AddFilter(new HyphenatorMessageFilter(this));
640 } 640 }
641 641
642 int RenderProcessHostImpl::GetNextRoutingID() { 642 int RenderProcessHostImpl::GetNextRoutingID() {
643 return widget_helper_->GetNextRoutingID(); 643 return widget_helper_->GetNextRoutingID();
644 } 644 }
645 645
646 void RenderProcessHostImpl::CancelResourceRequests(int render_widget_id) {
647 widget_helper_->CancelResourceRequests(render_widget_id);
648 }
649
650 void RenderProcessHostImpl::SimulateSwapOutACK( 646 void RenderProcessHostImpl::SimulateSwapOutACK(
651 const ViewMsg_SwapOut_Params& params) { 647 const ViewMsg_SwapOut_Params& params) {
652 widget_helper_->SimulateSwapOutACK(params); 648 widget_helper_->SimulateSwapOutACK(params);
653 } 649 }
654 650
655 bool RenderProcessHostImpl::WaitForBackingStoreMsg( 651 bool RenderProcessHostImpl::WaitForBackingStoreMsg(
656 int render_widget_id, 652 int render_widget_id,
657 const base::TimeDelta& max_delay, 653 const base::TimeDelta& max_delay,
658 IPC::Message* msg) { 654 IPC::Message* msg) {
659 // The post task to this thread with the process id could be in queue, and we 655 // The post task to this thread with the process id could be in queue, and we
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
1170 1166
1171 void RenderProcessHostImpl::Attach(RenderWidgetHost* host, 1167 void RenderProcessHostImpl::Attach(RenderWidgetHost* host,
1172 int routing_id) { 1168 int routing_id) {
1173 render_widget_hosts_.AddWithID(host, routing_id); 1169 render_widget_hosts_.AddWithID(host, routing_id);
1174 } 1170 }
1175 1171
1176 void RenderProcessHostImpl::Release(int routing_id) { 1172 void RenderProcessHostImpl::Release(int routing_id) {
1177 DCHECK(render_widget_hosts_.Lookup(routing_id) != NULL); 1173 DCHECK(render_widget_hosts_.Lookup(routing_id) != NULL);
1178 render_widget_hosts_.Remove(routing_id); 1174 render_widget_hosts_.Remove(routing_id);
1179 1175
1180 // Make sure that all associated resource requests are stopped.
1181 CancelResourceRequests(routing_id);
1182
1183 #if defined(OS_WIN) 1176 #if defined(OS_WIN)
1184 // Dump the handle table if handle auditing is enabled. 1177 // Dump the handle table if handle auditing is enabled.
1185 const CommandLine& browser_command_line = 1178 const CommandLine& browser_command_line =
1186 *CommandLine::ForCurrentProcess(); 1179 *CommandLine::ForCurrentProcess();
1187 if (browser_command_line.HasSwitch(switches::kAuditHandles) || 1180 if (browser_command_line.HasSwitch(switches::kAuditHandles) ||
1188 browser_command_line.HasSwitch(switches::kAuditAllHandles)) { 1181 browser_command_line.HasSwitch(switches::kAuditAllHandles)) {
1189 DumpHandles(); 1182 DumpHandles();
1190 1183
1191 // We wait to close the channels until the child process has finished 1184 // We wait to close the channels until the child process has finished
1192 // dumping handles and sends us ChildProcessHostMsg_DumpHandlesDone. 1185 // dumping handles and sends us ChildProcessHostMsg_DumpHandlesDone.
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
1664 TRACE_EVENT0("renderer_host", 1657 TRACE_EVENT0("renderer_host",
1665 "RenderWidgetHostImpl::OnCompositorSurfaceBuffersSwappedNoHost"); 1658 "RenderWidgetHostImpl::OnCompositorSurfaceBuffersSwappedNoHost");
1666 AcceleratedSurfaceMsg_BufferPresented_Params ack_params; 1659 AcceleratedSurfaceMsg_BufferPresented_Params ack_params;
1667 ack_params.sync_point = 0; 1660 ack_params.sync_point = 0;
1668 RenderWidgetHostImpl::AcknowledgeBufferPresent(route_id, 1661 RenderWidgetHostImpl::AcknowledgeBufferPresent(route_id,
1669 gpu_process_host_id, 1662 gpu_process_host_id,
1670 ack_params); 1663 ack_params);
1671 } 1664 }
1672 1665
1673 } // namespace content 1666 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_process_host_impl.h ('k') | content/browser/renderer_host/render_widget_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698