chromium/ash/components/arc/mojom/wallpaper.mojom

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Next MinVersion: 4

module arc.mojom;

// Handles wallpaper calls from ARC in Chrome.
// Next method ID: 3
interface WallpaperHost {
  // Gets current wallpaper encoded in PNG and send it back to ARC.
  GetWallpaper@0() => (array<uint8> wallpaper);

  // Sets an image from ARC as the wallpaper.
  // |data| is a byte array of the wallpaper image.
  SetWallpaper@1(array<uint8> data, [MinVersion=2] int32 wallpaper_id);

  // Sets the default wallpaper.
  [MinVersion=2] SetDefaultWallpaper@2();
};

// Connects with container side to publish wallpaper related intents.
// Deprecated method IDs: 0
// Next method ID: 4
interface WallpaperInstance {
  // Establishes full-duplex communication with the host.
  [MinVersion=3] Init@3(pending_remote<WallpaperHost> host_remote) => ();

  // Notifies ArcWallpaperManagerService that wallpaper is changed.
  [MinVersion=1] OnWallpaperChanged@1([MinVersion=2] int32 wallpaper_id);
};