| // Copyright 2016 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. |
| |
| module ash.mojom; |
| |
| import "skia/public/interfaces/bitmap.mojom"; |
| |
| // These values match wallpaper::WallpaperLayout. |
| enum WallpaperLayout { CENTER, CENTER_CROPPED, STRETCH, TILE, }; |
| |
| // Used by Chrome to set the wallpaper displayed by ash. |
| interface WallpaperController { |
| // Set the wallpaper bitmap and layout used for the ash desktop background. |
| // A null or empty |wallpaper| bitmap is treated as a no-op. |
| // TODO(crbug.com/655875): Optimize ash wallpaper transport; avoid sending |
| // large bitmaps over Mojo; use shared memory like BitmapUploader, etc. |
| SetWallpaper(skia.mojom.Bitmap? wallpaper, WallpaperLayout layout); |
| }; |
| |
| // Used by ash to trigger Chrome's wallpaper picker functionality. |
| interface WallpaperManager { |
| // Open the wallpaper picker window. |
| Open(); |
| }; |