#include <string>
#include <string_view>
#include "base/base64.h"
#include "base/check_deref.h"
#include "base/containers/contains.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/path_service.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/bind.h"
#include "base/test/test_switches.h"
#include "base/test/values_test_util.h"
#include "base/threading/thread_restrictions.h"
#include "base/values.h"
#include "build/build_config.h"
#include "chrome/browser/apps/app_service/app_launch_params.h"
#include "chrome/browser/apps/app_service/app_service_proxy.h"
#include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
#include "chrome/browser/apps/app_service/browser_app_launcher.h"
#include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h"
#include "chrome/browser/data_saver/data_saver.h"
#include "chrome/browser/devtools/devtools_window.h"
#include "chrome/browser/devtools/protocol/devtools_protocol_test_support.h"
#include "chrome/browser/dips/dips_test_utils.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/extensions/unpacked_installer.h"
#include "chrome/browser/preloading/preloading_prefs.h"
#include "chrome/browser/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations_mixin.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/content_settings/core/common/pref_names.h"
#include "components/custom_handlers/protocol_handler_registry.h"
#include "components/infobars/content/content_infobar_manager.h"
#include "components/infobars/core/infobar.h"
#include "components/infobars/core/infobar_delegate.h"
#include "components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/ssl_status.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_features.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/preloading_test_util.h"
#include "content/public/test/prerender_test_util.h"
#include "extensions/browser/app_window/app_window.h"
#include "extensions/browser/app_window/app_window_registry.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/process_manager.h"
#include "extensions/browser/test_extension_registry_observer.h"
#include "extensions/common/manifest_handlers/background_info.h"
#include "extensions/test/extension_test_message_listener.h"
#include "net/base/ip_address.h"
#include "net/dns/mock_host_resolver.h"
#include "net/ssl/ssl_cipher_suite_names.h"
#include "net/ssl/ssl_config.h"
#include "net/ssl/ssl_connection_status_flags.h"
#include "net/ssl/ssl_server_config.h"
#include "printing/buildflags/buildflags.h"
#include "services/network/public/cpp/network_switches.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"
#include "url/origin.h"
#if BUILDFLAG(IS_WIN)
#include "base/base_paths_win.h"
#include "base/test/scoped_path_override.h"
#endif
DevToolsProtocolTest;
AllOf;
Contains;
Eq;
Not;
namespace {
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
VisibleSecurityStateChangedNeutralState) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, CreateDeleteContext) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
NewTabPageInCreatedContextDoesNotCrash) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
CreateBrowserContextAcceptsProxyServer) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, CreateInDefaultContextById) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
InputDispatchEventsToCorrectTarget) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
NoInputEventsSentToBrowserWhenDisallowed) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
PreloadEnabledStateUpdatedDefault) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
PreloadEnabledStateUpdatedDisabledByPreference) { … }
class DevToolsProtocolTest_PreloadEnabledStateUpdatedDisabledByHoldback
: public DevToolsProtocolTest { … };
IN_PROC_BROWSER_TEST_F(
DevToolsProtocolTest_PreloadEnabledStateUpdatedDisabledByHoldback,
PreloadEnabledStateUpdatedDisabledByHoldback) { … }
class DevToolsProtocolTest_PrefetchHoldbackDisabledIfCDPClientConnected
: public DevToolsProtocolTest { … };
IN_PROC_BROWSER_TEST_F(
DevToolsProtocolTest_PrefetchHoldbackDisabledIfCDPClientConnected,
PrefetchHoldbackDisabledIfCDPClientConnected) { … }
IN_PROC_BROWSER_TEST_F(
DevToolsProtocolTest,
NoPendingUrlShownWhenAttachedToBrowserInitiatedFailedNavigation) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
NoPendingUrlShownForPageNavigateFromChromeExtension) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, SetRPHRegistrationMode) { … }
class DevToolsProtocolTest_BounceTrackingMitigations
: public DevToolsProtocolTest { … };
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest_BounceTrackingMitigations,
RunBounceTrackingMitigations) { … }
class DIPSStatusDevToolsProtocolTest
: public DevToolsProtocolTest,
public testing::WithParamInterface<std::tuple<bool, bool, std::string>> { … };
IN_PROC_BROWSER_TEST_P(DIPSStatusDevToolsProtocolTest,
TrueWhenEnabledAndDeleting) { … }
INSTANTIATE_TEST_SUITE_P(…);
DevToolsProtocolTest_AppId;
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest_AppId, ReturnsManifestAppId) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest_AppId,
ReturnsStartUrlAsManifestAppIdIfNotSet) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest_AppId, ReturnsNoAppIdIfNoManifest) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, VisibleSecurityStateSecureState) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
AutomationOverrideShowsAndRemovesInfoBar) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest,
AutomationOverrideAddsOneInfoBarOnly) { … }
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, UntrustedClient) { … }
class ExtensionProtocolTest : public DevToolsProtocolTest { … };
IN_PROC_BROWSER_TEST_F(ExtensionProtocolTest, ReloadTracedExtension) { … }
IN_PROC_BROWSER_TEST_F(ExtensionProtocolTest,
DISABLED_ReloadServiceWorkerExtension) { … }
class WebContentsBarrier { … };
IN_PROC_BROWSER_TEST_F(ExtensionProtocolTest, TabTargetWithGuestView) { … }
class PrerenderDataSaverProtocolTest : public DevToolsProtocolTest { … };
IN_PROC_BROWSER_TEST_F(PrerenderDataSaverProtocolTest,
CheckReportedDisabledByDataSaverPreloadingState) { … }
class PrivacySandboxAttestationsOverrideTest : public DevToolsProtocolTest { … };
IN_PROC_BROWSER_TEST_F(PrivacySandboxAttestationsOverrideTest,
PrivacySandboxEnrollmentOverride) { … }
IN_PROC_BROWSER_TEST_F(PrivacySandboxAttestationsOverrideTest,
PrivacySandboxEnrollmentOverrideInvalidUrl) { … }
class DevToolsProtocolTest_RelatedWebsiteSets : public DevToolsProtocolTest { … };
IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest_RelatedWebsiteSets,
GetRelatedWebsiteSets) { … }
}