Reputation: 2595
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
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