| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 module mojom; | 5 module mojom; |
| 6 | 6 |
| 7 // The types of module events that can occur. | 7 // The types of module events that can occur. |
| 8 enum ModuleEventType { | 8 enum ModuleEventType { |
| 9 // A module was already loaded, but its presence is being observed. | 9 // A module was already loaded, but its presence is being observed. |
| 10 MODULE_ALREADY_LOADED, | 10 MODULE_ALREADY_LOADED, |
| 11 // A module is in the process of being loaded. | 11 // A module is in the process of being loaded. |
| 12 MODULE_LOADED, | 12 MODULE_LOADED, |
| 13 // A module is in the process of being unloaded. | 13 // A module is in the process of being unloaded. |
| 14 MODULE_UNLOADED, | 14 MODULE_UNLOADED, |
| 15 }; | 15 }; |
| 16 | 16 |
| 17 // A notification about a module being loaded or unloaded. | 17 // Interface for a remote consumer of module events. |
| 18 struct ModuleEvent { | 18 interface ModuleEventSink { |
| 19 // The type of event. | 19 // Notifies the module database of a module event in a remote process. The |
| 20 ModuleEventType event_type; | 20 // module is identified only by its load address, which is sufficient for |
| 21 // The full path to the module being loaded or unloaded. | 21 // any process to safely look up the module. |
| 22 string module_path; | 22 OnModuleEvent(ModuleEventType event_type, uint64 load_address); |
| 23 // The load address of the module. | |
| 24 uint64 load_address; | |
| 25 // The size of the module in memory, in bytes. | |
| 26 uint32 size; | |
| 27 }; | 23 }; |
| OLD | NEW |