gecko-dev/browser/components/sessionstore
David Rajchenbach-Teller 2e0b046d19 Bug 1243549 - SessionFile.wipe() now waits until SessionFile has been properly initialized. r=mconley
While investigating bug 1243549, we encountered several instances of the following error message during each startup:

*************************
A coding exception was thrown and uncaught in a Task.

Full message: TypeError: this.Paths is null
Full stack: Agent.wipe@resource:///modules/sessionstore/SessionWorker.js:296:7
worker.dispatch@resource:///modules/sessionstore/SessionWorker.js:21:24
anonymous/AbstractWorker.prototype.handleMessage@resource://gre/modules/workers/PromiseWorker.js:122:16
@resource:///modules/sessionstore/SessionWorker.js:30:41

*************************

These messages can be explained as follows:

* If sanitization has failed during shutdown, it attempts again to
  sanitize during startup. This happens more often than it used to,
  because of 1/ startup bug fixes in bug 1089695; 2/ new shutdown bugs
  most likely also added by or around bug 1089695.

* Sanitization during startup doesn't wait until Session Restore has
  properly started to sanitize the session. So sanitization of Session
  Restore file fails. This has probably always been the case, except
  we never noticed.

* For some reason I do not understand, it attempts to sanitize several
  times.

* I suspect that this can cause problems during startup, as
  sanitization and Session Restore race to use/remove the files of
  Session Restore.

This patch makes sure that SessionFile.wipe() waits until
initialization of SessionFile is complete before proceeding.
2016-02-02 12:56:11 +01:00
..
content Bug 1231422 - Fix busted pref observer for browser.sessionstore.debug.no_auto_updates. r=billm 2016-01-22 11:43:49 -05:00
test Bug 1195881 - working test for session store using containers under e10s. r=baku,r=tanvi 2016-01-20 00:29:00 +01:00
ContentRestore.jsm Backout patch for bug 1175267 (again) for causing bugs 1213650 and 1228179. 2015-11-26 10:07:27 -05:00
DocShellCapabilities.jsm
FrameTree.jsm Bug 1101817 - Part 1: Remove usages of WeakMap.prototype.clear from Gecko. r=yzen,mak,yoric,gijs,jlongster 2016-01-04 13:06:50 +01:00
GlobalState.jsm
jar.mn
moz.build Bug 1214158 - New module StartupPerformance to monitor the duration of restoration of initial tabs;r=mconley 2015-11-26 18:01:56 +01:00
nsISessionStartup.idl
nsISessionStore.idl
nsSessionStartup.js Bug 1214158 - New module StartupPerformance to monitor the duration of restoration of initial tabs;r=mconley 2015-11-26 18:01:56 +01:00
nsSessionStore.js
nsSessionStore.manifest Bug 1204965 - Graphene support. Merge larch into mozilla-central. r=fabrice r=glandium 2015-09-30 23:49:00 +02:00
PageStyle.jsm
PrivacyFilter.jsm Bug 1235379 - Eliminate deferred session storage mode (r=ttaubert) 2016-01-05 21:59:46 -08:00
PrivacyLevel.jsm Bug 1235379 - Eliminate deferred session storage mode (r=ttaubert) 2016-01-05 21:59:46 -08:00
RecentlyClosedTabsAndWindowsMenuUtils.jsm Bug 1118926 (Part 2) - Remove remnants of -moz-resolution in JavaScript code. r=dolske 2015-09-30 17:00:56 -07:00
RunState.jsm Bug 1177310 - Don't flush windows synchronously on application shutdown. r=billm,feedback=ttaubert 2015-11-13 14:46:37 -05:00
SessionCookies.jsm
SessionFile.jsm Bug 1243549 - SessionFile.wipe() now waits until SessionFile has been properly initialized. r=mconley 2016-02-02 12:56:11 +01:00
SessionHistory.jsm Bug 1237081 - remove the getter of userContextId from nsIDocShell, r=smaug 2016-01-06 15:39:58 +00:00
SessionMigration.jsm Bug 1222490 - part 2: remove traces of tabview from XUL/XBL/JS in other parts of browser/, r=ttaubert 2015-12-01 10:48:11 +00:00
SessionSaver.jsm Bug 1204812 - Keep Console.jsm in toolkit/modules/ r=jryans,Mossop 2015-10-15 03:45:22 -07:00
SessionStorage.jsm Bug 1235657 - Session storage needs to handle origin attributes correctly - part 2 - SessionStorageInternal::restore, r=huseby 2016-01-06 10:09:04 +00:00
SessionStore.jsm Bug 1238311: Part 2 - Persist tab mutedInfo in sessionstore. r=ehsan 2016-01-26 17:05:42 -08:00
SessionWorker.js
SessionWorker.jsm
StartupPerformance.jsm Bug 1198898 - Determining number of tabs/windows restored by Session Restore;r=mconley 2015-11-26 18:13:20 +01:00
TabAttributes.jsm Bug 1211314 - Use tab.toggleMuteAudio() from sessionstore instead of setting the muted attribute manually on the tab; r=jaws 2015-10-14 17:21:05 -04:00
TabState.jsm Bug 1238311: Part 2 - Persist tab mutedInfo in sessionstore. r=ehsan 2016-01-26 17:05:42 -08:00
TabStateCache.jsm
TabStateFlusher.jsm Bug 1177310 - TabStateFlusher Promises should always resolve. r=Yoric 2015-11-24 18:41:32 -05:00
Utils.jsm