| Index: net/spdy/spdy_session.cc
|
| diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
|
| index 3af9079e742f9ab0ac9f8d426f0ff2f20b3394cd..7035bb8c5a69d06f05988946e83770fb37378c07 100644
|
| --- a/net/spdy/spdy_session.cc
|
| +++ b/net/spdy/spdy_session.cc
|
| @@ -255,7 +255,8 @@ SpdySession::SpdySession(const HostPortProxyPair& host_port_proxy_pair,
|
| DCHECK(HttpStreamFactory::spdy_enabled());
|
| net_log_.BeginEvent(
|
| NetLog::TYPE_SPDY_SESSION,
|
| - new NetLogSpdySessionParameter(host_port_proxy_pair_));
|
| + make_scoped_refptr(
|
| + new NetLogSpdySessionParameter(host_port_proxy_pair_)));
|
|
|
| // TODO(mbelshe): consider randomization of the stream_hi_water_mark.
|
|
|
| @@ -463,7 +464,8 @@ int SpdySession::WriteSynStream(
|
| if (net_log().IsLoggingAllEvents()) {
|
| net_log().AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_SYN_STREAM,
|
| - new NetLogSpdySynParameter(headers, flags, stream_id));
|
| + make_scoped_refptr(
|
| + new NetLogSpdySynParameter(headers, flags, stream_id)));
|
| }
|
|
|
| return ERR_IO_PENDING;
|
| @@ -494,8 +496,10 @@ int SpdySession::WriteStreamData(spdy::SpdyStreamId stream_id,
|
| // as stalled - because only the session knows for sure when the
|
| // stall occurs.
|
| stream->set_stalled_by_flow_control(true);
|
| - net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_STALLED_ON_SEND_WINDOW,
|
| - new NetLogIntegerParameter("stream_id", stream_id));
|
| + net_log().AddEvent(
|
| + NetLog::TYPE_SPDY_SESSION_STALLED_ON_SEND_WINDOW,
|
| + make_scoped_refptr(
|
| + new NetLogIntegerParameter("stream_id", stream_id)));
|
| return ERR_IO_PENDING;
|
| }
|
| int new_len = std::min(len, stream->send_window_size());
|
| @@ -506,9 +510,11 @@ int SpdySession::WriteStreamData(spdy::SpdyStreamId stream_id,
|
| stream->DecreaseSendWindowSize(len);
|
| }
|
|
|
| - if (net_log().IsLoggingAllEvents())
|
| - net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_SEND_DATA,
|
| - new NetLogSpdyDataParameter(stream_id, len, flags));
|
| + if (net_log().IsLoggingAllEvents()) {
|
| + net_log().AddEvent(
|
| + NetLog::TYPE_SPDY_SESSION_SEND_DATA,
|
| + make_scoped_refptr(new NetLogSpdyDataParameter(stream_id, len, flags)));
|
| + }
|
|
|
| // TODO(mbelshe): reduce memory copies here.
|
| scoped_ptr<spdy::SpdyDataFrame> frame(
|
| @@ -529,7 +535,7 @@ void SpdySession::ResetStream(
|
|
|
| net_log().AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_SEND_RST_STREAM,
|
| - new NetLogSpdyRstParameter(stream_id, status));
|
| + make_scoped_refptr(new NetLogSpdyRstParameter(stream_id, status)));
|
|
|
| scoped_ptr<spdy::SpdyRstStreamControlFrame> rst_frame(
|
| spdy_framer_.CreateRstStream(stream_id, status));
|
| @@ -829,8 +835,9 @@ void SpdySession::CloseSessionOnError(net::Error err, bool remove_from_pool) {
|
| scoped_refptr<SpdySession> self(this);
|
|
|
| DCHECK_LT(err, OK);
|
| - net_log_.AddEvent(NetLog::TYPE_SPDY_SESSION_CLOSE,
|
| - new NetLogIntegerParameter("status", err));
|
| + net_log_.AddEvent(
|
| + NetLog::TYPE_SPDY_SESSION_CLOSE,
|
| + make_scoped_refptr(new NetLogIntegerParameter("status", err)));
|
|
|
| // Don't close twice. This can occur because we can have both
|
| // a read and a write outstanding, and each can complete with
|
| @@ -912,7 +919,7 @@ void SpdySession::DeleteStream(spdy::SpdyStreamId id, int status) {
|
|
|
| void SpdySession::RemoveFromPool() {
|
| if (spdy_session_pool_) {
|
| - spdy_session_pool_->Remove(this);
|
| + spdy_session_pool_->Remove(make_scoped_refptr(this));
|
| spdy_session_pool_ = NULL;
|
| }
|
| }
|
| @@ -963,9 +970,12 @@ void SpdySession::OnError(spdy::SpdyFramer* framer) {
|
| void SpdySession::OnStreamFrameData(spdy::SpdyStreamId stream_id,
|
| const char* data,
|
| size_t len) {
|
| - if (net_log().IsLoggingAllEvents())
|
| - net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_RECV_DATA,
|
| - new NetLogSpdyDataParameter(stream_id, len, spdy::SpdyDataFlags()));
|
| + if (net_log().IsLoggingAllEvents()) {
|
| + net_log().AddEvent(
|
| + NetLog::TYPE_SPDY_SESSION_RECV_DATA,
|
| + make_scoped_refptr(new NetLogSpdyDataParameter(
|
| + stream_id, len, spdy::SpdyDataFlags())));
|
| + }
|
|
|
| if (!IsStreamActive(stream_id)) {
|
| // NOTE: it may just be that the stream was cancelled.
|
| @@ -999,9 +1009,9 @@ void SpdySession::OnSyn(const spdy::SpdySynStreamControlFrame& frame,
|
| if (net_log_.IsLoggingAllEvents()) {
|
| net_log_.AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_PUSHED_SYN_STREAM,
|
| - new NetLogSpdySynParameter(
|
| + make_scoped_refptr(new NetLogSpdySynParameter(
|
| headers, static_cast<spdy::SpdyControlFlags>(frame.flags()),
|
| - stream_id));
|
| + stream_id)));
|
| }
|
|
|
| // Server-initiated streams should have even sequence numbers.
|
| @@ -1097,9 +1107,9 @@ void SpdySession::OnSynReply(const spdy::SpdySynReplyControlFrame& frame,
|
| if (net_log().IsLoggingAllEvents()) {
|
| net_log().AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_SYN_REPLY,
|
| - new NetLogSpdySynParameter(
|
| + make_scoped_refptr(new NetLogSpdySynParameter(
|
| headers, static_cast<spdy::SpdyControlFlags>(frame.flags()),
|
| - stream_id));
|
| + stream_id)));
|
| }
|
|
|
| Respond(*headers, stream);
|
| @@ -1160,7 +1170,8 @@ void SpdySession::OnRst(const spdy::SpdyRstStreamControlFrame& frame) {
|
|
|
| net_log().AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_RST_STREAM,
|
| - new NetLogSpdyRstParameter(stream_id, frame.status()));
|
| + make_scoped_refptr(
|
| + new NetLogSpdyRstParameter(stream_id, frame.status())));
|
|
|
| bool valid_stream = IsStreamActive(stream_id);
|
| if (!valid_stream) {
|
| @@ -1185,9 +1196,10 @@ void SpdySession::OnRst(const spdy::SpdyRstStreamControlFrame& frame) {
|
| void SpdySession::OnGoAway(const spdy::SpdyGoAwayControlFrame& frame) {
|
| net_log_.AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_GOAWAY,
|
| - new NetLogSpdyGoAwayParameter(frame.last_accepted_stream_id(),
|
| - active_streams_.size(),
|
| - unclaimed_pushed_streams_.size()));
|
| + make_scoped_refptr(
|
| + new NetLogSpdyGoAwayParameter(frame.last_accepted_stream_id(),
|
| + active_streams_.size(),
|
| + unclaimed_pushed_streams_.size())));
|
| RemoveFromPool();
|
| CloseAllStreams(net::ERR_ABORTED);
|
|
|
| @@ -1210,7 +1222,7 @@ void SpdySession::OnSettings(const spdy::SpdySettingsControlFrame& frame) {
|
|
|
| net_log_.AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_RECV_SETTINGS,
|
| - new NetLogSpdySettingsParameter(settings));
|
| + make_scoped_refptr(new NetLogSpdySettingsParameter(settings)));
|
| }
|
|
|
| void SpdySession::OnWindowUpdate(
|
| @@ -1238,9 +1250,8 @@ void SpdySession::OnWindowUpdate(
|
|
|
| net_log_.AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_SEND_WINDOW_UPDATE,
|
| - new NetLogSpdyWindowUpdateParameter(stream_id,
|
| - delta_window_size,
|
| - stream->send_window_size()));
|
| + make_scoped_refptr(new NetLogSpdyWindowUpdateParameter(
|
| + stream_id, delta_window_size, stream->send_window_size())));
|
| }
|
|
|
| void SpdySession::SendWindowUpdate(spdy::SpdyStreamId stream_id,
|
| @@ -1251,9 +1262,8 @@ void SpdySession::SendWindowUpdate(spdy::SpdyStreamId stream_id,
|
|
|
| net_log_.AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_RECV_WINDOW_UPDATE,
|
| - new NetLogSpdyWindowUpdateParameter(stream_id,
|
| - delta_window_size,
|
| - stream->recv_window_size()));
|
| + make_scoped_refptr(new NetLogSpdyWindowUpdateParameter(
|
| + stream_id, delta_window_size, stream->recv_window_size())));
|
|
|
| scoped_ptr<spdy::SpdyWindowUpdateControlFrame> window_update_frame(
|
| spdy_framer_.CreateWindowUpdate(stream_id, delta_window_size));
|
| @@ -1268,7 +1278,7 @@ void SpdySession::SendSettings() {
|
|
|
| net_log_.AddEvent(
|
| NetLog::TYPE_SPDY_SESSION_SEND_SETTINGS,
|
| - new NetLogSpdySettingsParameter(settings));
|
| + make_scoped_refptr(new NetLogSpdySettingsParameter(settings)));
|
|
|
| // Create the SETTINGS frame and send it.
|
| scoped_ptr<spdy::SpdySettingsControlFrame> settings_frame(
|
|
|