ax_action_data_mojom_traits.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef UI_ACCESSIBILITY_MOJOM_AX_ACTION_DATA_MOJOM_TRAITS_H_
  5. #define UI_ACCESSIBILITY_MOJOM_AX_ACTION_DATA_MOJOM_TRAITS_H_
  6. #include "ui/accessibility/ax_action_data.h"
  7. #include "ui/accessibility/mojom/ax_action_data.mojom-shared.h"
  8. #include "ui/accessibility/mojom/ax_tree_id_mojom_traits.h"
  9. #include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
  10. namespace mojo {
  11. template <>
  12. struct StructTraits<ax::mojom::AXActionDataDataView, ui::AXActionData> {
  13. static ax::mojom::Action action(const ui::AXActionData& a) {
  14. return a.action;
  15. }
  16. static const ui::AXTreeID& target_tree_id(const ui::AXActionData& a) {
  17. return a.target_tree_id;
  18. }
  19. static const std::string& source_extension_id(const ui::AXActionData& a) {
  20. return a.source_extension_id;
  21. }
  22. static int32_t target_node_id(const ui::AXActionData& a) {
  23. return a.target_node_id;
  24. }
  25. static int32_t request_id(const ui::AXActionData& a) { return a.request_id; }
  26. static int32_t flags(const ui::AXActionData& a) { return a.flags; }
  27. static int32_t anchor_node_id(const ui::AXActionData& a) {
  28. return a.anchor_node_id;
  29. }
  30. static int32_t anchor_offset(const ui::AXActionData& a) {
  31. return a.anchor_offset;
  32. }
  33. static int32_t focus_node_id(const ui::AXActionData& a) {
  34. return a.focus_node_id;
  35. }
  36. static int32_t focus_offset(const ui::AXActionData& a) {
  37. return a.focus_offset;
  38. }
  39. static int32_t custom_action_id(const ui::AXActionData& a) {
  40. return a.custom_action_id;
  41. }
  42. static const gfx::Rect& target_rect(const ui::AXActionData& a) {
  43. return a.target_rect;
  44. }
  45. static const gfx::Point& target_point(const ui::AXActionData& a) {
  46. return a.target_point;
  47. }
  48. static const std::string& value(const ui::AXActionData& a) { return a.value; }
  49. static ax::mojom::Event hit_test_event_to_fire(const ui::AXActionData& a) {
  50. return a.hit_test_event_to_fire;
  51. }
  52. static ax::mojom::ScrollAlignment horizontal_scroll_alignment(
  53. const ui::AXActionData& a) {
  54. return a.horizontal_scroll_alignment;
  55. }
  56. static ax::mojom::ScrollAlignment vertical_scroll_alignment(
  57. const ui::AXActionData& a) {
  58. return a.vertical_scroll_alignment;
  59. }
  60. static ax::mojom::ScrollBehavior scroll_behavior(const ui::AXActionData& a) {
  61. return a.scroll_behavior;
  62. }
  63. static bool Read(ax::mojom::AXActionDataDataView data, ui::AXActionData* out);
  64. };
  65. } // namespace mojo
  66. #endif // UI_ACCESSIBILITY_MOJOM_AX_ACTION_DATA_MOJOM_TRAITS_H_