|
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/. */ |
|
4 |
|
5 #include "nsISupports.idl" |
|
6 %{C++ |
|
7 namespace mozilla { |
|
8 class TimeStamp; |
|
9 } |
|
10 %} |
|
11 |
|
12 native TimeStamp(mozilla::TimeStamp); |
|
13 |
|
14 // All properties return zero if the value is not available |
|
15 [scriptable, uuid(E94AB245-B40D-4154-8B7F-B6E0F2461031)] |
|
16 interface nsITimedChannel : nsISupports { |
|
17 // Set this attribute to true to enable collection of timing data. |
|
18 // channelCreationTime will be available even with this attribute set to |
|
19 // false. |
|
20 attribute boolean timingEnabled; |
|
21 |
|
22 // The number of redirects |
|
23 attribute uint16_t redirectCount; |
|
24 |
|
25 [noscript] readonly attribute TimeStamp channelCreation; |
|
26 [noscript] readonly attribute TimeStamp asyncOpen; |
|
27 |
|
28 // The following are only set when the document is not (only) read from the |
|
29 // cache |
|
30 [noscript] readonly attribute TimeStamp domainLookupStart; |
|
31 [noscript] readonly attribute TimeStamp domainLookupEnd; |
|
32 [noscript] readonly attribute TimeStamp connectStart; |
|
33 [noscript] readonly attribute TimeStamp connectEnd; |
|
34 [noscript] readonly attribute TimeStamp requestStart; |
|
35 [noscript] readonly attribute TimeStamp responseStart; |
|
36 [noscript] readonly attribute TimeStamp responseEnd; |
|
37 |
|
38 // The redirect attributes timings must be writeble, se we can transfer |
|
39 // the data from one channel to the redirected channel. |
|
40 [noscript] attribute TimeStamp redirectStart; |
|
41 [noscript] attribute TimeStamp redirectEnd; |
|
42 |
|
43 // The initiator type |
|
44 [noscript] attribute AString initiatorType; |
|
45 |
|
46 // This flag should be set to false only if a cross-domain redirect occurred |
|
47 [noscript] attribute boolean allRedirectsSameOrigin; |
|
48 |
|
49 // The following are only set if the document is (partially) read from the |
|
50 // cache |
|
51 [noscript] readonly attribute TimeStamp cacheReadStart; |
|
52 [noscript] readonly attribute TimeStamp cacheReadEnd; |
|
53 |
|
54 // All following are PRTime versions of the above. |
|
55 readonly attribute PRTime channelCreationTime; |
|
56 readonly attribute PRTime asyncOpenTime; |
|
57 readonly attribute PRTime domainLookupStartTime; |
|
58 readonly attribute PRTime domainLookupEndTime; |
|
59 readonly attribute PRTime connectStartTime; |
|
60 readonly attribute PRTime connectEndTime; |
|
61 readonly attribute PRTime requestStartTime; |
|
62 readonly attribute PRTime responseStartTime; |
|
63 readonly attribute PRTime responseEndTime; |
|
64 readonly attribute PRTime cacheReadStartTime; |
|
65 readonly attribute PRTime cacheReadEndTime; |
|
66 readonly attribute PRTime redirectStartTime; |
|
67 readonly attribute PRTime redirectEndTime; |
|
68 }; |