(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability)
| 315 | |
| 316 | // https://fetch.spec.whatwg.org/#clamp-and-coarsen-connection-timing-info |
| 317 | function clampAndCoarsenConnectionTimingInfo (connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) { |
| 318 | if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) { |
| 319 | return { |
| 320 | domainLookupStartTime: defaultStartTime, |
| 321 | domainLookupEndTime: defaultStartTime, |
| 322 | connectionStartTime: defaultStartTime, |
| 323 | connectionEndTime: defaultStartTime, |
| 324 | secureConnectionStartTime: defaultStartTime, |
| 325 | ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol |
| 326 | } |
| 327 | } |
| 328 | |
| 329 | return { |
| 330 | domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability), |
| 331 | domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability), |
| 332 | connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability), |
| 333 | connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability), |
| 334 | secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability), |
| 335 | ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol |
| 336 | } |
| 337 | } |
| 338 | |
| 339 | // https://w3c.github.io/hr-time/#dfn-coarsened-shared-current-time |
| 340 | function coarsenedSharedCurrentTime (crossOriginIsolatedCapability) { |
no test coverage detected