Index: content/common/site_isolation_policy.cc |
diff --git a/content/common/site_isolation_policy.cc b/content/common/site_isolation_policy.cc |
index 41c3653efcf92a764cab618011f3acffb5cab5c5..7fa66c28c826931ba4bcb2ef6b0c52dd0fa56cdf 100644 |
--- a/content/common/site_isolation_policy.cc |
+++ b/content/common/site_isolation_policy.cc |
@@ -19,7 +19,7 @@ bool SiteIsolationPolicy::AreCrossProcessFramesPossible() { |
// investigated. |
#if defined(OS_ANDROID) |
return UseDedicatedProcessesForAllSites() || |
- IsTopDocumentIsolationEnabled() || |
+ IsTopDocumentIsolationEnabled() || AreIsolatedOriginsEnabled() || |
GetContentClient()->IsSupplementarySiteIsolationModeEnabled() || |
base::FeatureList::IsEnabled(::features::kGuestViewCrossProcessFrames); |
#else |
@@ -42,4 +42,14 @@ bool SiteIsolationPolicy::IsTopDocumentIsolationEnabled() { |
return base::FeatureList::IsEnabled(::features::kTopDocumentIsolation); |
} |
+// static |
+bool SiteIsolationPolicy::AreIsolatedOriginsEnabled() { |
+ // TODO(alexmos): This currently assumes that isolated origins are only added |
+ // via the command-line switch, which may not be true in the future. Remove |
+ // this function when AreCrossProcessFramesPossible becomes true on Android |
+ // above. |
+ return base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kIsolateOrigins); |
+} |
+ |
} // namespace content |