Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / public / browser / load_notification_details.h
blob22af84cab69804f525abfe70827bec3ad8adecbc
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.
5 #ifndef CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_
6 #define CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_
8 #include "base/time/time.h"
9 #include "content/public/browser/navigation_controller.h"
10 #include "ui/base/page_transition_types.h"
11 #include "url/gurl.h"
13 namespace content {
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 {
19 LoadNotificationDetails(const GURL& url,
20 ui::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) {}
30 // The URL loaded.
31 GURL url;
33 // The length of time the page load took.
34 base::TimeDelta load_time;
36 // The index of the load within the tab session.
37 int session_index;
39 // The type of action that caused the load.
40 ui::PageTransition origin;
42 // The NavigationController for the load.
43 NavigationController* controller;
46 } // namespace content
48 #endif // CONTENT_PUBLIC_BROWSER_LOAD_NOTIFICATION_DETAILS_H_