diff options
Diffstat (limited to 'chromium/content/common/content_navigation_policy.cc')
-rw-r--r-- | chromium/content/common/content_navigation_policy.cc | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/chromium/content/common/content_navigation_policy.cc b/chromium/content/common/content_navigation_policy.cc index aa1f35b439b..6b932f006ea 100644 --- a/chromium/content/common/content_navigation_policy.cc +++ b/chromium/content/common/content_navigation_policy.cc @@ -47,7 +47,8 @@ constexpr base::FeatureParam<ProactivelySwapBrowsingInstanceLevel>::Option {ProactivelySwapBrowsingInstanceLevel::kCrossSiteSwapProcess, "CrossSiteSwapProcess"}, {ProactivelySwapBrowsingInstanceLevel::kCrossSiteReuseProcess, - "CrossSiteReuseProcess"}}; + "CrossSiteReuseProcess"}, + {ProactivelySwapBrowsingInstanceLevel::kSameSite, "SameSite"}}; const base::FeatureParam<ProactivelySwapBrowsingInstanceLevel> proactively_swap_browsing_instance_level{ &features::kProactivelySwapBrowsingInstance, @@ -55,6 +56,24 @@ const base::FeatureParam<ProactivelySwapBrowsingInstanceLevel> ProactivelySwapBrowsingInstanceLevel::kDisabled, &proactively_swap_browsing_instance_levels}; +std::string GetProactivelySwapBrowsingInstanceLevelName( + ProactivelySwapBrowsingInstanceLevel level) { + return proactively_swap_browsing_instance_level.GetName(level); +} + +std::array<std::string, + static_cast<size_t>(ProactivelySwapBrowsingInstanceLevel::kMaxValue)> +ProactivelySwapBrowsingInstanceFeatureEnabledLevelValues() { + return { + GetProactivelySwapBrowsingInstanceLevelName( + ProactivelySwapBrowsingInstanceLevel::kCrossSiteSwapProcess), + GetProactivelySwapBrowsingInstanceLevelName( + ProactivelySwapBrowsingInstanceLevel::kCrossSiteReuseProcess), + GetProactivelySwapBrowsingInstanceLevelName( + ProactivelySwapBrowsingInstanceLevel::kSameSite), + }; +} + ProactivelySwapBrowsingInstanceLevel GetProactivelySwapBrowsingInstanceLevel() { if (base::FeatureList::IsEnabled(features::kProactivelySwapBrowsingInstance)) return proactively_swap_browsing_instance_level.Get(); @@ -70,6 +89,12 @@ bool IsProactivelySwapBrowsingInstanceWithProcessReuseEnabled() { return GetProactivelySwapBrowsingInstanceLevel() >= ProactivelySwapBrowsingInstanceLevel::kCrossSiteReuseProcess; } + +bool IsProactivelySwapBrowsingInstanceOnSameSiteNavigationEnabled() { + return GetProactivelySwapBrowsingInstanceLevel() >= + ProactivelySwapBrowsingInstanceLevel::kSameSite; +} + const char kRenderDocumentLevelParameterName[] = "level"; constexpr base::FeatureParam<RenderDocumentLevel>::Option |