-
Notifications
You must be signed in to change notification settings - Fork 30k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable COI for desktop with credentialless
#186614
Comments
…e flag from "enable-coi" to "disable-coi" fixes #186614
Reverted, reopened because this has very likely caused #187030 |
Enabling COI caused a perf regression (#187030) and therefore we are holding back. @deepak1556 Any idea why enabling COI would cause this? |
Looked into this today and I have an answer for the slowdown, In all cases, the first navigation to an origin happens from BrowserInstance Swap result with COI disabled: Process list result with COI disabled: When coi is enabled on an origin, chromium has logic (added in https://chromium-review.googlesource.com/c/chromium/src/+/3945190) to always force swap the browserinstance which leads to creation of new render process. This seems to apply to even when navigating from the BrowserInstance Swap result with COI enabled: Process list result with COI enabled: RenderFrameHostImpl::DidCommitProvisionalLoad for COI enabled It looks like the site instances now have a new lock attribute called tl:dr; there is a restart of the render process when coi is enabled and this is a penalty we will have to pay with coi origins for the initial navigation. Maybe chromium can adjust if first navigation on the app launch is to a coi origin then the process lock on null origin can be retagged and reused ? This needs discussion in upstream. |
Upstream issue filed as next step https://issues.chromium.org/issues/375314974 |
@deepak1556 is this enabled now? I'm seeing wasm load in some Dart DevTools views where it didn't before (which I believe was because of no COI) and #231665 looks like it enables this, but since this issue is still open and you linked a new Chromium issue that says "we are looking to enable coi", it's not clear to me what the current status is expected to be. |
I mentioned this in the other bug, but this is because on the flutter engine side we added a single-threaded version of the wasm build that works in a non-COI context. |
For desktop we can enable COI with
COEP: credentialless
. That's possible because chromium supports this new/proposed header value which relaxed loading cross-origin resources lacking the CORP header.The text was updated successfully, but these errors were encountered: