Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 46ae6dc7269a175e7d878f962c220b24236cd85b
      
https://github.com/WebKit/WebKit/commit/46ae6dc7269a175e7d878f962c220b24236cd85b
  Author: Matthew Finkel <[email protected]>
  Date:   2024-10-16 (Wed, 16 Oct 2024)

  Changed paths:
    M Source/WebCore/loader/DocumentLoader.cpp
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/cache/CachedResourceLoader.cpp
    M Source/WebCore/platform/network/HTTPSByDefaultMode.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/API/APIWebsitePolicies.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesInternal.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm

  Log Message:
  -----------
  Adjust HTTPSByDefault enums and expose property on WKWebpagePreferences
https://bugs.webkit.org/show_bug.cgi?id=281399
rdar://137835292

Reviewed by Alex Christensen.

This patch renames two enum values and adds a fourth value. The new names are
more descriptive. The newly introduced value provides a mechanism to upgrade
navigations but fail with an error instead of showing an interstitial. I'll
rename HTTPSByDefault to something like PreferredHTTPSNavigationPolicy in
another patch.

This patch also adds a new property and enum on WKWebpagePreferences.

I duplicated and adjusted the relevant existing tests that cover SPI for this
behavior so they exercise the new API. I also added a couple new tests for the
NoFallback (ErrorOnFailure) case.

* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setHTTPSByDefaultMode):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* Source/WebCore/platform/network/HTTPSByDefaultMode.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/APIWebsitePolicies.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm:
(WebKit::upgradeToHTTPSPolicy):
(WebKit::httpsByDefaultMode):
(-[WKWebpagePreferences setPreferredHTTPSNavigationPolicy:]):
(-[WKWebpagePreferences preferredHTTPSNavigationPolicy]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesInternal.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST(WKNavigation, PreferredHTTPSPolicyAutomaticHTTPFallbackHTTPDowngrade)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyAutomaticHTTPFallbackHTTPDowngradeAfterPSON)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyAutomaticHTTPFallbackHTTPDowngradeAndSameSiteNavigation)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyAutomaticHTTPFallbackHTTPDowngradeRedirect)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyAutomaticHTTPFallbackRedirectNoHTTPDowngradeRedirect)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyAutomaticHTTPFallbackLocalHostIPAddress)):
(TEST(WKNavigation, PreferredHTTPSPolicyUserMediatedHTTPFallbackInitialLoad)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyUserMediatedHTTPFallbackHTTPFallbackGoBack)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyUserMediatedHTTPFallbackHTTPFallbackContinue)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyUserMediatedHTTPFallbackWithHTTPRedirect)):
(TEST(WKNavigation, PreferredHTTPSPolicyAutomaticHTTPFallbackWithHTTPRedirect)):
(TEST(WKNavigation, 
PreferredHTTPSPolicyNoFallbackRedirectNoHTTPDowngradeRedirect)):
(TEST(WKNavigation, PreferredHTTPSPolicyNoFallbackInitialLoad)):
(TEST(WKNavigation, PreferredHTTPSPolicyNoFallbackOnCertificateError)):

Canonical link: https://commits.webkit.org/285300@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

Reply via email to