diff options
author | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-29 21:07:00 +0000 |
---|---|---|
committer | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-29 21:07:00 +0000 |
commit | 25fbafb729b15b66a217cdb7e6e175a252cf1156 (patch) | |
tree | 3c99890fe752ed709fb72c947795ebfe564645cb /chrome/browser/sessions | |
parent | 32dce8260a55e265c389ad7eb999de9cf4608ccf (diff) | |
download | chromium_src-25fbafb729b15b66a217cdb7e6e175a252cf1156.zip chromium_src-25fbafb729b15b66a217cdb7e6e175a252cf1156.tar.gz chromium_src-25fbafb729b15b66a217cdb7e6e175a252cf1156.tar.bz2 |
Revert 98679 - Restoring a session should restore window minimization state on Windows
These changes enable save and restore of minimized window state on Windows. (Mac and Linux came prior). The window state is now saved whenever size-changed notifications fire (in addition to the original activation and close cases).
BUG=43274
TEST=Manual. Launch Chrome on Windows, create two browser windows, minimize "a" window, quit. Relaunch, expect "a" to be minimized.
Review URL: http://codereview.chromium.org/7748036
TBR=dhollowa@chromium.org
Review URL: http://codereview.chromium.org/7790010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98699 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sessions')
-rw-r--r-- | chrome/browser/sessions/session_restore.cc | 20 | ||||
-rw-r--r-- | chrome/browser/sessions/session_service.cc | 4 |
2 files changed, 4 insertions, 20 deletions
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc index a7fe098..c4c5b29 100644 --- a/chrome/browser/sessions/session_restore.cc +++ b/chrome/browser/sessions/session_restore.cc @@ -598,15 +598,6 @@ class SessionRestoreImpl : public NotificationObserver { // tabbed browsers exist. Browser* last_browser = NULL; bool has_tabbed_browser = false; - - // Determine if there is a visible window. - bool has_visible_browser = false; - for (std::vector<SessionWindow*>::iterator i = windows->begin(); - i != windows->end(); ++i) { - if ((*i)->show_state != ui::SHOW_STATE_MINIMIZED) - has_visible_browser = true; - } - for (std::vector<SessionWindow*>::iterator i = windows->begin(); i != windows->end(); ++i) { Browser* browser = NULL; @@ -622,15 +613,10 @@ class SessionRestoreImpl : public NotificationObserver { chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( "SessionRestore-CreateRestoredBrowser-Start", false); #endif - // Show the first window if none are visible. - ui::WindowShowState show_state = (*i)->show_state; - if (!has_visible_browser) { - show_state = ui::SHOW_STATE_NORMAL; - has_visible_browser = true; - } - browser = CreateRestoredBrowser( - static_cast<Browser::Type>((*i)->type), (*i)->bounds, show_state); + static_cast<Browser::Type>((*i)->type), + (*i)->bounds, + (*i)->show_state); #if defined(OS_CHROMEOS) chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( "SessionRestore-CreateRestoredBrowser-End", false); diff --git a/chrome/browser/sessions/session_service.cc b/chrome/browser/sessions/session_service.cc index 8e3f1d73..dbb0f94 100644 --- a/chrome/browser/sessions/session_service.cc +++ b/chrome/browser/sessions/session_service.cc @@ -970,11 +970,9 @@ bool SessionService::CreateTabsAndWindows( payload.y, payload.w, payload.h); - // SHOW_STATE_INACTIVE is not persisted. ui::WindowShowState show_state = ui::SHOW_STATE_NORMAL; if (payload.show_state > ui::SHOW_STATE_DEFAULT && - payload.show_state < ui::SHOW_STATE_MAX && - payload.show_state != ui::SHOW_STATE_INACTIVE) { + payload.show_state < ui::SHOW_STATE_MAX) { show_state = static_cast<ui::WindowShowState>(payload.show_state); } else { NOTREACHED(); |