title: Accessing Cookies in Chrome Extension
body: <p>I'm trying to write a chrome extension that works with YouTube and need to access some of YouTube's cookie information.  I cant seem to get my extension to see any cookies.  (Even though I can see them under resources in the "Inspect Element" developer portion of Chrome).</p>
  
  <p>I'm pretty sure I've set up permissions correctly in the manifest 2 file because when I take out the "cookies" permission just to test it I get an error saying "Cannot call method 'getAll'".  My current problem is just that no cookies are returned by the callback function.</p>
  
  <pre><code>{
  "manifest_version": 2,
  "name": "YouTube Viewer",
   "description": "This extension is for YouTube videos.",
   "version": "1.7",
  
   "icons": {
   "128": "ytblack.png"
   },
  
   "permissions": [
   "cookies",
   "https://www.youtube.com/",
   "http://www.youtube.com/",
   "tabs",
   "storage"
   ],
  
   "background": {
     "scripts": ["bootstrap.js"],
     "persistent": false
    },
  
   "page_action": {
   "default_title": "YT View",
   "default_icon": "ytblack.png",
   "default_popup": "popup.html"
   }
  
  }
  </code></pre>
  
  <p>My manifest calls the bootstrap.js.  Inside bootstrap.js there is a call to another file ytview.js but I'm not concerned with that.  The code in that is working fine.  But inside bootstrap.js my cookies.length is returning as 0 when I look at my "background page" console.  The log for "Callback for cookies came in fine." fires correctly.  But then it says "cookies.length=0".  Like I said, I know the cookies exist because I can see them in the resources.</p>
  
  <pre><code>chrome.tabs.onUpdated.addListener(function(id, info, tab){
  
  // decide if we're ready to inject content script
  if (tab.status !== "complete"){
      console.log("not yet");
      return;
  }
  if (tab.url.toLowerCase().indexOf("youtube.com/watch") === -1){
      console.log("you are not on a YouTube video");
      return;
  }
  
  chrome.cookies.getAll({domain: "www.youtube.com"}, function(cookies) {
  console.log('Callback for cookies came in fine.');
  console.log('cookies.length=' + cookies.length);        
      for(var i=0; i&lt;cookies.length;i++) {
        console.log('cookie=' + cookies[i].name);
      }
    });
  chrome.tabs.executeScript(null, {"file": "ytview.js"});
  
  });
  </code></pre>
  
  <p>Any ideas why no cookies are being returned?  Maybe something with "domain" in the .getAll statement?  I've tried lots of combinations like www.youtube.com, youtube.com, <a href="https://www.youtube.com" rel="nofollow">https://www.youtube.com</a> with no luck.</p>