blob: 074a59a66616439627a68fc1d5d09698c48af712 [file] [log] [blame]
// 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 app_list.mojom;
import "services/ui/public/interfaces/window_manager_constants.mojom";
// TODO(msw): Rename this file to app_list.mojom; move to ash?
// TODO(msw): Ash should implement the app list and presenter; chrome should
// just push data about its apps into the app list interface.
// Implemented by ash. Used by chrome to set the presenter interface.
interface AppList {
// Set the app list presenter interface, to let ash trigger Chrome's app list.
SetAppListPresenter(AppListPresenter presenter);
// Notify the app list that the presenter's [target] visibility changed.
OnTargetVisibilityChanged(bool visible);
// |display_id| gives the display containing the app list.
OnVisibilityChanged(bool visible, int64 display_id);
};
// Implemented by chrome. Used by ash to actually show and dismiss the app list.
interface AppListPresenter {
// Show the app list on the specified display.
Show(int64 display_id);
// Dismiss the app list.
Dismiss();
// Show the app list (on the specified display) if it is hidden; hide the
// app list if it is shown.
ToggleAppList(int64 display_id);
};