| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "ios/chrome/browser/root_coordinator.h" | 5 #import "ios/chrome/browser/root_coordinator.h" |
| 6 | 6 |
| 7 #include "base/ios/weak_nsobject.h" | |
| 8 #include "base/logging.h" | 7 #include "base/logging.h" |
| 9 | 8 |
| 10 @interface RootCoordinator () { | 9 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 11 base::WeakNSObject<UIWindow> _window; | 10 #error "This file requires ARC support." |
| 12 } | 11 #endif |
| 13 @end | |
| 14 | 12 |
| 15 @implementation RootCoordinator | 13 @implementation RootCoordinator |
| 14 @synthesize window = _window; |
| 16 | 15 |
| 17 - (instancetype)initWithWindow:(UIWindow*)window { | 16 - (instancetype)initWithWindow:(UIWindow*)window { |
| 18 if ((self = [super initWithBaseViewController:nil])) { | 17 if ((self = [super initWithBaseViewController:nil])) { |
| 19 _window.reset(window); | 18 _window = window; |
| 20 } | 19 } |
| 21 return self; | 20 return self; |
| 22 } | 21 } |
| 23 | 22 |
| 24 - (instancetype)initWithBaseViewController:(UIViewController*)viewController { | 23 - (instancetype)initWithBaseViewController:(UIViewController*)viewController { |
| 25 NOTREACHED(); | 24 NOTREACHED(); |
| 26 return nil; | 25 return nil; |
| 27 } | 26 } |
| 28 | 27 |
| 29 #pragma mark - property implementation | |
| 30 | |
| 31 - (nullable UIWindow*)window { | |
| 32 return _window; | |
| 33 } | |
| 34 | |
| 35 @end | 28 @end |
| OLD | NEW |