Index: ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_controller.mm |
diff --git a/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_controller.mm b/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_controller.mm |
index da2519be894d603afb72fa4253c554b113ffc214..f9fee57d9ea33e34d7be1461c5987144a08d3dae 100644 |
--- a/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_controller.mm |
+++ b/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_controller.mm |
@@ -6,7 +6,6 @@ |
#include "base/logging.h" |
#import "base/mac/foundation_util.h" |
-#import "base/mac/scoped_nsobject.h" |
#include "base/strings/sys_string_conversions.h" |
#import "ios/chrome/browser/tabs/tab.h" |
#include "ios/chrome/browser/ui/ntp/recent_tabs/synced_sessions.h" |
@@ -16,6 +15,10 @@ |
#import "ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_view.h" |
#include "ios/chrome/browser/ui/tab_switcher/tab_switcher_session_changes.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
void FillVectorWithHashesUsingDistantSession( |
@@ -34,12 +37,12 @@ void FillVectorWithHashesUsingDistantSession( |
UICollectionViewDelegate, |
SessionCellDelegate> { |
ios::ChromeBrowserState* _browserState; // Weak. |
- base::scoped_nsobject<TabSwitcherPanelView> _panelView; |
- base::scoped_nsobject<TabSwitcherModel> _model; |
+ TabSwitcherPanelView* _panelView; |
+ TabSwitcherModel* _model; |
std::string _sessionTag; |
TabSwitcherSessionType _sessionType; |
- base::scoped_nsobject<TabSwitcherCache> _cache; |
- base::scoped_nsobject<TabSwitcherPanelOverlayView> _overlayView; |
+ TabSwitcherCache* _cache; |
+ TabSwitcherPanelOverlayView* _overlayView; |
std::unique_ptr<const synced_sessions::DistantSession> _distantSession; |
std::unique_ptr<const TabModelSnapshot> _localSession; |
} |
@@ -61,7 +64,7 @@ void FillVectorWithHashesUsingDistantSession( |
if (self) { |
DCHECK(model); |
_sessionType = TabSwitcherSessionType::DISTANT_SESSION; |
- _model.reset([model retain]); |
+ _model = model; |
_distantSession = [model distantSessionForTag:sessionTag]; |
_sessionTag = sessionTag; |
_browserState = browserState; |
@@ -78,9 +81,9 @@ void FillVectorWithHashesUsingDistantSession( |
if (self) { |
DCHECK(model); |
_sessionType = sessionType; |
- _model.reset([model retain]); |
+ _model = model; |
_localSession = [model tabModelSnapshotForLocalSession:sessionType]; |
- _cache.reset([cache retain]); |
+ _cache = cache; |
_browserState = browserState; |
[self loadView]; |
} |
@@ -311,9 +314,9 @@ void FillVectorWithHashesUsingDistantSession( |
DCHECK(TabSwitcherSessionTypeIsLocalSession(_sessionType)); |
if (!_overlayView) { |
- _overlayView.reset([[TabSwitcherPanelOverlayView alloc] |
- initWithFrame:[_panelView bounds] |
- browserState:_browserState]); |
+ _overlayView = |
+ [[TabSwitcherPanelOverlayView alloc] initWithFrame:[_panelView bounds] |
+ browserState:_browserState]; |
[_overlayView |
setOverlayType: |
(_sessionType == TabSwitcherSessionType::OFF_THE_RECORD_SESSION) |
@@ -339,10 +342,9 @@ void FillVectorWithHashesUsingDistantSession( |
} |
- (void)loadView { |
- _panelView.reset( |
- [[TabSwitcherPanelView alloc] initWithSessionType:_sessionType]); |
- _panelView.get().collectionView.dataSource = self; |
- _panelView.get().collectionView.delegate = self; |
+ _panelView = [[TabSwitcherPanelView alloc] initWithSessionType:_sessionType]; |
+ _panelView.collectionView.dataSource = self; |
+ _panelView.collectionView.delegate = self; |
} |
- (synced_sessions::DistantSession const*)distantSession { |