Changeset 245956 in webkit
- Timestamp:
- May 31, 2019, 1:15:09 AM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
WebProcess/WebPage/WebPage.h (modified) (1 diff)
-
WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r245955 r245956 1 2019-05-31 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [CoordinatedGraphics] WPERenderer: do not release the host file descritor when initializing the render target 4 https://bugs.webkit.org/show_bug.cgi?id=198371 5 6 Reviewed by Michael Catanzaro. 7 8 We are assuming that there will always be only one target for a web page. In the GTK port we destroy the render 9 target when leaving AC mode, and a new one is created when re-entering AC mode. Since the file descriptor is 10 released on the first target and adopted by libwpe, the second target passes -1 as host fd to libwpe, and the 11 new surface created by the target is not properly registered in the wayland compositor. That means that frame 12 requests for the new target are simply ignored by the wayland compositor, it returns early on surfacxe frame 13 when the surface doesn't have a view backend client. 14 15 * WebProcess/WebPage/WebPage.h: 16 (WebKit::WebPage::hostFileDescriptor const): Rename it and make it const. 17 * WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp: 18 (WebKit::AcceleratedSurfaceLibWPE::initialize): Pass a duplicated file descriptor to 19 wpe_renderer_backend_egl_target_create(). 20 1 21 2019-05-31 Carlos Garcia Campos <cgarcia@igalia.com> 2 22 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r245807 r245956 1157 1157 1158 1158 #if USE(WPE_RENDERER) 1159 int releaseHostFileDescriptor() { return m_hostFileDescriptor.releaseFileDescriptor(); }1159 int hostFileDescriptor() const { return m_hostFileDescriptor.fileDescriptor(); } 1160 1160 #endif 1161 1161 -
trunk/Source/WebKit/WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp
r245807 r245956 32 32 #include <WebCore/PlatformDisplayLibWPE.h> 33 33 #include <wpe/wpe-egl.h> 34 #include <wtf/UniStdExtras.h> 34 35 35 36 namespace WebKit { … … 53 54 void AcceleratedSurfaceLibWPE::initialize() 54 55 { 55 m_backend = wpe_renderer_backend_egl_target_create( m_webPage.releaseHostFileDescriptor());56 m_backend = wpe_renderer_backend_egl_target_create(dupCloseOnExec(m_webPage.hostFileDescriptor())); 56 57 static struct wpe_renderer_backend_egl_target_client s_client = { 57 58 // frame_complete
Note:
See TracChangeset
for help on using the changeset viewer.