Index: ios/chrome/app/application_state.mm |
diff --git a/ios/chrome/app/application_state.mm b/ios/chrome/app/application_state.mm |
deleted file mode 100644 |
index f6a8fb8177a46dc8049ad1d95485c24571f1f8d2..0000000000000000000000000000000000000000 |
--- a/ios/chrome/app/application_state.mm |
+++ /dev/null |
@@ -1,110 +0,0 @@ |
-// 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. |
- |
-// ====== New Architecture ===== |
-// = This code is only used in the new iOS Chrome architecture. = |
-// ============================================================================ |
- |
-#import "ios/chrome/app/application_state.h" |
- |
-#include <memory> |
- |
-#include "base/logging.h" |
-#include "base/memory/ptr_util.h" |
-#include "base/supports_user_data.h" |
-#import "ios/chrome/app/application_step.h" |
- |
-#if !defined(__has_feature) || !__has_feature(objc_arc) |
-#error "This file requires ARC support." |
-#endif |
- |
-namespace { |
- |
-// Specialization of base::SupportsUserData for use in this class. |
-class PersistentApplicationState : public base::SupportsUserData { |
- public: |
- ~PersistentApplicationState() override {} |
-}; |
- |
-} // namespace |
- |
-@interface ApplicationState () |
-@property(nonatomic, readwrite, copy) NSDictionary* launchOptions; |
-@end |
- |
-@implementation ApplicationState { |
- std::unique_ptr<PersistentApplicationState> _persistentState; |
-} |
- |
-@synthesize application = _application; |
-@synthesize browserState = _browserState; |
-@synthesize URLOpener = _URLOpener; |
-@synthesize phase = _phase; |
-@synthesize window = _window; |
-@synthesize launchSteps = _launchSteps; |
-@synthesize terminationSteps = _terminationSteps; |
-@synthesize backgroundSteps = _backgroundSteps; |
-@synthesize foregroundSteps = _foregroundSteps; |
-@synthesize launchOptions = _launchOptions; |
- |
-#pragma mark - Object lifecycle |
- |
-- (instancetype)init { |
- if ((self = [super init])) { |
- _phase = APPLICATION_COLD; |
- _launchSteps = [ApplicationStepArray array]; |
- _terminationSteps = [ApplicationStepArray array]; |
- _backgroundSteps = [ApplicationStepArray array]; |
- _foregroundSteps = [ApplicationStepArray array]; |
- _persistentState = base::MakeUnique<PersistentApplicationState>(); |
- } |
- return self; |
-} |
- |
-#pragma mark - Public API |
- |
-- (base::SupportsUserData*)persistentState { |
- return _persistentState.get(); |
-} |
- |
-- (void)launchWithOptions:(NSDictionary*)launchOptions { |
- self.launchOptions = launchOptions; |
- [self continueLaunch]; |
-} |
- |
-- (void)continueLaunch { |
- [self runSteps:self.launchSteps]; |
-} |
- |
-- (void)terminate { |
- CHECK(self.phase != APPLICATION_TERMINATING); |
- self.phase = APPLICATION_TERMINATING; |
- [self runSteps:self.terminationSteps]; |
- CHECK(self.terminationSteps.count == 0); |
-} |
- |
-- (void)background { |
- [self runSteps:self.backgroundSteps]; |
-} |
- |
-- (void)foreground { |
- [self runSteps:self.foregroundSteps]; |
-} |
- |
-#pragma mark - Running steps |
- |
-// While the first step in |steps| can run in |self|, pop it, run it, and |
-// release ownership of it. |
-- (void)runSteps:(ApplicationStepArray*)steps { |
- while ([steps.firstObject canRunInState:self]) { |
- id<ApplicationStep> nextStep = steps.firstObject; |
- [steps removeObject:nextStep]; |
- // |nextStep| should not be in |steps| when -runInState is called. |
- // (Some steps may re-insert themselves into |steps|, for example). |
- DCHECK(![steps containsObject:nextStep]); |
- [nextStep runInState:self]; |
- } |
-} |
- |
-@end |