Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check the correct network connection integrity policy after a navigation #9955

Commits on Apr 26, 2023

  1. 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
    charliewolfe committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    801abd6 View commit details
    Browse the repository at this point in the history