Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 36c6dd79307be994ccb7ca9a819775c6e904564c https://github.com/WebKit/WebKit/commit/36c6dd79307be994ccb7ca9a819775c6e904564c Author: Timothy Hatcher <timo...@apple.com> Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths: M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm Log Message: ----------- Safari is hanging on launch in WebExtension::resourceFileURLForPath. https://webkit.org/b/269972 rdar://123470286 Reviewed by Brian Weinstein. Three things were happening here to cause the hang: * The incorrect logic for checking null strings in `clearCustomizations()` was causing the notification to fire all the time. When the action cleared, Ghostery would set custom icons and an empty badge string again (likely detecting the change in results from browser.action APIs.) This would cause rapid cycles of change and reset. * The icon paths Ghostery uses start with a `/`. This was causing our `resourceFileURLForPath()` function to truncate the file URL back to the root and return nil for the icons path. This caused the action icon image to fail to load and show a blank icon. * Not all of the action properties were properly tracking changes, always sending the changed notification when nothing had changed. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm: (WebKit::WebExtensionAction::clearCustomizations): Correct the null string checks. (WebKit::WebExtensionAction::setIconsDictionary): Early return if nothing changed. (WebKit::WebExtensionAction::setHasUnreadBadgeText): Ditto. (WebKit::WebExtensionAction::incrementBlockedResourceCount): Ditto. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm: (WebKit::WebExtension::resourceFileURLForPath): Remove prefix if present. Canonical link: https://commits.webkit.org/275225@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes