mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 08:45:46 +00:00
45fc75766f
ClientChannelHelperParent is the thing creating the ClientInfos which aren't backed by existing ClientSources, so it may make sense for CCHP to tell the ClientManagerService (CMS) to "expect" or "forget" a "future" ClientSource(Parent). When such a ClientInfo is created, CCHP notifies the CMS that a future ClientSource may be created. This notification has to be observed before any ClientHandles try to query CMS to a ClientSourceParent, which is the case because the notification as well as ClientHandleParent constructors occur over PBackground, and the notification sending method is called first. CMS is told to forget the future ClientSource whenever a redirect occurs that would result in the creation of a new ClientSource (i.e. a new ClientInfo). It's also possible that the ClientInfo's LoadInfo's channel is cancelled. To account for this, CHCP stores the most recent ClientInfo it's created and tells CMS to _possibly_ forget the associated future ClientSource in its destructor. It's possible that the channel completed its load, in which case this notification is a no-op. This also relies on CHCP being destroyed after the reserved ClientSource has a chance to both be created and register its ClientSourceParent. Differential Revision: https://phabricator.services.mozilla.com/D66529 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
api | ||
manager | ||
moz.build |