OLD | NEW |
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 "chrome/browser/nacl_host/nacl_process_host.h" | 5 #include "chrome/browser/nacl_host/nacl_process_host.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
12 #include "base/message_loop.h" | 12 #include "base/message_loop.h" |
| 13 #include "base/metrics/histogram.h" |
13 #include "base/path_service.h" | 14 #include "base/path_service.h" |
14 #include "base/string_number_conversions.h" | 15 #include "base/string_number_conversions.h" |
15 #include "base/string_split.h" | 16 #include "base/string_split.h" |
16 #include "base/string_util.h" | 17 #include "base/string_util.h" |
17 #include "base/stringprintf.h" | 18 #include "base/stringprintf.h" |
18 #include "base/utf_string_conversions.h" | 19 #include "base/utf_string_conversions.h" |
19 #include "base/win/windows_version.h" | 20 #include "base/win/windows_version.h" |
20 #include "build/build_config.h" | 21 #include "build/build_config.h" |
21 #include "chrome/browser/browser_process.h" | 22 #include "chrome/browser/browser_process.h" |
22 #include "chrome/browser/extensions/extension_info_map.h" | 23 #include "chrome/browser/extensions/extension_info_map.h" |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 } | 208 } |
208 | 209 |
209 // This is called at browser startup. | 210 // This is called at browser startup. |
210 // static | 211 // static |
211 void NaClProcessHost::EarlyStartup() { | 212 void NaClProcessHost::EarlyStartup() { |
212 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | 213 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
213 // Open the IRT file early to make sure that it isn't replaced out from | 214 // Open the IRT file early to make sure that it isn't replaced out from |
214 // under us by autoupdate. | 215 // under us by autoupdate. |
215 NaClBrowser::GetInstance()->EnsureIrtAvailable(); | 216 NaClBrowser::GetInstance()->EnsureIrtAvailable(); |
216 #endif | 217 #endif |
| 218 CommandLine* cmd = CommandLine::ForCurrentProcess(); |
| 219 UMA_HISTOGRAM_BOOLEAN( |
| 220 "NaCl.nacl-gdb", |
| 221 !cmd->GetSwitchValuePath(switches::kNaClGdb).empty()); |
| 222 UMA_HISTOGRAM_BOOLEAN( |
| 223 "NaCl.nacl-gdb-script", |
| 224 !cmd->GetSwitchValuePath(switches::kNaClGdbScript).empty()); |
| 225 UMA_HISTOGRAM_BOOLEAN( |
| 226 "NaCl.enable-nacl-debug", |
| 227 cmd->HasSwitch(switches::kEnableNaClDebug)); |
217 } | 228 } |
218 | 229 |
219 void NaClProcessHost::Launch( | 230 void NaClProcessHost::Launch( |
220 ChromeRenderMessageFilter* chrome_render_message_filter, | 231 ChromeRenderMessageFilter* chrome_render_message_filter, |
221 int socket_count, | 232 int socket_count, |
222 IPC::Message* reply_msg, | 233 IPC::Message* reply_msg, |
223 scoped_refptr<ExtensionInfoMap> extension_info_map) { | 234 scoped_refptr<ExtensionInfoMap> extension_info_map) { |
224 chrome_render_message_filter_ = chrome_render_message_filter; | 235 chrome_render_message_filter_ = chrome_render_message_filter; |
225 reply_msg_ = reply_msg; | 236 reply_msg_ = reply_msg; |
226 extension_info_map_ = extension_info_map; | 237 extension_info_map_ = extension_info_map; |
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
843 } else { | 854 } else { |
844 NaClStartDebugExceptionHandlerThread( | 855 NaClStartDebugExceptionHandlerThread( |
845 process_handle.Take(), info, | 856 process_handle.Take(), info, |
846 base::MessageLoopProxy::current(), | 857 base::MessageLoopProxy::current(), |
847 base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker, | 858 base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker, |
848 weak_factory_.GetWeakPtr())); | 859 weak_factory_.GetWeakPtr())); |
849 return true; | 860 return true; |
850 } | 861 } |
851 } | 862 } |
852 #endif | 863 #endif |
OLD | NEW |