Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b341e0e6cedf800fa1e1a8afed4544cdd0000c27
      
https://github.com/WebKit/WebKit/commit/b341e0e6cedf800fa1e1a8afed4544cdd0000c27
  Author: Matthew Finkel <[email protected]>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    M Source/WebCore/en.lproj/Localizable.strings
    M Source/WebCore/loader/EmptyClients.cpp
    M Source/WebCore/loader/EmptyFrameLoaderClient.h
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/FrameLoader.h
    M Source/WebCore/loader/FrameLoaderClient.h
    M Source/WebCore/loader/ResourceLoader.cpp
    M Source/WebCore/loader/ResourceLoader.h
    M Source/WebCore/page/csp/ContentSecurityPolicy.cpp
    M Source/WebCore/platform/network/mac/ResourceErrorMac.mm
    M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
    M Source/WebKit/Shared/API/APIError.h
    M Source/WebKit/Shared/WebErrors.cpp
    M Source/WebKit/Shared/WebErrors.h
    M Source/WebKit/UIProcess/API/Cocoa/WKErrorPrivate.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
    M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
    M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm

  Log Message:
  -----------
  Improve support for prioritized HTTPS navigations
https://bugs.webkit.org/show_bug.cgi?id=248968
rdar://problem/103140804

Reviewed by Alex Christensen.

In this patch we improve the HTTPSOnly behavior that was introduced in an
earlier change. This patch makes three changes:

1. Upgrade main frame navigations except when the navigation is same-site and
   HTTPSOnly is was disabled on this site
2. Upgrade navigation redirects and prevent trivial downgrade redirect loops
3. Reduces the timeout on the data task on cocoa platforms

We also introduce a new HTTPSUpgradeRedirectLoop error to support handling
upgrade-downgrade loops.

* Source/WebCore/en.lproj/Localizable.strings:
* Source/WebCore/loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::httpsUpgradeRedirectLoopError const):
* Source/WebCore/loader/EmptyFrameLoaderClient.h:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::upgradeRequestforHTTPSOnlyIfNeeded const):
(WebCore::FrameLoader::changeLocation):
* Source/WebCore/loader/FrameLoader.h:
* Source/WebCore/loader/FrameLoaderClient.h:
* Source/WebCore/loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
(WebCore::ResourceLoader::httpsUpgradeRedirectLoopError):
* Source/WebCore/loader/ResourceLoader.h:
* Source/WebCore/page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded const):
* Source/WebCore/platform/network/mac/ResourceErrorMac.mm:
(WebCore::ResourceError::errorRecoveryMethod const):
* Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
* Source/WebKit/Shared/API/APIError.h:
* Source/WebKit/Shared/WebErrors.cpp:
(WebKit::httpsUpgradeRedirectLoopError):
* Source/WebKit/Shared/WebErrors.h:
* Source/WebKit/UIProcess/API/Cocoa/WKErrorPrivate.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::httpsUpgradeRedirectLoopError const):
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::httpsUpgradeRedirectLoopError const):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):

Canonical link: https://commits.webkit.org/261022@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to