Repository navigation
Enable Chromium Site Isolation #2967
Description
Activity
WPFversion will requiredisable-site-isolation-trialscommand line arg until upstream issue #2789 has been resolved- added a commit that references this issue
on Dec 3, 2019 Site isolation trials disabled for all
WPF/WinForms/OffScreenin commit 93336a0 Now using the default process model (chromium site isolation project)WPFversion will requiredisable-site-isolation-trialscommand line arg until upstream issue #2789 has been resolvedThis has been resolved (builds haven't been updated yet)
https://bitbucket.org/chromiumembedded/cef/issues/2814/process-messages-cant-be-sent-to-all
Cannot remove
disable-site-isolation-trialsuntil this is solved.Issue has been resolved see https://bitbucket.org/chromiumembedded/cef/issues/2849/siteisolation-process-message-from-browser#comment-60550396
There are potential changes to how frames are handled that need to be evaluated.
This means that frame objects (including for the main frame) will now always change after cross-origin navigation, and the old frame object will be invalidated.
Cross origin navigations now invalidate the main frame.
- added a commit that references this issue
on Jun 4, 2021 With site isolation enabled many of the tests (pretty much anything that uses the IPC) will fail, so reverting for now and reopening.
3 remaining items
Adding this to the
94milestone as a reminder to revisit, debugging should be done beforeChromedecides to removedisable-site-isolation-trialsand we're forced to upgrade.StefanoBalzarottiEnnova commented
on Oct 13, 2021 More actionsWhen do you plan to fix this issue? There is a workaround to use CEFSharp with site isolation? This feature is critical for my application,
Reacted by Federico ColettoThis is highly critical fro my company too.
Is there a release date for this ?There is nothing stopping you from using site isolation now, it's simply disabled by default. You can remove the
disable-site-isolation-trialscommand line arg and test your application.This isn't really something that I can fix directly, it'll be reporting any problems upstream and waiting for a fix.
Reacted by StefanoBalzarottiEnnova- changed the title
[-]Support Chromium Site Isolation[/-][+]Enable Chromium Site Isolation[/+]on Oct 13, 2021 - added a commit that references this issue
on Oct 15, 2021 Commit 221185b enabled site isolation by default for
masterThe
CanLoadRequestWithPostDatatest has been updated in commit fd78c0c to native to a domain of the same origin before attempting to callLoadRequest.LoadRequestcalls will fail otherwise as discussed at https://magpcss.org/ceforum/viewtopic.php?f=10&t=18672&p=50266#p50249Tests are passing with the exception of IntegrationTestFacts.LoadLegacyJavaScriptBindingQunitTestsSuccessfulCompletion. Same test passes when I run it through
Visual Studio Test Explorer. A new issue should be created and debugged at some point to determine the cause and evaluate if it's fixable or ifupstreamchanges are required.At this point I'll leave
Site Isolationenabled by default for version95which can be disabled if required.Chromium Site Isolationis now enabled by default in 95.7.140-pre which is now available for testing.You can still manually disable via the
disable-site-isolation-trialscommand line arg. e.g.var settings = new CefSettings() { //By default CefSharp will use an in-memory cache, you need to specify a Cache Folder to persist data CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache") }; settings.CefCommandLineArgs.Add("disable-site-isolation-trials"); Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);
Tests are passing with the exception of IntegrationTestFacts.LoadLegacyJavaScriptBindingQunitTestsSuccessfulCompletion. Same test passes when I run it through Visual Studio Test Explorer. A new issue should be created and debugged at some point to determine the cause and evaluate if it's fixable or if upstream changes are required.
Issue #3867 has been created to track investigating the failures. Any problems using
Legacy JavaScript Bindingthen you'll need to disableChromium Site Isolation
If you are using
CefSharpin a commercial product and not already a sponsor then please consider supporting my efforts. Developing/maintaining/supporting the project takes a considerable amount of time.Reacted by Yegor ChasnovskiyKnown behaviour changes in CEF are as follows: - A spare renderer process may be created on initial browser creation or cross- origin navigation. This spare process may be used with a future cross-origin navigation or discarded on application shutdown.
As per chromiumembedded/cef#2498 (comment).
With
Site Isolationenabled it's expected there is a spare render process is created and will exist untilCef.Shutdownhas been called.- added a commit that references this issue
on Jan 7, 2025
CEFrecently added support for https://bitbucket.org/chromiumembedded/cef/issues/2498/add-support-for-site-per-processWe should now look at properly supporting the process model as it's now the
CEFdefault.CefSettingsRelated issue #2553