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

#include "third_party/blink/public/mojom/page/page.mojom.h"
#include "third_party/blink/public/common/common_export.h"


namespace blink::mojom {


class BLINK_COMMON_EXPORT PageBroadcastInterceptorForTesting : public PageBroadcast {
  virtual PageBroadcast* GetForwardingInterface() = 0;
  void SetPageLifecycleState(PageLifecycleStatePtr state, PageRestoreParamsPtr page_restore_params, SetPageLifecycleStateCallback callback) override;
  void AudioStateChanged(bool is_audio_playing) override;
  void ActivatePrerenderedPage(PrerenderPageActivationParamsPtr prerender_page_activation_params, ActivatePrerenderedPageCallback callback) override;
  void UpgradePrerenderUntilScriptToFullPrerender() override;
  void UpdateWebPreferences(const ::blink::web_pref::WebPreferences& preferences) override;
  void UpdateRendererPreferences(const ::blink::RendererPreferences& preferences) override;
  void SetHistoryIndexAndLength(int32_t index, int32_t length) override;
  void SetPageBaseBackgroundColor(std::optional<::SkColor> color) override;
  void CreateRemoteMainFrame(const ::blink::RemoteFrameToken& token, const std::optional<::blink::FrameToken>& opener_frame_token, ::blink::mojom::FrameReplicationStatePtr replication_state, bool is_loading, const ::base::UnguessableToken& devtools_frame_token, const std::optional<::base::UnguessableToken>& navigation_metrics_token, ::blink::mojom::RemoteFrameInterfacesFromBrowserPtr remote_frame_interfaces, ::blink::mojom::RemoteMainFrameInterfacesPtr remote_main_frame_interfaces) override;
  void UpdatePageBrowsingContextGroup(const ::base::UnguessableToken& browsing_context_group_token) override;
  void UpdateColorProviders(const ::blink::ColorProviderColorMaps& color_provider_colors) override;
  void SetSupportsDraggableRegions(bool supports_draggable_regions) override;
};
class BLINK_COMMON_EXPORT PageBroadcastAsyncWaiter {
 public:
  explicit PageBroadcastAsyncWaiter(PageBroadcast* proxy);

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

  ~PageBroadcastAsyncWaiter();
  void SetPageLifecycleState(
      PageLifecycleStatePtr state, PageRestoreParamsPtr page_restore_params);
  
  void ActivatePrerenderedPage(
      PrerenderPageActivationParamsPtr prerender_page_activation_params);
  

 private:
  PageBroadcast* const proxy_;
};




}  // blink::mojom

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAGE_PAGE_MOJOM_TEST_UTILS_H_