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/.
6 * The origin of this IDL file is
7 * https://w3c.github.io/navigation-timing/#the-performancetiming-interface
9 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
10 * liability, trademark and document use rules apply.
13 interface 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;
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;
42 // Returns 0 if a contentful paint has not happened.
43 [Pref="dom.performance.time_to_contentful_paint.enabled"]
44 readonly attribute unsigned long long timeToContentfulPaint;
46 // This is a Mozilla proprietary extension and not part of the
47 // performance/navigation timing specification. It marks the
48 // completion of the first presentation flush after DOMContentLoaded.
49 [Pref="dom.performance.time_to_dom_content_flushed.enabled"]
50 readonly attribute unsigned long long timeToDOMContentFlushed;
52 // This is a Chrome proprietary extension and not part of the
53 // performance/navigation timing specification.
54 // Returns 0 if a time-to-interactive measurement has not happened.
55 [Pref="dom.performance.time_to_first_interactive.enabled"]
56 readonly attribute unsigned long long timeToFirstInteractive;
58 [Default] object toJSON();