OLD | NEW |
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2008 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 <Cocoa/Cocoa.h> | 5 #include <Cocoa/Cocoa.h> |
6 | 6 |
7 #include "base/at_exit.h" | 7 #include "base/at_exit.h" |
8 #include "base/process_util.h" | 8 #include "base/process_util.h" |
| 9 #import "chrome/app/breakpad_mac.h" |
9 | 10 |
10 // The entry point for all invocations of Chromium, browser and renderer. On | 11 // The entry point for all invocations of Chromium, browser and renderer. On |
11 // windows, this does nothing but load chrome.dll and invoke its entry point | 12 // windows, this does nothing but load chrome.dll and invoke its entry point |
12 // in order to make it easy to update the app from GoogleUpdate. We don't need | 13 // in order to make it easy to update the app from GoogleUpdate. We don't need |
13 // that extra layer with Keystone on the Mac, though we may run into issues | 14 // that extra layer with Keystone on the Mac, though we may run into issues |
14 // with Keychain prompts unless we sign the application. That shouldn't be | 15 // with Keychain prompts unless we sign the application. That shouldn't be |
15 // too hard, we just need infrastructure support to do it. | 16 // too hard, we just need infrastructure support to do it. |
16 | 17 |
17 extern "C" { | 18 extern "C" { |
18 int ChromeMain(int argc, const char** argv); | 19 int ChromeMain(int argc, const char** argv); |
19 } | 20 } |
20 | 21 |
21 int main(int argc, const char** argv) { | 22 int main(int argc, const char** argv) { |
22 base::EnableTerminationOnHeapCorruption(); | 23 base::EnableTerminationOnHeapCorruption(); |
23 | 24 |
24 // The exit manager is in charge of calling the dtors of singletons. | 25 // The exit manager is in charge of calling the dtors of singletons. |
25 // Win has one here, but we assert with multiples from BrowserMain() if we | 26 // Win has one here, but we assert with multiples from BrowserMain() if we |
26 // keep it. | 27 // keep it. |
27 // base::AtExitManager exit_manager; | 28 // base::AtExitManager exit_manager; |
28 | 29 |
29 #if defined(GOOGLE_CHROME_BUILD) | 30 #if defined(GOOGLE_CHROME_BUILD) |
30 // TODO(pinkerton): init crash reporter | 31 InitCrashReporter(); |
31 #endif | 32 #endif |
32 | 33 |
33 return ChromeMain(argc, argv); | 34 int ret = ChromeMain(argc, argv); |
| 35 |
| 36 #if defined(GOOGLE_CHROME_BUILD) |
| 37 DestructCrashReporter(); |
| 38 #endif |
| 39 |
| 40 return ret; |
34 } | 41 } |
OLD | NEW |