| Index: content/common/site_isolation_policy.cc
|
| diff --git a/content/common/site_isolation_policy.cc b/content/common/site_isolation_policy.cc
|
| index 694c9db3336be49465f81223f9f2f49e70575a07..b25741b3b39b2f0b5dada6f17313406071c81b09 100644
|
| --- a/content/common/site_isolation_policy.cc
|
| +++ b/content/common/site_isolation_policy.cc
|
| @@ -15,8 +15,8 @@ namespace content {
|
|
|
| // static
|
| bool SiteIsolationPolicy::AreCrossProcessFramesPossible() {
|
| - return base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kSitePerProcess) ||
|
| + return UseDedicatedProcessesForAllSites() ||
|
| + IsTopDocumentIsolationEnabled() ||
|
| GetContentClient()->IsSupplementarySiteIsolationModeEnabled() ||
|
| BrowserPluginGuestMode::UseCrossProcessFramesForGuests();
|
| }
|
| @@ -28,6 +28,16 @@ bool SiteIsolationPolicy::UseDedicatedProcessesForAllSites() {
|
| }
|
|
|
| // static
|
| +bool SiteIsolationPolicy::IsTopDocumentIsolationEnabled() {
|
| + // --site-per-process trumps --top-document-isolation.
|
| + if (UseDedicatedProcessesForAllSites())
|
| + return false;
|
| +
|
| + return base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kTopDocumentIsolation);
|
| +}
|
| +
|
| +// static
|
| bool SiteIsolationPolicy::UseSubframeNavigationEntries() {
|
| // Enable the new navigation history behavior if any manner of site isolation
|
| // is active.
|
|
|