summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/speculation-rules/prefetch
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/meta/speculation-rules/prefetch
parentInitial commit. (diff)
downloadfirefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz
firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/meta/speculation-rules/prefetch')
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/anonymous-client.https.html.ini3
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/cross-origin-cookies.https.html.ini3
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/document-rules.https.html.ini47
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/duplicate-urls.https.html.ini5
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/invalid-rules.https.html.ini5
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/multiple-url.https.html.ini5
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-delivery-type.tentative.https.html.ini26
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html.ini12
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-sizes.https.html.ini26
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/no-vary-search/prefetch-single.https.html.ini180
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/out-of-document-rule-set.https.html.ini96
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/prefetch-single.https.html.ini26
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/prefetch-status.https.html.ini33
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/redirect-url.https.html.ini5
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-from-rules.https.html.ini62
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-not-accepted.https.html.ini19
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/referrer-policy.https.html.ini46
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/same-origin-cookies.https.html.ini5
-rw-r--r--testing/web-platform/meta/speculation-rules/prefetch/user-pass.https.html.ini12
19 files changed, 616 insertions, 0 deletions
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/anonymous-client.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/anonymous-client.https.html.ini
new file mode 100644
index 0000000000..34f5153742
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/anonymous-client.https.html.ini
@@ -0,0 +1,3 @@
+[anonymous-client.https.html]
+ [test anonymous-client url prefetch for cross origin pages]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/cross-origin-cookies.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/cross-origin-cookies.https.html.ini
new file mode 100644
index 0000000000..b8c8e768b9
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/cross-origin-cookies.https.html.ini
@@ -0,0 +1,3 @@
+[cross-origin-cookies.https.html]
+ [speculation rules based prefetch should not use cookies for cross origin urls.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/document-rules.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/document-rules.https.html.ini
new file mode 100644
index 0000000000..261096df3f
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/document-rules.https.html.ini
@@ -0,0 +1,47 @@
+[document-rules.https.html?include=invalidPredicate]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [invalid predicate should not throw error or start prefetch]
+ expected: FAIL
+
+
+[document-rules.https.html?include=linkInShadowTree]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test that matching link in a shadow tree is prefetched]
+ expected: FAIL
+
+
+[document-rules.https.html?include=defaultPredicate]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test document rule with no predicate]
+ expected: FAIL
+
+
+[document-rules.https.html?include=hrefMatches]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test href_matches document rule]
+ expected: FAIL
+
+
+[document-rules.https.html?include=not]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test document rule with negation predicate]
+ expected: FAIL
+
+
+[document-rules.https.html?include=or]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test document rule with disjunction predicate]
+ expected: FAIL
+
+
+[document-rules.https.html?include=and]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test document rule with conjunction predicate]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/duplicate-urls.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/duplicate-urls.https.html.ini
new file mode 100644
index 0000000000..b5e424c5cc
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/duplicate-urls.https.html.ini
@@ -0,0 +1,5 @@
+[duplicate-urls.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [browser should remove duplicate urls from prefetch buffer.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/invalid-rules.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/invalid-rules.https.html.ini
new file mode 100644
index 0000000000..07a022b2bc
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/invalid-rules.https.html.ini
@@ -0,0 +1,5 @@
+[invalid-rules.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [an unrecognized key in a prefetch rule should prevent it from being fetched]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/multiple-url.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/multiple-url.https.html.ini
new file mode 100644
index 0000000000..04f65a30cf
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/multiple-url.https.html.ini
@@ -0,0 +1,5 @@
+[multiple-url.https.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [browser should be able to prefetch multiple urls]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-delivery-type.tentative.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-delivery-type.tentative.https.html.ini
new file mode 100644
index 0000000000..59623fce43
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-delivery-type.tentative.https.html.ini
@@ -0,0 +1,26 @@
+[navigation-timing-delivery-type.tentative.https.html?prefetch=false&bypass_cache=false]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.deliveryType test, same origin prefetch.]
+ expected: FAIL
+
+
+[navigation-timing-delivery-type.tentative.https.html?prefetch=false&bypass_cache=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.deliveryType test, same origin prefetch.]
+ expected: FAIL
+
+
+[navigation-timing-delivery-type.tentative.https.html?prefetch=true&bypass_cache=false]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.deliveryType test, same origin prefetch.]
+ expected: FAIL
+
+
+[navigation-timing-delivery-type.tentative.https.html?prefetch=true&bypass_cache=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.deliveryType test, same origin prefetch.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html.ini
new file mode 100644
index 0000000000..c8616d3f4d
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html.ini
@@ -0,0 +1,12 @@
+[navigation-timing-requestStart-responseStart.https.html?prefetch=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.requestStart/responseStart test, same origin prefetch.]
+ expected: FAIL
+
+
+[navigation-timing-requestStart-responseStart.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.requestStart/responseStart test, same origin prefetch.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-sizes.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-sizes.https.html.ini
new file mode 100644
index 0000000000..227bdb3b9c
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/navigation-timing-sizes.https.html.ini
@@ -0,0 +1,26 @@
+[navigation-timing-sizes.https.html?bypass_cache=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.transferSize/encodedBodySize/decodedBodySize test, same origin prefetch.]
+ expected: FAIL
+
+
+[navigation-timing-sizes.https.html?prefetch=true&bypass_cache=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.transferSize/encodedBodySize/decodedBodySize test, same origin prefetch.]
+ expected: FAIL
+
+
+[navigation-timing-sizes.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.transferSize/encodedBodySize/decodedBodySize test, same origin prefetch.]
+ expected: FAIL
+
+
+[navigation-timing-sizes.https.html?prefetch=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [PerformanceNavigationTiming.transferSize/encodedBodySize/decodedBodySize test, same origin prefetch.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/no-vary-search/prefetch-single.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/no-vary-search/prefetch-single.https.html.ini
new file mode 100644
index 0000000000..9ade7c8ac5
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/no-vary-search/prefetch-single.https.html.ini
@@ -0,0 +1,180 @@
+[prefetch-single.https.html?19-19]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as all query parameters except c can be ignored. Allow extension via parameters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?6-6]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Don't use prefetched response as the URLs have different value for c.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?12-12]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as query parameter a can be ignored.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?5-5]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as the URLs do not vary on any query parameters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?26-last]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use the prefetched URL. Empty No-Vary-Search means default URL variance. The prefetched and the navigated URLs have to be the same.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?2-2]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Don't use prefetched response as query parameter b has different value.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?4-4]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as the URLs do not vary on any query parameters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?14-14]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as all query parameters except c can be ignored.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?11-11]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as query parameter c can be ignored.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?8-8]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as the URLs have the same values for a.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?9-9]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as the URLs have the same values for a.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?10-10]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Don't use prefetched response as key-order is set to false and the URLs are not identical.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?20-20]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as query parameter c can be ignored. Allow extension via parameters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?3-3]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as the URLs do not vary by a and b.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?13-13]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as query parameter a can be ignored.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?7-7]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Don't use prefetched response as the URLs have the values in different order for a.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?23-23]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as all query parameters except c can be ignored. Allow extension via parameters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?22-22]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as the URLs do not vary on any query parameters. Allow extension via parameters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?1-1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as query parameter b has the same value.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?25-25]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use the prefetched URL. Empty No-Vary-Search means default URL variance. The prefetched and the navigated URLs have to be the same.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?18-18]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as even though all query parameters except c and d can be ignored, c value matches and d value matches. Some query parameters to be ignored appear multiple times in the query.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?17-17]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as even though all query parameters except c and d can be ignored, c value matches and d value matches.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?15-15]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as all query parameters except c can be ignored. Only the last except matters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?21-21]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use prefetched response as the URLs have the values in different order for a. Allow extension via parameters.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?24-24]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Don't use the prefetched URL. Empty No-Vary-Search means default URL variance. The prefetched and the navigated URLs have to be the same.]
+ expected: FAIL
+
+
+[prefetch-single.https.html?16-16]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Don't use prefetched response as even though all query parameters except c can be ignored, c has different value.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/out-of-document-rule-set.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/out-of-document-rule-set.https.html.ini
new file mode 100644
index 0000000000..bcb5ab990c
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/out-of-document-rule-set.https.html.ini
@@ -0,0 +1,96 @@
+[out-of-document-rule-set.https.html?include=RelativeUrlForSpeculationRulesSet]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should fetch a speculation rules set using its relative URL.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=RelativeUrlForCandidate]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should resolve the relative candidate URLs in the speculation rules set based on the speculation rules set's URL]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=FailCORS]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules set if CORS fails.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=InvalidUrlForSpeculationRulesSet]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules set with invalid URL.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=EmptyRuleSet]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject an empty speculation rules set.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=StatusCode199]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules set with unsuccessful status code.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=FailToParseRuleSet]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules set if it cannot parse it.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=BaseCase]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Base case.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=StatusCode404]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules set with unsuccessful status code.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=UseNonUTF8EncodingForSpeculationRulesSet]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [The speculation rules set should always be encoded using UTF-8.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=InvalidMimeType]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules set with invalid MIME type.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=FailToParseSpeculationRulesHeader]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules set if it fails to parse the SpeculationRules header.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=FollowRedirect]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should follow redirects and fetch the speculation rules set.]
+ expected: FAIL
+
+
+[out-of-document-rule-set.https.html?include=InnerListInSpeculationRulesHeader]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It should reject the speculation rules passed as inner list in the SpeculationRules header.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/prefetch-single.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/prefetch-single.https.html.ini
new file mode 100644
index 0000000000..2dff4c0867
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/prefetch-single.https.html.ini
@@ -0,0 +1,26 @@
+[prefetch-single.https.html?from_protocol=https&to_protocol=https]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test single https url prefetch from a https url]
+ expected: FAIL
+
+
+[prefetch-single.https.html?from_protocol=http&to_protocol=http]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test single http url prefetch from a http url]
+ expected: FAIL
+
+
+[prefetch-single.https.html?from_protocol=http&to_protocol=https]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test single https url prefetch from a http url]
+ expected: FAIL
+
+
+[prefetch-single.https.html?from_protocol=https&to_protocol=http]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test single http url prefetch from a https url]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/prefetch-status.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/prefetch-status.https.html.ini
new file mode 100644
index 0000000000..82245e35a8
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/prefetch-status.https.html.ini
@@ -0,0 +1,33 @@
+[prefetch-status.https.html?status=500&should_prefetch=false]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check that only prefetched requests with status in 200-299 range are used.]
+ expected: FAIL
+
+
+[prefetch-status.https.html?status=400&should_prefetch=false]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check that only prefetched requests with status in 200-299 range are used.]
+ expected: FAIL
+
+
+[prefetch-status.https.html?status=299&should_prefetch=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check that only prefetched requests with status in 200-299 range are used.]
+ expected: FAIL
+
+
+[prefetch-status.https.html?status=250&should_prefetch=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check that only prefetched requests with status in 200-299 range are used.]
+ expected: FAIL
+
+
+[prefetch-status.https.html?status=200&should_prefetch=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check that only prefetched requests with status in 200-299 range are used.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/redirect-url.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/redirect-url.https.html.ini
new file mode 100644
index 0000000000..fa59173f4d
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/redirect-url.https.html.ini
@@ -0,0 +1,5 @@
+[redirect-url.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [browser should be able to prefetch redirected urls]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-from-rules.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-from-rules.https.html.ini
new file mode 100644
index 0000000000..b92d00468c
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-from-rules.https.html.ini
@@ -0,0 +1,62 @@
+[referrer-policy-from-rules.https.html?4-4]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [unrecognized policies invalidate the rule]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?1-1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "strict-origin" referrer policy in rule set overriding "strict-origin-when-cross-origin" of referring page]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?3-3]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "no-referrer" referrer policy in rule set overriding "unsafe-url" of cross-site referring page]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?2-2]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "strict-origin" referrer policy in rule set override "no-referrer" of link]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?5-last]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "unsafe-url" referrer policy in rule set overriding "strict-origin" of referring page]
+ expected: FAIL
+
+ [with "unsafe-url" referrer policy in rule set overriding "strict-origin" of cross-site referring page]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?6-last]
+ [with "unsafe-url" referrer policy in rule set overriding "strict-origin" of referring page]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?5-5]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [treat legacy referrer policy values as invalid]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?7-last]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with empty string referrer policy in rule set defaulting to "strict-origin" of referring page]
+ expected: FAIL
+
+
+[referrer-policy-from-rules.https.html?6-6]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "unsafe-url" referrer policy in rule set overriding "strict-origin" of cross-site referring page]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-not-accepted.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-not-accepted.https.html.ini
new file mode 100644
index 0000000000..57f2772a10
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy-not-accepted.https.html.ini
@@ -0,0 +1,19 @@
+[referrer-policy-not-accepted.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "unsafe-url" referrer policy]
+ expected: FAIL
+
+
+[referrer-policy-not-accepted.https.html?1-1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "unsafe-url" referrer policy on same-site referring page]
+ expected: FAIL
+
+
+[referrer-policy-not-accepted.https.html?2-last]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "unsafe-url" referrer policy on cross-site referring page]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy.https.html.ini
new file mode 100644
index 0000000000..2aff945445
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/referrer-policy.https.html.ini
@@ -0,0 +1,46 @@
+[referrer-policy.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "strict-origin-when-cross-origin" referrer policy]
+ expected: FAIL
+
+ [with "strict-origin" referrer policy]
+ expected: FAIL
+
+ [with "no-referrer" referrer policy]
+ expected: FAIL
+
+
+[referrer-policy.https.html?2-2]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "strict-origin" referrer policy]
+ expected: FAIL
+
+
+[referrer-policy.https.html?1-1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "strict-origin-when-cross-origin" referrer policy]
+ expected: FAIL
+
+
+[referrer-policy.https.html?3-last]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "no-referrer" referrer policy]
+ expected: FAIL
+
+
+[referrer-policy.https.html?3-3]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "no-referrer" referrer policy]
+ expected: FAIL
+
+
+[referrer-policy.https.html?4-last]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [with "strict-origin" link referrer policy overriding "no-referrer" of referring page]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/same-origin-cookies.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/same-origin-cookies.https.html.ini
new file mode 100644
index 0000000000..48b913f035
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/same-origin-cookies.https.html.ini
@@ -0,0 +1,5 @@
+[same-origin-cookies.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [speculation rules based prefetch should use cookies for same origin urls.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/speculation-rules/prefetch/user-pass.https.html.ini b/testing/web-platform/meta/speculation-rules/prefetch/user-pass.https.html.ini
new file mode 100644
index 0000000000..38f1bf30dd
--- /dev/null
+++ b/testing/web-platform/meta/speculation-rules/prefetch/user-pass.https.html.ini
@@ -0,0 +1,12 @@
+[user-pass.https.html?cross-origin=true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test www-authenticate basic does not forward credentials to cross-origin pages.]
+ expected: FAIL
+
+
+[user-pass.https.html?cross-origin=false]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [test www-authenticate basic does not forward credentials to cross-origin pages.]
+ expected: FAIL