Protocol update in Flutter/Chromium to latest version
Description
Environment
relates to
Activity
Walt Miner June 15, 2023 at 6:52 PM
Close for Pike M1
Marius Vlad June 15, 2023 at 1:17 PM
flutter embedder has now protocol update up to version 4 of the agl_shell protocol, while chromium side had support to at the same version. Newer updates from version 4 to latest, is for additional window management functionality while this issue tracked shell client functionality (which can be really implemented).
Doing a CEF port/update requires implementation for these as well, but that's independenly tracked by .
I think we should be good to close this one.
Marius Vlad May 11, 2023 at 11:49 AM
, awesome thanks a lot!

Roger Zanoni May 11, 2023 at 11:35 AM
Hi , I will take a look and make the needed change on our side
Marius Vlad May 5, 2023 at 11:57 AM
Fyi, for flutter I've further added , and I'll look into that. I'll verify chromium as well, but afaiu implicit activation by the compositor has been removed, so I guess what remains to be done in chromium is the activation area.
this is something than be further improved on the chromium side, and implies removing either background or panel html5 application. You would just need one of them. this is the request I'm talking about: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/agl-compositor.git;a=blob;f=protocol/agl-shell.xml;h=e010a80808c69bcb29445d7b185530b8eb02ed9f;hb=refs/heads/master#l177. You can look at homescreen for a example implementation.
I've created this Jira task more for synchronization and discussions.
I have an in-flight change for pushing agl-shell protocol to v4 which brings in a new request. It is detailed at https://gerrit.automotivelinux.org/gerrit/c/src/agl-compositor/+/28102
And after that, I have another change to the agl-shell protocol which allows to bring in support for using a gRPC proxy rather than using wayland native protocol. This would allow other clients talk to the compositor, in-directly using that gRPC proxy. It is at https://gerrit.automotivelinux.org/gerrit/c/src/agl-compositor/+/28067
After that update, I'd like to get both Flutter and Chromium platform to using the latest version of the agl-shell protocol.
Currently, the flutter embedder is at v2 of the protocol, while in Chromium we're still at version 1.
, I've assigned this to me, but I'd like to get some feedback from you guys, is this something you'd like to get in and have the cycles to do it, or is this something I should be doing.
If I were to do it, I'll most likely just provide some empty stubs, for the events, rather than make use of the functionality. Request can be implemented as API entry points, although without any users which would explicitly call them.
In summary the following changes been done:
v2 - adds bound_ok/bound_fail events
v3 - adds status events for applications
v4 - adds a new request to designate an activation area
v5 - adds a new interface to allow other clients bind to the agl_shell protocol.
I think v4 of the protocol could also benefit Chromium to avoid having a different background application, as outlined by a while ago, but also because Flutter would need it to avoid spinning flutter instances for each application.
I kind of want to wait for v5 to get in, but that might take some time to until that lands, so I'm not sure at this point if we should wait for it or not.
I also suspect that would actually need v4 implemented in the flutter embedder to make the homescreen workable, if he wants do it from the protocol rather than modifying the ini file.