• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 COMPONENTS_HISTORY_CORE_BROWSER_PAGE_USAGE_DATA_H__
6 #define COMPONENTS_HISTORY_CORE_BROWSER_PAGE_USAGE_DATA_H__
7 
8 #include "base/strings/string16.h"
9 #include "components/history/core/browser/history_types.h"
10 #include "url/gurl.h"
11 
12 class SkBitmap;
13 
14 /////////////////////////////////////////////////////////////////////////////
15 //
16 // PageUsageData
17 //
18 // A per domain usage data structure to compute and manage most visited
19 // pages.
20 //
21 // See History::QueryPageUsageSince()
22 //
23 /////////////////////////////////////////////////////////////////////////////
24 class PageUsageData {
25  public:
26   explicit PageUsageData(history::SegmentID id);
27 
28   virtual ~PageUsageData();
29 
30   // Return the url ID
GetID()31   history::SegmentID GetID() const {
32     return id_;
33   }
34 
SetURL(const GURL & url)35   void SetURL(const GURL& url) {
36     url_ = url;
37   }
38 
GetURL()39   const GURL& GetURL() const {
40     return url_;
41   }
42 
SetTitle(const base::string16 & s)43   void SetTitle(const base::string16& s) {
44     title_ = s;
45   }
46 
GetTitle()47   const base::string16& GetTitle() const {
48     return title_;
49   }
50 
SetScore(double v)51   void SetScore(double v) {
52     score_ = v;
53   }
54 
GetScore()55   double GetScore() const {
56     return score_;
57   }
58 
59   // Sort predicate to sort instances by score (high to low)
60   static bool Predicate(const PageUsageData* dud1, const PageUsageData* dud2);
61 
62  private:
63   history::SegmentID id_;
64   GURL url_;
65   base::string16 title_;
66 
67   double score_;
68 };
69 
70 #endif  // COMPONENTS_HISTORY_CORE_BROWSER_PAGE_USAGE_DATA_H__
71