Plumb 103 responses from SpdyStream to the network service

This CL makes SpdyStream pass 103 Early Hints responses to the network
service (i.e., URLLoader). It works in the following way:
 SpdyStream
  --(delegate)--> SpdyHttpStream
  --(response_callback)--> HttpNetworkTransaction
  --(early_response_headers_callback)--> URLLoader

The callback for early responses is passed from the network service to
HttpNetworkTransaction in the following way:
 URLLoader
  -> URLRequest
  -> URLRequestHttpJob
  -> HttpNetworkTransaction

Alternative option:
We can use existing `request_headers_callback_` to plumb 103 responses
from //net to the network service. However, existing callbacks may not
expect to be called multiple times. Calling them with 1xx responses may
result in unexpected behavior. Having dedicated callback for 103
responses avoids such risks.

Bug: 671310
Change-Id: Ib688e891e0ed525db5f55a9b38eba258f72d4aed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2734060
Commit-Queue: Kenichi Ishibashi <[email protected]>
Reviewed-by: David Schinazi <[email protected]>
Reviewed-by: Yutaka Hirano <[email protected]>
Reviewed-by: Bence Béky <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Cr-Commit-Position: refs/heads/master@{#862630}
diff --git a/net/spdy/spdy_proxy_client_socket.cc b/net/spdy/spdy_proxy_client_socket.cc
index 94ab267..bd4fc21 100644
--- a/net/spdy/spdy_proxy_client_socket.cc
+++ b/net/spdy/spdy_proxy_client_socket.cc
@@ -450,6 +450,9 @@
   OnIOComplete(OK);
 }
 
+void SpdyProxyClientSocket::OnEarlyHintsReceived(
+    const spdy::Http2HeaderBlock& headers) {}
+
 void SpdyProxyClientSocket::OnHeadersReceived(
     const spdy::Http2HeaderBlock& response_headers,
     const spdy::Http2HeaderBlock* pushed_request_headers) {