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

Reply via email to