// third_party/blink/public/mojom/reporting/reporting.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 THIRD_PARTY_BLINK_PUBLIC_MOJOM_REPORTING_REPORTING_MOJOM_BLINK_TEST_UTILS_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_REPORTING_REPORTING_MOJOM_BLINK_TEST_UTILS_H_

#include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h"
#include "third_party/blink/renderer/platform/platform_export.h"


namespace blink::mojom::blink {


class PLATFORM_EXPORT ReportingServiceProxyInterceptorForTesting : public ReportingServiceProxy {
  virtual ReportingServiceProxy* GetForwardingInterface() = 0;
  void QueueInterventionReport(const ::blink::KURL& url, const ::blink::String& id, const ::blink::String& message, const ::blink::String& source_file, int32_t line_number, int32_t column_number) override;
  void QueueDeprecationReport(const ::blink::KURL& url, const ::blink::String& id, std::optional<::base::Time> anticipatedRemoval, const ::blink::String& message, const ::blink::String& source_file, int32_t line_number, int32_t column_number) override;
  void QueueCspViolationReport(const ::blink::KURL& url, const ::blink::String& group, const ::blink::String& document_url, const ::blink::String& referrer, const ::blink::String& blocked_url, const ::blink::String& effective_directive, const ::blink::String& original_policy, const ::blink::String& source_file, const ::blink::String& script_sample, const ::blink::String& disposition, uint16_t status_code, int32_t line_number, int32_t column_number, const ::blink::String& url_hash, const ::blink::String& eval_hash) override;
  void QueueIntegrityViolationReport(const ::blink::KURL& url, const ::blink::String& endpoint, const ::blink::String& document_url, const ::blink::String& blocked_url, const ::blink::String& destination, bool report_only) override;
  void QueuePermissionsPolicyViolationReport(const ::blink::KURL& url, const ::blink::String& endpoint, const ::blink::String& policy_id, const ::blink::String& disposition, const ::blink::String& message, const ::blink::String& source_file, int32_t line_number, int32_t column_number) override;
  void QueuePotentialPermissionsPolicyViolationReport(const ::blink::KURL& url, const ::blink::String& endpoint, const ::blink::String& policy_id, const ::blink::String& disposition, const ::blink::String& message, const ::blink::String& allow_attribute, const ::blink::String& src_attribute, const ::blink::String& source_file, int32_t line_number, int32_t column_number) override;
  void QueueDocumentPolicyViolationReport(const ::blink::KURL& url, const ::blink::String& group, const ::blink::String& policy_id, const ::blink::String& disposition, const ::blink::String& message, const ::blink::String& source_file, int32_t line_number, int32_t column_number) override;
  void QueueCSPHashReport(const ::blink::KURL& url, const ::blink::String& endpoint, const ::blink::String& subresource_url, const ::blink::String& integrity_hash, const ::blink::String& type, const ::blink::String& destination) override;
  void QueueConnectionAllowlistViolationReport(const ::blink::KURL& url, const ::blink::String& endpoint, const ::blink::String& url_string, const ::blink::String& connection, const ::blink::Vector<::blink::String>& allowlist, const ::blink::String& disposition) override;
};
class PLATFORM_EXPORT ReportingServiceProxyAsyncWaiter {
 public:
  explicit ReportingServiceProxyAsyncWaiter(ReportingServiceProxy* proxy);

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

  ~ReportingServiceProxyAsyncWaiter();

 private:
  ReportingServiceProxy* const proxy_;
};




}  // blink::mojom::blink

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_REPORTING_REPORTING_MOJOM_BLINK_TEST_UTILS_H_