Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ab5d20c0ff1557bf6de443c88ffea5b0eb88b30f
      
https://github.com/WebKit/WebKit/commit/ab5d20c0ff1557bf6de443c88ffea5b0eb88b30f
  Author: Youenn Fablet <[email protected]>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    A LayoutTests/http/tests/navigation/sec-fetch-site-header-expected.txt
    A 
LayoutTests/http/tests/navigation/sec-fetch-site-header-on-crossorigin-redirection-expected.txt
    A 
LayoutTests/http/tests/navigation/sec-fetch-site-header-on-crossorigin-redirection.html
    A 
LayoutTests/http/tests/navigation/sec-fetch-site-header-on-redirection-expected.txt
    A 
LayoutTests/http/tests/navigation/sec-fetch-site-header-on-redirection.html
    A LayoutTests/http/tests/navigation/sec-fetch-site-header.html
    A 
LayoutTests/http/tests/referrer-policy-anchor/no-referrer/sec-fetch-site-cross-origin-http-expected.txt
    A 
LayoutTests/http/tests/referrer-policy-anchor/no-referrer/sec-fetch-site-cross-origin-http.html
    A LayoutTests/http/tests/referrer-policy/resources/check-sec-fetch-site.py
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/element-iframe.sub-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/element-iframe.sub.html
    A 
LayoutTests/platform/mac-wk1/http/tests/navigation/sec-fetch-site-header-expected.txt
    A 
LayoutTests/platform/mac-wk1/http/tests/navigation/sec-fetch-site-header-on-crossorigin-redirection-expected.txt
    A 
LayoutTests/platform/mac-wk1/http/tests/navigation/sec-fetch-site-header-on-redirection-expected.txt
    M Source/WebCore/loader/SubresourceLoader.cpp
    M Source/WebCore/loader/cache/CachedResourceLoader.cpp
    M Source/WebCore/loader/cache/CachedResourceLoader.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Incorrect Sec-Fetch-Site values on iframes
rdar://109358563
https://bugs.webkit.org/show_bug.cgi?id=256472

Reviewed by Chris Dumez.

We use DocumentLoader::isRequestFromClientOrUserInput as a heuristic for 
directly user-initiated requests used in
the computation of Sec-Fetch-Site as per 
https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-site-header.
We remove the use of referrer since this is broken when referrer policy is 
no-referrer.
And we restrict to main frame navigation only.

In case of process swap, we could miscompute isRequestFromClientOrUserInput. We 
update WebPageProxy code to correctly compute 
LoadParameters.isRequestFromClientOrUserInput correctly.

Covered by tests.

* LayoutTests/http/tests/navigation/sec-fetch-site-header-expected.txt: Added.
* 
LayoutTests/http/tests/navigation/sec-fetch-site-header-on-crossorigin-redirection-expected.txt:
 Added.
* 
LayoutTests/http/tests/navigation/sec-fetch-site-header-on-crossorigin-redirection.html:
 Added.
* 
LayoutTests/http/tests/navigation/sec-fetch-site-header-on-redirection-expected.txt:
 Added.
* LayoutTests/http/tests/navigation/sec-fetch-site-header-on-redirection.html: 
Added.
* LayoutTests/http/tests/navigation/sec-fetch-site-header.html: Added.
* 
LayoutTests/http/tests/referrer-policy-anchor/no-referrer/sec-fetch-site-cross-origin-http-expected.txt:
 Added.
* 
LayoutTests/http/tests/referrer-policy-anchor/no-referrer/sec-fetch-site-cross-origin-http.html:
 Added.
* LayoutTests/http/tests/referrer-policy/resources/check-sec-fetch-site.py: 
Added.
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/element-iframe.sub-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/element-iframe.sub.html:
* 
LayoutTests/platform/mac-wk1/http/tests/navigation/sec-fetch-site-header-expected.txt:
 Added.
* 
LayoutTests/platform/mac-wk1/http/tests/navigation/sec-fetch-site-header-on-crossorigin-redirection-expected.txt:
 Added.
* 
LayoutTests/platform/mac-wk1/http/tests/navigation/sec-fetch-site-header-on-redirection-expected.txt:
 Added.
* Source/WebCore/loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::willSendRequestInternal):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::computeFetchMetadataSite):
(WebCore::CachedResourceLoader::updateHTTPRequestHeaders):
* Source/WebCore/loader/cache/CachedResourceLoader.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to