Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / content / public / browser / load_notification_details.h
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 "ui/base/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 {
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) {}
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   ui::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_