// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_NETWORK_TRUST_TOKEN_BROWSERTEST_H_ #define CONTENT_BROWSER_NETWORK_TRUST_TOKEN_BROWSERTEST_H_ #include <string_view> #include "base/memory/raw_ref.h" #include "base/test/scoped_feature_list.h" #include "build/build_config.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/trust_token_access_details.h" #include "content/public/browser/web_contents_observer.h" #include "content/public/test/content_browser_test.h" #include "mojo/public/cpp/bindings/receiver.h" #include "services/network/test/trust_token_request_handler.h" #if BUILDFLAG(IS_ANDROID) #include "content/public/browser/android/java_interfaces.h" #include "services/service_manager/public/cpp/interface_provider.h" #endif // BUILDFLAG(IS_ANDROID) namespace content { TrustTokenRequestHandler; // TrustTokenBrowsertest is a fixture containing boilerplate for initializing an // HTTPS test server and passing requests through to an embedded instance of // network::test::TrustTokenRequestHandler, which contains the guts of the // "server-side" token issuance and redemption logic as well as some consistency // checks for subsequent signed requests. // // The virtual inheritance is necessary as DevtoolsTrustTokenBrowsertest builds // an inheritance diamond with ContentBrowserTest at the root. Any class in the // diamond inheriting from ContentBrowserTest directly, needs to do so // virtually. Otherwise DevtoolsTrustTokenBrowsertest would contain multiple // copies of ContentBrowserTest's members. class TrustTokenBrowsertest : virtual public ContentBrowserTest, public WebContentsObserver { … }; } // namespace content #endif // CONTENT_BROWSER_NETWORK_TRUST_TOKEN_BROWSERTEST_H_