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 e089d3d6e58137ce8965264337b4227054fe4341..f2933d02ad42fbbae70980a5a6d6a33b940e6466 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_)