For reference, reading document.cookie has measurable performance cost in Chromium since the cookie jar lives in a process separate from the process running JavaScript.  We could have minimized this cost by caching the cookies locally, but then there are cache coherency issues.<div>
<div><br></div><div>I think the cookie APIs should have been asynchronous from the start.  Whenever an API is backed by I/O, asynchronous should be the rule.  </div><div><br></div><div>-Darin</div><div><br><br><div class="gmail_quote">
On Wed, Feb 24, 2010 at 11:11 AM, Nicholas Zakas <span dir="ltr">&lt;<a href="mailto:nzakas@yahoo-inc.com">nzakas@yahoo-inc.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I like the idea of creating an easier way to deal with cookies (which is why I wrote the YUI Cookie utility way back when). The thing that seems to be missing in your proposed API is what I consider to be the most common use case: retrieving the value of a single cookie. There&#39;s not many times when I need to get every single cookie that&#39;s available on the page, but there are plenty of times when I want to check the value of a single cookie. Using your API, getting the value of a single cookie with a known name becomes:<br>

<br>
    document.getCookies(function(cookies) {<br>
      for (var i=0; i &lt; cookies.length; ++i){<br>
          if(cookies[i].name == &quot;my_cookie_name&quot;){<br>
              doSomething(cookies[i]);<br>
          }<br>
      }<br>
    });<br>
<br>
That seems like a lot of work just to retrieve a single cookie value.<br>
<br>
I&#39;m also less-than-thrilled with this being asynchronous, as I think the use cases for cookies are vastly differently than those for databases and web storage. The world is already parsing cookies synchronously right now, it doesn&#39;t seem like asynchronicity buys much benefit, it just introduces an additional level of indirection.<br>

<br>
-Nicholas<br>
<br>
______________________________________________<br>
Commander Lock: &quot;Damnit Morpheus, not everyone believes what you believe!&quot;<br>
Morpheus: &quot;My beliefs do not require them to.&quot;<br>
<div><div></div><div class="h5"><br>
-----Original Message-----<br>
From: <a href="mailto:whatwg-bounces@lists.whatwg.org">whatwg-bounces@lists.whatwg.org</a> [mailto:<a href="mailto:whatwg-bounces@lists.whatwg.org">whatwg-bounces@lists.whatwg.org</a>] On Behalf Of Adam Barth<br>
Sent: Wednesday, February 24, 2010 8:47 AM<br>
To: Darin Fisher<br>
Cc: whatwg<br>
Subject: Re: [whatwg] HTML Cookie API<br>
<br>
Done.<br>
<br>
On Wed, Feb 24, 2010 at 12:29 AM, Darin Fisher &lt;<a href="mailto:darin@chromium.org">darin@chromium.org</a>&gt; wrote:<br>
&gt; An explicit deleteCookie method might also be nice.<br>
&gt; -Darin<br>
&gt;<br>
&gt; On Tue, Feb 23, 2010 at 8:56 PM, Adam Barth &lt;<a href="mailto:w3c@adambarth.com">w3c@adambarth.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; The document.cookie API is kind of terrible.  Web developers shouldn&#39;t<br>
&gt;&gt; have to parse a cookie-string or prepare a properly formated<br>
&gt;&gt; set-cookie-string.  Here&#39;s a proposal for an HTML cookie API that<br>
&gt;&gt; isn&#39;t as terrible:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; <a href="https://docs.google.com/Doc?docid=0AZpchfQ5mBrEZGQ0cDh3YzRfMTRmdHFma21kMg&amp;hl=en" target="_blank">https://docs.google.com/Doc?docid=0AZpchfQ5mBrEZGQ0cDh3YzRfMTRmdHFma21kMg&amp;hl=en</a><br>
&gt;&gt;<br>
&gt;&gt; I&#39;d like to propose we include this API in a future version of HTML.<br>
&gt;&gt; As always, feedback welcome.<br>
&gt;&gt;<br>
&gt;&gt; Adam<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div>