Chromium Code Reviews| 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(); |
| } |