-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
[Bug] OnRenderProcessGone
is not handled by Anki Desktop WebViews
#15695
Comments
OnRenderProcessGone
is not handled by Anki Desktop WebViews
Original work for OnRenderProcessGone: |
It appears from repo search that we create WebViewClients in a handful of places, but the PageWebViewClient is the one that all the pages exposed from desktop extend from Assumption: Much of the OnRenderProcessGone logic is reusable (and as a criteria for a fix here: should be reused) from the original work @david-allison - now that we are in Kotlin and have extension functions, does it seem like a better path to do a deeper inheritance hierarchy and have e.g. a "RenderProcessGoneHandlingWebView" parent that AbstractFlashcardViewer and PageViewClient both use, or to use Kotlin extension functions (somehow, unclear due to my inexperience) to slice the OnRenderProcessGone handling in? |
Probably inheritance so it's harder to forget, no strong opinion |
Okay - I prefer that myself, I find the extensions to be a little "aspect-oriented-programming-like" where things slice in sometimes in non-obvious ways from non-location-coherent spots and for me that is non-obvious. Inheritance is obvious to the point it cannot be ignored. So, implementation path here is to make a new superclass for the WebView objects we create, I propose Then inside that object implement Then use that new super-class for AbstractFlashcardViewer and PageWebViewClient, and hopefully we handle this problem well (not doing anything in the background, doing a reload once in foreground as an attempt to workaround, going back to deckpicker (I think that's what happens?) with a toast (I think that's what happens?) if multiple crashes happen Out of time for the day so marking this as "needs help" but hopefully the analysis is useful to anyone that has time, or to a future version of me that may have time |
[FATAL:crashpad_client_linux.cc(745)] Render process (6903)'s crash wasn't handled by all associated webviews, triggering application crash.
The text was updated successfully, but these errors were encountered: