blob: 212398c8167def7cccc48634d1ae6ee285adf349 [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 shell.test.mojom;
// An interface implemented by an application exposing different ways for the
// application to "shut down" from the caller and shell's perspective.
interface LifecycleControl {
// Method for ping-pong acknowledgement.
Ping() => ();
// Perform any normal cleanup and shut down normally.
GracefulQuit();
// Crash immediately and leave the shell and clients to deal with the
// consequences.
Crash();
// Not actually a shutdown from the client's perspective, but the Shell is no
// longer tracking this application.
CloseShellConnection();
};
// Implemented by an app that connects to another app, thereby creating an
// instance for it in the shell.
interface Parent {
// Connects to another app and runs the callback when that app has acked a
// Ping.
ConnectToChild() => ();
Quit();
};