A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | MBI Associated Interface Migration (domfarolino@) | |||||||||||||||||||||||||||
2 | This spreadsheet accompanies MBI Associated Interface Migration Design | |||||||||||||||||||||||||||
3 | Related: Prerendering Eng Plan | |||||||||||||||||||||||||||
4 | Interface | Direction | Remote Location | Receiver Location | Needs per-ASG Migration | Progress | Expands Association | Analysis | Notes | |||||||||||||||||||
5 | [1st degree] Associated interfaces via mojom::Channel::GetAssociatedInterface | |||||||||||||||||||||||||||
6 | chrome.mojom.CacheStatsRecorder | R⇒B | [cs] | [cs] | No | Not started | No | Analysis | CacheStatsRecorder is 1:1 with RPHI. The mojo method is called in ResourceDispatcher::OnRequestComplete(), which seems to be for every request. This interface is OK as-is because it is recording per-process data, and doesn't tamper with AgentSchedulingGroup state | |||||||||||||||||||
7 | chrome.mojom.PluginInfoHost | R⇒B | [cs] | [cs] | Yes: Ship Beta | Not started | No | Analysis | At least by "Stable" experiment we should make this an unassociated interface, or at ASG granularity | |||||||||||||||||||
8 | chrome.mojom.RendererConfiguration | B⇒R | [cs] [cs] | [cs] | Yes: Ship Beta | Not started | No | Analysis | Receiver is ChromeRenderThreadObserver, a subclass of RenderThreadObserver. This only sets "configuration settings" on process-global objects. Setting the settings should not impact the scheduling of ASG objects | |||||||||||||||||||
9 | weblayer.mojom.RendererConfiguration | B⇒R | [cs] | [cs] | Yes: Ship Beta | Not started | No | Analysis | Receiver is WebLayerRenderThreadObserver, a subclass of RenderThreadObserver | |||||||||||||||||||
10 | content.mojom.Renderer | B⇒R | [cs] | [cs] | Yes: Ship Beta | Done | Yes | Analysis | Part of this needed to be modified for our initial implementation, which is done. The rest can wait for Beta | |||||||||||||||||||
11 | android_webview.mojom.Renderer | B⇒R | [cs] | [cs] | Yes: WebView-specific | Not started | No | Full analysis TODO | Receiver is AwRenderThreadObserver, a subclass of RenderThreadObserver | |||||||||||||||||||
12 | content.mojom.RendererHost | R⇒B | [cs] | [cs] | Yes: Ship Beta | Not started | No | I don't think so, but would like verification | ||||||||||||||||||||
13 | content.mojom.RenderMessageFilter | R⇒B | [cs] [test] | [cs] [test] | Yes: Ship Beta | Not started | No | Full analysis TODO | RenderThreadImpl => RenderMessageFilter | |||||||||||||||||||
14 | android_webview.mojom.RenderMessageFilter | R⇒B | [cs] | [cs] | Yes: WebView-specific | Not started | No | AwContentRenderClient => AwContentsMessageFilter | ||||||||||||||||||||
15 | content.mojom.PepperIOHost | R⇒B | [cs] | [cs] | Yes: Ship Beta | Done | No | Full analysis TODO | Not relevant for Android | |||||||||||||||||||
16 | content.mojom.RenderAccessibility | B⇒R | [cs] [test] | [cs] | Yes: Android Canary | Done | No | N/A | This interface must be associated with navigation-related messages. We get this for free from the earlier mojom::RouteProvider work. | |||||||||||||||||||
17 | content.mojom.RendererVariationsConfiguration | B⇒R | [cs] [cs] | [cs] | Yes: Ship Beta | Not started | No | Analysis | There are currently no ordering AgentSchedulingGroup-specific ordering guarantees relied upon with this interface | |||||||||||||||||||
18 | content.mojom.RouteProvider | R⇒B | [cs] | [cs] | Yes: Android Canary | Done | Yes | Analysis | ||||||||||||||||||||
19 | content.mojom.WebTestControlHost | R⇒B | [cs] [download] [cbc] | [set] | Yes: Ship Beta | Not started | No | Not a priority as long as no tests failing because of this. Long-term it should be dealt with though | ||||||||||||||||||||
20 | content.mojom.WebTestRenderFrame | B⇒R | [cs] | [cs] | No | Done | No | N/A | ||||||||||||||||||||
21 | content.mojom.WebTestRenderThread | B⇒R | [cs] | [cs] | Yes: Desktop Canary | Not started | No | Analysis | Desktop-related tests fail with this | |||||||||||||||||||
22 | extensions.mojom.GuestView | R⇒B | [cs] | [cs] | Yes: Desktop Canary | Not started | No | |||||||||||||||||||||
23 | extensions.mojom.Renderer | B⇒R | [a lot] | [cs] | Yes: Desktop Canary | Not started | No | |||||||||||||||||||||
24 | search.mojom.SearchBouncer | B⇒R | [cs] | [cs] | Yes: Android Canary | Done | No | Analysis | Shouldn't affect scheduling of ASG objects | |||||||||||||||||||
25 | subresource_url.mojom.SubresourceFilterRulesetObserver | B⇒R | [cs] | [cs] | Yes: Ship Beta | Not started | No | Full analysis TODO | Minor correctness issues, but no stability problems | |||||||||||||||||||
26 | ||||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||||
29 | [2nd degree] Associated interfaces via content.mojom.RouteProvider | |||||||||||||||||||||||||||
30 | blink.mojom.AssociatedInterfaceProvider | B⇔R | Yes: Android Canary | Done | Yes | This expands degree of association, however we don't have to look at any of the expanded interfaces. As long as we migrate this one, we get the rest for free | This expands degree of association, however we don't have to look at any of the expanded interfaces. As long as we migrate this one, we get the rest for free | |||||||||||||||||||||
31 | ||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||
33 | [2nd degree] Associated interfaces via content.mojom.Renderer | |||||||||||||||||||||||||||
34 | blink.mojom.FrameWidgetHost | Yes: Android Canary | Done | No | ||||||||||||||||||||||||
35 | blink.mojom.FrameWidget | Yes: Android Canary | Done | No | ||||||||||||||||||||||||
36 | blink.mojom.WidgetHost | Yes: Android Canary | Done | No | ||||||||||||||||||||||||
37 | blink.mojom.Widget | Yes: Android Canary | Done | No | ||||||||||||||||||||||||
38 | blink.mojom.PageBroadcast | Yes: Android Canary | Done | No | ||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||||
41 | [3nd degree] Associated interfaces via blink.mojom.AssociatedInterfaceProvider | |||||||||||||||||||||||||||
42 | printing.mojom.PrintRenderFrame | B⇒R | [cs], [cs], [cs], [cs] | [cs] | No | N/A | Yes | |||||||||||||||||||||
43 | ||||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||||
47 | [4th degree] Associated interfaces via printing.mojom.PrintRenderFrame | |||||||||||||||||||||||||||
48 | printing.mojom.PrintRenderer | R⇒B | [cs] | [cs] (used only for arc) | No | |||||||||||||||||||||||
49 | printing.mojom.PrintingManagerHost | R⇒B | [cs] | [cs] | No | |||||||||||||||||||||||
50 | printing.mojom.PrintPreviewUI | R⇒B | [cs] | [cs] | No | |||||||||||||||||||||||
51 | ||||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||||
53 |