| // Copyright 2015 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 reaper; |
| |
| import "services/reaper/reaper.mojom"; |
| import "services/reaper/scythe.mojom"; |
| |
| // Diagnostic and test support for the reaper. |
| interface Diagnostics { |
| // Returns all live nodes, in no particular order. |
| DumpNodes() => (array<Node> nodes); |
| |
| // Clear all state. |
| Reset(); |
| |
| // Get a reaper for any app URL. |
| GetReaperForApp(string app_url, Reaper& reaper); |
| |
| // Set whether a particular URL is a GC root or not. |
| SetIsRoot(string app_url, bool is_root); |
| |
| // Set the tool Reaper will use to kill applications. |
| SetScythe(Scythe scythe); |
| |
| // No-op used for creating ordering between interfaces. |
| Ping() => (); |
| }; |
| |
| struct Node { |
| string app_url; |
| uint32 node_id; |
| string other_app_url; |
| uint32 other_id; |
| bool is_source; |
| }; |