| Index: webkit/glue/websocketstreamhandle_impl.cc
|
| diff --git a/webkit/glue/websocketstreamhandle_impl.cc b/webkit/glue/websocketstreamhandle_impl.cc
|
| index 48cdeea984b1261930d0216f28fd29ffb37e102d..5952850dc842048e2656adf506b20746d8f1538d 100644
|
| --- a/webkit/glue/websocketstreamhandle_impl.cc
|
| +++ b/webkit/glue/websocketstreamhandle_impl.cc
|
| @@ -61,7 +61,7 @@ class WebSocketStreamHandleImpl::Context
|
| WebKit::WebSocketStreamHandleClient* client_;
|
| // |bridge_| is alive from Connect to DidClose, so Context must be alive
|
| // in the time period.
|
| - WebSocketStreamHandleBridge* bridge_;
|
| + scoped_refptr<WebSocketStreamHandleBridge> bridge_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Context);
|
| };
|
| @@ -97,8 +97,8 @@ void WebSocketStreamHandleImpl::Context::Detach() {
|
| handle_ = NULL;
|
| client_ = NULL;
|
| // If Connect was called, |bridge_| is not NULL, so that this Context closes
|
| - // the |bridge_| here. Then |bridge_| will call back DidClose, in which
|
| - // this Context will delete the |bridge_|.
|
| + // the |bridge_| here. Then |bridge_| will call back DidClose, and will
|
| + // be released by itself.
|
| // Otherwise, |bridge_| is NULL.
|
| if (bridge_)
|
| bridge_->Close();
|
| @@ -133,7 +133,6 @@ void WebSocketStreamHandleImpl::Context::DidReceiveData(
|
| void WebSocketStreamHandleImpl::Context::DidClose(
|
| WebKit::WebSocketStreamHandle* web_handle) {
|
| LOG(INFO) << "DidClose";
|
| - delete bridge_;
|
| bridge_ = NULL;
|
| WebSocketStreamHandleImpl* handle = handle_;
|
| handle_ = NULL;
|
|
|