Index: chrome/browser/chromeos/arc/arc_wallpaper_service.h |
diff --git a/chrome/browser/chromeos/arc/arc_wallpaper_service.h b/chrome/browser/chromeos/arc/arc_wallpaper_service.h |
index 4cf806d6b8622e9fd5a467cc9bb0e7f924a56c25..cc8450a0ab3f09575153b9d439d527139f1b14da 100644 |
--- a/chrome/browser/chromeos/arc/arc_wallpaper_service.h |
+++ b/chrome/browser/chromeos/arc/arc_wallpaper_service.h |
@@ -11,6 +11,7 @@ |
#include <set> |
#include <vector> |
+#include "ash/common/wallpaper/wallpaper_controller_observer.h" |
#include "base/macros.h" |
#include "chrome/browser/image_decoder.h" |
#include "components/arc/arc_service.h" |
@@ -20,11 +21,18 @@ |
class SkBitmap; |
+namespace ash { |
+ |
+class WallpaperController; |
+ |
+} // ash |
+ |
namespace arc { |
// Lives on the UI thread. |
class ArcWallpaperService |
: public ArcService, |
+ public ash::WallpaperControllerObserver, |
public ImageDecoder::ImageRequest, |
public InstanceHolder<mojom::WallpaperInstance>::Observer, |
public mojom::WallpaperHost { |
@@ -34,6 +42,7 @@ class ArcWallpaperService |
// InstanceHolder<mojom::WallpaperInstance>::Observer overrides. |
void OnInstanceReady() override; |
+ void OnInstanceClosed() override; |
// mojom::WallpaperHost overrides. |
// TODO(muyuanli): change callback prototype when use_new_wrapper_types is |
@@ -45,7 +54,13 @@ class ArcWallpaperService |
void OnImageDecoded(const SkBitmap& bitmap) override; |
void OnDecodeImageFailed() override; |
+ // WallpaperControllerObserver implementation. |
+ void OnWallpaperDataChanged() override; |
+ |
private: |
+ ash::WallpaperController* GetWallpaperController(); |
+ mojom::WallpaperInstance* GetWallpaperInstance(uint32_t min_version); |
+ |
mojo::Binding<mojom::WallpaperHost> binding_; |
DISALLOW_COPY_AND_ASSIGN(ArcWallpaperService); |
}; |