api.mojom 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 ElectronBrowser {
  27. // Emits an event on |channel| from the ipcMain JavaScript object in the main
  28. // process.
  29. Message(
  30. bool internal,
  31. string channel,
  32. blink.mojom.CloneableMessage arguments);
  33. // Emits an event on |channel| from the ipcMain JavaScript object in the main
  34. // process, and returns the response.
  35. Invoke(
  36. bool internal,
  37. string channel,
  38. blink.mojom.CloneableMessage arguments) => (blink.mojom.CloneableMessage result);
  39. // Informs underlying WebContents that first non-empty layout was performed
  40. // by compositor.
  41. OnFirstNonEmptyLayout();
  42. ReceivePostMessage(string channel, blink.mojom.TransferableMessage message);
  43. // Emits an event on |channel| from the ipcMain JavaScript object in the main
  44. // process, and waits synchronously for a response.
  45. [Sync]
  46. MessageSync(
  47. bool internal,
  48. string channel,
  49. blink.mojom.CloneableMessage arguments) => (blink.mojom.CloneableMessage result);
  50. // Emits an event from the |ipcRenderer| JavaScript object in the target
  51. // WebContents's main frame, specified by |web_contents_id|.
  52. MessageTo(
  53. int32 web_contents_id,
  54. string channel,
  55. blink.mojom.CloneableMessage arguments);
  56. MessageHost(
  57. string channel,
  58. blink.mojom.CloneableMessage arguments);
  59. UpdateDraggableRegions(
  60. array<DraggableRegion> regions);
  61. SetTemporaryZoomLevel(double zoom_level);
  62. [Sync]
  63. DoGetZoomLevel() => (double result);
  64. };