Index: extensions/browser/api/cast_channel/cast_socket.cc |
diff --git a/extensions/browser/api/cast_channel/cast_socket.cc b/extensions/browser/api/cast_channel/cast_socket.cc |
index 483b4f9795c8801ea9d9281b6af3631eae2820ce..921579e11dde62072d96cf1f63ac986790e0ea63 100644 |
--- a/extensions/browser/api/cast_channel/cast_socket.cc |
+++ b/extensions/browser/api/cast_channel/cast_socket.cc |
@@ -136,9 +136,12 @@ CastSocketImpl::CastSocketImpl(const std::string& owner_extension_id, |
} |
CastSocketImpl::~CastSocketImpl() { |
- // Ensure that resources are freed but do not run pending callbacks to avoid |
- // any re-entrancy. |
+ // Ensure that resources are freed but do not run pending callbacks that |
+ // would result in re-entrancy. |
CloseInternal(); |
+ |
+ if (!connect_callback_.is_null()) |
+ base::ResetAndReturn(&connect_callback_).Run(CHANNEL_ERROR_UNKNOWN); |
} |
ReadyState CastSocketImpl::ready_state() const { |