Hey everyone, we've been working towards our MVP to launch MBI (
kEnabledPerRenderProcessHost mode) on Android Canary for quite some time, and I'm happy to announce that we've
finally unblocked the experiment by:
- Landing CLs that fix all of the Android tests when MBI is enabled (solutions analysis & design doc)
- Auditing the process-global channel-associated mojo interfaces to verify that there does not appear to be any stability risk with the current architecture (high-level spreadsheet + detailed doc)
- Auditing the remaining BrowserMessageFilters and RenderThreadObservers for the same reason above (talp@'s spreadsheet) (the spreadsheet is a bit out-of-date, but we've taken action on all filters that we've deemed necessary to migrate for the Canary experiment)
Unfortunately, as you probably know now, we've done all this just in time to pause our MBI work for the next year or so in order to shift our focus on Desktop BFCache as well as Fenced Frames :) With that in mind, we're still interested in running the MBI experiment to get a rough idea of the stability of the current architecture, which will be as relevant now as it will when we pick MBI back up.
Given this, I'm wondering if some CSA folks could please take a look at some of the links above (specifically the mojo interface & message filter audits) and potentially give an informal blessing for us to run the experiment on Canary for Android.
When auditing e.g., the process-global mojo channel-associated interfaces, I was mostly focusing on:
- Determining if the existence of any of these interfaces posed any stability issues or otherwise major risks not caught by the tests when MBI mode is enabled
- Considering the risk level of any correctness issues that might be introduced in MBI mode (see below)
- (Our criteria for experimenting on Canary is not fixing all correctness issues, but fixing all audited sources of potential instability, and auditing all known correctness issues)
With this work wrapped up, we believe that we've done enough auditing, analysis, and fixing to unblock the MBI experiment for Canary, however most if not all correctness issues will need to be addressed before moving to Beta in the future. Please take a look and let us know what you think :)
Thanks,
Dom