My favorites | Sign in
Project Home Downloads Wiki Issues
New issue   Search
for
  Advanced search   Search tips
Issue 75814: Turn on session restore by default for mac on Lion
29 people starred this issue and may be notified of changes. Back to list
 
Reported by project member al...@google.com, Mar 11, 2011
Since applications will be more agressive about restoring state, we should mimic this behavior
Comment 1 by al...@google.com, Mar 11, 2011
- Additional state should be maintained if possible: forms, scroll position, etc.
- Quit and Keep Windows, new menu item modifier also exists
Comment 2 by meh...@chromium.org, Mar 13, 2011
(No comment was entered for this change.)
Status: Untriaged
Comment 3 by kerz@google.com, Mar 14, 2011
(No comment was entered for this change.)
Labels: Mstone-12 Private
Comment 4 by kerz@google.com, Mar 14, 2011
(No comment was entered for this change.)
Status: Available
Comment 5 by kerz@google.com, Apr 25, 2011
Moving out of M12.
Labels: -Mstone-12 Mstone-13 MovedFrom12
Comment 6 by lafo...@chromium.org, Jun 2, 2011
Moving !type=meta|regression and !releaseblocker to next mstone
Labels: -Mstone-13 Mstone-14 MovedFrom-13
Comment 7 by lafo...@chromium.org, Jun 2, 2011
(No comment was entered for this change.)
Labels: -MovedFrom12 MovedFrom-12
Comment 8 by mark@chromium.org, Jun 23, 2011
Now that the Lion’s out of the bag, these are safe to open up to the world.
Labels: -private
Comment 9 by dub...@chromium.org, Jul 21, 2011
It would be great if we could restore form data, scroll position, etc. I tested Safari on Lion Developer Preview, and it just seems to do the equivalent of Chrome's session restore -- just reloads the tabs that were open. No other state is restored.
Comment 10 by sky@chromium.org, Jul 21, 2011
dubroy, we do restore some of these. We don't restore the complete state of the page though (state meaning script state, dom...), which means some state manipulated by way of script may not get restored. Also, see 51313 for scroll position.
Comment 11 by dhollowa@chromium.org, Jul 26, 2011
A few observations and thoughts on this one:

(1) We should be sensitive to the global system preference:

	System Preferences > General > Restore windows when quitting and reopening the app

The subtly here	is that this global checkbox effectively duplicates two states of our "On Startup" radio group:
	o Open the home page
	o Reopen the pages that were last open

The Chromium preference that controls this is kRestoreOnStartup.  It's values can be (SessionStartupPref) "DEFAULT", "LAST", and "URLS".  But really, "DEFAULT" means "don't restore".  There's also a fourth, implicit, "NULL" state where the user has not set anything themselves.

-- Solution A --
When the user is in the "NULL" state, meaning they have not explicitly set a preference for this, we would take the System setting as the default behavior.

If the user uses the Chrome preferences UI to explicitly change the setting then we respect the local override.  This gives the advantage of respecting system settings but allowing Chromium users to override it locally.  The problem with this is that there's no way to change back to the "NULL" state once a choice has been made.  That may be ok.

-- Solution B --
An alternate approach would be to get rid of the "On Startup" radio group and just have a single checkbox for "Open the following pages:".  The other two radio choices (Open home / Open last) would be removed in favor of the System settings.

This seems like the most "Lion-y" way.  But there are a lot of Safari users complaining about this global setting and they're having to resort to command-line (defaults) hacks to reset this pref locally.

Overall, I'd propose Solution A.


(2) Non-browser windows stickiness.  Chromium's "Task Manager" window is not sticky but should be.  This is true for Snow Leopard as well.


(3) Depending on the state of the System setting the application's Quit menu, when holding the option key, toggles between "Quit and Discard Windows" and "Quit and Keep Windows".  This is Lion messing with Chromium.  And we don't actually respect the choice made.

This needs fixing.  The Option-Quit menu should:
  a) read "Quit and Keep Windows" when "Open the home page" is selected,
  b) read "Quit and Discard Windows" when "Reopen the pages..." is selected,
  c) read "Quit" when "Open the following pages" is selected.

And, of course, they should all do the right thing on a quit/relaunch cycle.


(4) Interaction with Fullscreen mode.
If the user quits while in Fullscreen mode and the System "Restore windows..." is checked, then upon relaunch we should enter back into Fullscreen mode automatically.


