Home | History | Annotate | Download | only in browser
      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
     31   history::SegmentID GetID() const {
     32     return id_;
     33   }
     34 
     35   void SetURL(const GURL& url) {
     36     url_ = url;
     37   }
     38 
     39   const GURL& GetURL() const {
     40     return url_;
     41   }
     42 
     43   void SetTitle(const base::string16& s) {
     44     title_ = s;
     45   }
     46 
     47   const base::string16& GetTitle() const {
     48     return title_;
     49   }
     50 
     51   void SetScore(double v) {
     52     score_ = v;
     53   }
     54 
     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