1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
include protocol PBackground;
include protocol PStreamFilter;
include NeckoChannelParams;
include HttpChannelParams;
include PURLClassifierInfo;
include "mozilla/net/NeckoMessageUtils.h";
namespace mozilla {
namespace net {
//-------------------------------------------------------------------
async protocol PHttpBackgroundChannel
{
manager PBackground;
child:
async OnStartRequest(nsHttpResponseHead responseHead,
bool useResponseHead,
nsHttpHeaderArray requestHeaders,
HttpChannelOnStartRequestArgs args,
HttpChannelAltDataStream altData,
TimeStamp onStartRequestStart);
// Combines a single OnDataAvailable and its associated OnProgress &
// OnStatus calls into one IPDL message
async OnTransportAndData(nsresult channelStatus,
nsresult transportStatus,
uint64_t offset,
uint32_t count,
nsCString data,
bool dataFromSocketProcess,
TimeStamp onDataAvailableStart);
async OnStopRequest(nsresult channelStatus,
ResourceTimingStructArgs timing,
TimeStamp lastActiveTabOptimization,
nsHttpHeaderArray responseTrailers,
ConsoleReportCollected[] consoleReport,
bool fromSocketProcess,
TimeStamp onStopRequestStart);
async OnConsoleReport(ConsoleReportCollected[] consoleReport);
async OnProgress(int64_t progress, int64_t progressMax);
async OnStatus(nsresult status);
// Forwards nsIMultiPartChannelListener::onAfterLastPart. Make sure we've
// disconnected our listeners, since we might not have on the last
// OnStopRequest.
async OnAfterLastPart(nsresult aStatus);
// Tell the child that the resource being loaded has been classified.
async NotifyClassificationFlags(uint32_t aClassificationFlags, bool aIsThirdParty);
// Tell the child information of matched URL againts SafeBrowsing list
async SetClassifierMatchedInfo(ClassifierInfo info);
// Tell the child information of matched URL againts SafeBrowsing tracking list
async SetClassifierMatchedTrackingInfo(ClassifierInfo info);
async AttachStreamFilter(Endpoint<PStreamFilterParent> aEndpoint);
async DetachStreamFilters();
async __delete__();
};
} // namespace net
} // namespace mozilla
|