dom/webidl/PerformanceTiming.webidl
author Randell Jesup <rjesup@jesup.org>
Thu, 11 Oct 2018 13:23:28 -0400
changeset 499252 e5adc30bdf7f3d5c10b7160836c477c4abf0f17d
parent 494695 86dc76e74294e7c25a2d582d144b8da5f986af20
child 499256 6a40850883ffce1683a1c29f81314acaad331b9b
permissions -rw-r--r--
Bug 1299118: non-spec TimeToFirstInteractive implementation behind a pref r=mstange,bholley

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * The origin of this IDL file is
 * http://www.w3.org/TR/hr-time/
 *
 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
 * liability, trademark and document use rules apply.
 */

interface PerformanceTiming {
  readonly attribute unsigned long long navigationStart;
  readonly attribute unsigned long long unloadEventStart;
  readonly attribute unsigned long long unloadEventEnd;
  readonly attribute unsigned long long redirectStart;
  readonly attribute unsigned long long redirectEnd;
  readonly attribute unsigned long long fetchStart;
  readonly attribute unsigned long long domainLookupStart;
  readonly attribute unsigned long long domainLookupEnd;
  readonly attribute unsigned long long connectStart;
  readonly attribute unsigned long long connectEnd;
  readonly attribute unsigned long long secureConnectionStart;
  readonly attribute unsigned long long requestStart;
  readonly attribute unsigned long long responseStart;
  readonly attribute unsigned long long responseEnd;
  readonly attribute unsigned long long domLoading;
  readonly attribute unsigned long long domInteractive;
  readonly attribute unsigned long long domContentLoadedEventStart;
  readonly attribute unsigned long long domContentLoadedEventEnd;
  readonly attribute unsigned long long domComplete;
  readonly attribute unsigned long long loadEventStart;
  readonly attribute unsigned long long loadEventEnd;

  // This is a Chrome proprietary extension and not part of the
  // performance/navigation timing specification.
  // Returns 0 if a non-blank paint has not happened.
  [Pref="dom.performance.time_to_non_blank_paint.enabled"]
  readonly attribute unsigned long long timeToNonBlankPaint;

  // This is a Mozilla proprietary extension and not part of the
  // performance/navigation timing specification. It marks the
  // completion of the first presentation flush after DOMContentLoaded.
  [Pref="dom.performance.time_to_dom_content_flushed.enabled"]
  readonly attribute unsigned long long timeToDOMContentFlushed;

  // This is a Chrome proprietary extension and not part of the
  // performance/navigation timing specification.
  // Returns 0 if a time-to-interactive measurement has not happened.
  [Pref="dom.performance.time_to_first_interactive.enabled"]
  readonly attribute unsigned long long timeToFirstInteractive;

  [Default] object toJSON();
};