While trying to delay an OnStopRequest propagation I found out that this is not possible. Scenario: * Inject a listener in nsHttpChannel * Return in the listeners OnStopRequest without calling any further listener (i.e. mNextListener-> ...) I would expect now that I can call mNextListener-> in my listener at a later point in time to finish off the request. Unfortunately that's not possible because nsHttpChannel cleans up after calling mListener->OnStopRequest  such that any my listener is not usable anymore. > CloseCacheEntry(!contentComplete); > > if (mOfflineCacheEntry) > CloseOfflineCacheEntry(); > > if (mLoadGroup) > mLoadGroup->RemoveRequest(this, nullptr, status); > > // We don't need this info anymore > CleanRedirectCacheChainIfNecessary(); > > ReleaseListeners();  https://dxr.mozilla.org/mozilla-central/rev/51377a64158941f89ed73f388ae437cfa494c030/netwerk/protocol/http/nsHttpChannel.cpp#6412
There is no need to do this. Correct use of mListener chaining will work well.