Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 4 | |
michael@0 | 5 | #include "nsISupports.idl" |
michael@0 | 6 | %{C++ |
michael@0 | 7 | namespace mozilla { |
michael@0 | 8 | class TimeStamp; |
michael@0 | 9 | } |
michael@0 | 10 | %} |
michael@0 | 11 | |
michael@0 | 12 | native TimeStamp(mozilla::TimeStamp); |
michael@0 | 13 | |
michael@0 | 14 | // All properties return zero if the value is not available |
michael@0 | 15 | [scriptable, uuid(E94AB245-B40D-4154-8B7F-B6E0F2461031)] |
michael@0 | 16 | interface nsITimedChannel : nsISupports { |
michael@0 | 17 | // Set this attribute to true to enable collection of timing data. |
michael@0 | 18 | // channelCreationTime will be available even with this attribute set to |
michael@0 | 19 | // false. |
michael@0 | 20 | attribute boolean timingEnabled; |
michael@0 | 21 | |
michael@0 | 22 | // The number of redirects |
michael@0 | 23 | attribute uint16_t redirectCount; |
michael@0 | 24 | |
michael@0 | 25 | [noscript] readonly attribute TimeStamp channelCreation; |
michael@0 | 26 | [noscript] readonly attribute TimeStamp asyncOpen; |
michael@0 | 27 | |
michael@0 | 28 | // The following are only set when the document is not (only) read from the |
michael@0 | 29 | // cache |
michael@0 | 30 | [noscript] readonly attribute TimeStamp domainLookupStart; |
michael@0 | 31 | [noscript] readonly attribute TimeStamp domainLookupEnd; |
michael@0 | 32 | [noscript] readonly attribute TimeStamp connectStart; |
michael@0 | 33 | [noscript] readonly attribute TimeStamp connectEnd; |
michael@0 | 34 | [noscript] readonly attribute TimeStamp requestStart; |
michael@0 | 35 | [noscript] readonly attribute TimeStamp responseStart; |
michael@0 | 36 | [noscript] readonly attribute TimeStamp responseEnd; |
michael@0 | 37 | |
michael@0 | 38 | // The redirect attributes timings must be writeble, se we can transfer |
michael@0 | 39 | // the data from one channel to the redirected channel. |
michael@0 | 40 | [noscript] attribute TimeStamp redirectStart; |
michael@0 | 41 | [noscript] attribute TimeStamp redirectEnd; |
michael@0 | 42 | |
michael@0 | 43 | // The initiator type |
michael@0 | 44 | [noscript] attribute AString initiatorType; |
michael@0 | 45 | |
michael@0 | 46 | // This flag should be set to false only if a cross-domain redirect occurred |
michael@0 | 47 | [noscript] attribute boolean allRedirectsSameOrigin; |
michael@0 | 48 | |
michael@0 | 49 | // The following are only set if the document is (partially) read from the |
michael@0 | 50 | // cache |
michael@0 | 51 | [noscript] readonly attribute TimeStamp cacheReadStart; |
michael@0 | 52 | [noscript] readonly attribute TimeStamp cacheReadEnd; |
michael@0 | 53 | |
michael@0 | 54 | // All following are PRTime versions of the above. |
michael@0 | 55 | readonly attribute PRTime channelCreationTime; |
michael@0 | 56 | readonly attribute PRTime asyncOpenTime; |
michael@0 | 57 | readonly attribute PRTime domainLookupStartTime; |
michael@0 | 58 | readonly attribute PRTime domainLookupEndTime; |
michael@0 | 59 | readonly attribute PRTime connectStartTime; |
michael@0 | 60 | readonly attribute PRTime connectEndTime; |
michael@0 | 61 | readonly attribute PRTime requestStartTime; |
michael@0 | 62 | readonly attribute PRTime responseStartTime; |
michael@0 | 63 | readonly attribute PRTime responseEndTime; |
michael@0 | 64 | readonly attribute PRTime cacheReadStartTime; |
michael@0 | 65 | readonly attribute PRTime cacheReadEndTime; |
michael@0 | 66 | readonly attribute PRTime redirectStartTime; |
michael@0 | 67 | readonly attribute PRTime redirectEndTime; |
michael@0 | 68 | }; |