PDocAccessible.ipdl 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. include protocol PFileDescriptorSet;
  6. include protocol PBrowser;
  7. using mozilla::a11y::IAccessibleHolder from "mozilla/a11y/IPCTypes.h";
  8. using mozilla::WindowsHandle from "ipc/IPCMessageUtils.h";
  9. namespace mozilla {
  10. namespace a11y {
  11. struct AccessibleData
  12. {
  13. uint64_t ID;
  14. int32_t MsaaID;
  15. uint32_t Role;
  16. uint32_t ChildrenCount;
  17. uint32_t Interfaces;
  18. };
  19. struct ShowEventData
  20. {
  21. uint64_t ID;
  22. uint32_t Idx;
  23. AccessibleData[] NewTree;
  24. };
  25. struct Attribute
  26. {
  27. nsCString Name;
  28. nsString Value;
  29. };
  30. sync protocol PDocAccessible
  31. {
  32. manager PBrowser;
  33. parent:
  34. async Shutdown();
  35. /*
  36. * Notify the parent process the document in the child process is firing an
  37. * event.
  38. */
  39. async Event(uint64_t aID, uint32_t type);
  40. async ShowEvent(ShowEventData data, bool aFromUser);
  41. async HideEvent(uint64_t aRootID, bool aFromUser);
  42. async StateChangeEvent(uint64_t aID, uint64_t aState, bool aEnabled);
  43. async CaretMoveEvent(uint64_t aID, int32_t aOffset);
  44. async TextChangeEvent(uint64_t aID, nsString aStr, int32_t aStart, uint32_t aLen,
  45. bool aIsInsert, bool aFromUser);
  46. async SelectionEvent(uint64_t aID, uint64_t aWidgetID, uint32_t aType);
  47. async RoleChangedEvent(uint32_t aRole);
  48. /*
  49. * Tell the parent document to bind the existing document as a new child
  50. * document.
  51. */
  52. async BindChildDoc(PDocAccessible aChildDoc, uint64_t aID);
  53. sync GetWindowedPluginIAccessible(WindowsHandle aHwnd)
  54. returns (IAccessibleHolder aPluginCOMProxy);
  55. child:
  56. async ParentCOMProxy(IAccessibleHolder aParentCOMProxy);
  57. async __delete__();
  58. };
  59. }
  60. }