Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: be75d50ff3e3df5adff146a63c4756299f31a331
      
https://github.com/WebKit/WebKit/commit/be75d50ff3e3df5adff146a63c4756299f31a331
  Author: Sihui Liu <[email protected]>
  Date:   2025-05-09 (Fri, 09 May 2025)

  Changed paths:
    M Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h
    M Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm

  Log Message:
  -----------
  Fix ODR violation in ListDataController
https://bugs.webkit.org/show_bug.cgi?id=292761
rdar://150981612

Reviewed by Wenson Hsieh.

The class ListDataController can have multiple definitions across different 
translation units, because its virtual
function only exist when OBJC is true. This is against ODR rule and can lead to 
undefined behavior at runtime, like
crash due to failing to find a function in vtable.

* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h:
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm:
(WebKit::ListDataControllerBase::observeUpdates):
(WebKit::LinkDecorationFilteringController::resourceTypeValue const):
(WebKit::StorageAccessPromptQuirkController::resourceTypeValue const):
(WebKit::StorageAccessUserAgentStringQuirkController::resourceTypeValue const):
(WebKit::ScriptTelemetryController::resourceTypeValue const):
(WebKit::LinkDecorationFilteringController::resourceType const): Deleted.
(WebKit::StorageAccessPromptQuirkController::resourceType const): Deleted.
(WebKit::StorageAccessUserAgentStringQuirkController::resourceType const): 
Deleted.
(WebKit::ScriptTelemetryController::resourceType const): Deleted.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to