gecko-dev/dom/fetch/PFetch.ipdl

59 lines
1.4 KiB
Plaintext

/* 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 ClientIPCTypes;
include FetchTypes;
include IPCServiceWorkerDescriptor;
include NeckoChannelParams;
include PBackgroundSharedTypes;
include PerformanceTimingTypes;
namespace mozilla {
namespace dom {
struct FetchOpArgs{
IPCInternalRequest request;
PrincipalInfo principalInfo;
nsCString workerScript;
IPCClientInfo clientInfo;
IPCServiceWorkerDescriptor? controller;
CookieJarSettingsArgs? cookieJarSettings;
bool needOnDataAvailable;
bool hasCSPEventListener;
uint64_t associatedBrowsingContextID;
bool isThirdPartyContext;
bool isWorkerRequest;
};
protocol PFetch {
manager PBackground;
parent:
async FetchOp(FetchOpArgs aArgs);
async AbortFetchOp(bool aForceAbort);
child:
async OnResponseAvailableInternal(ParentToChildInternalResponse aResponse);
async OnResponseEnd(ResponseEndArgs aResponseEndArgs);
async OnDataAvailable();
async OnFlushConsoleReport(ConsoleReportCollected[] aReports);
async OnCSPViolationEvent(nsString aJSON);
async OnReportPerformanceTiming(ResponseTiming aTiming);
async OnNotifyNetworkMonitorAlternateStack(uint64_t aChannelID);
async __delete__(nsresult aResult);
};
}
}