// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module network.mojom;
import "mojo/public/mojom/base/time.mojom";
// Mirror of net::LoadTimingInfo::ConnectTiming.
struct LoadTimingInfoConnectTiming {
mojo_base.mojom.TimeTicks domain_lookup_start;
mojo_base.mojom.TimeTicks domain_lookup_end;
mojo_base.mojom.TimeTicks connect_start;
mojo_base.mojom.TimeTicks connect_end;
mojo_base.mojom.TimeTicks ssl_start;
mojo_base.mojom.TimeTicks ssl_end;
};
// Mirror of net::LoadTimingInfo.
struct LoadTimingInfo {
bool socket_reused;
uint32 socket_log_id;
mojo_base.mojom.Time request_start_time;
mojo_base.mojom.TimeTicks request_start;
mojo_base.mojom.TimeTicks proxy_resolve_start;
mojo_base.mojom.TimeTicks proxy_resolve_end;
LoadTimingInfoConnectTiming connect_timing;
mojo_base.mojom.TimeTicks send_start;
mojo_base.mojom.TimeTicks send_end;
mojo_base.mojom.TimeTicks receive_headers_start;
mojo_base.mojom.TimeTicks receive_headers_end;
mojo_base.mojom.TimeTicks receive_non_informational_headers_start;
mojo_base.mojom.TimeTicks first_early_hints_time;
mojo_base.mojom.TimeTicks push_start;
mojo_base.mojom.TimeTicks push_end;
// The time immediately before starting ServiceWorker. If the response is not
// provided by the ServiceWorker, kept empty.
mojo_base.mojom.TimeTicks service_worker_start_time;
// The time immediately before dispatching fetch event in ServiceWorker.
// If the response is not provided by the ServiceWorker, kept empty.
mojo_base.mojom.TimeTicks service_worker_ready_time;
// The time immediately before the service worker fetch event handler runs.
// If the response is not provided by the service worker, kept empty.
// If respondWith() was not called, kept empty.
mojo_base.mojom.TimeTicks service_worker_fetch_start;
// The time when a service worker respondWith promise gets settled.
// If the response is not provided by the service worker, kept empty.
// If respondWith() was not called, kept empty.
mojo_base.mojom.TimeTicks service_worker_respond_with_settled;
// The time immediately before ServiceWorker static routing API starts
// matching a request with the registered router rules. If the API is not
// used, kept empty.
mojo_base.mojom.TimeTicks service_worker_router_evaluation_start;
// The time immediately before ServiceWorker static routing API starts
// looking up the cache storage when "cache" is specified as its source. If
// the API is not used, or the source is not "cache", kept empty.
mojo_base.mojom.TimeTicks service_worker_cache_lookup_start;
};