[webkit-changes] [WebKit/WebKit] f938f8: REGRESSION(262572 at main): [GTK] No contents rendere...
Carlos Garcia Campos
noreply at github.com
Tue Apr 11 00:49:51 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f938f81c9a7b341437e118fbd333f32da73875a2
https://github.com/WebKit/WebKit/commit/f938f81c9a7b341437e118fbd333f32da73875a2
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2023-04-11 (Tue, 11 Apr 2023)
Changed paths:
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
M Source/WebKit/WebProcess/WebPage/DrawingArea.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
Log Message:
-----------
REGRESSION(262572 at main): [GTK] No contents renderer after process swap for navigation
https://bugs.webkit.org/show_bug.cgi?id=255221
Reviewed by Žan Doberšek.
In case of process swap current drawing area is destroyed causing the AC
mode to be exited, and the new drawing area sends the enter AC message
before the UI process has switched drawing areas, so the message is just
ignored. To be able to enter AC mode from the DrawingArea constructor
this patch removes the enablePainting methods, since it's always called
right after the drawing area is crewated and only used by coordinated
graphics drawing area.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::DrawingAreaCoordinatedGraphics): Enter AC mode here when always compositing.
(WebKit::DrawingAreaCoordinatedGraphics::setNeedsDisplayInRect): Remove painting enabled check.
(WebKit::DrawingAreaCoordinatedGraphics::scroll): Ditto.
(WebKit::DrawingAreaCoordinatedGraphics::forceRepaint): Ditto.
(WebKit::DrawingAreaCoordinatedGraphics::updatePreferences): Update async scrolling enabled here.
(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Create the LayerTreeHost with the display ID
so that LayerTreeHost doesn't need to access the page drawing area that is being created.
(WebKit::DrawingAreaCoordinatedGraphics::sendEnterAcceleratedCompositingModeIfNeeded): Implement this.
(WebKit::DrawingAreaCoordinatedGraphics::enablePainting): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::LayerTreeHost): Use the given display ID.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
* Source/WebKit/WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::enablePainting): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage): Remove enablePainting calls.
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::didCreateGLContext): Do not resize
here that is too early in some cases, wait for the first frame to do the
resize.
Canonical link: https://commits.webkit.org/262812@main
More information about the webkit-changes
mailing list