// services/network/public/mojom/restricted_cookie_manager.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_RESTRICTED_COOKIE_MANAGER_MOJOM_BLINK_TEST_UTILS_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_RESTRICTED_COOKIE_MANAGER_MOJOM_BLINK_TEST_UTILS_H_

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


namespace network::mojom::blink {


class BLINK_PLATFORM_EXPORT RestrictedCookieManagerInterceptorForTesting : public RestrictedCookieManager {
  virtual RestrictedCookieManager* GetForwardingInterface() = 0;
  void GetAllForUrl(const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, CookieManagerGetOptionsPtr options, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, GetAllForUrlCallback callback) override;
  void SetCanonicalCookie(RestrictedCanonicalCookieParamsPtr canonical_cookie_params, const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides, SetCanonicalCookieCallback callback) override;
  void AddChangeListener(const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, ::mojo::PendingRemote<::network::mojom::blink::CookieChangeListener> listener, AddChangeListenerCallback callback) override;
  void SetCookieFromString(const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides, const ::blink::String& cookie) override;
  void GetCookiesString(const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool get_version_shared_memory, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, GetCookiesStringCallback callback) override;
  void CookiesEnabledFor(const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool apply_devtools_overrides, CookiesEnabledForCallback callback) override;
};
class BLINK_PLATFORM_EXPORT RestrictedCookieManagerAsyncWaiter {
 public:
  explicit RestrictedCookieManagerAsyncWaiter(RestrictedCookieManager* proxy);

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

  ~RestrictedCookieManagerAsyncWaiter();
  void GetAllForUrl(
      const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, CookieManagerGetOptionsPtr options, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, ::blink::Vector<::network::mojom::blink::CookieWithAccessResultPtr>* out_cookies);
  ::blink::Vector<::network::mojom::blink::CookieWithAccessResultPtr> GetAllForUrl(const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, CookieManagerGetOptionsPtr options, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies);
  void SetCanonicalCookie(
      RestrictedCanonicalCookieParamsPtr canonical_cookie_params, const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides, bool* out_success);
  bool SetCanonicalCookie(RestrictedCanonicalCookieParamsPtr canonical_cookie_params, const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides);
  void AddChangeListener(
      const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, ::mojo::PendingRemote<::network::mojom::blink::CookieChangeListener> listener);
  
  void GetCookiesString(
      const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool get_version_shared_memory, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, uint64_t* out_version, ::base::ReadOnlySharedMemoryRegion* out_version_buffer, ::blink::String* out_cookies);
  
  void CookiesEnabledFor(
      const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool apply_devtools_overrides, bool* out_cookies_enabled);
  bool CookiesEnabledFor(const ::blink::KURL& url, const ::net::SiteForCookies& site_for_cookies, const ::scoped_refptr<const ::blink::SecurityOrigin>& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool apply_devtools_overrides);

 private:
  RestrictedCookieManager* const proxy_;
};




}  // network::mojom::blink

#endif  // SERVICES_NETWORK_PUBLIC_MOJOM_RESTRICTED_COOKIE_MANAGER_MOJOM_BLINK_TEST_UTILS_H_