Verify impact of "force stop" on multiprocess webview |
|||
Issue descriptionIt's possible we've already tested this (in which case we can just close it), but if not: We should verify what impact selecting "force stop" has on multiprocess webview, as I'm not 100% certain what the answer to the below questions is - I *think* everything should be fine, but I haven't had a chance to actually test it. 1) What happens if you "force stop" the WebView implementation package (whether that's standalone or monochrome) while an app is using WebView? Does the renderer process get killed, or is it fine? 2) Do future WebView renderer processes launch successfully *after* the implementation package has been force stopped? I think Android disables certain kinds of automatic launching for packages that have been force stopped until they are manually launched by the user, and WebView is never manually launched. 3) What happens if you force stop the app itself? Does the renderer process die immediately, or only after a while? Does it crash or exit "gracefully"? I was going to test this myself but haven't had time and am going on vacation soon, so if someone else gets a chance to look at it first, feel free :)
,
Jun 23 2016
Manually test and see what happens is probably fine. These should be simple deterministic scenarios, not races. Sorry, should have been clear :)
,
Aug 15 2016
> 1) What happens if you "force stop" the WebView implementation package (whether that's standalone or monochrome) while an app is using WebView? Does the renderer process get killed, or is it fine? For monochrome, activity manager stops the browser process first. Maybe you weren't expecting that..? 08-15 19:37:46.007 881 4071 I ActivityManager: Force stopping com.google.android.apps.chrome appid=10082 user=0: from pid 25006 08-15 19:37:46.007 881 4071 I ActivityManager: Killing 27834:org.chromium.webview_shell/u0a70 (adj 900): stop com.google.android.apps.chrome 08-15 19:37:46.010 881 4071 I ActivityManager: Killing 27869:com.google.android.apps.chrome:sandboxed_process0/u0a70i7 (adj 0): isolated not needed > 2) Do future WebView renderer processes launch successfully *after* the implementation package has been force stopped? Launches fine. > 3) What happens if you force stop the app itself? Does the renderer process die immediately, or only after a while? Does it crash or exit "gracefully"? Yes it's killed immediately and "gracefully": 08-15 19:40:42.093 881 4069 I ActivityManager: Force stopping org.chromium.webview_shell appid=10070 user=0: from pid 25006 08-15 19:40:42.094 881 4069 I ActivityManager: Killing 28092:org.chromium.webview_shell/u0a70 (adj 900): stop org.chromium.webview_shell 08-15 19:40:42.101 881 4069 I ActivityManager: Killing 28125:com.google.android.apps.chrome:sandboxed_process0/u0a70i8 (adj 0): isolated not needed
,
Aug 15 2016
,
Aug 16 2016
Ah. So, yeah, my questions are based on a bit of a mistaken premise here: I assumed that "force stop" of the webview implementation didn't kill apps that are using WebView, and that's actually wrong - it already does, on all OS versions, even with no multiprocess or monochrome involved. So, multiprocess doesn't really change anything relevant here: we're killing the browser process already :) This does mean that in a monochrome world, force stopping Chrome also force stops everything using webview, which is a bit weird, but hey. Thanks for verifying Bo. No more work required here. |
|||
►
Sign in to add a comment |
|||
Comment 1 by boliu@chromium.org
, Jun 23 2016