// components/content_settings/common/content_settings_manager.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 COMPONENTS_CONTENT_SETTINGS_COMMON_CONTENT_SETTINGS_MANAGER_MOJOM_TEST_UTILS_H_
#define COMPONENTS_CONTENT_SETTINGS_COMMON_CONTENT_SETTINGS_MANAGER_MOJOM_TEST_UTILS_H_

#include "components/content_settings/common/content_settings_manager.mojom.h"


namespace content_settings::mojom {


class  ContentSettingsManagerInterceptorForTesting : public ContentSettingsManager {
  virtual ContentSettingsManager* GetForwardingInterface() = 0;
  void Clone(::mojo::PendingReceiver<ContentSettingsManager> clone) override;
  void IsStorageAccessAllowed(const ::url::Origin& origin, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, IsStorageAccessAllowedCallback callback) override;
  void AllowStorageAccess(const ::blink::LocalFrameToken& frame_token, ContentSettingsManager::StorageType storage_type, const ::url::Origin& origin, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, AllowStorageAccessCallback callback) override;
  void OnContentBlocked(const ::blink::LocalFrameToken& frame_token, ::content_settings::mojom::ContentSettingsType type) override;
};
class  ContentSettingsManagerAsyncWaiter {
 public:
  explicit ContentSettingsManagerAsyncWaiter(ContentSettingsManager* proxy);

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

  ~ContentSettingsManagerAsyncWaiter();
  void IsStorageAccessAllowed(
      const ::url::Origin& origin, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, bool* out_allowed);
  bool IsStorageAccessAllowed(const ::url::Origin& origin, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin);
  void AllowStorageAccess(
      const ::blink::LocalFrameToken& frame_token, ContentSettingsManager::StorageType storage_type, const ::url::Origin& origin, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, bool* out_allowed);
  bool AllowStorageAccess(const ::blink::LocalFrameToken& frame_token, ContentSettingsManager::StorageType storage_type, const ::url::Origin& origin, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin);

 private:
  ContentSettingsManager* const proxy_;
};




}  // content_settings::mojom

#endif  // COMPONENTS_CONTENT_SETTINGS_COMMON_CONTENT_SETTINGS_MANAGER_MOJOM_TEST_UTILS_H_