Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 38bdd513e152d3f58ddea624652f00cc1e314b97
      
https://github.com/WebKit/WebKit/commit/38bdd513e152d3f58ddea624652f00cc1e314b97
  Author: Yoav Weiss <[email protected]>
  Date:   2025-10-14 (Tue, 14 Oct 2025)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/imported/w3c/web-platform-tests/common/get-host-info.sub.js
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/cross-origin-cookies.https-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/out-of-document-rule-set.https.html
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_3-3-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_4-4-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_6-6-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_7-7-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-not-accepted.https_2-2-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-not-accepted.https_3-last-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/user-pass.https_cross-origin=true-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/speculation-tags/cross-site-prefetch.https-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/speculation-tags/cross-site-to-same-site-redirection-prefetch.https-expected.txt
    M LayoutTests/platform/gtk/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    M LayoutTests/platform/wpe/TestExpectations
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/SpeculationRulesMatcher.h
    M Source/WebCore/html/HTMLAnchorElement.cpp
    M Source/WebCore/html/HTMLAnchorElement.h
    M Source/WebCore/loader/DocumentPrefetcher.cpp
    M Source/WebCore/loader/DocumentPrefetcher.h
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/FrameLoader.h
    M Source/WebCore/loader/SpeculationRules.cpp
    M Source/WebCore/loader/SpeculationRules.h

  Log Message:
  -----------
  Speculation Rules: fix referrer-policy tests
https://bugs.webkit.org/show_bug.cgi?id=300608

Reviewed by Alex Christensen.

The current referrer-policy speculation rules tests are failing for multiple 
reasons:
* get-host-info is out-of-date and they use undefined parts of it.
* Invalid referrer-policy doesn't currently prevent a prefetch from happening.

This PR fixes that by manually importing the missing parts of get-host-info, 
and by aligning the implementation to the spec.

No new tests, but fixing expectations on existing tests.

* LayoutTests/TestExpectations: Remove referrer-policy as expected failure.
* LayoutTests/imported/w3c/web-platform-tests/common/get-host-info.sub.js:
(get_host_info): Update to the latest.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/cross-origin-cookies.https-expected.txt:
 Adjusted expectations.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/out-of-document-rule-set.https.html:
 Removed no-longer needed difference from upstream WPTs.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_3-3-expected.txt:
 Progression.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_4-4-expected.txt:
 Progression.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_6-6-expected.txt:
 Progression.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https_7-7-expected.txt:
 Progression.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-not-accepted.https_2-2-expected.txt:
 Progression.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-not-accepted.https_3-last-expected.txt:
 Progression.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/user-pass.https_cross-origin=true-expected.txt:
 Adjusted expectations.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/speculation-tags/cross-site-prefetch.https-expected.txt:
 Adjusted expectations.
* 
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/speculation-tags/cross-site-to-same-site-redirection-prefetch.https-expected.txt:
 Adjusted expectations.
* LayoutTests/platform/gtk/TestExpectations: Remove referrer-policy as expected 
failure.
* LayoutTests/platform/win/TestExpectations: Remove referrer-policy as expected 
failure.
* LayoutTests/platform/wpe/TestExpectations: Remove referrer-policy as expected 
failure.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::prefetch): Pass ReferrerPolicy instead of String.
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/SpeculationRulesMatcher.h:
* Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setShouldBePrefetched): Pass ReferrerPolicy 
instead of String.
(WebCore::HTMLAnchorElement::checkForSpeculationRules): Pass ReferrerPolicy 
instead of String.
* Source/WebCore/html/HTMLAnchorElement.h:
* Source/WebCore/loader/DocumentPrefetcher.cpp: Pass ReferrerPolicy instead of 
String.
(WebCore::makePrefetchRequest):
(WebCore::DocumentPrefetcher::prefetch): Pass ReferrerPolicy instead of String.
* Source/WebCore/loader/DocumentPrefetcher.h:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::prefetch): Pass ReferrerPolicy instead of String.
* Source/WebCore/loader/FrameLoader.h:
* Source/WebCore/loader/SpeculationRules.cpp:
(WebCore::parseSingleRule): Align implementation to the spec.
* Source/WebCore/loader/SpeculationRules.h:

Canonical link: https://commits.webkit.org/301476@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