As noted by others, there is more state we could preserve, like scroll position, form state, item focus, etc. but IMO (1)...(4) represents the core functionality we need currently.

Status: Assigned
Owner: dhollowa@chromium.org
Comment 12 by kerz@google.com, Jul 27, 2011
Punting out non-critical bugs.  Please move back to 14 if you believe this was done in error.
Labels: -Mstone-14 Mstone-15 MovedFrom-14
Comment 13 by bugdro...@chromium.org, Jul 28, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=94605

------------------------------------------------------------------------
r94605 | dhollowa@chromium.org | Thu Jul 28 17:54:34 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/webui/options/browser_options_handler.h?r1=94605&r2=94604&pathrev=94605
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/options/browser_options.js?r1=94605&r2=94604&pathrev=94605
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/cocoa/window_restore_utils.mm?r1=94605&r2=94604&pathrev=94605
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/options/browser_options.html?r1=94605&r2=94604&pathrev=94605
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/cocoa/window_restore_utils.h?r1=94605&r2=94604&pathrev=94605
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser.gypi?r1=94605&r2=94604&pathrev=94605
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/webui/options/browser_options_handler.cc?r1=94605&r2=94604&pathrev=94605
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/prefs/session_startup_pref.cc?r1=94605&r2=94604&pathrev=94605
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/cocoa/gesture_utils.mm?r1=94605&r2=94604&pathrev=94605

Turn on session restore by default for mac on Lion

When the user has not explicitly set a preference in Chrome for session restore, the default behavior under Lion becomes sensitive to the System preference for window restore.

BUG=75814
TEST=SessionStartupPrefTest.*, and manual testing of WebUI: clean prefs, Launch Chrome, toggle "System Preferences > General > Restore windows..." and observe effect on Chrome preferences "Basics > On Startup".

Review URL: http://codereview.chromium.org/7522025
------------------------------------------------------------------------
Comment 14 by mark@chromium.org, Aug 1, 2011
(No comment was entered for this change.)
Labels: -macosxlion Hotlist-MacOSXLion
Comment 15 by bugdro...@chromium.org, Aug 2, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=95120

------------------------------------------------------------------------
r95120 | dhollowa@chromium.org | Tue Aug 02 11:48:40 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/cocoa/window_restore_utils.mm?r1=95120&r2=95119&pathrev=95120

Session restore by default should account for uninitialized state

Corrects logic for when Lion does not explicitly set a default for session restore.  The implicit default is that session restore is enabled.

BUG=75814
TEST=Manual testing.


