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
chore: remove app.allowRendererProcessReuse
and BrowserWindow affinity
options
#26874
Conversation
0004215
to
5eb9685
Compare
Would be good to note in the release notes that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs docs/breaking-changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, except for missing breaking-changes
as mentioned by @nornagon
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we do the reverse order of removing the patches first and then flipping the public api bits.
- https://github.com/electron/electron/blob/master/patches/chromium/frame_host_manager.patch
- https://github.com/electron/electron/blob/master/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch
- Navigation controller
Our custom navigation controller should not be used for process reuse mode and also the fork logic in the renderer client. This would ensure the right tests pass when the bits are flipped.
@deepak1556 Unfortunately not, there's a lot of logic that needs to be unwound here and the first thing we can (and need to) do is remove this public API. I'll write up an issue shortly outlining all the work that still needs to happen, but this is a very tangled mess and untangling it going to take a lot of time, refactoring and pull requests. Unfortunately the final step will be removing the patches. |
1b832ad
to
56143f8
Compare
discussed offline about required api changes before patch removal
56143f8
to
139cf1a
Compare
Does it also mean that Electron will use Chromium's NavigationController instead of its own? |
Long term, yes |
139cf1a
to
3311550
Compare
bccc17f
to
4b44acc
Compare
@MarshallOfSound 13.x is already in beta, are we sure we want to backport major breaking changes? Can this target 14.x instead? |
Eh sure. Not super attached to when it goes out, just want to get it into master so I can start destroying our frame host manager patch 😄 |
4b44acc
to
5fa625e
Compare
@@ -1426,19 +1426,6 @@ This is the user agent that will be used when no user agent is set at the | |||
app has the same user agent. Set to a custom value as early as possible | |||
in your app's initialization to ensure that your overridden value is used. | |||
|
|||
### `app.allowRendererProcessReuse` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should mark this as deprecated in 13.x. did it already make it into docs/breaking-changes as a deprecation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's definitely been deprecated since like, Electron 11. There's been a warning. I'm not sure if we put deprecations in breaking-changes. The default flip back in Electron 9 is in the breaking-changes list though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I'll put a PR back into 13-x-y to add the @depreacted tag
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API LGTM
Release Notes Persisted
|
As in title and notes, this is going to be a multiple step process and it'll take a decent amount of refactoring to remove the patch files that we actually want to remove. But this is step 1 "remove the public API".
Notes: Removed the deprecated
app.allowRendererProcessReuse
and BrowserWindowaffinity
options