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 |