Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: ios/chrome/browser/tabs/tab.mm

Issue 2681843002: Add mechanism to get the Tab from the associated WebState. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/tabs/tab.mm
diff --git a/ios/chrome/browser/tabs/tab.mm b/ios/chrome/browser/tabs/tab.mm
index 4b3926ec0e35d2d76082cb26c9c3919ee6690ed6..980366ab5e38386f1dd677b8a623a4c048ee7b42 100644
--- a/ios/chrome/browser/tabs/tab.mm
+++ b/ios/chrome/browser/tabs/tab.mm
@@ -88,6 +88,7 @@
#include "ios/chrome/browser/ssl/ios_security_state_tab_helper.h"
#import "ios/chrome/browser/storekit_launcher.h"
#include "ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.h"
+#import "ios/chrome/browser/tabs/legacy_tab_helper.h"
#import "ios/chrome/browser/tabs/tab_delegate.h"
#import "ios/chrome/browser/tabs/tab_dialog_delegate.h"
#import "ios/chrome/browser/tabs/tab_headers_delegate.h"
@@ -535,6 +536,10 @@ void TabInfoBarObserver::OnInfoBarReplaced(infobars::InfoBar* old_infobar,
webStateObserver_.reset(
new web::WebStateObserverBridge(webStateImpl_.get(), self));
+ // Do not respect |attachTabHelpers| as this tab helper is required for
+ // proper conversion from WebState to Tab.
+ LegacyTabHelper::CreateForWebState(webStateImpl_.get(), self);
+
[self.webController setDelegate:self];
NSString* sessionID = self.tabId;
@@ -1248,6 +1253,8 @@ void TabInfoBarObserver::OnInfoBarReplaced(infobars::InfoBar* old_infobar,
// to drive its own destruction.
base::scoped_nsobject<Tab> kungFuDeathGrip([self retain]);
[parentTabModel_ didCloseTab:self]; // Inform parent of tab closure.
+
+ LegacyTabHelper::RemoveFromWebState(webStateImpl_.get());
rohitrao (ping after 24h) 2017/02/08 14:07:17 Is there any way for code to call LegacyTabHelper:
sdefresne 2017/02/08 14:45:34 I've addressed this by introducing a static method
webStateImpl_.reset();
}
« ios/chrome/browser/tabs/legacy_tab_helper.h ('K') | « ios/chrome/browser/tabs/legacy_tab_helper.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698