Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / renderer / stats_collection_observer.h
blob9aba8dc530cde9d7bd7aa92216b1846a66466a57
1 // Copyright 2013 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 CONTENT_RENDERER_STATS_COLLECTION_OBSERVER_H_
6 #define CONTENT_RENDERER_STATS_COLLECTION_OBSERVER_H_
8 #include "base/time/time.h"
9 #include "content/public/renderer/render_view_observer.h"
11 namespace content {
13 class RenderViewImpl;
15 // Collect timing information for page loads.
16 // If a Renderview performs multiple loads, only the first one is recorded.
17 class StatsCollectionObserver : public RenderViewObserver {
18 public:
19 explicit StatsCollectionObserver(RenderViewImpl* render_view);
20 ~StatsCollectionObserver() override;
22 // RenderViewObserver implementation
23 void DidStartLoading() override;
24 void DidStopLoading() override;
26 // Timing for the page load start and stop. These functions may return
27 // a null time value under various circumstances.
28 const base::Time& load_start_time() { return start_time_; }
29 const base::Time& load_stop_time() { return stop_time_; }
31 private:
32 base::Time start_time_;
33 base::Time stop_time_;
35 DISALLOW_COPY_AND_ASSIGN(StatsCollectionObserver);
38 } // namespace content
40 #endif // CONTENT_RENDERER_STATS_COLLECTION_OBSERVER_H_