// services/viz/public/mojom/hit_test/input_target_client.mojom-blink-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 SERVICES_VIZ_PUBLIC_MOJOM_HIT_TEST_INPUT_TARGET_CLIENT_MOJOM_BLINK_TEST_UTILS_H_
#define SERVICES_VIZ_PUBLIC_MOJOM_HIT_TEST_INPUT_TARGET_CLIENT_MOJOM_BLINK_TEST_UTILS_H_

#include "services/viz/public/mojom/hit_test/input_target_client.mojom-blink.h"
#include "third_party/blink/public/platform/web_common.h"


namespace viz::mojom::blink {


class BLINK_PLATFORM_EXPORT InputTargetClientInterceptorForTesting : public InputTargetClient {
  virtual InputTargetClient* GetForwardingInterface() = 0;
  void FrameSinkIdAt(const ::gfx::PointF& point, uint64_t trace_id, FrameSinkIdAtCallback callback) override;
};
class BLINK_PLATFORM_EXPORT InputTargetClientAsyncWaiter {
 public:
  explicit InputTargetClientAsyncWaiter(InputTargetClient* proxy);

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

  ~InputTargetClientAsyncWaiter();
  void FrameSinkIdAt(
      const ::gfx::PointF& point, uint64_t trace_id, ::viz::FrameSinkId* out_id, ::gfx::PointF* out_local_point);
  

 private:
  InputTargetClient* const proxy_;
};




}  // viz::mojom::blink

#endif  // SERVICES_VIZ_PUBLIC_MOJOM_HIT_TEST_INPUT_TARGET_CLIENT_MOJOM_BLINK_TEST_UTILS_H_