Files
brave-core/patches/extensions-browser-api-socket-tcp_socket.cc.patch
T

24 lines
983 B
Diff

diff --git a/extensions/browser/api/socket/tcp_socket.cc b/extensions/browser/api/socket/tcp_socket.cc
index b32697d299d65f90584ea1ae15e2ee130f416b92..4e849fdfe38731ade316a25297a812cc80d23cba 100644
--- a/extensions/browser/api/socket/tcp_socket.cc
+++ b/extensions/browser/api/socket/tcp_socket.cc
@@ -152,8 +152,16 @@ void TCPSocket::Disconnect(bool socket_destroying) {
client_socket_.reset();
server_socket_.reset();
listen_callback_.Reset();
- connect_callback_.Reset();
- accept_callback_.Reset();
+ if (connect_callback_) {
+ std::move(connect_callback_)
+ .Run(net::ERR_CONNECTION_CLOSED);
+ }
+ if (accept_callback_) {
+ std::move(accept_callback_)
+ .Run(net::ERR_CONNECTION_CLOSED, mojo::NullRemote(), absl::nullopt,
+ mojo::ScopedDataPipeConsumerHandle(),
+ mojo::ScopedDataPipeProducerHandle());
+ }
// TODO(devlin): Should we do this for all callbacks?
if (read_callback_) {
std::move(read_callback_)