Bug 278273
| Summary: | [GTK] Move gtk specific code from PlatformDisplay to a new class | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Carlos Garcia Campos <cgarcia> |
| Component: | WebKitGTK | Assignee: | Carlos Garcia Campos <cgarcia> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply, yaneti |
| Priority: | P2 | Keywords: | Gtk |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Carlos Garcia Campos
There's gtk specific code in PlatformDisplay that is only used in the UI process. We can move that to a new display class in WEbKit layer and remove also PlatformDisplayX11 and PlatformDisplayWayland, since they are now unused in the web process. The remaining PlatformDisplay implementations are only used for accelerated compositing, and they always initialize EGL in the constructor, so we can simplify the EGL initialization and make it fatal if there's a failure.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Carlos Garcia Campos
Pull request: https://github.com/WebKit/WebKit/pull/32343
EWS
Committed 282416@main (8db1e051cf4a): <https://commits.webkit.org/282416@main>
Reviewed commits have been landed. Closing PR #32343 and removing active labels.
Yanko Kaneti
FWIW , with webkitgtk-2.45.90-1.fc42 as found in rawhide, the WebKitWebProces is constantly asserting on Source/WebCore/platform/graphics/PlatformDisplay.cpp:68
This is with Wayland
Yanko Kaneti
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f2154680793 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2 0x00007f2154627d0e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f215460f942 in __GI_abort () at abort.c:79
#4 0x00007f215482cb5f in WTFCrashWithInfo () at WTF/Headers/wtf/Assertions.h:864
#5 0x00007f2156d97b63 in WebCore::PlatformDisplay::sharedDisplay () at /usr/src/debug/webkitgtk-2.45.90-1.fc42.x86_64/Source/WebCore/platform/graphics/PlatformDisplay.cpp:68
#6 WebCore::deinitializeGStreamer () at /usr/src/debug/webkitgtk-2.45.90-1.fc42.x86_64/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:555
#7 0x00007f215509d7a2 in WebKit::AuxiliaryProcessMainBase<WebKit::WebProcess, true>::run (this=0x7ffed01f27f0, argc=4, argv=<optimized out>)
at /usr/src/debug/webkitgtk-2.45.90-1.fc42.x86_64/Source/WebKit/Shared/AuxiliaryProcessMain.h:73
#8 WebKit::AuxiliaryProcessMain<WebKit::WebProcessMainGtk> (argc=4, argv=<optimized out>) at /usr/src/debug/webkitgtk-2.45.90-1.fc42.x86_64/Source/WebKit/Shared/AuxiliaryProcessMain.h:98
#9 WebKit::WebProcessMain (argc=4, argv=<optimized out>) at /usr/src/debug/webkitgtk-2.45.90-1.fc42.x86_64/Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:106
#10 0x00007f2154611248 in __libc_start_call_main (main=main@entry=0x563eeef57160 <main(int, char**)>, argc=argc@entry=4, argv=argv@entry=0x7ffed01f2988)
at ../sysdeps/nptl/libc_start_call_main.h:58
#11 0x00007f215461130b in __libc_start_main_impl (main=0x563eeef57160 <main(int, char**)>, argc=4, argv=0x7ffed01f2988, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7ffed01f2978) at ../csu/libc-start.c:360
#12 0x0000563eeef57095 in _start ()
Carlos Garcia Campos
(In reply to Yanko Kaneti from comment #3)
> FWIW , with webkitgtk-2.45.90-1.fc42 as found in rawhide, the
> WebKitWebProces is constantly asserting on
> Source/WebCore/platform/graphics/PlatformDisplay.cpp:68
>
> This is with Wayland
Is that when closing the browser? or a tab? Could you file a new bug report for this, please?
Yanko Kaneti
(In reply to Carlos Garcia Campos from comment #5)
>
> Is that when closing the browser? or a tab? Could you file a new bug report
> for this, please?
This is with webkitgtk as used by Evolution. Not the browser.
Yanko Kaneti
Filed https://bugs.webkit.org/show_bug.cgi?id=278515 for the ones I could trigger with the MiniBrowser. Not exact steps to reproduce, but some random clicking and opening of links in new windows.
The ASSERT there is in different place than the ones when used by Evolution
Yanko Kaneti
Sorry for the DUP, I've filed a new one for the PlatformDisplay one https://bugs.webkit.org/show_bug.cgi?id=278516