OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_ |
6 #define CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_ | 6 #define CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_ |
7 | 7 |
8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
9 #include "content/public/browser/navigation_controller.h" | 9 #include "content/public/browser/navigation_controller.h" |
10 #include "ui/base/page_transition_types.h" | 10 #include "ui/base/page_transition_types.h" |
11 #include "url/gurl.h" | 11 #include "url/gurl.h" |
12 | 12 |
13 namespace content { | 13 namespace content { |
14 | 14 |
15 // The LoadNotificationDetails object contains additional details about a | 15 // The LoadNotificationDetails object contains additional details about a |
16 // page load that has been completed. It was created to let the MetricsService | 16 // page load that has been completed. It was created to let the MetricsService |
17 // log page load metrics. | 17 // log page load metrics. |
18 struct LoadNotificationDetails { | 18 struct LoadNotificationDetails { |
19 LoadNotificationDetails(const GURL& url, | 19 LoadNotificationDetails(const GURL& url, |
20 ui::PageTransition origin, | |
21 base::TimeDelta load_time, | 20 base::TimeDelta load_time, |
22 NavigationController* controller, | 21 NavigationController* controller, |
23 int session_index) | 22 int session_index) |
24 : url(url), | 23 : url(url), |
25 load_time(load_time), | 24 load_time(load_time), |
26 session_index(session_index), | 25 session_index(session_index), |
27 origin(origin), | |
28 controller(controller) {} | 26 controller(controller) {} |
29 | 27 |
30 // The URL loaded. | 28 // The URL loaded. |
31 GURL url; | 29 GURL url; |
32 | 30 |
33 // The length of time the page load took. | 31 // The length of time the page load took. |
34 base::TimeDelta load_time; | 32 base::TimeDelta load_time; |
35 | 33 |
36 // The index of the load within the tab session. | 34 // The index of the load within the tab session. |
37 int session_index; | 35 int session_index; |
38 | 36 |
39 // The type of action that caused the load. | |
40 ui::PageTransition origin; | |
41 | |
42 // The NavigationController for the load. | 37 // The NavigationController for the load. |
43 NavigationController* controller; | 38 NavigationController* controller; |
44 }; | 39 }; |
45 | 40 |
46 } // namespace content | 41 } // namespace content |
47 | 42 |
48 #endif // CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_ | 43 #endif // CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_ |
OLD | NEW |