• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2006-2008 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 // The LoadNotificationDetails object contains additional details about a
6 // page load that has been completed.  It was created to let the MetricsService
7 // log page load metrics.
8 
9 #ifndef CHROME_BROWSER_LOAD_NOTIFICATION_DETAILS_H__
10 #define CHROME_BROWSER_LOAD_NOTIFICATION_DETAILS_H__
11 #pragma once
12 
13 #include "base/basictypes.h"
14 #include "base/time.h"
15 #include "content/browser/tab_contents/navigation_controller.h"
16 #include "content/common/page_transition_types.h"
17 #include "googleurl/src/gurl.h"
18 
19 class LoadNotificationDetails {
20  public:
LoadNotificationDetails(const GURL & url,PageTransition::Type origin,base::TimeDelta load_time,NavigationController * controller,int session_index)21   LoadNotificationDetails(const GURL& url,
22                           PageTransition::Type origin,
23                           base::TimeDelta load_time,
24                           NavigationController* controller,
25                           int session_index)
26       : url_(url),
27         load_time_(load_time),
28         session_index_(session_index),
29         origin_(origin),
30         controller_(controller) {}
31 
~LoadNotificationDetails()32   ~LoadNotificationDetails() {}
33 
url()34   const GURL& url() const { return url_; }
origin()35   PageTransition::Type origin() const { return origin_; }
load_time()36   base::TimeDelta load_time() const { return load_time_; }
session_index()37   int session_index() const { return session_index_; }
controller()38   NavigationController* controller() const { return controller_; }
39 
40  private:
41   GURL url_;           // the URL loaded
42   base::TimeDelta load_time_;               // length of time the page load took
43   int session_index_;  // index of the load within the tab session
44   PageTransition::Type origin_;       // type of action that caused the load
45   NavigationController* controller_;  // tells us which tab the load was in
46 
LoadNotificationDetails()47   LoadNotificationDetails() {}
48 
49   DISALLOW_COPY_AND_ASSIGN(LoadNotificationDetails);
50 };
51 
52 #endif  // CHROME_BROWSER_LOAD_NOTIFICATION_DETAILS_H__
53