[webkit-changes] [WebKit/WebKit] 82e591: With UI-side compositing, many tests hit ASSERT(m_...

Simon Fraser noreply at github.com
Fri Nov 11 09:05:43 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 82e5917868fa066744774abe4e292959f375fd02
      https://github.com/WebKit/WebKit/commit/82e5917868fa066744774abe4e292959f375fd02
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M Source/WebKit/WebProcess/WebPage/DrawingArea.h
    M Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
    M Source/WebKit/WebProcess/WebPage/EventDispatcher.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h
    M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm

  Log Message:
  -----------
  With UI-side compositing, many tests hit ASSERT(m_scrollingTrees.contains(webPage->identifier()));
https://bugs.webkit.org/show_bug.cgi?id=247766
rdar://102214322

Reviewed by Cameron McCormack.

With UI-side compositing, the web process ScrollingCoordinator doesn't have a ScrollingTree,
so the assertion in `EventDispatcher::removeScrollingTreeForPage()` is wrong.

To fix this, delegate the registration and unregistration of the scrolling tree
to the DrawingArea. Then DrawingArea subclasses that have a WebContent process scrolling
tree can do the registration/unregistration (currently TiledCoreAnimationDrawingArea and
DrawingAreaCoordinatedGraphics).

Make the WebPage argument to the EventDispatcher functions be a reference.

* Source/WebKit/WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::registerScrollingTree):
(WebKit::DrawingArea::unregisterScrollingTree):
* Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::addScrollingTreeForPage):
(WebKit::EventDispatcher::removeScrollingTreeForPage):
* Source/WebKit/WebProcess/WebPage/EventDispatcher.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::close):
* Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::registerScrollingTree):
(WebKit::TiledCoreAnimationDrawingArea::unregisterScrollingTree):

Canonical link: https://commits.webkit.org/256571@main




More information about the webkit-changes mailing list