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