Skip to content
Permalink
Browse files
[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):

Canonical link: https://commits.webkit.org/193358@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
carlosgcampos committed Sep 14, 2017
1 parent 25eadcf commit 364865161e5e9d7d8e5d64c9d4367f0425dae0d6
Showing with 16 additions and 2 deletions.
  1. +15 −0 Source/WebKit/ChangeLog
  2. +1 −2 Source/WebKit/UIProcess/AcceleratedDrawingAreaProxy.cpp
@@ -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-14 Yusuke Suzuki <utatane.tea@gmail.com>

[JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
@@ -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

0 comments on commit 3648651

Please sign in to comment.