[webkit-changes] [WebKit/WebKit] 4d646a: Fix site isolation overlay crash during teardown

Commit Queue noreply at github.com
Tue May 28 10:11:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4d646a441196993aecaf93b3af2ae2ab7eb87bd5
      https://github.com/WebKit/WebKit/commit/4d646a441196993aecaf93b3af2ae2ab7eb87bd5
  Author: Pascoe <pascoe at apple.com>
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
    M Source/WebCore/page/DebugPageOverlays.cpp

  Log Message:
  -----------
  Fix site isolation overlay crash during teardown
https://bugs.webkit.org/show_bug.cgi?id=274612
rdar://128636304

Reviewed by Charlie Wolfe.

The debug overlays are stored in a WeakHashMap from page to a vector of the overlays.
However, when site isolation is on, whenever a value is being removed from the WeakHashMap
because the page has been destrucuted, the overlay will try to access a WeakRef to the page,
which crashes. To fix this, we make the page in a RegionOverlay stored as WeakPtr instead and
check it before accessing it.

* Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::MouseWheelRegionOverlay::updateRegion):
(WebCore::NonFastScrollableRegionOverlay::updateRegion):
(WebCore::InteractionRegionOverlay::activeLayer const):
(WebCore::InteractionRegionOverlay::activeRegion const):
(WebCore::InteractionRegionOverlay::mouseEvent):
(WebCore::SiteIsolationOverlay::drawRect):
(WebCore::RegionOverlay::~RegionOverlay):
(WebCore::RegionOverlay::protectedPage const): Deleted.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list