title: chrome.storage.sync.set not working
body: <p>I am creating a Chrome extension that collects your geolocation when you click on it - syncing data so that it stores the past 20 longitude-latitude coordinates you were at.  But the chrome.storage.sync.set seems to not be working!</p>
  
  <pre><code>    var locations = [];
  //get past locations and put them into 'locations' array
      chrome.storage.sync.get("locations", function(data){
          console.log("Getting Locations");
          var index;
          for (index = 0; index &lt; data.length; ++index) {
              locations.unshift(data);
          }
      });
  //add current location to 'locations' array
      navigator.geolocation.getCurrentPosition(function(position) 
      {
          initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
      });
      locations.unshift(initialLocation);
  
  //sync locations to cloud
      var obj = {};
      obj["locations"] = locations;
      chrome.storage.sync.set(obj, function() {
          console.log("Location Saved");
          console.log(locations);
      });
  </code></pre>
  
  <p>So each time I run this code - it should 
  (a) get past locations (b) add current location and (c) store it back in the cloud.  But each time I run the program the 'locations' array stays size [1] aka nothing is getting get/set !  I've looked at a few other posts about this concerning the correctness of the arguments but I've checked mine and I believe they are sound.   </p>
  
  <p>What's happening?!? Can anybody shed some light on how to make this code work?  Thanks so much to my Code Heroes :D</p>