// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef ASH_TEST_TEST_USER_WALLPAPER_DELEGATE_H_
#define ASH_TEST_TEST_USER_WALLPAPER_DELEGATE_H_

#include "ash/default_user_wallpaper_delegate.h"

#include "ui/gfx/image/image_skia.h"

namespace ash {
namespace test {

class TestUserWallpaperDelegate : public DefaultUserWallpaperDelegate {
 public:
  TestUserWallpaperDelegate();
  virtual ~TestUserWallpaperDelegate();

  void set_custom_wallpaper(const gfx::ImageSkia& wallpaper) {
    custom_wallpaper_ = wallpaper;
  }

  // DefaultUserWallpaperDelegate overrides:
  virtual void UpdateWallpaper() OVERRIDE;

  // Returns and clears |update_wallpaper_count_|.
  int GetUpdateWallpaperCountAndReset();

 private:
  // Number of times that UpdateWallpaper() has been called.
  int update_wallpaper_count_;

  // If non-null, used as custom wallpaper by UpdateWallpaper().
  gfx::ImageSkia custom_wallpaper_;

  DISALLOW_COPY_AND_ASSIGN(TestUserWallpaperDelegate);
};

}  // namespace test
}  // namespace ash

#endif  // ASH_TEST_TEST_USER_WALLPAPER_DELEGATE_H_