#include "content/browser/fenced_frame/fenced_frame.h"
#include <memory>
#include <string>
#include <tuple>
#include "base/containers/contains.h"
#include "base/functional/callback.h"
#include "base/memory/ref_counted.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "build/buildflag.h"
#include "components/network_session_configurator/common/network_switches.h"
#include "components/ukm/test_ukm_recorder.h"
#include "content/browser/attribution_reporting/attribution_manager.h"
#include "content/browser/attribution_reporting/attribution_os_level_manager.h"
#include "content/browser/attribution_reporting/attribution_test_utils.h"
#include "content/browser/attribution_reporting/test/mock_content_browser_client.h"
#include "content/browser/back_forward_cache_browsertest.h"
#include "content/browser/fenced_frame/fenced_frame_reporter.h"
#include "content/browser/preloading/prefetch/prefetch_service.h"
#include "content/browser/private_aggregation/private_aggregation_manager.h"
#include "content/browser/renderer_host/frame_tree_node.h"
#include "content/browser/renderer_host/navigation_entry_restore_context_impl.h"
#include "content/browser/renderer_host/navigation_request.h"
#include "content/browser/renderer_host/render_frame_proxy_host.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/common/features.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/frame_type.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/back_forward_cache_util.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/content_browser_test.h"
#include "content/public/test/content_browser_test_content_browser_client.h"
#include "content/public/test/content_browser_test_utils.h"
#include "content/public/test/fenced_frame_test_util.h"
#include "content/public/test/mock_web_contents_observer.h"
#include "content/public/test/navigation_handle_observer.h"
#include "content/public/test/resource_load_observer.h"
#include "content/public/test/test_browser_context.h"
#include "content/public/test/test_frame_navigation_observer.h"
#include "content/public/test/test_navigation_observer.h"
#include "content/public/test/url_loader_monitor.h"
#include "content/shell/browser/shell.h"
#include "content/shell/browser/shell_browser_context.h"
#include "content/test/content_browser_test_utils_internal.h"
#include "content/test/fenced_frame_test_utils.h"
#include "mojo/public/cpp/test_support/test_utils.h"
#include "net/base/features.h"
#include "net/dns/mock_host_resolver.h"
#include "net/test/embedded_test_server/connection_tracker.h"
#include "net/test/embedded_test_server/controllable_http_response.h"
#include "net/test/embedded_test_server/default_handlers.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "services/network/public/cpp/cors/cors.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/simple_url_loader.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest-spi.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/fenced_frame/fenced_frame_utils.h"
#include "third_party/blink/public/common/frame/fenced_frame_sandbox_flags.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame.mojom.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-test-utils.h"
#include "third_party/blink/public/mojom/loader/resource_load_info.mojom-shared.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace content {
namespace {
cors;
constexpr char kAddIframeScript[] = …;
constexpr char kReportingURL[] = …;
GURL GenerateAndVerifyPendingMappedURN(
FencedFrameURLMapping* fenced_frame_url_mapping) { … }
}
class FencedFrameBrowserTestBase : public ContentBrowserTest { … };
class FencedFrameMPArchBrowserTest : public FencedFrameBrowserTestBase { … };
class FencedFrameMPArchBrowserTest_IsolateAllSites
: public FencedFrameMPArchBrowserTest { … };
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
CreateFromScriptAndDestroy) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, CreateFromParser) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, Navigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, AboutBlankNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
SettingNullConfigNavigatesToAboutBlank) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, FrameIteration) { … }
namespace {
class NavigationDelayerInterceptor
: public blink::mojom::LocalFrameHostInterceptorForTesting { … };
}
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, NavigationStartTime) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, CrossOriginMessagePost) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
DocumentOnLoadCompletedInPrimaryMainFrame) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
PrimaryMainDocumentElementAvailable) { … }
#if BUILDFLAG(IS_MAC)
#define MAYBE_ViewportSettings …
#else
#define MAYBE_ViewportSettings …
#endif
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, MAYBE_ViewportSettings) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, GetPageUkmSourceId) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
GetPageUkmSourceId_NestedFrame) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
DocumentUKMSourceIdShouldNotBeAssociatedWithURL) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, NodesForIsLoading) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
NoErrorPageOnEmptyFrameHttpError) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, IsLoading) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
DidStartAndDidStopLoading) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, LoadProgressChanged) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
NavigationHandleFrameType) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, UnloadHandler) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
UserInteractionForFencedFrame) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
FocusedFrameInFencedFrame) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
InitialNavigationIsNotClientRedirect) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest_IsolateAllSites,
ProcessAllocationWithFullSiteIsolation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest_IsolateAllSites,
CrossSiteFencedFramesShareProcess) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
EnsureSandboxFlagsEnforced) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
CreateFencedFrameWhileInBackForwardCache) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, LinkPreload) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
NetworkCutoffDisablesLinkPreload) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest, LinkModulePreload) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
NetworkCutoffDisablesLinkModulePreload) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameMPArchBrowserTest,
ScriptSpeculationRulesPrefetchNotStarted) { … }
class FencedFrameWithSiteIsolationDisabledBrowserTest
: public FencedFrameMPArchBrowserTest,
public testing::WithParamInterface<std::tuple<bool, bool>> { … };
INSTANTIATE_TEST_SUITE_P(…);
IN_PROC_BROWSER_TEST_P(FencedFrameWithSiteIsolationDisabledBrowserTest,
ProcessAllocationWithSiteIsolationDisabled) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameWithSiteIsolationDisabledBrowserTest,
ProcessAllocationWithDynamicIsolatedOrigin) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameWithSiteIsolationDisabledBrowserTest,
ProcessAllocationWhenRootIsIsolated) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameWithSiteIsolationDisabledBrowserTest,
ProcessAllocationForNestedFencedFrame) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameWithSiteIsolationDisabledBrowserTest,
ProcessAllocationForFencedFrameInIsolatedPopup) { … }
class FencedFrameIsolatedSandboxedIframesBrowserTest
: public FencedFrameMPArchBrowserTest_IsolateAllSites,
public ::testing::WithParamInterface<bool> { … };
IN_PROC_BROWSER_TEST_P(FencedFrameIsolatedSandboxedIframesBrowserTest,
CSP_Mainframe) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameIsolatedSandboxedIframesBrowserTest,
Non_CSP_Mainframe) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameIsolatedSandboxedIframesBrowserTest,
NoFencedFramesInIsolatedSandboxedIframes) { … }
class FencedFrameProcessIsolationBrowserTest
: public FencedFrameMPArchBrowserTest { … };
IN_PROC_BROWSER_TEST_F(FencedFrameProcessIsolationBrowserTest, BasicTest) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameProcessIsolationBrowserTest,
SameOriginFencedFramesArePutInTheSameProcess) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameProcessIsolationBrowserTest,
CrossOriginFencedFramesArePutInDifferentProcesses) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameProcessIsolationBrowserTest,
SubframeIsolation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameProcessIsolationBrowserTest,
NestedFencedFrames) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameProcessIsolationBrowserTest, ErrorPage) { … }
namespace {
enum class FrameTypeWithOrigin { … };
const std::vector<FrameTypeWithOrigin> kTestParameters[] = …;
static std::string TestParamToString(
::testing::TestParamInfo<std::vector<FrameTypeWithOrigin>> param_info) { … }
const char* kSameOriginHostName = …;
const char* kCrossOriginHostName = …;
const char* GetHostNameForFrameType(FrameTypeWithOrigin type) { … }
bool IsFencedFrameType(FrameTypeWithOrigin type) { … }
}
class FencedFrameNestedFrameBrowserTest
: public FencedFrameBrowserTestBase,
public testing::WithParamInterface<std::vector<FrameTypeWithOrigin>> { … };
IN_PROC_BROWSER_TEST_P(FencedFrameNestedFrameBrowserTest,
IsNestedWithinFencedFrame) { … }
INSTANTIATE_TEST_SUITE_P(…);
namespace {
static std::string ModeTestParamToString(
::testing::TestParamInfo<
std::tuple<blink::FencedFrame::DeprecatedFencedFrameMode,
blink::FencedFrame::DeprecatedFencedFrameMode>> param_info) { … }
}
class FencedFrameNestedModesTest
: public FencedFrameBrowserTestBase,
public testing::WithParamInterface<
std::tuple<blink::FencedFrame::DeprecatedFencedFrameMode,
blink::FencedFrame::DeprecatedFencedFrameMode>> { … };
IN_PROC_BROWSER_TEST_P(FencedFrameNestedModesTest, NestedModes) { … }
class FledgeFencedFrameOriginContentBrowserClient
: public ContentBrowserTestContentBrowserClient { … };
INSTANTIATE_TEST_SUITE_P(…);
class FencedFrameParameterizedBrowserTest : public FencedFrameBrowserTestBase { … };
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckFencedFrameNavigationWithUUID) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
SharedStorageMetadataInNestedFencedFrame) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
TwoFencedFrameNavigationToSameSharedStorageOriginatedUUID_SameMetadata) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
FencedFrameNavigationWithPendingMappedUUID_MappingSuccess_ValidURL) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
FencedFrameNavigationWithPendingMappedUUID_MappingSuccess_InvalidURL) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
FencedFrameNavigationWithPendingMappedUUID_NavigationCanceledDuringDeferring) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckFencedFrameCookiesNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckPartitionedCookiesWithNonce) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
CheckPartitionedCookiesWithNonceShouldTraverseFrameTree) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckIsFencedFrame) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckIsolationInfoAndStorageKeyNonce) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckUniqueStorage) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckFencedFrameNotNavigatedWithoutOptIn) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckNestedIframeNotNavigatedWithoutOptIn) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckSecFetchDestHeader) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckOpaqueUrlFlag) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CancelledNavigationCheckOpaqueUrlFlag) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
RTCPeerConnectionDisabled) { … }
namespace {
class InsecureContentTestContentBrowserClient
: public ContentBrowserTestContentBrowserClient { … };
}
class FencedFrameIgnoreCertErrors : public FencedFrameParameterizedBrowserTest { … };
IN_PROC_BROWSER_TEST_F(FencedFrameIgnoreCertErrors, FencedframeHasCertError) { … }
namespace {
class TestJavaScriptDialogManager : public JavaScriptDialogManager,
public WebContentsDelegate { … };
}
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
ShouldIgnoreJsDialog) { … }
class AlwaysAutoSubframeNavigationObserver : public WebContentsObserver { … };
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
NavigationAndHistoryShouldBeReplaceOnly) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
GoBackToPageWithFencedFrame) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
ReloadPageWithFencedFrame) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
NavigateUnfencedTopAndGoBack) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
GoBackToPageWithFencedFrameNavigationNoBFCache) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
RestorePageWithFencedFrameNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckInvalidUrnError) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
CheckCSPFencedFrameSrcOpaqueURL) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
FenceUserActivation) { … }
#if BUILDFLAG(IS_ANDROID) && defined(NDEBUG)
#define MAYBE_FencedAdSizes …
#else
#define MAYBE_FencedAdSizes …
#endif
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
MAYBE_FencedAdSizes) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
NestedUrnIframeUnderFencedFrameUnfencedTopNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
EmbedderInitiatedNavigationForceNewBrowsingInstance) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
DisableUntrustedNetworkNestedFrames) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
DisableUntrustedNetworkParallelTrees) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
AddFencedFrameToDisabledNetworkTree) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
AddFencedFrameAfterNetworkCutoff) { … }
class DidStartNavigationCallback final : public WebContentsObserver { … };
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
RevokeNetworkAccessNotResolveWithOngoingNestedFencedFrameNavigation) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
RevokeNetworkAccessNotResolveWithOngoingNestedIframeNavigation) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
ParentChildFencedFramesBothDisableNetworkCancelEmbedderInitiatedNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
DiableNetworkWithOngoingNavigationInTargetFencedFrame) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
TopAndLeafFencedFramesRevokeNetworkNavigateNestedIframe) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
OnlyTargetFencedFrameDisablesNetworkDoesNotCancelEmbedderInitiatedNavigation) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameParameterizedBrowserTest,
ParentFencedFrameDisablesNetworkCancelNestedUrnIframeNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameParameterizedBrowserTest,
ClearNonceFromNetworkContextAfterFencedFrameIsRemoved) { … }
class FencedFrameReportEventBrowserTest
: public FencedFrameParameterizedBrowserTest { … };
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventNonOpaqueAdsMode) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventEmbedderURNNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventDisableUntrustedNetwork) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventWithoutEventData) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventEventDataExceedsLengthLimit) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventBrowserTest,
FencedFrameReportEventNoMetadataForReportingDestination) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventNoReportingURLForEventType) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventInvalidReportingURL) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventNestedIframeSameOriginNavigation) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventBrowserTest,
FencedFrameReportEventNestedIframeCrossOriginNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventFFSameOriginNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventFFCrossOriginNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventEmbedderURLNavigation) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventEmbedderSameOriginRedirect) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventEmbedderCrossOriginRedirect) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventFFSameOriginInterveningRedirect) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventFFCrossOriginInterveningRedirect) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventAttributionReportingDisallowed) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventBrowserTest,
FencedFrameReportEventNestedIframeAttributionReportingDisallowed) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
FencedFrameReportEventCustomURLEmbedderURNNavigation) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventBrowserTest,
FencedFrameReportEventCustomURLNestedIframeSameOriginNavigation) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventBrowserTest,
FencedFrameReportEventCustomURLNestedIframeCrossOriginNavigation) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventBrowserTest,
FencedFrameReportEventCustomURLAttributionReportingDisallowed) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
IframeReportingMetadata) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
SameOriginReportEventPost302RedirectGet) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
CrossOriginReportEventPost302RedirectGet) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
AttributionNoneSupported_EligibleHeaderNotSet) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
GetFencedFramePropertiesShouldTraverseFrameTree) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
NestedIframeCrossOriginNavigationWithOptIn) { … }
IN_PROC_BROWSER_TEST_F(FencedFrameReportEventBrowserTest,
CustomURLNestedIframeCrossOriginNavigationWithOptIn) { … }
class FencedFrameReportEventAttributionCrossAppWebEnabledBrowserTest
: public FencedFrameReportEventBrowserTest { … };
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventAttributionCrossAppWebEnabledBrowserTest,
ReportEventSameOriginSetsSupportHeader) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventAttributionCrossAppWebEnabledBrowserTest,
ReportEventCrossOriginSetsSupportHeader) { … }
class FencedFrameReportEventFacilitatedTestingEnabledBrowserTest
: public FencedFrameReportEventBrowserTest { … };
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventFacilitatedTestingEnabledBrowserTest,
NestedIframeCrossOriginNavigationWithOptIn) { … }
IN_PROC_BROWSER_TEST_F(
FencedFrameReportEventFacilitatedTestingEnabledBrowserTest,
CustomURLNestedIframeCrossOriginNavigationWithOptIn) { … }
class UUIDFrameTreeBrowserTest
: public FencedFrameBrowserTestBase,
public ::testing::WithParamInterface<std::tuple<bool, bool>> { … };
IN_PROC_BROWSER_TEST_P(UUIDFrameTreeBrowserTest,
CheckIframeNavigationWithUUID) { … }
IN_PROC_BROWSER_TEST_P(UUIDFrameTreeBrowserTest,
CheckIframeNavigationWithInvalidUUID) { … }
IN_PROC_BROWSER_TEST_P(UUIDFrameTreeBrowserTest,
CheckMainFrameNavigationWithUUIDFails) { … }
class FencedFrameAutomaticBeaconBrowserTest
: public FencedFrameReportEventBrowserTest,
public testing::WithParamInterface<const char*> { … };
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest, SameOriginBasic) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
CrossOriginBasic) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest, BFCacheDisabled) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest, EmptyMessage) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
MessageExceedsLengthLimit) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
UntrustedNetworkDisabled) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
HasEventDataField) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
NoEventDataField) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
NoBeaconDataRegistered) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
NoUserActivation) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
TargetBlankNavigation) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
CrossOriginToMappedURL) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
NoDestinationsRegistered) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
AutomaticBeaconCredentialsDisallowed) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
DeprecatedTopNavigation) { … }
IN_PROC_BROWSER_TEST_P(FencedFrameAutomaticBeaconBrowserTest,
TopNavigationStart) { … }
INSTANTIATE_TEST_SUITE_P(…);
INSTANTIATE_TEST_SUITE_P(…);
INSTANTIATE_TEST_SUITE_P(…);
class FencedFramePreconnectBrowserTest : public FencedFrameMPArchBrowserTest { … };
IN_PROC_BROWSER_TEST_F(FencedFramePreconnectBrowserTest, Preconnect) { … }
IN_PROC_BROWSER_TEST_F(FencedFramePreconnectBrowserTest,
NetworkCutoffDisablesPreconnect) { … }
IN_PROC_BROWSER_TEST_F(FencedFramePreconnectBrowserTest,
PreconnectFromLinkHeader) { … }
IN_PROC_BROWSER_TEST_F(FencedFramePreconnectBrowserTest,
NetworkCutoffDisablesPreconnectFromLinkHeader) { … }
}