mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 08:42:13 +00:00
bf3fa5100a
After PFetch is enabled, fetch() call in workers will not create a channel in the content process anymore. Although netmonitor watches channels and NetEvents, stack traces are only caught in the content process. That means PFetch should notify the netmonitor about the stack trace of the fetch at the proper moment. In original fetch steps, FetchDriver would notify the netmonitor the fetch stack trace at https://searchfox.org/mozilla-central/rev/cdddec7fd690700efa4d6b48532cf70155e0386b/dom/fetch/FetchDriver.cpp#834 When PFetch is enabled, PFetch needs also to propagate this notification back to the content process. Depends on D174442 Differential Revision: https://phabricator.services.mozilla.com/D174443
57 lines
1.3 KiB
Plaintext
57 lines
1.3 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;
|
|
};
|
|
|
|
protocol PFetch {
|
|
manager PBackground;
|
|
|
|
parent:
|
|
async FetchOp(FetchOpArgs aArgs);
|
|
|
|
async AbortFetchOp();
|
|
|
|
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);
|
|
};
|
|
|
|
}
|
|
}
|