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#ifndef CHROME_BROWSER_PROFILES_PROFILE_AVATAR_DOWNLOADER_H_ 5#define CHROME_BROWSER_PROFILES_PROFILE_AVATAR_DOWNLOADER_H_ 6 7#include "base/files/file_path.h" 8#include "chrome/browser/bitmap_fetcher/bitmap_fetcher.h" 9 10class ProfileInfoCache; 11 12class ProfileAvatarDownloader : public chrome::BitmapFetcherDelegate { 13 public: 14 ProfileAvatarDownloader(size_t icon_index, 15 const base::FilePath& profile_path, 16 ProfileInfoCache* cache); 17 virtual ~ProfileAvatarDownloader(); 18 19 void Start(); 20 21 // BitmapFetcherDelegate: 22 virtual void OnFetchComplete(const GURL url, const SkBitmap* bitmap) OVERRIDE; 23 24 private: 25 // Downloads the avatar image from a url. 26 scoped_ptr<chrome::BitmapFetcher> fetcher_; 27 28 // Index of the avatar being downloaded. 29 size_t icon_index_; 30 31 // Path of the profile for which the avatar is being downloaded. 32 base::FilePath profile_path_; 33 34 ProfileInfoCache* cache_; // Weak. 35}; 36 37#endif // CHROME_BROWSER_PROFILES_PROFILE_AVATAR_DOWNLOADER_H_ 38