Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d9712c272d4ecc8bef80deb86fedd8e2380cb304
https://github.com/WebKit/WebKit/commit/d9712c272d4ecc8bef80deb86fedd8e2380cb304
Author: Richard Robinson <[email protected]>
Date: 2025-05-20 (Tue, 20 May 2025)
Changed paths:
A Source/WebKit/UIProcess/Cocoa/RunLoopQueue.swift
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A Tools/TestWebKitAPI/Tests/WebKit Swift/RunLoopQueueTests.swift
Log Message:
-----------
[SwiftUI] Add a mechanism to enforce that changes to observable properties
are never coalesced
https://bugs.webkit.org/show_bug.cgi?id=293195
rdar://151546016
Reviewed by Aditya Keerthi.
Adds a `RunLoopQueue` that allows for operations that happen in the same
run-loop cycle
to be deferred so that each operation is executed on a unique cycle. This is
needed to ensure
that all changes to observable properties are tracked instead of coalesced.
* Source/WebKit/UIProcess/Cocoa/RunLoopQueue.swift: Added.
(RunLoopQueue.pendingChanges):
(RunLoopQueue.processingTask):
(RunLoopQueue.append(_:)):
(RunLoopQueue.process):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit Swift/RunLoopQueueTests.swift: Added.
(RunLoopQueueTests.appendAndExecuteInOrder):
(RunLoopQueueTests.processingTaskResetsAfterCompletion):
(RunLoopQueueTests.appendingWhileProcessingAddsToQueue):
Canonical link: https://commits.webkit.org/295168@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