| Index: ash/common/wallpaper/wallpaper_controller.h
|
| diff --git a/ash/common/wallpaper/wallpaper_controller.h b/ash/common/wallpaper/wallpaper_controller.h
|
| index 3a4a47b00830bcc2f9e4598381fd380370654a22..7cb12287839a101900e0d48158a73c4b7b0ff2c6 100644
|
| --- a/ash/common/wallpaper/wallpaper_controller.h
|
| +++ b/ash/common/wallpaper/wallpaper_controller.h
|
| @@ -10,10 +10,12 @@
|
| #include "ash/ash_export.h"
|
| #include "ash/common/shell_observer.h"
|
| #include "ash/common/wm_display_observer.h"
|
| +#include "ash/public/interfaces/wallpaper.mojom.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/observer_list.h"
|
| #include "base/timer/timer.h"
|
| #include "components/wallpaper/wallpaper_layout.h"
|
| +#include "mojo/public/cpp/bindings/binding_set.h"
|
| #include "ui/gfx/image/image_skia.h"
|
|
|
| namespace base {
|
| @@ -29,7 +31,8 @@ namespace ash {
|
| class WallpaperControllerObserver;
|
|
|
| // Controls the desktop background wallpaper.
|
| -class ASH_EXPORT WallpaperController : public WmDisplayObserver,
|
| +class ASH_EXPORT WallpaperController : public mojom::WallpaperController,
|
| + public WmDisplayObserver,
|
| public ShellObserver {
|
| public:
|
| enum WallpaperMode { WALLPAPER_NONE, WALLPAPER_IMAGE };
|
| @@ -38,6 +41,9 @@ class ASH_EXPORT WallpaperController : public WmDisplayObserver,
|
| const scoped_refptr<base::TaskRunner>& task_runner);
|
| ~WallpaperController() override;
|
|
|
| + // Binds the mojom::WallpaperController interface request to this object.
|
| + void BindRequest(mojom::WallpaperControllerRequest request);
|
| +
|
| // Add/Remove observers.
|
| void AddObserver(WallpaperControllerObserver* observer);
|
| void RemoveObserver(WallpaperControllerObserver* observer);
|
| @@ -94,6 +100,13 @@ class ASH_EXPORT WallpaperController : public WmDisplayObserver,
|
| wallpaper_reload_delay_ = value;
|
| }
|
|
|
| + // Opens the set wallpaper page in the browser.
|
| + void OpenSetWallpaperPage();
|
| +
|
| + // mojom::WallpaperController overrides:
|
| + void SetWallpaper(const SkBitmap& wallpaper,
|
| + mojom::WallpaperLayout layout) override;
|
| +
|
| private:
|
| // Creates a WallpaperWidgetController for |root_window|.
|
| void InstallDesktopController(WmWindow* root_window);
|
| @@ -116,6 +129,9 @@ class ASH_EXPORT WallpaperController : public WmDisplayObserver,
|
|
|
| WallpaperMode wallpaper_mode_;
|
|
|
| + // Bindings for the WallpaperController interface.
|
| + mojo::BindingSet<mojom::WallpaperController> bindings_;
|
| +
|
| base::ObserverList<WallpaperControllerObserver> observers_;
|
|
|
| std::unique_ptr<wallpaper::WallpaperResizer> current_wallpaper_;
|
|
|