// third_party/blink/public/mojom/render_accessibility.mojom-test-utils.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_RENDER_ACCESSIBILITY_MOJOM_TEST_UTILS_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_RENDER_ACCESSIBILITY_MOJOM_TEST_UTILS_H_

#include "third_party/blink/public/mojom/render_accessibility.mojom.h"
#include "third_party/blink/public/common/common_export.h"


namespace blink::mojom {


class BLINK_COMMON_EXPORT RenderAccessibilityHostInterceptorForTesting : public RenderAccessibilityHost {
  virtual RenderAccessibilityHost* GetForwardingInterface() = 0;
  void HandleAXEvents(const ::ui::AXUpdatesAndEvents& events_and_updates, const ::ui::AXLocationAndScrollUpdates& location_and_scroll_updates, uint32_t reset_token, HandleAXEventsCallback callback) override;
  void HandleAXLocationChanges(const ::ui::AXLocationAndScrollUpdates& changes, uint32_t reset_token) override;
};
class BLINK_COMMON_EXPORT RenderAccessibilityHostAsyncWaiter {
 public:
  explicit RenderAccessibilityHostAsyncWaiter(RenderAccessibilityHost* proxy);

  RenderAccessibilityHostAsyncWaiter(const RenderAccessibilityHostAsyncWaiter&) = delete;
  RenderAccessibilityHostAsyncWaiter& operator=(const RenderAccessibilityHostAsyncWaiter&) = delete;

  ~RenderAccessibilityHostAsyncWaiter();
  void HandleAXEvents(
      const ::ui::AXUpdatesAndEvents& events_and_updates, const ::ui::AXLocationAndScrollUpdates& location_and_scroll_updates, uint32_t reset_token);
  

 private:
  RenderAccessibilityHost* const proxy_;
};


class BLINK_COMMON_EXPORT RenderAccessibilityInterceptorForTesting : public RenderAccessibility {
  virtual RenderAccessibility* GetForwardingInterface() = 0;
  void SetMode(const ::ui::AXMode& ax_mode, uint32_t reset_token) override;
  void FatalError() override;
  void HitTest(const ::gfx::Point& point, ::ax::mojom::Event event_to_fire, int32_t request_id, HitTestCallback callback) override;
  void PerformAction(const ::ui::AXActionData& action_data) override;
  void Reset(uint32_t reset_token) override;
};
class BLINK_COMMON_EXPORT RenderAccessibilityAsyncWaiter {
 public:
  explicit RenderAccessibilityAsyncWaiter(RenderAccessibility* proxy);

  RenderAccessibilityAsyncWaiter(const RenderAccessibilityAsyncWaiter&) = delete;
  RenderAccessibilityAsyncWaiter& operator=(const RenderAccessibilityAsyncWaiter&) = delete;

  ~RenderAccessibilityAsyncWaiter();
  void HitTest(
      const ::gfx::Point& point, ::ax::mojom::Event event_to_fire, int32_t request_id, HitTestResponsePtr* out_hit_test_response);
  HitTestResponsePtr HitTest(const ::gfx::Point& point, ::ax::mojom::Event event_to_fire, int32_t request_id);

 private:
  RenderAccessibility* const proxy_;
};




}  // blink::mojom

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_RENDER_ACCESSIBILITY_MOJOM_TEST_UTILS_H_