Add support for getting actual request headers to net::URLRequest

This introduces URLRequest::SetRequestHeadersCallback() that installs
a callback that receives actual headers sent to the remote party if
request involves an HTTP transaction. We previously got this via
NetLogObserver that we would like to remove.

Bug: 721408
Change-Id: I1c9625730a227e6ae33cae4b16478f441f249ecd
Reviewed-on: https://chromium-review.googlesource.com/611089
Commit-Queue: Andrey Kosyakov <[email protected]>
Reviewed-by: Matt Menke <[email protected]>
Reviewed-by: Dmitry Gozman <[email protected]>
Cr-Commit-Position: refs/heads/master@{#494127}
diff --git a/net/websockets/websocket_handshake_stream_base.h b/net/websockets/websocket_handshake_stream_base.h
index a3ed3a1..9ca9679 100644
--- a/net/websockets/websocket_handshake_stream_base.h
+++ b/net/websockets/websocket_handshake_stream_base.h
@@ -61,6 +61,8 @@
   // been called.
   virtual std::unique_ptr<WebSocketStream> Upgrade() = 0;
 
+  void SetRequestHeadersCallback(RequestHeadersCallback callback) override {}
+
  protected:
   // As with the destructor, this must be inline.
   WebSocketHandshakeStreamBase() {}