Linux: Depend on liberation-fonts package for RPMs.
[chromium-blink-merge.git] / components / page_load_metrics / common / page_load_timing.h
blob80a970119c84010f6bd4fcedd9dafc35932d3e69
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 {
16 public:
17 PageLoadTiming();
18 ~PageLoadTiming();
20 bool operator==(const PageLoadTiming& other) const;
22 bool IsEmpty() 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_