api.mojom 2.4 KB

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