OLD | NEW |
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 #import <UIKit/UIKit.h> | 5 #import <UIKit/UIKit.h> |
6 | 6 |
7 #include "base/at_exit.h" | 7 #include "base/at_exit.h" |
8 #include "base/debug/crash_logging.h" | 8 #include "base/debug/crash_logging.h" |
9 #include "components/crash/core/common/crash_keys.h" | 9 #include "components/crash/core/common/crash_keys.h" |
10 #include "ios/chrome/app/startup/ios_chrome_main.h" | 10 #include "ios/chrome/app/startup/ios_chrome_main.h" |
11 #include "ios/chrome/browser/crash_report/breakpad_helper.h" | 11 #include "ios/chrome/browser/crash_report/breakpad_helper.h" |
12 #include "ios/chrome/browser/crash_report/crash_keys.h" | 12 #include "ios/chrome/browser/crash_report/crash_keys.h" |
13 #include "ios/chrome/common/channel_info.h" | 13 #include "ios/chrome/common/channel_info.h" |
14 | 14 |
| 15 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 16 #error "This file requires ARC support." |
| 17 #endif |
| 18 |
15 namespace { | 19 namespace { |
16 | 20 |
17 NSString* const kUIApplicationDelegateInfoKey = @"UIApplicationDelegate"; | 21 NSString* const kUIApplicationDelegateInfoKey = @"UIApplicationDelegate"; |
18 | 22 |
19 void StartCrashController() { | 23 void StartCrashController() { |
20 @autoreleasepool { | 24 @autoreleasepool { |
21 std::string channel_string = GetChannelString(); | 25 std::string channel_string = GetChannelString(); |
22 | 26 |
23 RegisterChromeIOSCrashKeys(); | 27 RegisterChromeIOSCrashKeys(); |
24 base::debug::SetCrashKeyValue(crash_keys::kChannel, channel_string); | 28 base::debug::SetCrashKeyValue(crash_keys::kChannel, channel_string); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 // The Crash Controller is started here even if the user opted out since we | 66 // The Crash Controller is started here even if the user opted out since we |
63 // don't have yet preferences. Later on it is stopped if the user opted out. | 67 // don't have yet preferences. Later on it is stopped if the user opted out. |
64 // In any case reports are not sent if the user opted out. | 68 // In any case reports are not sent if the user opted out. |
65 StartCrashController(); | 69 StartCrashController(); |
66 | 70 |
67 // Always ignore SIGPIPE. We check the return value of write(). | 71 // Always ignore SIGPIPE. We check the return value of write(). |
68 CHECK_NE(SIG_ERR, signal(SIGPIPE, SIG_IGN)); | 72 CHECK_NE(SIG_ERR, signal(SIGPIPE, SIG_IGN)); |
69 | 73 |
70 return RunUIApplicationMain(argc, argv); | 74 return RunUIApplicationMain(argc, argv); |
71 } | 75 } |
OLD | NEW |