[iOS][tabmodel] Deprecation of TabModel in BrowserViewController.
This CL removes BrowserViewController's dependence on TabModel in
|setPrimary|.
Bug: 1045575, 1049842
Change-Id: I82aebf6ed8eee23e1a48043090a8b6164e281ec5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2170266
Reviewed-by: Mark Cogan <marq@chromium.org>
Commit-Queue: Nazerke Kalidolda <nazerke@google.com>
Cr-Commit-Position: refs/heads/master@{#763372}
diff --git a/ios/chrome/browser/tabs/tab_model.h b/ios/chrome/browser/tabs/tab_model.h
index 76667fcf..0385829 100644
--- a/ios/chrome/browser/tabs/tab_model.h
+++ b/ios/chrome/browser/tabs/tab_model.h
@@ -55,9 +55,6 @@
// Records tab session metrics.
- (void)recordSessionMetrics;
-// Sets whether the user is primarily interacting with this tab model.
-- (void)setPrimary:(BOOL)primary;
-
// Tells the receiver to disconnect from the model object it depends on. This
// should be called before destroying the browser state that the receiver was
// initialized with.
diff --git a/ios/chrome/browser/tabs/tab_model.mm b/ios/chrome/browser/tabs/tab_model.mm
index 3a29fff..8163a57 100644
--- a/ios/chrome/browser/tabs/tab_model.mm
+++ b/ios/chrome/browser/tabs/tab_model.mm
@@ -346,13 +346,6 @@
_webStateListMetricsObserver->RecordSessionMetrics();
}
-- (void)setPrimary:(BOOL)primary {
- if (_tabUsageRecorder) {
- _tabUsageRecorder->RecordPrimaryTabModelChange(
- primary, self.webStateList->GetActiveWebState());
- }
-}
-
// NOTE: This can be called multiple times, so must be robust against that.
- (void)disconnect {
if (!_browserState)
diff --git a/ios/chrome/browser/tabs/tab_model_unittest.mm b/ios/chrome/browser/tabs/tab_model_unittest.mm
index 98a54a1..1cffa2e2 100644
--- a/ios/chrome/browser/tabs/tab_model_unittest.mm
+++ b/ios/chrome/browser/tabs/tab_model_unittest.mm
@@ -84,7 +84,6 @@
TabModel* CreateTabModel(SessionWindowIOS* session_window) {
TabModel* tab_model([[TabModel alloc] initWithBrowser:browser_.get()]);
- [tab_model setPrimary:YES];
return tab_model;
}
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
index 3a38e5b..6ed8113 100644
--- a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
@@ -62,7 +62,6 @@
#import "ios/chrome/browser/ssl/captive_portal_detector_tab_helper.h"
#import "ios/chrome/browser/ssl/captive_portal_detector_tab_helper_delegate.h"
#include "ios/chrome/browser/system_flags.h"
-#import "ios/chrome/browser/tabs/tab_model.h"
#import "ios/chrome/browser/translate/chrome_ios_translate_client.h"
#import "ios/chrome/browser/ui/activity_services/requirements/activity_service_positioner.h"
#import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
@@ -771,10 +770,6 @@
return _voiceSearchController && _voiceSearchController->IsPlayingAudio();
}
-- (TabModel*)tabModel {
- return self.browser ? self.browser->GetTabModel() : nil;
-}
-
- (ChromeBrowserState*)browserState {
return self.browser ? self.browser->GetBrowserState() : nullptr;
}
@@ -1024,7 +1019,12 @@
}
- (void)setPrimary:(BOOL)primary {
- [self.tabModel setPrimary:primary];
+ TabUsageRecorderBrowserAgent* tabUsageRecorder =
+ TabUsageRecorderBrowserAgent::FromBrowser(_browser);
+ if (tabUsageRecorder) {
+ tabUsageRecorder->RecordPrimaryTabModelChange(
+ primary, _browser->GetWebStateList()->GetActiveWebState());
+ }
if (primary) {
[self updateBroadcastState];
}