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 <atlbase.h> | 5 #include <atlbase.h> |
6 #include <atlcom.h> | 6 #include <atlcom.h> |
7 #include <atlctl.h> | 7 #include <atlctl.h> |
8 | 8 |
9 #include "base/at_exit.h" | 9 #include "base/at_exit.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 DECLARE_LIBID(LIBID_ChromotingElevatedControllerLib) | 25 DECLARE_LIBID(LIBID_ChromotingElevatedControllerLib) |
26 }; | 26 }; |
27 | 27 |
28 } // namespace remoting | 28 } // namespace remoting |
29 | 29 |
30 | 30 |
31 remoting::ElevatedControllerModuleWin _AtlModule; | 31 remoting::ElevatedControllerModuleWin _AtlModule; |
32 | 32 |
33 int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int command) { | 33 int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int command) { |
34 // Initializes the crash dump reports. | 34 // Initializes the crash dump reports. |
35 if (remoting::IsCrashReportingEnabled()) { | 35 bool allowed; |
| 36 if (remoting::GetUsageStatsConsent(NULL, &allowed) && allowed) { |
36 remoting::InitializeCrashReporting(); | 37 remoting::InitializeCrashReporting(); |
37 } | 38 } |
38 | 39 |
39 CommandLine::Init(0, NULL); | 40 CommandLine::Init(0, NULL); |
40 | 41 |
41 // Register and initialize common controls. | 42 // Register and initialize common controls. |
42 INITCOMMONCONTROLSEX info; | 43 INITCOMMONCONTROLSEX info; |
43 info.dwSize = sizeof(info); | 44 info.dwSize = sizeof(info); |
44 info.dwICC = ICC_STANDARD_CLASSES; | 45 info.dwICC = ICC_STANDARD_CLASSES; |
45 InitCommonControlsEx(&info); | 46 InitCommonControlsEx(&info); |
46 | 47 |
47 // This object instance is required by Chrome code (for example, | 48 // This object instance is required by Chrome code (for example, |
48 // FilePath, LazyInstance, MessageLoop). | 49 // FilePath, LazyInstance, MessageLoop). |
49 base::AtExitManager exit_manager; | 50 base::AtExitManager exit_manager; |
50 | 51 |
51 // Write logs to the application profile directory. | 52 // Write logs to the application profile directory. |
52 FilePath debug_log = remoting::GetConfigDir(). | 53 FilePath debug_log = remoting::GetConfigDir(). |
53 Append(FILE_PATH_LITERAL("debug.log")); | 54 Append(FILE_PATH_LITERAL("debug.log")); |
54 InitLogging(debug_log.value().c_str(), | 55 InitLogging(debug_log.value().c_str(), |
55 logging::LOG_ONLY_TO_FILE, | 56 logging::LOG_ONLY_TO_FILE, |
56 logging::DONT_LOCK_LOG_FILE, | 57 logging::DONT_LOCK_LOG_FILE, |
57 logging::APPEND_TO_OLD_LOG_FILE, | 58 logging::APPEND_TO_OLD_LOG_FILE, |
58 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS); | 59 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS); |
59 | 60 |
60 return _AtlModule.WinMain(command); | 61 return _AtlModule.WinMain(command); |
61 } | 62 } |
OLD | NEW |