tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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