Review URL: http://codereview.chromium.org/7544037
------------------------------------------------------------------------
Comment 16 by suj...@gmail.com, Aug 2, 2011
From what I've seen of Apple's Lion apps, the window "pop-in" animation (eg. http://static.arstechnica.net/2011/07/04/lion/lion-new-windows.mp4) should only occur on "new" windows or application states. "Resumed" windows are not meant to have the window animation, they just appear immediately. From what I've tested in 15.0.842.0 canary (wiped prefs and appsupport), Chrome seems to be doing the opposite.

Also I feel like more than a few people, like me, would want to manually enable the standard Resume over Chrome's session restore without resetting the preferences. Like you mentioned, it seems to be hard or impossible to enable this if you've fiddled around with the preferences, unless you clear the app pref files. Apologies if I've got any of that wrong.
Comment 17 by Yuush...@gmail.com, Aug 9, 2011
Bug in Canary 15.0.847.0:  In Lion, holding down the alt/option key while quitting apps that support resume will quit and discard all the open windows.  Canary isn't obeying this and is quitting, then restoring all the open windows on next launch.

Holding down the alt key while quitting should quit Chrome, and open up with a fresh new session on next launch.  Perhaps with the Home Page settings?
Comment 18 by dhollowa@chromium.org, Aug 10, 2011
Yes, this is known and mentioned in point (3) above.
Comment 19 by dhollowa@chromium.org, Aug 16, 2011
(No comment was entered for this change.)
Blockedon: 92984
Comment 20 by coolk...@gmail.com, Aug 24, 2011
The page content should be saved and not reloaded when re-opening Chrome. 

When one has dozens of windows with dozens of tabs each, it takes forever to reload everything. 

If I want updated content I can reload it manually...but it does't auto-reload while using the browser, and it shouldn't auto-reload just because I closed and reopened the app, it should just come back exactly as before and as fast as possible, ideally just put everything in memory as it was before and save memory to disk in the end, just like the OS hibernate function...simple and effective.

Another useful feature that is now done in Safari is auto-unloading of memory of tabs that are not used for some time...I don't want to close them but I don't need them to be kept in memory and running all the time, and when "reactivated" in this case they shouldn't have to reload content from the web either, just be fetched from disk to memory again.

This would be the perfect scenario for anyone that likes to have many open windows/tabs, and I think it is possible and should have been done already if you want to stay ahead of the competition.


Comment 21 by coolk...@gmail.com, Aug 24, 2011
There are many other bugs and features of session restore that should be addressed at the same time as Lion users will be starting to expect from good apps.

For example, it should be space-sensitive. It is very annoying to organize Chrome windows in different desktops, just to loose everything on a session restore that doesn't restore the window position.
Comment 22 by dhollowa@chromium.org, Aug 29, 2011
Spaces restore is  bug 94606 .
Blockedon: 94606
Comment 23 by dhollowa@chromium.org, Aug 29, 2011
Minimization state is  bug 43274 .
Blockedon: 43274
Comment 24 by dhollowa@chromium.org, Aug 29, 2011
Quit menu is bug 94609.  (Currently blocked on Apple).
Comment 25 by dhollowa@chromium.org, Aug 29, 2011
(No comment was entered for this change.)
Blockedon: 94609
Comment 26 by dhollowa@chromium.org, Aug 29, 2011
Fullscreen restore is  bug 94611 .
Blockedon: 94611
Comment 27 by dhollowa@chromium.org, Aug 29, 2011
Task Manager window resume is bug 94612.
Blockedon: 94612
Comment 28 by dhollowa@chromium.org, Sep 6, 2011
Essential functionality for M15 is in.  The remaining work is tracked as dependent bugs.  Keeping this as a meta-ish bug until remaining work is complete.
Labels: -MovedFrom-13 -MovedFrom-12 -Mstone-15 -MovedFrom-14 Mstone-16
Comment 29 by lafo...@google.com, Oct 24, 2011
(No comment was entered for this change.)
Labels: -Mstone-16 MovedFrom-16 Mstone-17
Comment 30 by kerz@google.com, Dec 19, 2011
Moving bugs marked as Available but not blockers from M17 to M18.  Please move back if you think this is a blocker, and add the ReleaseBlock-Stable label.  If you're able.
Labels: -Mstone-17 Mstone-18 MovedFrom-17
Comment 31 by m...@tribalvibes.com, Dec 21, 2011
PLEASE CONCENTRATE ON FIXING  BUG 94606 .  It's incredible that you would consider restoring the "full screen" state but not put the windows in the right workspaces! Unbearable. Stop pandering to n00b users who couldn't care less whether their two open windows are preserved or not with the Quit Menu Modifier and start making Chromium ROBUST FOR POWER USERS WHO DEPEND ON IT DAILY.  It still leaks memory like a dawg and when you have 20+GB of swap being used with 100+ open windows across 8 workspaces soon or later it's going to cause a freeze or crash and necessitate a restart -- so please FIX RESTORING THE WINDOWS TO THE RIGHT WORKSPACE when that restart happens. Nothing else here matters--screw the conflicted settings, just do the right thing! Solve the hard problem, not the UI button labels!
Comment 32 by dhollowa@chromium.org, Jan 19, 2012
(No comment was entered for this change.)
Labels: -Mstone-18 Mstone-19 MovedFrom-18
Comment 33 by dhollowa@chromium.org, Feb 8, 2012
(No comment was entered for this change.)
Blockedon: 113328
Comment 34 by bauerb@chromium.org, Feb 17, 2012
(No comment was entered for this change.)
Blockedon: 74812
Comment 35 by dhollowa@chromium.org, Mar 26, 2012
(No comment was entered for this change.)
Labels: -Mstone-19 Mstone-20
Comment 36 by dhar...@google.com, May 4, 2012
M20 is about to sail in couple of days. If this should be part of M20, add it back.
Labels: -Mstone-20 bulkmove MovedFrom-20 Mstone-21
Sign in to add a comment

Powered by Google Project Hosting