// services/network/public/mojom/devtools_observer.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_NETWORK_PUBLIC_MOJOM_DEVTOOLS_OBSERVER_MOJOM_BLINK_TEST_UTILS_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_DEVTOOLS_OBSERVER_MOJOM_BLINK_TEST_UTILS_H_

#include "services/network/public/mojom/devtools_observer.mojom-blink.h"
#include "third_party/blink/public/platform/web_common.h"


namespace network::mojom::blink {


class BLINK_PLATFORM_EXPORT DevToolsObserverInterceptorForTesting : public DevToolsObserver {
  virtual DevToolsObserver* GetForwardingInterface() = 0;
  void OnRawRequest(const ::blink::String& devtool_request_id, ::blink::Vector<::network::mojom::blink::CookieWithAccessResultPtr> cookies_with_access_result, ::blink::Vector<::network::mojom::blink::HttpRawHeaderPairPtr> headers, ::base::TimeTicks timestamp, ::blink::Vector<::network::mojom::blink::DeviceBoundSessionWithUsagePtr> device_bound_session_usages, ::network::mojom::blink::ClientSecurityStatePtr client_security_state, OtherPartitionInfoPtr other_partition_info, const std::optional<::base::UnguessableToken>& applied_network_conditions_id) override;
  void OnRawResponse(const ::blink::String& devtool_request_id, ::blink::Vector<::network::mojom::blink::CookieAndLineWithAccessResultPtr> cookies_with_access_result, ::blink::Vector<::network::mojom::blink::HttpRawHeaderPairPtr> headers, const ::blink::String& raw_response_headers, ::network::mojom::blink::IPAddressSpace resource_address_space, int32_t http_status_code, ::network::mojom::blink::CookiePartitionKeyPtr cookie_partition_key) override;
  void OnEarlyHintsResponse(const ::blink::String& devtool_request_id, ::blink::Vector<::network::mojom::blink::HttpRawHeaderPairPtr> headers) override;
  void OnLocalNetworkRequest(const ::blink::String& devtool_request_id, const ::blink::KURL& url, bool is_warning, ::network::mojom::blink::IPAddressSpace resource_address_space, ::network::mojom::blink::ClientSecurityStatePtr client_security_state) override;
  void OnCorsPreflightRequest(const ::base::UnguessableToken& devtool_request_id, const ::net::HttpRequestHeaders& request_headers, URLRequestDevToolsInfoPtr request_info, const ::blink::KURL& initiator_url, const ::blink::String& initiator_devtool_request_id) override;
  void OnCorsPreflightResponse(const ::base::UnguessableToken& devtool_request_id, const ::blink::KURL& url, URLResponseHeadDevToolsInfoPtr head) override;
  void OnCorsPreflightRequestCompleted(const ::base::UnguessableToken& devtool_request_id, const ::network::URLLoaderCompletionStatus& status) override;
  void OnTrustTokenOperationDone(const ::blink::String& devtool_request_id, ::network::mojom::blink::TrustTokenOperationResultPtr result) override;
  void OnCorsError(const ::blink::String& devtool_request_id, const ::scoped_refptr<const ::blink::SecurityOrigin>& initiator_origin, ::network::mojom::blink::ClientSecurityStatePtr client_security_state, const ::blink::KURL& url, ::network::mojom::blink::CorsErrorStatusPtr status, bool is_warning) override;
  void OnOrbError(const ::blink::String& devtools_request_id, const ::blink::KURL& url) override;
  void OnSharedDictionaryError(const ::blink::String& devtool_request_id, const ::blink::KURL& url, ::network::mojom::blink::SharedDictionaryError error) override;
  void OnSRIMessageSignatureIssue(const ::blink::String& devtool_request_id, const ::blink::KURL& url, ::blink::Vector<::network::mojom::blink::SRIMessageSignatureIssuePtr> issues) override;
  void OnUnencodedDigestError(const ::blink::String& devtool_request_id, const ::blink::KURL& url, ::network::mojom::blink::UnencodedDigestIssue issue) override;
  void OnConnectionAllowlistIssue(const ::blink::String& devtool_request_id, const ::blink::KURL& url, ::network::mojom::blink::ConnectionAllowlistIssue issue) override;
  void Clone(::mojo::PendingReceiver<DevToolsObserver> listener) override;
};
class BLINK_PLATFORM_EXPORT DevToolsObserverAsyncWaiter {
 public:
  explicit DevToolsObserverAsyncWaiter(DevToolsObserver* proxy);

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

  ~DevToolsObserverAsyncWaiter();

 private:
  DevToolsObserver* const proxy_;
};




}  // network::mojom::blink

#endif  // SERVICES_NETWORK_PUBLIC_MOJOM_DEVTOOLS_OBSERVER_MOJOM_BLINK_TEST_UTILS_H_