Title: [259283] trunk/Source/WebKit
- Revision
- 259283
- Author
- carlo...@webkit.org
- Date
- 2020-03-31 02:10:58 -0700 (Tue, 31 Mar 2020)
Log Message
REGRESSION(r258829): [CoordinatedGraphics] Web view not updated after cross site navigation with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=209741
Reviewed by Žan Doberšek.
Since r258829, the drawing area proxy of a provisional page ignores all messages until the load is
committed. This is causing 2 problems for coordinated graphics drawing area. When not in accelerated compositing
mode, Update message is sent before the commit is loaded, and the web process keeps waiting for the DidUpdate
response message forever. When accelerated compositing mode is forced, the EnterAcceleratedCompositing message
is also sent before the load is committed and ignored, so the UI process doesn't know it's in accelerated mode.
* WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::scheduleRenderingUpdate): Return early if layer tree is frozen. This
ensures that Update messages are not sent to the UI process while layer tree is frozen.
(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Disable layer flush on the newly
created LayerTreeHost if layer tree is frozen. This ensures that EnterAcceleratedCompositing message is sent
after the first layer flush once the layer tree is no longer frozen.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (259282 => 259283)
--- trunk/Source/WebKit/ChangeLog 2020-03-31 06:19:49 UTC (rev 259282)
+++ trunk/Source/WebKit/ChangeLog 2020-03-31 09:10:58 UTC (rev 259283)
@@ -1,3 +1,23 @@
+2020-03-31 Carlos Garcia Campos <cgar...@igalia.com>
+
+ REGRESSION(r258829): [CoordinatedGraphics] Web view not updated after cross site navigation with PSON enabled
+ https://bugs.webkit.org/show_bug.cgi?id=209741
+
+ Reviewed by Žan Doberšek.
+
+ Since r258829, the drawing area proxy of a provisional page ignores all messages until the load is
+ committed. This is causing 2 problems for coordinated graphics drawing area. When not in accelerated compositing
+ mode, Update message is sent before the commit is loaded, and the web process keeps waiting for the DidUpdate
+ response message forever. When accelerated compositing mode is forced, the EnterAcceleratedCompositing message
+ is also sent before the load is committed and ignored, so the UI process doesn't know it's in accelerated mode.
+
+ * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
+ (WebKit::DrawingAreaCoordinatedGraphics::scheduleRenderingUpdate): Return early if layer tree is frozen. This
+ ensures that Update messages are not sent to the UI process while layer tree is frozen.
+ (WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Disable layer flush on the newly
+ created LayerTreeHost if layer tree is frozen. This ensures that EnterAcceleratedCompositing message is sent
+ after the first layer flush once the layer tree is no longer frozen.
+
2020-03-30 David Kilzer <ddkil...@apple.com>
REGRESSION (r251574, r251600): _WKTextManipulationToken and _WKTextManipulationConfiguration are missing -dealloc
Modified: trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp (259282 => 259283)
--- trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp 2020-03-31 06:19:49 UTC (rev 259282)
+++ trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp 2020-03-31 09:10:58 UTC (rev 259283)
@@ -342,6 +342,9 @@
void DrawingAreaCoordinatedGraphics::scheduleRenderingUpdate()
{
+ if (m_layerTreeStateIsFrozen)
+ return;
+
if (m_layerTreeHost)
m_layerTreeHost->scheduleLayerFlush();
else
@@ -594,6 +597,8 @@
m_layerTreeHost = nullptr;
return;
#endif
+ if (m_layerTreeStateIsFrozen)
+ m_layerTreeHost->setLayerFlushSchedulingEnabled(false);
if (m_isPaintingSuspended)
m_layerTreeHost->pauseRendering();
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes