api.mojom 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. module electron.mojom;
  2. import "mojo/public/mojom/base/string16.mojom";
  3. import "ui/gfx/geometry/mojom/geometry.mojom";
  4. import "third_party/blink/public/mojom/messaging/cloneable_message.mojom";
  5. import "third_party/blink/public/mojom/messaging/transferable_message.mojom";
  6. interface ElectronRenderer {
  7. Message(
  8. bool internal,
  9. string channel,
  10. blink.mojom.CloneableMessage arguments,
  11. int32 sender_id);
  12. ReceivePostMessage(string channel, blink.mojom.TransferableMessage message);
  13. TakeHeapSnapshot(handle file) => (bool success);
  14. };
  15. interface ElectronAutofillAgent {
  16. AcceptDataListSuggestion(mojo_base.mojom.String16 value);
  17. };
  18. interface ElectronAutofillDriver {
  19. ShowAutofillPopup(gfx.mojom.RectF bounds, array<mojo_base.mojom.String16> values, array<mojo_base.mojom.String16> labels);
  20. HideAutofillPopup();
  21. };
  22. struct DraggableRegion {
  23. bool draggable;
  24. gfx.mojom.Rect bounds;
  25. };
  26. interface ElectronWebContentsUtility {
  27. // Informs underlying WebContents that first non-empty layout was performed
  28. // by compositor.
  29. OnFirstNonEmptyLayout();
  30. UpdateDraggableRegions(
  31. array<DraggableRegion> regions);
  32. SetTemporaryZoomLevel(double zoom_level);
  33. [Sync]
  34. DoGetZoomLevel() => (double result);
  35. };
  36. interface ElectronApiIPC {
  37. // Emits an event on |channel| from the ipcMain JavaScript object in the main
  38. // process.
  39. Message(
  40. bool internal,
  41. string channel,
  42. blink.mojom.CloneableMessage arguments);
  43. // Emits an event on |channel| from the ipcMain JavaScript object in the main
  44. // process, and returns the response.
  45. Invoke(
  46. bool internal,
  47. string channel,
  48. blink.mojom.CloneableMessage arguments) => (blink.mojom.CloneableMessage result);
  49. ReceivePostMessage(string channel, blink.mojom.TransferableMessage message);
  50. // Emits an event on |channel| from the ipcMain JavaScript object in the main
  51. // process, and waits synchronously for a response.
  52. [Sync]
  53. MessageSync(
  54. bool internal,
  55. string channel,
  56. blink.mojom.CloneableMessage arguments) => (blink.mojom.CloneableMessage result);
  57. // Emits an event from the |ipcRenderer| JavaScript object in the target
  58. // WebContents's main frame, specified by |web_contents_id|.
  59. MessageTo(
  60. int32 web_contents_id,
  61. string channel,
  62. blink.mojom.CloneableMessage arguments);
  63. MessageHost(
  64. string channel,
  65. blink.mojom.CloneableMessage arguments);
  66. };