WAM(WebApplicationManager) can't get window size.
Description
Environment
Attachments
- 15 Nov 2018, 06:14 AM
- 15 Nov 2018, 06:14 AM
- 14 Nov 2018, 07:56 AM
- 14 Nov 2018, 07:55 AM
- 14 Nov 2018, 05:44 AM
Activity
Walt Miner February 11, 2019 at 11:11 PM
Close for FF 6.0.4 and GG 7.0.0
knimitz November 15, 2018 at 6:21 AM
Great news @Julie Kim. I'm also happy to hear the news!
Julie Kim November 15, 2018 at 6:17 AM
Hi,
After updating protocol and register listener for 'configure' , I could handle the WebView size correctly.
The 'configure' delivers the expected value.
Now the issue what I have was solved with it. Free free to close this issue. Thanks a lot.
Julie Kim November 15, 2018 at 12:49 AM
In transform=270, it gets 1920x1080 still but it has transform information as well. So, it means we can manage it.
[screen.cc(73)] OutputHandleMode, flags:3, width:1920, height:1080
[screen.cc(88)] OutputDone, now:0,0 1920x1080, pending_transform:3
As for ivi-application shell surface, WAM is using it but it doesn't register listener. I also found the current WAM uses different protocol, https://github.com/intel/ozone-wayland/blob/master/wayland/protocol/ivi-application-client-protocol.h, from AGL.
So, it doesn't have configure listener.
Thanks to you, I found we need to update protocol and register the listener. After I update it, I'll leave comment again.
knimitz November 14, 2018 at 8:13 AM(edited)
OK. In transform=270 situation, WAM get width=1080 and height=1920 when output_mode event comes maybe, right?
And I have a question. If you uses wayland ivi-application shell surface, did WAM get 'configure' event ?
I guess WAM can get suggestion to resize with parameters which are 'width' and 'height'.
As I shared the issue at AGL F2F meeting in Nov, WAM needs the current window size.
WAM is not controlled by AFM and it is using libhomescreen and libwindowmanager. Most of code were just copied from runxdg.cpp.
WAM is using initial size with 1920x1080 and expect that we could get the real window size from somehow.
I also checked 'wl_output_listener' and 'wl_output_listener::mode' to get proper size information.
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:3, width:1920, height:1080
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1920, height:1080
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1600, height:1200
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1280, height:1024
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1280, height:960
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1360, height:768
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1280, height:720
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1024, height:768
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:1440, height:480
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:800, height:600
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:720, height:480
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:640, height:480
[1112/000015:ERROR:screen.cc(73)] OutputHandleMode, flags:0, width:720, height:400
As WAM only use (flags & WL_OUTPUT_MODE_CURRENT) from wl_output_listener::mode, it's updated with the first value, 'flags:3, width:1920, height:1080'.
For now we will use the fixed size but could you consider to support delivering window size for WAM?