[webkit-changes] [WebKit/WebKit] dc20f3: _WKWebExtensionMessagePort is being deallocated on...

Timothy Hatcher noreply at github.com
Fri Feb 23 21:10:09 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dc20f3f73c6b9aa0da5523525031b6501436dc4d
      https://github.com/WebKit/WebKit/commit/dc20f3f73c6b9aa0da5523525031b6501436dc4d
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M Source/WTF/wtf/PlatformHave.h
    M Source/WTF/wtf/spi/cocoa/objcSPI.h
    M Source/WebKit/Shared/Cocoa/WKObject.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtension.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionAction.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionCommand.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionController.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerConfiguration.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecord.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMatchPattern.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMessagePort.mm

  Log Message:
  -----------
  _WKWebExtensionMessagePort is being deallocated on a background thread.
https://webkit.org/b/270012
rdar://123529626

Reviewed by Darin Adler.

Introduce WK_OBJECT_DEALLOC_ON_MAIN_THREAD() and WK_OBJECT_DEALLOC_IMPL_ON_MAIN_THREAD()
macros that use _class_setCustomDeallocInitiation() to be able to dealloc on the main
thread for both ARC and non-ARC objects.

Start using these macros in the Web Extensions classes since they stopped using
WebCoreObjCScheduleDeallocateOnMainRunLoop(). All objects currently using the WebCore
dealloc helper can be switched over to use these new macros.

* Source/WTF/wtf/PlatformHave.h: Added HAVE_OBJC_CUSTOM_DEALLOC.
* Source/WTF/wtf/spi/cocoa/objcSPI.h: Added _class_setCustomDeallocInitiation and
_objc_deallocOnMainThreadHelper.
* Source/WebKit/Shared/Cocoa/WKObject.h: Added WK_OBJECT_DEALLOC_ON_MAIN_THREAD and
WK_OBJECT_DEALLOC_IMPL_ON_MAIN_THREAD.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtension.mm:
(-[_WKWebExtension dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionAction.mm:
(-[_WKWebExtensionAction dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionCommand.mm:
(-[_WKWebExtensionCommand dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm:
(-[_WKWebExtensionContext initForExtension:]):
(-[_WKWebExtensionContext dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionController.mm:
(-[_WKWebExtensionController dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerConfiguration.mm:
(-[_WKWebExtensionControllerConfiguration dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecord.mm:
(-[_WKWebExtensionDataRecord dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMatchPattern.mm:
(-[_WKWebExtensionMatchPattern initWithCoder:]):
(-[_WKWebExtensionMatchPattern encodeWithCoder:]):
(-[_WKWebExtensionMatchPattern copyWithZone:]):
(-[_WKWebExtensionMatchPattern dealloc]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMessagePort.mm:
(-[_WKWebExtensionMessagePort dealloc]): Deleted.

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