[webkit-changes] [WebKit/WebKit] b66901: Set insecure/secure ports for upgrading requests i...

Matthew Finkel noreply at github.com
Fri Jan 26 10:08:31 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b66901d110655e63b24e80f32f4b19cd69f0ab52
      https://github.com/WebKit/WebKit/commit/b66901d110655e63b24e80f32f4b19cd69f0ab52
  Author: Matthew Finkel <sysrqb at apple.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/page/PageConfiguration.h
    M Source/WebCore/page/csp/ContentSecurityPolicy.cpp
    M Source/WebKit/Shared/WebPageCreationParameters.h
    M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
    M Source/WebKit/UIProcess/API/APIPageConfiguration.h
    M Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.cpp
    M Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKitLegacy/mac/WebView/WebView.mm
    M Source/WebKitLegacy/mac/WebView/WebViewPrivate.h
    M Tools/DumpRenderTree/TestOptions.cpp
    M Tools/DumpRenderTree/TestOptions.h
    M Tools/DumpRenderTree/mac/DumpRenderTree.mm
    M Tools/TestRunnerShared/TestFeatures.cpp
    M Tools/TestRunnerShared/TestFeatures.h
    M Tools/WebKitTestRunner/TestController.cpp
    M Tools/WebKitTestRunner/TestOptions.cpp
    M Tools/WebKitTestRunner/TestOptions.h
    M Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm

  Log Message:
  -----------
  Set insecure/secure ports for upgrading requests in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=267872
rdar://121388492

Reviewed by Alex Christensen.

Some requests are "upgradable" from insecure to secure (e.g., HTTP -> HTTPS) by
the engine before the resource is loaded. Currently, the only way to test this
is by using a URL with the insecure scheme but using the secure port (e.g.,
http: and port 443). This change adds the capability to test this behavior
while using URLs that are valid. A current example of this is for testing
requests where the document's CSP declared the 'upgrade-insecure-requests'
policy. In the future, this will help with testing upgrading mixed-content.

* LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::setPortsForUpgradingInsecureSchemeForTesting):
(WebCore::Page::portsForUpgradingInsecureSchemeForTesting const):
* Source/WebCore/page/Page.h:
* Source/WebCore/page/PageConfiguration.h:
* Source/WebCore/page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded const):
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::setPortsForUpgradingInsecureSchemeForTesting):
(API::PageConfiguration::portsForUpgradingInsecureSchemeForTesting const):
* Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.cpp:
(WKPageConfigurationSetPortsForUpgradingInsecureSchemeForTesting):
* Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _portsForUpgradingInsecureSchemeForTesting]):
(-[WKWebViewConfiguration _setPortsForUpgradingInsecureSchemeForTesting:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_historyItemClient):
* Source/WebKitLegacy/mac/WebView/WebView.mm:
(-[WebView _setPortsForUpgradingInsecureSchemeForTesting:withSecurePort:]):
* Source/WebKitLegacy/mac/WebView/WebViewPrivate.h:
* Tools/DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::keyTypeMapping):
(WTR::TestOptions::uint16TestRunnerFeatureValue const):
* Tools/DumpRenderTree/TestOptions.h:
(WTR::TestOptions::insecureUpgradePort const):
(WTR::TestOptions::secureUpgradePort const):
* Tools/DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* Tools/TestRunnerShared/TestFeatures.cpp:
(WTR::merge):
(WTR::operator==):
(WTR::shouldSetDefaultPortsForWTR):
(WTR::shouldSetDefaultPortsForWPT):
(WTR::hardcodedFeaturesBasedOnPathForTest):
(WTR::parseUInt16TestHeaderValue):
(WTR::parseTestHeaderFeature):
* Tools/TestRunnerShared/TestFeatures.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
* Tools/WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
(WTR::TestOptions::uint16TestRunnerFeatureValue const):
* Tools/WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::insecureUpgradePort const):
(WTR::TestOptions::secureUpgradePort const):
* Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):

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




More information about the webkit-changes mailing list