1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * The origin of this IDL file is
7 * http://www.w3.org/TR/hr-time/
8 *
9 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
10 * liability, trademark and document use rules apply.
11 */
12
13interface PerformanceTiming {
14  readonly attribute unsigned long long navigationStart;
15  readonly attribute unsigned long long unloadEventStart;
16  readonly attribute unsigned long long unloadEventEnd;
17  readonly attribute unsigned long long redirectStart;
18  readonly attribute unsigned long long redirectEnd;
19  readonly attribute unsigned long long fetchStart;
20  readonly attribute unsigned long long domainLookupStart;
21  readonly attribute unsigned long long domainLookupEnd;
22  readonly attribute unsigned long long connectStart;
23  readonly attribute unsigned long long connectEnd;
24  readonly attribute unsigned long long secureConnectionStart;
25  readonly attribute unsigned long long requestStart;
26  readonly attribute unsigned long long responseStart;
27  readonly attribute unsigned long long responseEnd;
28  readonly attribute unsigned long long domLoading;
29  readonly attribute unsigned long long domInteractive;
30  readonly attribute unsigned long long domContentLoadedEventStart;
31  readonly attribute unsigned long long domContentLoadedEventEnd;
32  readonly attribute unsigned long long domComplete;
33  readonly attribute unsigned long long loadEventStart;
34  readonly attribute unsigned long long loadEventEnd;
35
36  // This is a Chrome proprietary extension and not part of the
37  // performance/navigation timing specification.
38  // Returns 0 if a non-blank paint has not happened.
39  [Pref="dom.performance.time_to_non_blank_paint.enabled"]
40  readonly attribute unsigned long long timeToNonBlankPaint;
41
42  // This is a Mozilla proprietary extension and not part of the
43  // performance/navigation timing specification. It marks the
44  // completion of the first presentation flush after DOMContentLoaded.
45  [Pref="dom.performance.time_to_dom_content_flushed.enabled"]
46  readonly attribute unsigned long long timeToDOMContentFlushed;
47
48  [Default] object toJSON();
49};
50