• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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.
4 
5 #ifndef CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_
6 #define CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_
7 
8 #include "base/time/time.h"
9 #include "content/public/browser/navigation_controller.h"
10 #include "content/public/common/page_transition_types.h"
11 #include "url/gurl.h"
12 
13 namespace content {
14 
15 // The LoadNotificationDetails object contains additional details about a
16 // page load that has been completed.  It was created to let the MetricsService
17 // log page load metrics.
18 struct LoadNotificationDetails {
LoadNotificationDetailsLoadNotificationDetails19   LoadNotificationDetails(const GURL& url,
20                           PageTransition origin,
21                           base::TimeDelta load_time,
22                           NavigationController* controller,
23                           int session_index)
24       : url(url),
25         load_time(load_time),
26         session_index(session_index),
27         origin(origin),
28         controller(controller) {}
29 
30   // The URL loaded.
31   GURL url;
32 
33   // The length of time the page load took.
34   base::TimeDelta load_time;
35 
36   // The index of the load within the tab session.
37   int session_index;
38 
39   // The type of action that caused the load.
40   PageTransition origin;
41 
42   // The NavigationController for the load.
43   NavigationController* controller;
44 };
45 
46 }  // namespace content
47 
48 #endif  // CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_
49