1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/history/page_usage_data.h"
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <algorithm>
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "third_party/skia/include/core/SkBitmap.h"
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
11731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickPageUsageData::PageUsageData(history::URLID id)
12731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick    : id_(id),
13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick      thumbnail_(NULL),
14731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick      thumbnail_set_(false),
15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick      thumbnail_pending_(false),
16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick      favicon_(NULL),
17731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick      favicon_set_(false),
18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick      favicon_pending_(false),
19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick      score_(0.0) {
20731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}
21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochPageUsageData::~PageUsageData() {
23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  delete thumbnail_;
24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  delete favicon_;
25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid PageUsageData::SetThumbnail(SkBitmap* img) {
28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  if (thumbnail_ && thumbnail_ != img)
29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    delete thumbnail_;
30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  thumbnail_ = img;
32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  thumbnail_set_ = true;
33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid PageUsageData::SetFavicon(SkBitmap* img) {
36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  if (favicon_ && favicon_ != img)
37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    delete favicon_;
38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  favicon_ = img;
39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  favicon_set_ = true;
40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// static
43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochbool PageUsageData::Predicate(const PageUsageData* lhs,
44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                              const PageUsageData* rhs) {
45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  return lhs->GetScore() > rhs->GetScore();
46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
47