<div class="gmail_quote">On Mon, Aug 31, 2009 at 11:50 AM, Jens Alfke <span dir="ltr">&lt;<a href="mailto:snej@google.com">snej@google.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word"><div class="im"><div><div>On Aug 31, 2009, at 11:35 AM, Peter Kasting wrote:</div><br><blockquote type="cite"><span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Baskerville;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div>
Again, the spec now says in 4.3: &quot;User agents should expire data from the local storage areas only for security reasons or when requested to do so by the user.&quot;  The only stronger statement you could get would be by changing this to a &quot;must&quot;.  It&#39;s not clear to me that that is going to result in any practical difference on the part of implementations or author perception.</div>
</span></blockquote><br></div></div><div>If you combine that statement with section 6.1&#39;s &quot;User agents should present the persistent storage feature to the user in a way that does not distinguish them from HTTP session cookies&quot;, then the result is that, when the user requests to delete cookies from a site, the UA will also delete that site&#39;s local storage. That is <i>exactly</i> the behavior I am concerned about.</div>
</div></blockquote><div><br></div><div>That&#39;s not true.  You&#39;re misinterpreting a statement about the granularity of control users should have as one about what terminology a UA should use.  The spec already recommends a bunch of things about what users should be shown w.r.t. Local Storage, such as how much space a site is using, so it&#39;s clear that a UA that wants to comply with this &quot;should&quot; is going to need to construct UI that doesn&#39;t just use the word &quot;cookies&quot; everywhere but actually presents the data as &quot;here&#39;s your locally stored data for this site&quot; with local storage content enumerated.  Users won&#39;t be given a prompt that says &quot;clear cookies&quot; that, confusingly, clears more than cookies; they&#39;ll be given a prompt like &quot;clear all locally stored data&quot;.</div>
<div><br></div><div>It seems like you&#39;re convinced that UAs won&#39;t create UI users can understand, and so you&#39;re trying to make the spec mandate what you think will be comprehensible for users.  IMO this is not only out-of-scope but pointless, as UAs are going to do what they want anyway.  The spec is already pretty clear in telling UAs not to be casual about things, I don&#39;t think you&#39;re going to change what actually gets implemented by demanding more.</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word"><div></div><div class="im"><div><blockquote type="cite"><div class="gmail_quote"><div>
This sounds like you are either completely ignoring, or disagreeing with, my claim that UAs aren&#39;t going to be flippant about this data.</div></div></blockquote><div><br></div></div></div><div>If UA&#39;s shouldn&#39;t treat the data lightly, then I would prefer to see a statement to that effect in the spec, such as the one that was just deleted.</div>
</div></blockquote><div><br></div><div>The sentence I quoted in 4.3 says _exactly_ that UAs should not treat data lightly.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word"><div></div><div>I think that (no offense) browser developers are not used to taking care of user-critical data for longer than the duration of a DOM tree or POST request.</div></div></blockquote>
<div><br></div><div>This kind of generalization is just silly.  See e.g. saved passwords, extensions, stored browsing history, persistent settings, etc.</div><div><br></div><div>PK</div></div>