title: Chrome extension storage.sync.set in content script throws exception
body: <p>I have a weird issue that wasted too much time.
  I have content script that tries to read some data from the storage.sync API but it fails.</p>
  
  <p>I've added the storage permission
  and I was able to work with the storage.sync API in the options.js file.</p>
  
  <p>Can you spot what went wrong?</p>
  
  <pre><code>document.addEventListener('DOMContentLoaded', function () {   
  
       chrome.storage.sync.get([
              'var1',
              'var2',        
          ], function(items) {        
              alert("got it");
       });
  }
  </code></pre>
  
  <p>This is the error message:</p>
  
  <blockquote>
    <p>CONTENT_SCRIPT context for xxxxx) Lazy require of extension.binding did not set the binding field</p>
    
    <p>(CONTENT_SCRIPT context for xxxxx) extensions::lastError:82: Uncaught TypeError: Cannot convert undefined or null to object{TypeError: Cannot convert undefined or null to object
        at Object.clear (extensions::lastError:82:23)
        at handleResponse (extensions::sendRequest:84:15)
        at restore
        at HTMLDocument.}</p>
  </blockquote>