[webkit-changes] [WebKit/WebKit] 801abd: Check the correct network connection integrity pol...
Charlie Wolfe
noreply at github.com
Wed Apr 26 11:18:35 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 801abd6bee994cae2784a4307c52ad737c345b2b
https://github.com/WebKit/WebKit/commit/801abd6bee994cae2784a4307c52ad737c345b2b
Author: Charlie Wolfe <charliew at apple.com>
Date: 2023-04-26 (Wed, 26 Apr 2023)
Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/loader/DocumentLoader.h
M Source/WebCore/loader/FrameLoadRequest.h
M Source/WebCore/loader/FrameLoader.cpp
M Source/WebKit/Shared/LoadParameters.cpp
M Source/WebKit/Shared/LoadParameters.h
M Source/WebKit/Shared/NavigationActionData.h
M Source/WebKit/Shared/NavigationActionData.serialization.in
M Source/WebKit/Shared/WebsitePoliciesData.cpp
M Source/WebKit/UIProcess/API/APINavigation.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
Check the correct network connection integrity policy after a navigation
https://bugs.webkit.org/show_bug.cgi?id=252089
rdar://104452273
Reviewed by Alex Christensen.
In some cases where we check the network connection integrity policy, we are checking the
policy in the context of a navigation that may have occurred. This can cause issues when the
network connection integrity policy was set, but changed during navigation. In this situation,
the network connection integrity policy we are interested in checking is the one set on the page
we navigated away from. To fix this, we preserve the policy set on the old document loader to
the new one so we can check it on the destination site.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::urlForBindings const):
(WebCore::Document::referrerForBindings):
* Source/WebCore/loader/DocumentLoader.h:
(WebCore::DocumentLoader::setOriginalNetworkConnectionIntegrityPolicy):
(WebCore::DocumentLoader::originalNetworkConnectionIntegrityPolicy const):
* Source/WebCore/loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::setNetworkConnectionIntegrityPolicy):
(WebCore::FrameLoadRequest::networkConnectionIntegrityPolicy const):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
* Source/WebKit/Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
* Source/WebKit/Shared/LoadParameters.h:
* Source/WebKit/Shared/NavigationActionData.h:
* Source/WebKit/Shared/NavigationActionData.serialization.in:
* Source/WebKit/UIProcess/API/APINavigation.h:
(API::Navigation::setOriginatorNetworkConnectionIntegrityPolicy):
(API::Navigation::originatorNetworkConnectionIntegrityPolicy const):
* Source/WebKit/Shared/WebsitePoliciesData.cpp:
(WebKit::WebsitePoliciesData::applyToDocumentLoader):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didSameDocumentNavigationForFrameViaJSHistoryAPI):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::info const):
(WebKit::WebFrame::networkConnectionIntegrityPolicy const):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
Canonical link: https://commits.webkit.org/263421@main
More information about the webkit-changes
mailing list