| Index: chrome/browser/chromeos/login/users/avatar/user_image_loader.h
|
| diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_loader.h b/chrome/browser/chromeos/login/users/avatar/user_image_loader.h
|
| index 10c7be458e2e89630835d0ca95f05666b40e3a52..3c3834c0198bec562e2f31c1ef056538f5ee79fd 100644
|
| --- a/chrome/browser/chromeos/login/users/avatar/user_image_loader.h
|
| +++ b/chrome/browser/chromeos/login/users/avatar/user_image_loader.h
|
| @@ -5,7 +5,7 @@
|
| #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_AVATAR_USER_IMAGE_LOADER_H_
|
| #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_AVATAR_USER_IMAGE_LOADER_H_
|
|
|
| -#include <map>
|
| +#include <queue>
|
| #include <string>
|
|
|
| #include "base/callback.h"
|
| @@ -67,7 +67,16 @@ class UserImageLoader : public base::RefCountedThreadSafe<UserImageLoader>,
|
| const LoadedCallback loaded_cb;
|
| };
|
|
|
| - typedef std::map<const ImageDecoder*, ImageInfo> ImageInfoMap;
|
| + // Contains attributes retain for after the image is decoded.
|
| + struct ImageData {
|
| + ImageData(const ImageInfo& image_info, const std::string& data);
|
| + ~ImageData();
|
| +
|
| + const ImageInfo image_info;
|
| + std::vector<unsigned char> data;
|
| + };
|
| +
|
| + typedef std::queue<ImageData> ImageDataQueue;
|
|
|
| ~UserImageLoader() override;
|
|
|
| @@ -82,9 +91,8 @@ class UserImageLoader : public base::RefCountedThreadSafe<UserImageLoader>,
|
|
|
| // ImageDecoder::Delegate implementation. These callbacks will only be invoked
|
| // via the |background_task_runner_|.
|
| - void OnImageDecoded(const ImageDecoder* decoder,
|
| - const SkBitmap& decoded_image) override;
|
| - void OnDecodeImageFailed(const ImageDecoder* decoder) override;
|
| + void OnImageDecoded(const SkBitmap& decoded_image) override;
|
| + void OnDecodeImageFailed() override;
|
|
|
| // The foreground task runner on which |this| is instantiated, Start() is
|
| // called and LoadedCallbacks are invoked.
|
| @@ -99,7 +107,7 @@ class UserImageLoader : public base::RefCountedThreadSafe<UserImageLoader>,
|
|
|
| // Holds information about the images currently being decoded. Accessed via
|
| // |background_task_runner_| only.
|
| - ImageInfoMap image_info_map_;
|
| + ImageDataQueue image_data_queue_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(UserImageLoader);
|
| };
|
|
|