Firefox Accounts renders blank-ish screen if dom.storage.enabled is false #1848
Comments
Yeah, we detect localStorage enabled in /cc @kparlante |
Tinfoilers... |
I'm trying to think if we require access to local/sessionStorage, or if FxA will work acceptably, albeit with a slightly degraded experience, with dom.storage.enabled set to false. If we are unable to store data, the repercussions are:
IIUC, a Sync user with dom.storage.enabled set to false should be alright, the |
There are multiple problems when dom.storage.enabled is set to false.
|
This came from https://bugzilla.mozilla.org/show_bug.cgi?id=1093915#c4, with the user reporting that they had a blank screen, and indicating that they had taken no action to set it to false intentionally. |
If I'm reading the code correctly, this screen gets shown for either localStorage or cookies disabled:
|
You are correct. @ryanfeeley and I talked about creating separate messages/screens for cookies and localStorage, but we felt the average user would have almost no clue what We should make the metrics report for what caused the failure more specific. |
…ge is disabled. * Work with the author of crosstab to ensure it works as expected with cookies and localStorage disabled. * Ensure the /cookies_disabled page renders if the user reloads it while cookies are disabled. fixes #1848
Found in https://accounts.stage.mozaws.net/ver.json (commit 310bd7d)
Steps to reproduce:
dom.storage.enabled
and set it tofalse
.Actual results:
Figure 1. Thats no good!
If I try and read the cryptic minimized content, I see the following (3) instances of
t.
:t.setItem(a,JSON.stringify(c))
(/app/scripts/vendor/crosstab.js:247?)var b=t.getItem(a)
(/app/scripts/vendor/crosstab.js:256?)t.removeItem(u.keys[a])
(/app/scripts/vendor/crosstab.js:414?)Expected results:
We should check for local/session storage and possibly fail fast(er) if
dom.storage
is disabled.Thankfully it looks like all the errors are coming from vendor/crosstab.js, I think elsewhere the localStorage and sessionStorage calls are wrapped in try/catch blocks.
The text was updated successfully, but these errors were encountered: