[webkit-changes] [WebKit/WebKit] a5e0c9: WebExtensionControllerProxy::getOrCreate should on...

Alex Christensen noreply at github.com
Wed Jan 8 15:33:56 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a5e0c9a992346d7d656758431895fe87aeb5aa48
      https://github.com/WebKit/WebKit/commit/a5e0c9a992346d7d656758431895fe87aeb5aa48
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.cpp
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
    M Source/WebKit/WebProcess/Extensions/Cocoa/WebExtensionContextProxyCocoa.mm
    M Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.cpp

  Log Message:
  -----------
  WebExtensionControllerProxy::getOrCreate should only ever have 1 proxy per ID in the same process
https://bugs.webkit.org/show_bug.cgi?id=285630

Reviewed by Timothy Hatcher.

A combination of using add instead of set in the constructor, not calling remove in the destructor,
and using WeakRef instead of WeakPtr as the map value type caused it to get confused sometimes.
I hit a local assertion without this but not with this.  Since we now have a nullable type returned and
properly call remove, using add is fine instead of set.

* Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.cpp:
(WebKit::webExtensionControllerProxies):
(WebKit::WebExtensionControllerProxy::get):
(WebKit::WebExtensionControllerProxy::~WebExtensionControllerProxy):

Canonical link: https://commits.webkit.org/288620@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