1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 using class mozilla::TimeStamp from "mozilla/TimeStamp.h";
6 using DOMHighResTimeStamp from "nsDOMNavigationTiming.h";
7 using nsITimedChannel::BodyInfoAccess from "mozilla/dom/PerformanceTimingIPCUtils.h";
12 struct IPCServerTiming {
15 nsCString description;
18 struct IPCPerformanceTimingData {
19 IPCServerTiming[] serverTiming;
20 nsString nextHopProtocol;
22 TimeStamp redirectStart;
23 TimeStamp redirectEnd;
24 TimeStamp domainLookupStart;
25 TimeStamp domainLookupEnd;
26 TimeStamp connectStart;
27 TimeStamp secureConnectionStart;
29 TimeStamp requestStart;
30 TimeStamp responseStart;
31 TimeStamp cacheReadStart;
32 TimeStamp responseEnd;
33 TimeStamp cacheReadEnd;
34 TimeStamp workerStart;
35 TimeStamp workerRequestStart;
36 TimeStamp workerResponseEnd;
37 DOMHighResTimeStamp zeroTime;
38 DOMHighResTimeStamp fetchStart;
39 uint64_t encodedBodySize;
40 uint64_t transferSize;
41 uint64_t decodedBodySize;
42 uint16_t responseStatus;
43 uint8_t redirectCount;
46 bool allRedirectsSameOrigin;
47 bool allRedirectsPassTAO;
48 bool secureConnection;
49 BodyInfoAccess bodyInfoAccessAllowed;