summaryrefslogtreecommitdiff
path: root/chromium/content/common/content_navigation_policy.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/content/common/content_navigation_policy.cc
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/content/common/content_navigation_policy.cc')
-rw-r--r--chromium/content/common/content_navigation_policy.cc27
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