1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_PAGE_LOAD_METRICS_COMMON_PAGE_LOAD_TIMING_H_
6 #define COMPONENTS_PAGE_LOAD_METRICS_COMMON_PAGE_LOAD_TIMING_H_
8 #include "base/time/time.h"
10 namespace page_load_metrics
{
12 // PageLoadTiming contains timing metrics associated with a page load. Many of
13 // the metrics here are based on the Navigation Timing spec:
14 // http://www.w3.org/TR/navigation-timing/.
15 struct PageLoadTiming
{
20 bool operator==(const PageLoadTiming
& other
) const;
24 // Time that the navigation for the associated page was initiated.
25 base::Time navigation_start
;
27 // All TimeDeltas are relative to navigation_start
29 // Time that the first byte of the response is received.
30 base::TimeDelta response_start
;
32 // Time immediately before the DOMContentLoaded event is fired.
33 base::TimeDelta dom_content_loaded_event_start
;
35 // Time immediately before the load event is fired.
36 base::TimeDelta load_event_start
;
38 // Time when the first layout is completed.
39 base::TimeDelta first_layout
;
41 // If you add additional members, also be sure to update operator==,
42 // page_load_metrics_messages.h, and IsEmpty().
45 } // namespace page_load_metrics
47 #endif // COMPONENTS_PAGE_LOAD_METRICS_COMMON_PAGE_LOAD_TIMING_H_