Home | History | Annotate | Download | only in avatar
      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 
      5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_AVATAR_USER_IMAGE_MANAGER_TEST_UTIL_H_
      6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_AVATAR_USER_IMAGE_MANAGER_TEST_UTIL_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "base/compiler_specific.h"
     10 #include "base/files/file_path.h"
     11 #include "base/memory/scoped_ptr.h"
     12 #include "base/run_loop.h"
     13 #include "chrome/browser/image_decoder.h"
     14 
     15 class SKBitmap;
     16 
     17 namespace base {
     18 class FilePath;
     19 }
     20 
     21 namespace gfx {
     22 class ImageSkia;
     23 }
     24 
     25 namespace chromeos {
     26 namespace test {
     27 
     28 extern const char kUserAvatarImage1RelativePath[];
     29 extern const char kUserAvatarImage2RelativePath[];
     30 
     31 // Returns |true| if the two given images are pixel-for-pixel identical.
     32 bool AreImagesEqual(const gfx::ImageSkia& first, const gfx::ImageSkia& second);
     33 
     34 class ImageLoader : public ImageDecoder::Delegate {
     35  public:
     36   explicit ImageLoader(const base::FilePath& path);
     37   virtual ~ImageLoader();
     38 
     39   scoped_ptr<gfx::ImageSkia> Load();
     40 
     41   // ImageDecoder::Delegate:
     42   virtual void OnImageDecoded(const ImageDecoder* decoder,
     43                               const SkBitmap& decoded_image) OVERRIDE;
     44   virtual void OnDecodeImageFailed(const ImageDecoder* decoder) OVERRIDE;
     45 
     46  private:
     47   base::FilePath path_;
     48   base::RunLoop run_loop_;
     49 
     50   scoped_ptr<gfx::ImageSkia> decoded_image_;
     51 
     52   DISALLOW_COPY_AND_ASSIGN(ImageLoader);
     53 };
     54 
     55 }  // namespace test
     56 }  // namespace chromeos
     57 
     58 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_AVATAR_USER_IMAGE_MANAGER_TEST_UTIL_H_
     59