| Index: chrome/browser/ui/browser.cc
|
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
| index 3ebab50f3bb808d3fb41efe49bcda673f3435a95..83e795103cdf2618bb3c64126c8358d6c9c4b805 100644
|
| --- a/chrome/browser/ui/browser.cc
|
| +++ b/chrome/browser/ui/browser.cc
|
| @@ -1023,12 +1023,20 @@ void Browser::TabInsertedAt(TabContents* contents,
|
|
|
| registrar_.Add(this, content::NOTIFICATION_INTERSTITIAL_DETACHED,
|
| content::Source<WebContents>(contents->web_contents()));
|
| + SessionService* session_service =
|
| + SessionServiceFactory::GetForProfile(profile_);
|
| + if (session_service)
|
| + session_service->TabInserted(contents->web_contents());
|
| }
|
|
|
| void Browser::TabClosingAt(TabStripModel* tab_strip_model,
|
| TabContents* contents,
|
| int index) {
|
| fullscreen_controller_->OnTabClosing(contents->web_contents());
|
| + SessionService* session_service =
|
| + SessionServiceFactory::GetForProfile(profile_);
|
| + if (session_service)
|
| + session_service->TabClosing(contents->web_contents());
|
| content::NotificationService::current()->Notify(
|
| chrome::NOTIFICATION_TAB_CLOSING,
|
| content::Source<NavigationController>(
|
| @@ -1138,6 +1146,10 @@ void Browser::TabReplacedAt(TabStripModel* tab_strip_model,
|
| TabContents* new_contents,
|
| int index) {
|
| TabDetachedAtImpl(old_contents, index, DETACH_TYPE_REPLACE);
|
| + SessionService* session_service =
|
| + SessionServiceFactory::GetForProfile(profile_);
|
| + if (session_service)
|
| + session_service->TabClosing(old_contents->web_contents());
|
| TabInsertedAt(new_contents, index, (index == active_index()));
|
|
|
| int entry_count =
|
| @@ -1150,8 +1162,6 @@ void Browser::TabReplacedAt(TabStripModel* tab_strip_model,
|
| entry_count - 1);
|
| }
|
|
|
| - SessionService* session_service =
|
| - SessionServiceFactory::GetForProfile(profile());
|
| if (session_service) {
|
| // The new_contents may end up with a different navigation stack. Force
|
| // the session service to update itself.
|
|
|