diff --git a/index.html b/index.html index da2db91..d85724e 100644 --- a/index.html +++ b/index.html @@ -371,6 +371,7 @@

readonly attribute DOMHighResTimeStamp loadEventEnd; readonly attribute NavigationTimingType type; readonly attribute unsigned short redirectCount; + readonly attribute DOMHighResTimeStamp criticalCHRestart; [Default] object toJSON(); }; @@ -389,6 +390,9 @@

A PerformanceNavigationTiming has an associated {{NavigationTimingType}} navigation type. +

A PerformanceNavigationTiming has an associated + {{DOMHighResTimeStamp}} `Critical-CH` restart time. +

A {{PerformanceNavigationTiming}} has an associated null or [=service worker timing info=] service worker timing.

@@ -487,6 +491,17 @@

The redirectCount getter steps are to return |this|'s redirect count.

+

+ The criticalCHRestart getter steps are to return |this|'s + `Critical-CH` restart time.

+

+
+

+ If |criticalCHRestart| is not 0 it will be before all other timestamps except for + |navigationStart|, |unloadEventStart|, and |unloadEventEnd|. This is because it marks + the moment the redirection part of the navigation was restarted. +

+

The toJSON() method runs the [=default toJSON steps=] for [=this=].

@@ -579,7 +594,7 @@

Creating a navigation timing entry

To create the navigation timing entry for {{Document}} |document|, given a [=fetch timing info=] |fetchTiming|, a number |redirectCount|, a {{NavigationTimingType}} |navigationType|, a null or [=service worker timing info=] |serviceWorkerTiming|, - a DOMString |cacheMode|, and a [=response body info=] |bodyInfo|, do the following: + a DOMString |cacheMode|, a {{DOMHighResTimeStamp}} |criticalCHRestart|, and a [=response body info=] |bodyInfo|, do the following:

  1. Let |global| be |document|'s [=relevant global object=].
  2. Let |navigationTimingEntry| be a new {{PerformanceNavigationTiming}} object in |global|'s @@ -598,6 +613,8 @@

    Creating a navigation timing entry

  3. Set |navigationTimingEntry|'s [=PerformanceNavigationTiming/service worker timing=] to |serviceWorkerTiming|.
  4. Set |document|'s navigation timing entry to |navigationTimingEntry|. +
  5. Set |navigationTimingEntry|'s `Critical-CH` restart time + to |criticalCHRestart|.
  6. add |navigationTimingEntry| to |global|'s performance entry buffer.