Firefox/Projects/TabCandy/Design/BrowserRestart
This is a re-working of bug #575903.
The guiding principal for Firefox restart is to put the user back to exactly where they were before. If Tab Candy was open on quit/restart, we bring them back to Tab Candy. If they were on a particular tab, bring them back there. There are three cases for browser restart that we need to handle for Tab Candy. It is important that restart remain highly performant.
(1) Tab Candy was last open.
In this case, Tab Candy is opened at launch. The loading of TabCandy must feel near instant and we should be minimizing startup time regressions. While a spec should not dictate implementation directions, at the very least we should be saving the thumbnails of tabs from last time to make layout super fast. If that isn't fast enough, we can potentially save an image of the entire TabCandy interface.
(2) A tab was last open.
In this case, we return to that Tab. There should be no "loading" phase where there are extra tabs in the tabstrip, and tabcandy should be loaded in the background.
(3) The session restore page is invoked
Example of session restore
In this case, TabCandy should not be loaded. I.e., should be blank.