netwerk/base/public/nsITimedChannel.idl

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:e9e018cc1309
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 };

mercurial