user967973
user967973

Reputation: 2595

Where does Firefox store the sessionStorage content

I am trying to find out where Firefox stores the sessionStorage content but have been unable to find so. I am expecting it to be in a SqLite database like the localStorage content is stored but I have not been able to find it.

So far, I have searched all the typical ".sqlite" files in the profile folder such as cookies.sqlite and content-prefs.sqlite etc but they do not seem to have the sessionStorage data.

I also tried to open the special in-memory database that Firefox supposedly creates - https://developer.mozilla.org/en/XPCOM_Interface_Reference/mozIStorageService#openSpecialDatabase%28%29 but I could not find a way to enumerate the tables present in the database. I could get a connection to the in memory database but i have no clue as to how to figure out the tables etc. that are present in that in-memory database...

Any help is appreciated

Thanks,

Upvotes: 7

Views: 5615

Answers (1)

Wladimir Palant
Wladimir Palant

Reputation: 57651

localStorage data is saved in the file webappsstore.sqlite in the Firefox profile. There is a funny tweak that host names are reverted (gro.allizom instead of mozilla.org) but other than that it is pretty much what you would expect. There is only one table:

CREATE TABLE webappsstore2 (
  scope TEXT,
  key TEXT,
  value TEXT,
  secure INTEGER,
  owner TEXT
)

Note that this structure might change in a future Firefox version.

As to sessionStorage, it only needs to persist for one browser session. Restarting the browser normally clears it, so it doesn't need to be stored in a database. Firefox still writes it to disk to allow restoring the current browsing session, namely to the sessionstore.js file (JSON format). There is a key storage, its value is a map from URLs to their corresponding sessionStorage data. I am not sure whether this data is complete however given that its main purpose is to recover from crashes.

Upvotes: 5

Related Questions