We know that localStorage fails quite easily, mostly due to it being filled up. I was looking at my web inspector a bit today and happened to catch that on CentralAuth we use localStorage, without guarding against setItem exceptions such as QUOTA_EXCEEDED_ERR.
var t=new Date();t.setTime(t.getTime()+86400000);if('localStorage'in window&&window.localStorage)
{localStorage.setItem('CentralAuthAnon',t.getTime());}else{document.cookie='CentralAuthAnon=1;
expires='+t.toGMTString()+'; path=/';}