| Index: ash/wallpaper/wallpaper_controller.h
|
| diff --git a/ash/wallpaper/wallpaper_controller.h b/ash/wallpaper/wallpaper_controller.h
|
| index e72991f205552ffeb437880e421d59213a960ffa..e3464a871ca1cac2bd07ef5bf8f5472e0e0f0006 100644
|
| --- a/ash/wallpaper/wallpaper_controller.h
|
| +++ b/ash/wallpaper/wallpaper_controller.h
|
| @@ -19,6 +19,7 @@
|
| #include "components/wallpaper/wallpaper_layout.h"
|
| #include "components/wallpaper/wallpaper_resizer_observer.h"
|
| #include "mojo/public/cpp/bindings/binding_set.h"
|
| +#include "ui/compositor/compositor_lock.h"
|
| #include "ui/gfx/color_analysis.h"
|
| #include "ui/gfx/image/image_skia.h"
|
|
|
| @@ -48,7 +49,8 @@ class ASH_EXPORT WallpaperController
|
| public ShellObserver,
|
| public wallpaper::WallpaperResizerObserver,
|
| public wallpaper::WallpaperColorCalculatorObserver,
|
| - public SessionObserver {
|
| + public SessionObserver,
|
| + NON_EXPORTED_BASE(public ui::CompositorLockClient) {
|
| public:
|
| enum WallpaperMode { WALLPAPER_NONE, WALLPAPER_IMAGE };
|
|
|
| @@ -173,6 +175,13 @@ class ASH_EXPORT WallpaperController
|
| // Returns true if the wallpaper moved.
|
| bool MoveToUnlockedContainer();
|
|
|
| + // When wallpaper resizes, we can check which displays will
|
| + // be affected. For simplicity, we only lock the compositor for the internal
|
| + // display.
|
| + void GetInternalDisplayCompositorLock();
|
| + // CompositorLockClient:
|
| + void CompositorLockTimedOut() override;
|
| +
|
| bool locked_;
|
|
|
| WallpaperMode wallpaper_mode_;
|
| @@ -204,6 +213,8 @@ class ASH_EXPORT WallpaperController
|
|
|
| ScopedSessionObserver scoped_session_observer_;
|
|
|
| + std::unique_ptr<ui::CompositorLock> compositor_lock_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(WallpaperController);
|
| };
|
|
|
|
|