PDocumentChannel.ipdl (2241B)
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 : */ 3 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/. */ 7 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; 16 17 include "mozilla/net/NeckoMessageUtils.h"; 18 19 namespace mozilla { 20 namespace net { 21 22 protocol PDocumentChannel 23 { 24 manager PNecko; 25 26 parent: 27 28 async Cancel(nsresult status, nsCString reason); 29 30 async __delete__(); 31 32 child: 33 34 // Used to cancel child channel if we hit errors during creating and 35 // AsyncOpen of nsHttpChannel on the parent. 36 async FailedAsyncOpen(nsresult status); 37 38 // This message is sent to a child that has been redirected to another process. 39 // As a consequence, it should cleanup the channel listeners and remove the 40 // request from the loadGroup. 41 // aStatus must be an error result. 42 // aLoadGroupReason is used as mStatus when we remove the child channel from 43 // the loadgroup (but aStatus is passed as the parameter to RemoveRequest). 44 // We do this so we can remove using NS_BINDING_RETARGETED, but still have the 45 // channel not be in an error state. 46 async DisconnectChildListeners(nsresult aStatus, nsresult aLoadGroupReason, bool aContinueNavigating); 47 48 // Triggers replacing this DocumentChannel with a 'real' channel (like PHttpChannel), 49 // and notifies the listener via a redirect to the new channel. 50 async RedirectToRealChannel(RedirectToRealChannelArgs args, Endpoint<PStreamFilterParent>[] aEndpoint) 51 returns (nsresult rv); 52 53 // May only be called on a DocumentChannel created by nsObjectLoadingContent 54 // for an object or embed element load. 55 // 56 // Promotes the load from an object load to a proper document load, and 57 // returns the `BrowsingContext` which should be used to host the final load. 58 async UpgradeObjectLoad() returns (MaybeDiscardedBrowsingContext frameContext); 59 }; 60 61 } // namespace net 62 } // namespace mozilla 63