Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3fd7495076360b9c977af182f895ac3c1a62eaaf https://github.com/WebKit/WebKit/commit/3fd7495076360b9c977af182f895ac3c1a62eaaf Author: Timothy Hatcher <timo...@apple.com> Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths: M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h Log Message: ----------- REGRESSION (275819@main): 5 Tests in TestWebKitAPI.WKWebExtensionAPIWebRequest sometimes timeout (270812). https://webkit.org/b/271392 rdar://124401551 Reviewed by Brian Weinstein. Change from using webView:didFinishNavigation: to _webView:navigationDidFinishDocumentLoad: for tracking when the background page has finished loading. This will properly fire after modules have executed, or any async script elements in a custom background page. This allows us to remove the arbitrary delay we had before, which was wholly inadequate across different machines, and was firing too soon for slow machines. By waiting for the document load, we know any background content event listeners will be registered and can properly dispatch events. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm: (-[_WKWebExtensionContextDelegate _webView:navigationDidFinishDocumentLoad:]): Added. (WebKit::WebExtensionContext::performTasksAfterBackgroundContentLoads): Removed dispatch_after(). (WebKit::WebExtensionContext::didFinishDocumentLoad): (-[_WKWebExtensionContextDelegate webView:didFinishNavigation:]): Deleted. (WebKit::WebExtensionContext::didFinishNavigation): Deleted. * Source/WebKit/UIProcess/Extensions/WebExtensionContext.h: Canonical link: https://commits.webkit.org/276487@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