Use TabIdTabHelper instead of tabId property from tab
TabIdTabHelper provides tabId given webstate. This is part of removing
tab usage and use webstate instead
Bug: 930816, 902049
Change-Id: I889e662fb165fd085d846b1fb4bb217911ace2f1
Reviewed-on: https://chromium-review.googlesource.com/c/1464113
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631528}
diff --git a/ios/chrome/browser/crash_report/crash_report_helper.mm b/ios/chrome/browser/crash_report/crash_report_helper.mm
index 2bdafb39a..f28be28 100644
--- a/ios/chrome/browser/crash_report/crash_report_helper.mm
+++ b/ios/chrome/browser/crash_report/crash_report_helper.mm
@@ -146,7 +146,9 @@
return;
NSString* url = [notification.userInfo objectForKey:kTabUrlKey];
DCHECK(url);
- [self recordURL:url forTabId:tab.tabId pending:NO];
+ [self recordURL:url
+ forTabId:TabIdTabHelper::FromWebState(tab.webState)->tab_id()
+ pending:NO];
}
- (void)urlChangeExpected:(NSNotification*)notification {
@@ -156,7 +158,9 @@
return;
NSString* url = [notification.userInfo objectForKey:kTabUrlKey];
DCHECK(url);
- [self recordURL:url forTabId:tab.tabId pending:YES];
+ [self recordURL:url
+ forTabId:TabIdTabHelper::FromWebState(tab.webState)->tab_id()
+ pending:YES];
}
- (void)removeTabId:(NSString*)tabId {
@@ -203,14 +207,14 @@
- (void)tabModel:(TabModel*)model
didRemoveTab:(Tab*)tab
atIndex:(NSUInteger)index {
- [self removeTabId:tab.tabId];
+ [self removeTabId:TabIdTabHelper::FromWebState(tab.webState)->tab_id()];
}
- (void)tabModel:(TabModel*)model
didReplaceTab:(Tab*)oldTab
withTab:(Tab*)newTab
atIndex:(NSUInteger)index {
- [self removeTabId:oldTab.tabId];
+ [self removeTabId:TabIdTabHelper::FromWebState(oldTab.webState)->tab_id()];
}
- (void)tabModel:(TabModel*)model
@@ -222,7 +226,7 @@
const GURL& URL = pendingItem ? pendingItem->GetURL()
: newTab.webState->GetLastCommittedURL();
[self recordURL:base::SysUTF8ToNSString(URL.spec())
- forTabId:newTab.tabId
+ forTabId:TabIdTabHelper::FromWebState(newTab.webState)->tab_id()
pending:pendingItem ? YES : NO];
}
@@ -314,14 +318,14 @@
- (void)tabModel:(TabModel*)model
didRemoveTab:(Tab*)tab
atIndex:(NSUInteger)index {
- [self removeTabId:tab.tabId];
+ [self removeTabId:TabIdTabHelper::FromWebState(tab.webState)->tab_id()];
}
- (void)tabModel:(TabModel*)model
didReplaceTab:(Tab*)oldTab
withTab:(Tab*)newTab
atIndex:(NSUInteger)index {
- [self removeTabId:oldTab.tabId];
+ [self removeTabId:TabIdTabHelper::FromWebState(oldTab.webState)->tab_id()];
}
@end
diff --git a/ios/chrome/browser/tabs/tab.mm b/ios/chrome/browser/tabs/tab.mm
index aba4b5e..77645a8 100644
--- a/ios/chrome/browser/tabs/tab.mm
+++ b/ios/chrome/browser/tabs/tab.mm
@@ -278,7 +278,8 @@
XCallbackFromRequestURL:requestURL
originURL:originURL
tabURL:self.webState->GetLastCommittedURL()
- tabID:self.tabId];
+ tabID:TabIdTabHelper::FromWebState(self.webState)
+ ->tab_id()];
}
#pragma mark - CRWWebStateObserver protocol
diff --git a/ios/chrome/browser/tabs/tab_model.mm b/ios/chrome/browser/tabs/tab_model.mm
index b4d40e9..cd30656 100644
--- a/ios/chrome/browser/tabs/tab_model.mm
+++ b/ios/chrome/browser/tabs/tab_model.mm
@@ -51,6 +51,7 @@
#import "ios/chrome/browser/tabs/tab_model_web_state_list_delegate.h"
#import "ios/chrome/browser/tabs/tab_parenting_observer.h"
#import "ios/chrome/browser/web/page_placeholder_tab_helper.h"
+#import "ios/chrome/browser/web/tab_id_tab_helper.h"
#import "ios/chrome/browser/web_state_list/web_state_list.h"
#import "ios/chrome/browser/web_state_list/web_state_list_metrics_observer.h"
#import "ios/chrome/browser/web_state_list/web_state_list_observer.h"
@@ -730,8 +731,10 @@
// Called when UIApplicationWillResignActiveNotification is received.
- (void)willResignActive:(NSNotification*)notify {
if (self.webUsageEnabled && self.currentTab) {
+ NSString* tabId =
+ TabIdTabHelper::FromWebState(self.currentTab.webState)->tab_id();
[SnapshotCacheFactory::GetForBrowserState(_browserState)
- willBeSavedGreyWhenBackgrounding:self.currentTab.tabId];
+ willBeSavedGreyWhenBackgrounding:tabId];
}
}
@@ -754,8 +757,11 @@
// Write out a grey version of the current website to disk.
if (self.webUsageEnabled && self.currentTab) {
+ NSString* tabId =
+ TabIdTabHelper::FromWebState(self.currentTab.webState)->tab_id();
+
[SnapshotCacheFactory::GetForBrowserState(_browserState)
- saveGreyInBackgroundForSessionID:self.currentTab.tabId];
+ saveGreyInBackgroundForSessionID:tabId];
}
}
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
index ed7dc84f..4597fb83 100644
--- a/ios/chrome/browser/ui/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -168,6 +168,7 @@
#import "ios/chrome/browser/web/page_placeholder_tab_helper.h"
#import "ios/chrome/browser/web/repost_form_tab_helper.h"
#import "ios/chrome/browser/web/sad_tab_tab_helper.h"
+#import "ios/chrome/browser/web/tab_id_tab_helper.h"
#import "ios/chrome/browser/web/web_navigation_util.h"
#include "ios/chrome/browser/web_state_list/all_web_state_observation_forwarder.h"
#import "ios/chrome/browser/web_state_list/web_state_list.h"
@@ -2982,7 +2983,9 @@
- (BOOL)displaySignInNotification:(UIViewController*)viewController
fromTabId:(NSString*)tabId {
// Check if the call comes from currently visible tab.
- if ([tabId isEqual:self.tabModel.currentTab.tabId]) {
+ NSString* visibleTabId =
+ TabIdTabHelper::FromWebState(self.tabModel.currentTab.webState)->tab_id();
+ if ([tabId isEqual:visibleTabId]) {
[self addChildViewController:viewController];
[self.view addSubview:viewController.view];
[viewController didMoveToParentViewController:self];
@@ -4531,7 +4534,8 @@
[_paymentRequestManager stopTrackingWebState:tab.webState];
- [[UpgradeCenter sharedInstance] tabWillClose:tab.tabId];
+ [[UpgradeCenter sharedInstance]
+ tabWillClose:TabIdTabHelper::FromWebState(tab.webState)->tab_id()];
if ([model count] == 1) { // About to remove the last tab.
[_paymentRequestManager setActiveWebState:nullptr];
}
diff --git a/ios/chrome/browser/ui/side_swipe/side_swipe_controller.mm b/ios/chrome/browser/ui/side_swipe/side_swipe_controller.mm
index 208b6278..61cf4bb 100644
--- a/ios/chrome/browser/ui/side_swipe/side_swipe_controller.mm
+++ b/ios/chrome/browser/ui/side_swipe/side_swipe_controller.mm
@@ -27,6 +27,7 @@
#import "ios/chrome/browser/ui/toolbar/public/side_swipe_toolbar_interacting.h"
#include "ios/chrome/browser/ui/util/ui_util.h"
#import "ios/chrome/browser/web/page_placeholder_tab_helper.h"
+#import "ios/chrome/browser/web/tab_id_tab_helper.h"
#import "ios/chrome/browser/web/web_navigation_util.h"
#import "ios/chrome/browser/web_state_list/web_state_list.h"
#import "ios/web/public/navigation_item.h"
@@ -289,7 +290,8 @@
Tab* tab = [model_ tabAtIndex:index];
if (tab && PagePlaceholderTabHelper::FromWebState(tab.webState)
->will_add_placeholder_for_next_navigation()) {
- [sessionIDs addObject:tab.tabId];
+ [sessionIDs
+ addObject:TabIdTabHelper::FromWebState(tab.webState)->tab_id()];
}
index = index + dx;
}