Add support for NetErrorDetails to Cronet's BidirectionalStream

This plumbs the quic error information through to Cronet's
BidirectionalStream::OnError

Bug: 624942
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: I7debf4c530cc9fba4a8fe5c62808afa582e6428e
Reviewed-on: https://chromium-review.googlesource.com/567282
Reviewed-by: Misha Efimov <[email protected]>
Commit-Queue: Brad Lassey <[email protected]>
Cr-Commit-Position: refs/heads/master@{#487690}
diff --git a/net/http/bidirectional_stream.h b/net/http/bidirectional_stream.h
index e72e7fe4..043ce80b 100644
--- a/net/http/bidirectional_stream.h
+++ b/net/http/bidirectional_stream.h
@@ -31,6 +31,7 @@
 class ProxyInfo;
 class SpdyHeaderBlock;
 struct BidirectionalStreamRequestInfo;
+struct NetErrorDetails;
 struct SSLConfig;
 
 // A class to do HTTP/2 bidirectional streaming. Note that at most one each of
@@ -170,6 +171,11 @@
   // Gets LoadTimingInfo of this stream.
   void GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const;
 
+  // Get the network error details this stream is encountering.
+  // Fills in |details| if it is available; leaves |details| unchanged if it
+  // is unavailable.
+  void PopulateNetErrorDetails(NetErrorDetails* details);
+
  private:
   // BidirectionalStreamImpl::Delegate implementation:
   void OnStreamReady(bool request_headers_sent) override;