Bug 1900094 - Add telemetry for impressions missing due to domain-to-categories map...
[gecko.git] / netwerk / ipc / PDocumentChannel.ipdl
blob1e40052a25aaf7341a4a42d8ab9613fe5a583151
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 include protocol PNecko;
9 include protocol PStreamFilter;
10 include InputStreamParams;
11 include PBackgroundSharedTypes;
12 include NeckoChannelParams;
13 include IPCServiceWorkerDescriptor;
14 include IPCStream;
15 include DOMTypes;
17 include "mozilla/net/NeckoMessageUtils.h";
19 using class mozilla::net::nsHttpHeaderArray from "nsHttpHeaderArray.h";
20 using mozilla::net::NetAddr from "mozilla/net/DNS.h";
22 namespace mozilla {
23 namespace net {
25 protocol PDocumentChannel
27   manager PNecko;
29 parent:
31   async Cancel(nsresult status, nsCString reason);
33   async __delete__();
35 child:
37   // Used to cancel child channel if we hit errors during creating and
38   // AsyncOpen of nsHttpChannel on the parent.
39   async FailedAsyncOpen(nsresult status);
41   // This message is sent to a child that has been redirected to another process.
42   // As a consequence, it should cleanup the channel listeners and remove the
43   // request from the loadGroup.
44   // aStatus must be an error result.
45   // aLoadGroupReason is used as mStatus when we remove the child channel from
46   // the loadgroup (but aStatus is passed as the parameter to RemoveRequest).
47   // We do this so we can remove using NS_BINDING_RETARGETED, but still have the
48   // channel not be in an error state.
49   async DisconnectChildListeners(nsresult aStatus, nsresult aLoadGroupReason, bool aContinueNavigating);
51   // Triggers replacing this DocumentChannel with a 'real' channel (like PHttpChannel),
52   // and notifies the listener via a redirect to the new channel.
53   async RedirectToRealChannel(RedirectToRealChannelArgs args, Endpoint<PStreamFilterParent>[] aEndpoint)
54       returns (nsresult rv);
56   // May only be called on a DocumentChannel created by nsObjectLoadingContent
57   // for an object or embed element load.
58   //
59   // Promotes the load from an object load to a proper document load, and
60   // returns the `BrowsingContext` which should be used to host the final load.
61   async UpgradeObjectLoad() returns (MaybeDiscardedBrowsingContext frameContext);
64 } // namespace net
65 } // namespace mozilla