title: Firefox fetch refuses to send custom headers
body: <p>Googled for an hour, but cannot find any hints to what I'm missing here.</p>
  
  <p><a href="https://jsfiddle.net/hd5y8guL/" rel="nofollow noreferrer">This fiddle</a> works fine in Chrome, but Firefox is not even trying to send the OPTIONS request.</p>
  
  <pre><code>fetch("http://localhost:8080/mutate?commitNow=true", {
    method: "POST",
    body: '{"set": { "name": "Alice" }}',
    //headers: {"Content-Type": "application/json"},
    headers: [ ["Content-Type", "application/json"] ]
  })
  </code></pre>
  
  <p>There's no network request fired in firefox de tools and I've confirmed that the server does not receive any requests.
  In Chrome same fiddle does send preflight and the request.
  If I comment out the custom headers it starts to work fine in Firefox too. But I need to set content-type.</p>
  
  <p><strong>How do I make Firefox send custom headers with CORS fetch?</strong></p>
  
  <p>Error message in console is:</p>
  
  <pre><code>Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/mutate?commitNow=true. (Reason: CORS request did not succeed).
  </code></pre>
  
  <p>This message isn't helpful because request wasn't even attempted (see above)</p>