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"><<a href="mailto:nzakas@yahoo-inc.com">nzakas@yahoo-inc.com</a>></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's not many times when I need to get every single cookie that'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 < cookies.length; ++i){<br>
          if(cookies[i].name == "my_cookie_name"){<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'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't seem like asynchronicity buys much benefit, it just introduces an additional level of indirection.<br>

<br>
-Nicholas<br>
<br>
______________________________________________<br>
Commander Lock: "Damnit Morpheus, not everyone believes what you believe!"<br>
Morpheus: "My beliefs do not require them to."<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 <<a href="mailto:darin@chromium.org">darin@chromium.org</a>> wrote:<br>
> An explicit deleteCookie method might also be nice.<br>
> -Darin<br>
><br>
> On Tue, Feb 23, 2010 at 8:56 PM, Adam Barth <<a href="mailto:w3c@adambarth.com">w3c@adambarth.com</a>> wrote:<br>
>><br>
>> The document.cookie API is kind of terrible.  Web developers shouldn't<br>
>> have to parse a cookie-string or prepare a properly formated<br>
>> set-cookie-string.  Here's a proposal for an HTML cookie API that<br>
>> isn't as terrible:<br>
>><br>
>><br>
>> <a href="https://docs.google.com/Doc?docid=0AZpchfQ5mBrEZGQ0cDh3YzRfMTRmdHFma21kMg&hl=en" target="_blank">https://docs.google.com/Doc?docid=0AZpchfQ5mBrEZGQ0cDh3YzRfMTRmdHFma21kMg&hl=en</a><br>
>><br>
>> I'd like to propose we include this API in a future version of HTML.<br>
>> As always, feedback welcome.<br>
>><br>
>> Adam<br>
><br>
><br>
</div></div></blockquote></div><br></div></div>