| // 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(); |
| }; |