Index: ios/chrome/app/application_delegate/startup_information.h |
diff --git a/ios/chrome/app/application_delegate/startup_information.h b/ios/chrome/app/application_delegate/startup_information.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0f4c0eab2fc103c66357816ac2410029de3eb31f |
--- /dev/null |
+++ b/ios/chrome/app/application_delegate/startup_information.h |
@@ -0,0 +1,52 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef IOS_CHROME_APP_APPLICATION_DELEGATE_STARTUP_INFORMATION_H_ |
+#define IOS_CHROME_APP_APPLICATION_DELEGATE_STARTUP_INFORMATION_H_ |
+ |
+class FirstUserActionRecorder; |
+ |
+namespace base { |
+class TimeTicks; |
+} |
+ |
+@class AppStartupParameters; |
+ |
+// Contains information about the startup. |
+@protocol StartupInformation<NSObject> |
+ |
+// Whether First Run UI (terms of service & sync sign-in) is being presented |
+// in a modal dialog. |
+@property(nonatomic) BOOL isPresentingFirstRunUI; |
+// Whether the current session began from a cold start. NO if the app has |
+// entered the background at least once since start up. |
+@property(nonatomic) BOOL isColdStart; |
+// Parameters received at startup time when the app is launched from another |
+// app. |
+@property(nonatomic, retain) AppStartupParameters* startupParameters; |
+// Start of the application, used for UMA. |
+@property(nonatomic, assign) base::TimeTicks appLaunchTime; |
+// An object to record metrics related to the user's first action. |
+@property(nonatomic, readonly) FirstUserActionRecorder* firstUserActionRecorder; |
+ |
+// Disables the FirstUserActionRecorder. |
+- (void)resetFirstUserActionRecorder; |
+ |
+// Expire the FirstUserActionRecorder and disable it. |
+- (void)expireFirstUserActionRecorder; |
+ |
+// Expire the FirstUserActionRecorder and disable it after a delay. |
+- (void)expireFirstUserActionRecorderAfterDelay:(NSTimeInterval)delay; |
+ |
+// Enable the FirstUserActionRecorder with the time spent in background. |
+- (void)activateFirstUserActionRecorderWithBackgroundTime: |
+ (NSTimeInterval)backgroundTime; |
+ |
+// Teardown that is needed by common Chrome code. This should not be called if |
+// Chrome code is still on the stack. |
+- (void)stopChromeMain; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_APP_APPLICATION_DELEGATE_STARTUP_INFORMATION_H_ |