[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