OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_process_host.h" | 5 #include "content/browser/renderer_host/render_process_host.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/rand_util.h" | 8 #include "base/rand_util.h" |
9 #include "base/sys_info.h" | 9 #include "base/sys_info.h" |
| 10 #include "content/browser/browser_main.h" |
10 #include "content/browser/browser_thread.h" | 11 #include "content/browser/browser_thread.h" |
11 #include "content/browser/child_process_security_policy.h" | 12 #include "content/browser/child_process_security_policy.h" |
12 #include "content/browser/content_browser_client.h" | 13 #include "content/browser/content_browser_client.h" |
13 #include "content/browser/webui/web_ui_factory.h" | 14 #include "content/browser/webui/web_ui_factory.h" |
14 #include "content/common/child_process_info.h" | 15 #include "content/common/child_process_info.h" |
15 #include "content/common/content_client.h" | 16 #include "content/common/content_client.h" |
16 #include "content/common/content_constants.h" | 17 #include "content/common/content_constants.h" |
17 #include "content/common/content_switches.h" | 18 #include "content/common/content_switches.h" |
18 #include "content/common/notification_service.h" | 19 #include "content/common/notification_service.h" |
19 | 20 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 | 94 |
94 RenderProcessHost::RenderProcessHost(content::BrowserContext* browser_context) | 95 RenderProcessHost::RenderProcessHost(content::BrowserContext* browser_context) |
95 : max_page_id_(-1), | 96 : max_page_id_(-1), |
96 fast_shutdown_started_(false), | 97 fast_shutdown_started_(false), |
97 deleting_soon_(false), | 98 deleting_soon_(false), |
98 pending_views_(0), | 99 pending_views_(0), |
99 id_(ChildProcessInfo::GenerateChildProcessUniqueId()), | 100 id_(ChildProcessInfo::GenerateChildProcessUniqueId()), |
100 browser_context_(browser_context), | 101 browser_context_(browser_context), |
101 sudden_termination_allowed_(true), | 102 sudden_termination_allowed_(true), |
102 ignore_input_events_(false) { | 103 ignore_input_events_(false) { |
| 104 CHECK(!content::ExitedMainMessageLoop()); |
103 all_hosts.AddWithID(this, id()); | 105 all_hosts.AddWithID(this, id()); |
104 all_hosts.set_check_on_null_data(true); | 106 all_hosts.set_check_on_null_data(true); |
105 // Initialize |child_process_activity_time_| to a reasonable value. | 107 // Initialize |child_process_activity_time_| to a reasonable value. |
106 mark_child_process_activity_time(); | 108 mark_child_process_activity_time(); |
107 } | 109 } |
108 | 110 |
109 RenderProcessHost::~RenderProcessHost() { | 111 RenderProcessHost::~RenderProcessHost() { |
110 // In unit tests, Release() might not have been called. | 112 // In unit tests, Release() might not have been called. |
111 if (all_hosts.Lookup(id())) | 113 if (all_hosts.Lookup(id())) |
112 all_hosts.Remove(id()); | 114 all_hosts.Remove(id()); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 | 236 |
235 // Now pick a random suitable renderer, if we have any. | 237 // Now pick a random suitable renderer, if we have any. |
236 if (!suitable_renderers.empty()) { | 238 if (!suitable_renderers.empty()) { |
237 int suitable_count = static_cast<int>(suitable_renderers.size()); | 239 int suitable_count = static_cast<int>(suitable_renderers.size()); |
238 int random_index = base::RandInt(0, suitable_count - 1); | 240 int random_index = base::RandInt(0, suitable_count - 1); |
239 return suitable_renderers[random_index]; | 241 return suitable_renderers[random_index]; |
240 } | 242 } |
241 | 243 |
242 return NULL; | 244 return NULL; |
243 } | 245 } |
OLD | NEW |