| Index: chrome/browser/sessions/session_restore.cc
|
| diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc
|
| index eeafc2d4fed5bd8ac73abeea509a04cf4f662b5f..fd3c6d877a6bf1c786eec43758ee07a8b5accf7e 100644
|
| --- a/chrome/browser/sessions/session_restore.cc
|
| +++ b/chrome/browser/sessions/session_restore.cc
|
| @@ -558,8 +558,9 @@ class SessionRestoreImpl : public content::NotificationObserver {
|
| if (!is_selected_tab)
|
| continue;
|
|
|
| - ShowBrowser(browser, browser->tab_strip_model()->GetIndexOfWebContents(
|
| - contents));
|
| + ShowBrowser(browser,
|
| + browser->tab_strip_model()->GetIndexOfWebContents(contents),
|
| + window.show_state);
|
| // TODO(sky): remove. For debugging 368236.
|
| CHECK_EQ(browser->tab_strip_model()->GetActiveWebContents(), contents);
|
| }
|
| @@ -643,15 +644,15 @@ class SessionRestoreImpl : public content::NotificationObserver {
|
| return new Browser(params);
|
| }
|
|
|
| - void ShowBrowser(Browser* browser, int selected_tab_index) {
|
| + void ShowBrowser(Browser* browser,
|
| + int selected_tab_index,
|
| + ui::WindowShowState show_state) {
|
| DCHECK(browser);
|
| DCHECK(browser->tab_strip_model()->count());
|
| browser->tab_strip_model()->ActivateTabAt(selected_tab_index, true);
|
|
|
| - if (browser_ == browser)
|
| - return;
|
| -
|
| - browser->window()->Show();
|
| + show_state == ui::SHOW_STATE_MINIMIZED ? browser->window()->Minimize()
|
| + : browser->window()->Show();
|
| browser->set_is_session_restore(false);
|
|
|
| // TODO(jcampan): http://crbug.com/8123 we should not need to set the
|
|
|