Add SPDY SYN_STREAM and SYN_REPLY events to about:net-internals.
BUG=43237

Review URL: http://codereview.chromium.org/2004010

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47174 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h
index 5382867..8ef2da09 100644
--- a/net/spdy/spdy_session.h
+++ b/net/spdy/spdy_session.h
@@ -11,6 +11,7 @@
 #include <queue>
 #include <string>
 
+#include "base/linked_ptr.h"
 #include "base/ref_counted.h"
 #include "net/base/io_buffer.h"
 #include "net/base/load_states.h"
@@ -63,8 +64,10 @@
   // might also not have initiated the stream yet, but indicated it will via
   // X-Associated-Content.
   // Returns the new or existing stream.  Never returns NULL.
-  scoped_refptr<SpdyStream> GetOrCreateStream(const HttpRequestInfo& request,
-      const UploadDataStream* upload_data);
+  scoped_refptr<SpdyStream> GetOrCreateStream(
+      const HttpRequestInfo& request,
+      const UploadDataStream* upload_data,
+      const BoundNetLog& stream_net_log);
 
   // Used by SpdySessionPool to initialize with a pre-existing SSL socket.
   void InitializeWithSSLSocket(ClientSocketHandle* connection);
@@ -118,9 +121,9 @@
 
   // Control frame handlers.
   void OnSyn(const spdy::SpdySynStreamControlFrame& frame,
-             const spdy::SpdyHeaderBlock& headers);
+             const linked_ptr<spdy::SpdyHeaderBlock>& headers);
   void OnSynReply(const spdy::SpdySynReplyControlFrame& frame,
-                  const spdy::SpdyHeaderBlock& headers);
+                  const linked_ptr<spdy::SpdyHeaderBlock>& headers);
   void OnFin(const spdy::SpdyRstStreamControlFrame& frame);
   void OnGoAway(const spdy::SpdyGoAwayControlFrame& frame);
   void OnSettings(const spdy::SpdySettingsControlFrame& frame);