diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-08 15:18:07 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-08 15:18:07 +0000 |
commit | 328078c4d259e52db1a4848c00ee0b420775c91c (patch) | |
tree | ca9b0e61a1c03f0246b0371423bbbe570193e2f1 /netwerk/protocol/http/HttpChannelChild.h | |
parent | Adding upstream version 115.8.0esr. (diff) | |
download | firefox-esr-328078c4d259e52db1a4848c00ee0b420775c91c.tar.xz firefox-esr-328078c4d259e52db1a4848c00ee0b420775c91c.zip |
Adding upstream version 115.9.0esr.upstream/115.9.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'netwerk/protocol/http/HttpChannelChild.h')
-rw-r--r-- | netwerk/protocol/http/HttpChannelChild.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/netwerk/protocol/http/HttpChannelChild.h b/netwerk/protocol/http/HttpChannelChild.h index c88d30023c..6a54ce390a 100644 --- a/netwerk/protocol/http/HttpChannelChild.h +++ b/netwerk/protocol/http/HttpChannelChild.h @@ -395,6 +395,12 @@ class HttpChannelChild final : public PHttpChannelChild, // permission or cookie. That is, RecvOnStartRequestSent is received. uint8_t mSuspendedByWaitingForPermissionCookie : 1; + // HttpChannelChild::Release has some special logic that makes sure + // OnStart/OnStop are always called when releasing the channel. + // But we have to make sure we only do this once - otherwise we could + // get stuck in a loop. + uint8_t mAlreadyReleased : 1; + void CleanupRedirectingChannel(nsresult rv); // Calls OnStartRequest and/or OnStopRequest on our listener in case we didn't @@ -427,7 +433,9 @@ class HttpChannelChild final : public PHttpChannelChild, const ResourceTimingStructArgs& timing); void Redirect3Complete(); void DeleteSelf(); - void DoNotifyListener(); + // aUseEventQueue should only be false when called from + // HttpChannelChild::Release to make sure OnStopRequest is called syncly. + void DoNotifyListener(bool aUseEventQueue = true); void ContinueDoNotifyListener(); void OnAfterLastPart(const nsresult& aStatus); void MaybeConnectToSocketProcess(); |