- This article was written for Firefox but also applies to SeaMonkey 2.
Starting in Firefox 2, a built-in Session Store feature saves your session data, including open windows and tabs, window size and position, and text typed in forms. Session data is stored in the sessionstore.js file, located in the profile folder.
Firefox will automatically restore your session after an automatic update, or when using the restart button from the Add-ons Manager. Firefox will offer to restore your session after a crash or other unexpected close.
Starting in Firefox 3.5, Firefox automatically restores your session after one crash. If it crashes again, Firefox displays an error page offering to restore the previous session or start a new session. 
Always restore sessions on start
By default this feature is off, but can be turned on from the Options/Preferences menu. In the Main panel, under Startup, set "When Firefox starts" to "Show my windows and tabs from last time". This will have Firefox restore your tabs and form data to their state when Firefox closed (the related preference is browser.startup.page).
If you want Firefox to restore multiple windows you need to close Firefox via "File -> Exit" ("File -> Quit" on Linux, "Firefox -> Quit Firefox" on Mac OS). Closing the windows one at a time will cause Firefox to only restore the last window that was closed.
Restoring a session once
Set browser.sessionstore.resume_session_once to "true" in about:config and it will restore your session the next time you start Firefox, but not again.
Restoring a session after a crash
If a site's content caused your crash (e.g., a plugin is crashing) restoring your session may restore that page and cause Firefox to crash again. If Firefox keeps crashing after choosing "Restore Session," choose "Start New Session."
Starting in Firefox 3.5, Firefox automatically restores your previous session after one crash (or unexpected close). If Firefox crashes a second time, a "Restore Session" error page is displayed, asking whether to restore the last session or start a new session. If you do not want Firefox to automatically restore your session after one crash, set the preference browser.sessionstore.max_resumed_crashes to 0 (default is 1).  
If neither your old session nor the Restore Session error page appears after a crash, or you accidentally click on “Start New Session”, you can enter about:sessionrestore in the Location Bar (address bar) to force the Restore Session page to appear, after first restoring a backup file to restore the old session data. The session data is stored in sessionstore.js; this file can be restored (while Firefox is not running) from backups, including "sessionstore.bak". The file "sessionstore.bak" is created if you launch Firefox after a crash has occurred. It is a copy of the current sessionstore.js that gets lost otherwise, if you restart Firefox. 
Disabling crash recovery
To disable the crash recovery feature, set browser.sessionstore.resume_from_crash to false in about:config:
- Type about:config in the Location Bar
- Press Enter
- Find browser.sessionstore.resume_from_crash
- Double click to set it to false
Completely disabling session store
Firefox 3 and below: To completely disable all session saving behavior, including the recording of session information, set browser.sessionstore.enabled to false in about:config.
Firefox 3.5 and above: Starting in Firefox 3.5 the preference browser.sessionstore.enabled is no longer used.  Instead, you can set the preferences browser.sessionstore.max_tabs_undo and browser.sessionstore.max_windows_undo to 0.
Session Restore will restore connections to services which use session cookies to maintain login state, such as GMail. If someone else uses your computer after you, that person could access your personal information on those sites. If this is a concern, you should not enable the "Show my windows and tabs from last time" option described above.
You may also wish to disable the Session Restore crash recovery feature by changing the value of browser.sessionstore.resume_from_crash from true (default) to to false (explained above). This will prevent another user from restoring a previous session when Firefox is opened after a crash or other unexpected close, such as system shutdown while Firefox is running.
- Session Restore (Firefox Support)
- Session Restore - MozillaWiki
- Firefox3.1/AboutSessionrestore Security Review - MozillaWiki
- Session store API - MDC
Related bug reports
- Bug 333907 - XRE quits too abruptly when Windows is shut down
- Bug 448976 - turn the Session Restore prompt into an error page
- Bug 481400 - Sessionrestore should ask after first crash and not after second one by default
- Bug 449596 - remove the browser.sessionstore.enabled pref
- Bug 501995 - Not prompted for session restore after force-quitting due to lock-up
- Bug 507868 - annoying and alarming behavior durning session restore when lots of tabs and windows were open in previous session