Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f5a6af25e43cc53fd17406f1acf8dc804617c15a https://github.com/WebKit/WebKit/commit/f5a6af25e43cc53fd17406f1acf8dc804617c15a Author: David Quesada <david_ques...@apple.com> Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths: M Source/WebCore/loader/HistoryController.cpp M Tools/TestWebKitAPI/SourcesCocoa.txt M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj A Tools/TestWebKitAPI/Tests/WebKitCocoa/HistoryDelegate.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/UseSystemAppearance.mm Log Message: ----------- Make it possible to use WKWebView._historyDelegate when using a non-persistent data store https://bugs.webkit.org/show_bug.cgi?id=290326 rdar://147764328 Reviewed by Brady Eidson. HistoryController currently skips updates that could end up telling the UI process about history changes if the page is using an ephemeral data store. While this makes sense in many cases, not all clients want to keep these two decisions (i.e. whether they have access to this specific set of callbacks about browsing activity, and whether WebKit should write website data to disk) tightly coupled. Make it possible to opt a nonpersistent web view in to history callbacks when opting into other privacy-sensitive operations, i.e. the "AllowPrivacySensitiveOperationsInNonPersistentDataStores" setting. * Source/WebCore/loader/HistoryController.cpp: (WebCore::canRecordHistoryForFrame): (WebCore::HistoryController::updateForStandardLoad): (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): (WebCore::HistoryController::updateForClientRedirect): (WebCore::HistoryController::updateForSameDocumentNavigation): (WebCore::HistoryController::pushState): (WebCore::HistoryController::replaceState): * Tools/TestWebKitAPI/SourcesCocoa.txt: * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WebKitCocoa/HistoryDelegate.mm: Added. (-[HistoryDelegate _webView:didNavigateWithNavigationData:]): (-[HistoryDelegate _webView:didUpdateHistoryTitle:forURL:]): (-[HistoryDelegate _webView:didPerformServerRedirectFromURL:toURL:]): (TEST(HistoryDelegate, NonpersistentDataStoreDoesNotSendHistoryEvents)): (TEST(HistoryDelegate, NonpersistentDataStoreSendsHistoryEventsWhenAllowingPrivacySensitiveOperations)): (TEST(HistoryDelegate, PersistentDataStoreSendsHistoryEvents)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/UseSystemAppearance.mm: Add a missing #import revealed by the shuffling of unified sources as a result of adding a new file to TestWebKitAPI. Canonical link: https://commits.webkit.org/292628@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