In child process, during shutdown, it's possible that IsNeckoChild() is true but gNeckoChild is null. When this case happens, it is necessary to return early in RequestContext::BeginLoad to avoid modifying mAfterDOMContentLoaded.
In child process, during shutdown, it's possible that IsNeckoChild() is true but gNeckoChild is null. When this case happens, we have to early return in RequestContext::DOMContentLoaded() to avoid the asseration failure (MOZ_ASSERT(!IsNeckoChild())) in RequestContext::ScheduleUnblock().
RequestContextService will cancel all the blocked tail requests during xpcom-shutdown.
However, the timer for unblocking tail request might be already running.
RequestContext need to cancel the timer when all blocked tail request is canceled for that context.
MozReview-Commit-ID: 1Nbzu2a788w
--HG--
extra : rebase_source : 6a68310ab7984eb3ceebd089a1e36232b5f0a72b
This patch calls CancelTailPendingRequests(NS_ERROR_ABORT) for every RequestContext at shutdown, then prevents the creation of any more RequestContexts.
MozReview-Commit-ID: BbJDL7Np8HW
--HG--
extra : rebase_source : d144e3b09d9725fbc7df169f1c9a49bf45ddfd54