[webkit-changes] [WebKit/WebKit] 46ae6d: Adjust HTTPSByDefault enums and expose property on...

Commit Queue noreply at github.com
Wed Oct 16 20:00:48 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 46ae6dc7269a175e7d878f962c220b24236cd85b
      https://github.com/WebKit/WebKit/commit/46ae6dc7269a175e7d878f962c220b24236cd85b
  Author: Matthew Finkel <m_finkel at apple.com>
  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


More information about the webkit-changes mailing list