tor-browser

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

PHttpBackgroundChannel.ipdl (2942B)


      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 PBackground;
      9 include protocol PStreamFilter;
     10 include NeckoChannelParams;
     11 include HttpChannelParams;
     12 include PURLClassifierInfo;
     13 
     14 include "mozilla/net/NeckoMessageUtils.h";
     15 using class mozilla::net::nsHttpHeaderArray from "nsHttpHeaderArray.h";
     16 
     17 namespace mozilla {
     18 namespace net {
     19 
     20 //-------------------------------------------------------------------
     21 async protocol PHttpBackgroundChannel
     22 {
     23   manager PBackground;
     24 
     25 child:
     26   async OnStartRequest(nsHttpResponseHead  responseHead,
     27                        bool                useResponseHead,
     28                        nsHttpHeaderArray   requestHeaders,
     29                        HttpChannelOnStartRequestArgs args,
     30                        HttpChannelAltDataStream altData,
     31                        TimeStamp onStartRequestStart);
     32 
     33   // Combines a single OnDataAvailable and its associated OnProgress &
     34   // OnStatus calls into one IPDL message
     35   async OnTransportAndData(nsresult  channelStatus,
     36                            nsresult  transportStatus,
     37                            uint64_t  offset,
     38                            uint32_t  count,
     39                            nsCString data,
     40                            bool dataFromSocketProcess,
     41                            TimeStamp onDataAvailableStart);
     42 
     43 
     44   async OnStopRequest(nsresult channelStatus,
     45                       ResourceTimingStructArgs timing,
     46                       TimeStamp lastActiveTabOptimization,
     47                       nsHttpHeaderArray responseTrailers,
     48                       ConsoleReportCollected[] consoleReport,
     49                       bool fromSocketProcess,
     50                       TimeStamp onStopRequestStart);
     51 
     52   async OnConsoleReport(ConsoleReportCollected[] consoleReport);
     53 
     54   async OnProgress(int64_t progress, int64_t progressMax);
     55 
     56   async OnStatus(nsresult status);
     57 
     58   // Forwards nsIMultiPartChannelListener::onAfterLastPart. Make sure we've
     59   // disconnected our listeners, since we might not have on the last
     60   // OnStopRequest.
     61   async OnAfterLastPart(nsresult aStatus);
     62 
     63   // Tell the child that the resource being loaded has been classified.
     64   async NotifyClassificationFlags(uint32_t aClassificationFlags, bool aIsThirdParty);
     65 
     66   // Tell the child information of matched URL againts SafeBrowsing list
     67   async SetClassifierMatchedInfo(ClassifierInfo info);
     68 
     69   // Tell the child information of matched URL againts SafeBrowsing tracking list
     70   async SetClassifierMatchedTrackingInfo(ClassifierInfo info);
     71 
     72   async AttachStreamFilter(Endpoint<PStreamFilterParent> aEndpoint);
     73 
     74   async DetachStreamFilters();
     75 
     76   async __delete__();
     77 
     78 };
     79 
     80 } // namespace net
     81 } // namespace mozilla