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