#ifndef CONTENT_BROWSER_BACK_FORWARD_CACHE_BROWSERTEST_H_
#define CONTENT_BROWSER_BACK_FORWARD_CACHE_BROWSERTEST_H_
#include <memory>
#include <optional>
#include "base/compiler_specific.h"
#include "base/feature_list.h"
#include "base/hash/hash.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/scoped_logging_settings.h"
#include "components/ukm/test_ukm_recorder.h"
#include "content/browser/back_forward_cache_test_util.h"
#include "content/browser/renderer_host/page_lifecycle_state_manager.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/renderer_host/render_frame_host_manager.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/test/content_browser_test.h"
#include "content/public/test/content_mock_cert_verifier.h"
#include "content/test/content_browser_test_utils_internal.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/blink/public/mojom/back_forward_cache_not_restored_reasons.mojom-blink.h"
namespace content {
NotRestoredReasons;
NotRestoredReason;
ReasonsMatcher;
SameOriginMatcher;
BlockingDetailsReasonsMatcher;
SourceLocationMatcher;
BlockingDetailsMatcher;
MATCHER(InBackForwardCache, "") { … }
MATCHER(Deleted, "") { … }
std::initializer_list<RenderFrameHostImpl*> Elements(
std::initializer_list<RenderFrameHostImpl*> t);
enum class TestFrameType { … };
class BackForwardCacheBrowserTest
: public ContentBrowserTest,
public WebContentsObserver,
public BackForwardCacheMetrics::TestObserver,
public BackForwardCacheMetricsTestMatcher { … };
[[nodiscard]] bool WaitForDOMContentLoaded(RenderFrameHostImpl* rfh);
class HighCacheSizeBackForwardCacheBrowserTest
: public BackForwardCacheBrowserTest { … };
class BackForwardCacheUnloadBrowserTest : public BackForwardCacheBrowserTest { … };
class PageLifecycleStateManagerTestDelegate
: public PageLifecycleStateManager::TestDelegate { … };
EvalJsResult GetLocalStorage(RenderFrameHostImpl* rfh, std::string key);
[[nodiscard]] bool WaitForLocalStorage(RenderFrameHostImpl* rfh,
std::string key,
std::string expected_value);
}
#endif