libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. From aeef68888d4c00b69facead2b934095a8cd17329 Mon Sep 17 00:00:00 2001
  2. From: Stephan Hartmann <stha09@googlemail.com>
  3. Date: Mon, 20 Apr 2020 18:21:43 +0000
  4. Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for
  5. NodeSetSizePosInSetInfo
  6. has only forward declaration of NodeSetSizePosInSetInfo. Therefore,
  7. move declaration from ax_tree.cc.
  8. std: :unordered_map<T, U> requires U to be fully declared. ax_tree.h
  9. Bug: 957519
  10. Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868
  11. Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132403
  12. Reviewed-by: David Tseng <dtseng@chromium.org>
  13. Commit-Queue: David Tseng <dtseng@chromium.org>
  14. Cr-Commit-Position: refs/heads/master@{#760588}
  15. ---
  16. ui/accessibility/ax_tree.cc | 10 ++--------
  17. ui/accessibility/ax_tree.h | 9 ++++++++-
  18. 2 files changed, 10 insertions(+), 9 deletions(-)
  19. diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
  20. index 7b8d9b1b161..e9154028d66 100644
  21. --- a/ui/accessibility/ax_tree.cc
  22. +++ b/ui/accessibility/ax_tree.cc
  23. @@ -567,14 +567,8 @@ struct AXTreeUpdateState {
  24. const AXTree& tree;
  25. };
  26. -struct AXTree::NodeSetSizePosInSetInfo {
  27. - NodeSetSizePosInSetInfo() = default;
  28. - ~NodeSetSizePosInSetInfo() = default;
  29. -
  30. - int32_t pos_in_set = 0;
  31. - int32_t set_size = 0;
  32. - base::Optional<int> lowest_hierarchical_level;
  33. -};
  34. +AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default;
  35. +AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default;
  36. struct AXTree::OrderedSetContent {
  37. explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
  38. diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h
  39. index a51ca8de4c8..8c1c57517ac 100644
  40. --- a/ui/accessibility/ax_tree.h
  41. +++ b/ui/accessibility/ax_tree.h
  42. @@ -328,7 +328,14 @@ class AX_EXPORT AXTree : public AXNode::OwnerTree {
  43. bool enable_extra_mac_nodes_ = false;
  44. // Contains pos_in_set and set_size data for an AXNode.
  45. - struct NodeSetSizePosInSetInfo;
  46. + struct NodeSetSizePosInSetInfo {
  47. + NodeSetSizePosInSetInfo();
  48. + ~NodeSetSizePosInSetInfo();
  49. +
  50. + int32_t pos_in_set = 0;
  51. + int32_t set_size = 0;
  52. + base::Optional<int> lowest_hierarchical_level;
  53. + };
  54. // Represents the content of an ordered set which includes the ordered set
  55. // items and the ordered set container if it exists.