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 12class 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///////////////////////////////////////////////////////////////////////////// 24class 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