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

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

Issue 2496653002: Part 2 of base::IDMap refactor to eliminate IDMapOwnPointer/IDMapExternalPointer modes (Closed)
Patch Set: typedefs => using statements, update comments in base/id_map.h 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 } 307 }
308 return IPC::TakePlatformFileForTransit(std::move(dump_file)); 308 return IPC::TakePlatformFileForTransit(std::move(dump_file));
309 } 309 }
310 310
311 // Allow us to only run the trial in the first renderer. 311 // Allow us to only run the trial in the first renderer.
312 bool has_done_stun_trials = false; 312 bool has_done_stun_trials = false;
313 313
314 #endif 314 #endif
315 315
316 // the global list of all renderer processes 316 // the global list of all renderer processes
317 base::LazyInstance<IDMap<RenderProcessHost>>::Leaky g_all_hosts = 317 base::LazyInstance<IDMap<RenderProcessHost*>>::Leaky g_all_hosts =
318 LAZY_INSTANCE_INITIALIZER; 318 LAZY_INSTANCE_INITIALIZER;
319 319
320 // Map of site to process, to ensure we only have one RenderProcessHost per 320 // Map of site to process, to ensure we only have one RenderProcessHost per
321 // site in process-per-site mode. Each map is specific to a BrowserContext. 321 // site in process-per-site mode. Each map is specific to a BrowserContext.
322 class SiteProcessMap : public base::SupportsUserData::Data { 322 class SiteProcessMap : public base::SupportsUserData::Data {
323 public: 323 public:
324 typedef base::hash_map<std::string, RenderProcessHost*> SiteToProcessMap; 324 typedef base::hash_map<std::string, RenderProcessHost*> SiteToProcessMap;
325 SiteProcessMap() {} 325 SiteProcessMap() {}
326 326
327 void RegisterProcess(const std::string& site, RenderProcessHost* process) { 327 void RegisterProcess(const std::string& site, RenderProcessHost* process) {
(...skipping 2343 matching lines...) Expand 10 before | Expand all | Expand 10 after
2671 NOTIFICATION_RENDERER_PROCESS_CLOSED, Source<RenderProcessHost>(this), 2671 NOTIFICATION_RENDERER_PROCESS_CLOSED, Source<RenderProcessHost>(this),
2672 Details<RendererClosedDetails>(&details)); 2672 Details<RendererClosedDetails>(&details));
2673 for (auto& observer : observers_) 2673 for (auto& observer : observers_)
2674 observer.RenderProcessExited(this, status, exit_code); 2674 observer.RenderProcessExited(this, status, exit_code);
2675 within_process_died_observer_ = false; 2675 within_process_died_observer_ = false;
2676 2676
2677 message_port_message_filter_ = NULL; 2677 message_port_message_filter_ = NULL;
2678 2678
2679 RemoveUserData(kSessionStorageHolderKey); 2679 RemoveUserData(kSessionStorageHolderKey);
2680 2680
2681 IDMap<IPC::Listener>::iterator iter(&listeners_); 2681 IDMap<IPC::Listener*>::iterator iter(&listeners_);
2682 while (!iter.IsAtEnd()) { 2682 while (!iter.IsAtEnd()) {
2683 iter.GetCurrentValue()->OnMessageReceived(FrameHostMsg_RenderProcessGone( 2683 iter.GetCurrentValue()->OnMessageReceived(FrameHostMsg_RenderProcessGone(
2684 iter.GetCurrentKey(), static_cast<int>(status), exit_code)); 2684 iter.GetCurrentKey(), static_cast<int>(status), exit_code));
2685 iter.Advance(); 2685 iter.Advance();
2686 } 2686 }
2687 2687
2688 // Initialize a new ChannelProxy in case this host is re-used for a new 2688 // Initialize a new ChannelProxy in case this host is re-used for a new
2689 // process. This ensures that new messages can be sent on the host ASAP (even 2689 // process. This ensures that new messages can be sent on the host ASAP (even
2690 // before Init()) and they'll eventually reach the new process. 2690 // before Init()) and they'll eventually reach the new process.
2691 // 2691 //
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
3000 LOG(ERROR) << "Terminating render process for bad Mojo message: " << error; 3000 LOG(ERROR) << "Terminating render process for bad Mojo message: " << error;
3001 3001
3002 // The ReceivedBadMessage call below will trigger a DumpWithoutCrashing. Alias 3002 // The ReceivedBadMessage call below will trigger a DumpWithoutCrashing. Alias
3003 // enough information here so that we can determine what the bad message was. 3003 // enough information here so that we can determine what the bad message was.
3004 base::debug::Alias(&error); 3004 base::debug::Alias(&error);
3005 bad_message::ReceivedBadMessage(render_process_id, 3005 bad_message::ReceivedBadMessage(render_process_id,
3006 bad_message::RPH_MOJO_PROCESS_ERROR); 3006 bad_message::RPH_MOJO_PROCESS_ERROR);
3007 } 3007 }
3008 3008
3009 } // namespace content 3009 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_process_host_impl.h ('k') | content/browser/service_worker/service_worker_context_core.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698