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