diff --git a/libcef/browser/alloy/alloy_content_browser_client.cc b/libcef/browser/alloy/alloy_content_browser_client.cc index 7506570a10fbd6d89caa2edaa3753419bbff476f..fee0d8e5b56b4b5d030f140ea8ae150738bfa916 100644 --- a/libcef/browser/alloy/alloy_content_browser_client.cc +++ b/libcef/browser/alloy/alloy_content_browser_client.cc @@ -3052,14 +3052,19 @@ static bool GetLockdownModeStatus() { return system_properties_adapter.GetLockdownModeStatus(); } +bool IsMultipleRenderProcess() { + return (*base::CommandLite::ForCurrentProcess()) + .HasSwitch(switches::kForBrowser); +} + bool AlloyContentBrowserClient::ShouldDisableSiteIsolation( content::SiteIsolationMode site_isolation_mode) { - if (base::ohos::IsPcDevice()) { + if (base::ohos::IsPcDevice() || base::ohos::IsTabletDevice()) { return site_isolation::SiteIsolationPolicy:: ShouldDisableSiteIsolationDueToMemoryThreshold(site_isolation_mode); } else { bool isLockdownModeEnabled = GetLockdownModeStatus(); - if(isLockdownModeEnabled) { + if(isLockdownModeEnabled && IsMultipleRenderProcess()) { return site_isolation::SiteIsolationPolicy:: ShouldDisableSiteIsolationDueToMemoryThreshold(site_isolation_mode); } else {