summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sessions
diff options
context:
space:
mode:
authordhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-29 21:07:00 +0000
committerdhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-29 21:07:00 +0000
commit25fbafb729b15b66a217cdb7e6e175a252cf1156 (patch)
tree3c99890fe752ed709fb72c947795ebfe564645cb /chrome/browser/sessions
parent32dce8260a55e265c389ad7eb999de9cf4608ccf (diff)
downloadchromium_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.cc20
-rw-r--r--chrome/browser/sessions/session_service.cc4
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();