Home | History | Annotate | Download | only in browser
      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_
     49