Analysis of the interaction between Chromium and Wayland-IVI-extension
Jacobo Aragunde Pérez
jaragunde at igalia.com
Tue Feb 21 08:07:35 EST 2017
On 17/02/17 15:06, Friedrich, Eugen (ADITG/SW1) wrote:
>> * When I try with two Chromium surfaces (two browser windows), they
>> don't follow the expected behavior. Only one of the surfaces receives
>> input, even if you had assigned one seat to each surface.
> [EF] Will Chromium open a new connection to wayland compositor for every window?
> If yes we should check if events are distributed to correct client.
> If not we should check if we have correct working ilm surface, e.g. it should be possible to change the visibility of those with LayerManagerControl tool
Chromium shares the connection. I think the code assumes that only one
window is focused at every time and that causes these conflicts when you
leave Chromium to manage the focus of its own surfaces. I'll dig a bit
deeper to find out.
>>> * Chromium can steal the keyboard focus from another Chromium
>>> When there are two Chromium surfaces, if they keyboard focus belongs to
>>> the first one and you click on the second, the second surface will
>>> effectively take the keyboard focus away. LayerManager will not be aware
>>> of the change, it will say the focus still belongs to the first surface.
>>> This is probably an error that should be fixed.
> [EF] this behavior is expected. There should be a trigger from Chromium to the HMI/Application controller
> and HMI/Application controller has to decide if the focus should be changed.
> Typically in the IVI environment Hardkey focus is always assigned to same application but of cause not always.
I don't think this is expected behavior, because other applications
behave differently: when you have two browser windows and click on the
unfocused one, it takes the pointer and the keyboard focus; if you try
to do the same with two weston-terminal windows, it will take the
pointer focus but not the keyboard.
What's worse, Chromium is probably not sending any notice to the
controller because the LayerManagerControl command reports the wrong
window has the keyboard focus. As I said, I'm in the process to digging
a bit deeper to find out :)
Software Engineer at Igalia
More information about the genivi-ivi-layer-management