- Electron version: 1.2.0
- Operating system: OS X

``` js
electron.protocol.registerStandardSchemes(['foobar', 'http', 'https']);

app.on('ready', function() {
  electron.protocol.registerHttpProtocol('foobar', (request, callback) => {
    const redirectPath = `http://www.google.com`;
    callback({ method: request.method, referrer: request.referrer, url: redirectPath });
  }, e => { if (e) { console.log(e); } });
});
```

A webview somewhere gets its src set to "foobar://baz", however a blank window appears. The page is perpetually in a load state, as only the `did-start-loading` and `did-get-response-details` events get triggered on the webview.

If I redirect to `http://localhost:{port}/foobar`, my server does receive the request and responds properly. However, the webview in electron is still blank. Loading that address in a different browser works as expected.

What am I missing? Is there something more I need to do to get `registerHttpProtocol` working?

atom/browser/net/url_request_fetch_job.cc
fetcher_ = net::URLFetcher::Create(formated_url, request_type, this);
  fetcher_->SaveResponseWithWriter(make_scoped_ptr(new ResponsePiper(this)));
  
  if (url_request_context_getter_)
    fetcher_->SetRequestContext(url_request_context_getter_.get());
  else
    fetcher_->SetRequestContext(request_context_getter());
  
  if (referrer.empty())
    fetcher_->SetReferrer(request()->referrer());
  else
    fetcher_->SetReferrer(referrer);
  
  if (upload_data && request_type == net::URLFetcher::POST) {
    std::string content_type, data;
    upload_data->GetString("contentType", &content_type);
    upload_data->GetString("data", &data);
    fetcher_->SetUploadData(content_type, data);
  }
  
  fetcher_->SetExtraRequestHeaders(
      request()->extra_request_headers().ToString());
  fetcher_->Start();
}
void URLRequestFetchJob::HeadersCompleted() {
  response_info_.reset(new net::HttpResponseInfo);
  response_info_->headers = fetcher_->GetResponseHeaders();
  NotifyHeadersComplete();
}
int URLRequestFetchJob::DataAvailable(net::IOBuffer* buffer, int num_bytes) {