Skip to content

Commit

Permalink
Merge r222027 - [GTK][Wayland] Flickering when resizing the window
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=176774

Reviewed by Michael Catanzaro.

This regressed when we switched to always start the wayland compositor. In
AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState() we check if the nested compositor is
running, which is always true now (if EGL and the required extensions are available). We should check if we are
in AC mode instead.

* UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
  • Loading branch information
carlosgcampos committed Oct 16, 2017
1 parent a9588e7 commit 8a47923
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
15 changes: 15 additions & 0 deletions Source/WebKit/ChangeLog
@@ -1,3 +1,18 @@
2017-09-14 Carlos Garcia Campos <cgarcia@igalia.com>

[GTK][Wayland] Flickering when resizing the window
https://bugs.webkit.org/show_bug.cgi?id=176774

Reviewed by Michael Catanzaro.

This regressed when we switched to always start the wayland compositor. In
AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState() we check if the nested compositor is
running, which is always true now (if EGL and the required extensions are available). We should check if we are
in AC mode instead.

* UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):

2017-09-07 Carlos Garcia Campos <cgarcia@igalia.com>

[GTK][WPE] UI process crash in WebBackForwardList::restoreFromState
Expand Down
3 changes: 1 addition & 2 deletions Source/WebKit/UIProcess/AcceleratedDrawingAreaProxy.cpp
Expand Up @@ -210,11 +210,10 @@ void AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState()
return;
if (!m_webPageProxy.isViewVisible())
return;

#if PLATFORM(WAYLAND) && USE(EGL)
// Never block the UI process in Wayland when waiting for DidUpdateBackingStoreState after a resize,
// because the nested compositor needs to handle the web process requests that happens while resizing.
if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland && WaylandCompositor::singleton().isRunning())
if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland && isInAcceleratedCompositingMode())
return;
#endif

Expand Down

0 comments on commit 8a47923

Please sign in to comment.