diff options
author | Kenta Moriuchi <moriken@kimamass.com> | 2023-03-22 23:43:20 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-22 15:43:20 +0100 |
commit | 29fb7709ed41b644825f7f9e362314bb37b588e7 (patch) | |
tree | ab5e088ba1e747a01d49ff4c93a079e18495a13e | |
parent | 2ac2906b2b6b998a3369595716e3a8b533089d07 (diff) |
chore: update wpt (#18335)
m--------- | test_util/wpt | 0 | ||||
-rw-r--r-- | tools/wpt/expectation.json | 4430 |
2 files changed, 3542 insertions, 888 deletions
diff --git a/test_util/wpt b/test_util/wpt -Subproject 9f9c1d83e3296584cb301e6b560ddaa70abe162 +Subproject 065cf84e9f00d1c11faf2a41e500a73ad6b95a4 diff --git a/tools/wpt/expectation.json b/tools/wpt/expectation.json index 0d0eba54b..7367b773e 100644 --- a/tools/wpt/expectation.json +++ b/tools/wpt/expectation.json @@ -3,10 +3,54 @@ "getRandomValues.any.html": true, "getRandomValues.any.worker.html": true, "derive_bits_keys": { - "ecdh_bits.https.any.html": false, - "ecdh_bits.https.any.worker.html": false, - "ecdh_keys.https.any.html": false, - "ecdh_keys.https.any.worker.html": false, + "ecdh_bits.https.any.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 with null length", + "P-521 short result", + "P-521 non-multiple of 8 bits", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveBits usage for base key", + "P-521 base key is not a private key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key", + "P-521 asking for too many bits" + ], + "ecdh_bits.https.any.worker.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 with null length", + "P-521 short result", + "P-521 non-multiple of 8 bits", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveBits usage for base key", + "P-521 base key is not a private key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key", + "P-521 asking for too many bits" + ], + "ecdh_keys.https.any.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveKey usage for base key", + "P-521 base key is not a private key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key" + ], + "ecdh_keys.https.any.worker.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveKey usage for base key", + "P-521 base key is not a private key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key" + ], "hkdf.https.any.html?1-1000": true, "hkdf.https.any.html?1001-2000": true, "hkdf.https.any.html?2001-3000": true, @@ -33,10 +77,96 @@ "pbkdf2.https.any.worker.html?6001-7000": true, "pbkdf2.https.any.worker.html?7001-8000": true, "pbkdf2.https.any.worker.html?8001-last": true, - "cfrg_curves_bits.https.any.html": false, - "cfrg_curves_bits.https.any.worker.html": false, - "cfrg_curves_keys.https.any.html": false, - "cfrg_curves_keys.https.any.worker.html": false + "cfrg_curves_bits.https.any.html": [ + "X25519 key derivation checks for all-zero value result with a key of order 0", + "X25519 key derivation checks for all-zero value result with a key of order 1", + "X25519 key derivation checks for all-zero value result with a key of order 8", + "X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X448 key derivation checks for all-zero value result with a key of order 0", + "X448 key derivation checks for all-zero value result with a key of order 1", + "X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 with null length", + "X25519 short result", + "X25519 non-multiple of 8 bits", + "X25519 mismatched algorithms", + "X25519 no deriveBits usage for base key", + "X448 good parameters", + "X448 mixed case parameters", + "X448 with null length", + "X448 short result", + "X448 non-multiple of 8 bits", + "X448 mismatched algorithms", + "X448 no deriveBits usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key", + "X448 asking for too many bits" + ], + "cfrg_curves_bits.https.any.worker.html": [ + "X25519 key derivation checks for all-zero value result with a key of order 0", + "X25519 key derivation checks for all-zero value result with a key of order 1", + "X25519 key derivation checks for all-zero value result with a key of order 8", + "X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X448 key derivation checks for all-zero value result with a key of order 0", + "X448 key derivation checks for all-zero value result with a key of order 1", + "X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 with null length", + "X25519 short result", + "X25519 non-multiple of 8 bits", + "X25519 mismatched algorithms", + "X25519 no deriveBits usage for base key", + "X448 good parameters", + "X448 mixed case parameters", + "X448 with null length", + "X448 short result", + "X448 non-multiple of 8 bits", + "X448 mismatched algorithms", + "X448 no deriveBits usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key", + "X448 asking for too many bits" + ], + "cfrg_curves_keys.https.any.html": [ + "Key derivation using a X25519 generated keys.", + "Key derivation using a X448 generated keys.", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 mismatched algorithms", + "X448 good parameters", + "X448 mixed case parameters", + "X448 mismatched algorithms", + "X448 no deriveKey usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key" + ], + "cfrg_curves_keys.https.any.worker.html": [ + "Key derivation using a X25519 generated keys.", + "Key derivation using a X448 generated keys.", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 mismatched algorithms", + "X448 good parameters", + "X448 mixed case parameters", + "X448 mismatched algorithms", + "X448 no deriveKey usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key" + ] }, "digest": { "digest.https.any.html": true, @@ -48,347 +178,495 @@ "aes_ctr.https.any.html": true, "aes_ctr.https.any.worker.html": true, "aes_gcm.https.any.html": [ - "AES-GCM 128-bit key, 32-bit tag", - "AES-GCM 128-bit key, no additional data, 32-bit tag", - "AES-GCM 128-bit key, 64-bit tag", - "AES-GCM 128-bit key, no additional data, 64-bit tag", - "AES-GCM 128-bit key, 96-bit tag", - "AES-GCM 128-bit key, no additional data, 96-bit tag", - "AES-GCM 128-bit key, 104-bit tag", - "AES-GCM 128-bit key, no additional data, 104-bit tag", - "AES-GCM 128-bit key, 112-bit tag", - "AES-GCM 128-bit key, no additional data, 112-bit tag", - "AES-GCM 128-bit key, 120-bit tag", - "AES-GCM 128-bit key, no additional data, 120-bit tag", - "AES-GCM 128-bit key, 128-bit tag", - "AES-GCM 128-bit key, no additional data, 128-bit tag", - "AES-GCM 192-bit key, 32-bit tag", - "AES-GCM 192-bit key, no additional data, 32-bit tag", - "AES-GCM 192-bit key, 64-bit tag", - "AES-GCM 192-bit key, no additional data, 64-bit tag", - "AES-GCM 192-bit key, 96-bit tag", - "AES-GCM 192-bit key, no additional data, 96-bit tag", - "AES-GCM 192-bit key, 104-bit tag", - "AES-GCM 192-bit key, no additional data, 104-bit tag", - "AES-GCM 192-bit key, 112-bit tag", - "AES-GCM 192-bit key, no additional data, 112-bit tag", - "AES-GCM 192-bit key, 120-bit tag", - "AES-GCM 192-bit key, no additional data, 120-bit tag", - "AES-GCM 192-bit key, 128-bit tag", - "AES-GCM 192-bit key, no additional data, 128-bit tag", - "AES-GCM 256-bit key, 32-bit tag", - "AES-GCM 256-bit key, no additional data, 32-bit tag", - "AES-GCM 256-bit key, 64-bit tag", - "AES-GCM 256-bit key, no additional data, 64-bit tag", - "AES-GCM 256-bit key, 96-bit tag", - "AES-GCM 256-bit key, no additional data, 96-bit tag", - "AES-GCM 256-bit key, 104-bit tag", - "AES-GCM 256-bit key, no additional data, 104-bit tag", - "AES-GCM 256-bit key, 112-bit tag", - "AES-GCM 256-bit key, no additional data, 112-bit tag", - "AES-GCM 256-bit key, 120-bit tag", - "AES-GCM 256-bit key, no additional data, 120-bit tag", - "AES-GCM 256-bit key, 128-bit tag", - "AES-GCM 256-bit key, no additional data, 128-bit tag", - "AES-GCM 128-bit key, 32-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 32-bit tag with altered plaintext", - "AES-GCM 128-bit key, 64-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 64-bit tag with altered plaintext", - "AES-GCM 128-bit key, 96-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 96-bit tag with altered plaintext", - "AES-GCM 128-bit key, 104-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 104-bit tag with altered plaintext", - "AES-GCM 128-bit key, 112-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 112-bit tag with altered plaintext", - "AES-GCM 128-bit key, 120-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 120-bit tag with altered plaintext", - "AES-GCM 128-bit key, 128-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 128-bit tag with altered plaintext", - "AES-GCM 192-bit key, 32-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 32-bit tag with altered plaintext", - "AES-GCM 192-bit key, 64-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 64-bit tag with altered plaintext", - "AES-GCM 192-bit key, 96-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 96-bit tag with altered plaintext", - "AES-GCM 192-bit key, 104-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 104-bit tag with altered plaintext", - "AES-GCM 192-bit key, 112-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 112-bit tag with altered plaintext", - "AES-GCM 192-bit key, 120-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 120-bit tag with altered plaintext", - "AES-GCM 192-bit key, 128-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 128-bit tag with altered plaintext", - "AES-GCM 256-bit key, 32-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 32-bit tag with altered plaintext", - "AES-GCM 256-bit key, 64-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 64-bit tag with altered plaintext", - "AES-GCM 256-bit key, 96-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 96-bit tag with altered plaintext", - "AES-GCM 256-bit key, 104-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 104-bit tag with altered plaintext", - "AES-GCM 256-bit key, 112-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 112-bit tag with altered plaintext", - "AES-GCM 256-bit key, 120-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 120-bit tag with altered plaintext", - "AES-GCM 256-bit key, 128-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 128-bit tag with altered plaintext", - "AES-GCM 128-bit key, 32-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 32-bit tag decryption", - "AES-GCM 128-bit key, 64-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 64-bit tag decryption", - "AES-GCM 128-bit key, 96-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 96-bit tag decryption", - "AES-GCM 128-bit key, 104-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 104-bit tag decryption", - "AES-GCM 128-bit key, 112-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 112-bit tag decryption", - "AES-GCM 128-bit key, 120-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 120-bit tag decryption", - "AES-GCM 128-bit key, 128-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 128-bit tag decryption", - "AES-GCM 192-bit key, 32-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 32-bit tag decryption", - "AES-GCM 192-bit key, 64-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 64-bit tag decryption", - "AES-GCM 192-bit key, 96-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 96-bit tag decryption", - "AES-GCM 192-bit key, 104-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 104-bit tag decryption", - "AES-GCM 192-bit key, 112-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 112-bit tag decryption", - "AES-GCM 192-bit key, 120-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 120-bit tag decryption", - "AES-GCM 192-bit key, 128-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 128-bit tag decryption", - "AES-GCM 256-bit key, 32-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 32-bit tag decryption", - "AES-GCM 256-bit key, 64-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 64-bit tag decryption", - "AES-GCM 256-bit key, 96-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 96-bit tag decryption", - "AES-GCM 256-bit key, 104-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 104-bit tag decryption", - "AES-GCM 256-bit key, 112-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 112-bit tag decryption", - "AES-GCM 256-bit key, 120-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 120-bit tag decryption", - "AES-GCM 256-bit key, 128-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 128-bit tag decryption", - "AES-GCM 128-bit key, 32-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 32-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 64-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 64-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 96-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 96-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 104-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 104-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 112-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 112-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 120-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 120-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 128-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 128-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 32-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 32-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 64-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 64-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 96-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 96-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 104-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 104-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 112-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 112-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 120-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 120-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 128-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 128-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 32-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 32-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 64-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 64-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 96-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 96-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 104-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 104-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 112-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 112-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 120-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 120-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 128-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 128-bit tag decryption with altered ciphertext" + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext" ], "aes_gcm.https.any.worker.html": [ - "AES-GCM 128-bit key, 32-bit tag", - "AES-GCM 128-bit key, no additional data, 32-bit tag", - "AES-GCM 128-bit key, 64-bit tag", - "AES-GCM 128-bit key, no additional data, 64-bit tag", - "AES-GCM 128-bit key, 96-bit tag", - "AES-GCM 128-bit key, no additional data, 96-bit tag", - "AES-GCM 128-bit key, 104-bit tag", - "AES-GCM 128-bit key, no additional data, 104-bit tag", - "AES-GCM 128-bit key, 112-bit tag", - "AES-GCM 128-bit key, no additional data, 112-bit tag", - "AES-GCM 128-bit key, 120-bit tag", - "AES-GCM 128-bit key, no additional data, 120-bit tag", - "AES-GCM 128-bit key, 128-bit tag", - "AES-GCM 128-bit key, no additional data, 128-bit tag", - "AES-GCM 192-bit key, 32-bit tag", - "AES-GCM 192-bit key, no additional data, 32-bit tag", - "AES-GCM 192-bit key, 64-bit tag", - "AES-GCM 192-bit key, no additional data, 64-bit tag", - "AES-GCM 192-bit key, 96-bit tag", - "AES-GCM 192-bit key, no additional data, 96-bit tag", - "AES-GCM 192-bit key, 104-bit tag", - "AES-GCM 192-bit key, no additional data, 104-bit tag", - "AES-GCM 192-bit key, 112-bit tag", - "AES-GCM 192-bit key, no additional data, 112-bit tag", - "AES-GCM 192-bit key, 120-bit tag", - "AES-GCM 192-bit key, no additional data, 120-bit tag", - "AES-GCM 192-bit key, 128-bit tag", - "AES-GCM 192-bit key, no additional data, 128-bit tag", - "AES-GCM 256-bit key, 32-bit tag", - "AES-GCM 256-bit key, no additional data, 32-bit tag", - "AES-GCM 256-bit key, 64-bit tag", - "AES-GCM 256-bit key, no additional data, 64-bit tag", - "AES-GCM 256-bit key, 96-bit tag", - "AES-GCM 256-bit key, no additional data, 96-bit tag", - "AES-GCM 256-bit key, 104-bit tag", - "AES-GCM 256-bit key, no additional data, 104-bit tag", - "AES-GCM 256-bit key, 112-bit tag", - "AES-GCM 256-bit key, no additional data, 112-bit tag", - "AES-GCM 256-bit key, 120-bit tag", - "AES-GCM 256-bit key, no additional data, 120-bit tag", - "AES-GCM 256-bit key, 128-bit tag", - "AES-GCM 256-bit key, no additional data, 128-bit tag", - "AES-GCM 128-bit key, 32-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 32-bit tag with altered plaintext", - "AES-GCM 128-bit key, 64-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 64-bit tag with altered plaintext", - "AES-GCM 128-bit key, 96-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 96-bit tag with altered plaintext", - "AES-GCM 128-bit key, 104-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 104-bit tag with altered plaintext", - "AES-GCM 128-bit key, 112-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 112-bit tag with altered plaintext", - "AES-GCM 128-bit key, 120-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 120-bit tag with altered plaintext", - "AES-GCM 128-bit key, 128-bit tag with altered plaintext", - "AES-GCM 128-bit key, no additional data, 128-bit tag with altered plaintext", - "AES-GCM 192-bit key, 32-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 32-bit tag with altered plaintext", - "AES-GCM 192-bit key, 64-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 64-bit tag with altered plaintext", - "AES-GCM 192-bit key, 96-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 96-bit tag with altered plaintext", - "AES-GCM 192-bit key, 104-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 104-bit tag with altered plaintext", - "AES-GCM 192-bit key, 112-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 112-bit tag with altered plaintext", - "AES-GCM 192-bit key, 120-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 120-bit tag with altered plaintext", - "AES-GCM 192-bit key, 128-bit tag with altered plaintext", - "AES-GCM 192-bit key, no additional data, 128-bit tag with altered plaintext", - "AES-GCM 256-bit key, 32-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 32-bit tag with altered plaintext", - "AES-GCM 256-bit key, 64-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 64-bit tag with altered plaintext", - "AES-GCM 256-bit key, 96-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 96-bit tag with altered plaintext", - "AES-GCM 256-bit key, 104-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 104-bit tag with altered plaintext", - "AES-GCM 256-bit key, 112-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 112-bit tag with altered plaintext", - "AES-GCM 256-bit key, 120-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 120-bit tag with altered plaintext", - "AES-GCM 256-bit key, 128-bit tag with altered plaintext", - "AES-GCM 256-bit key, no additional data, 128-bit tag with altered plaintext", - "AES-GCM 128-bit key, 32-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 32-bit tag decryption", - "AES-GCM 128-bit key, 64-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 64-bit tag decryption", - "AES-GCM 128-bit key, 96-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 96-bit tag decryption", - "AES-GCM 128-bit key, 104-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 104-bit tag decryption", - "AES-GCM 128-bit key, 112-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 112-bit tag decryption", - "AES-GCM 128-bit key, 120-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 120-bit tag decryption", - "AES-GCM 128-bit key, 128-bit tag decryption", - "AES-GCM 128-bit key, no additional data, 128-bit tag decryption", - "AES-GCM 192-bit key, 32-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 32-bit tag decryption", - "AES-GCM 192-bit key, 64-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 64-bit tag decryption", - "AES-GCM 192-bit key, 96-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 96-bit tag decryption", - "AES-GCM 192-bit key, 104-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 104-bit tag decryption", - "AES-GCM 192-bit key, 112-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 112-bit tag decryption", - "AES-GCM 192-bit key, 120-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 120-bit tag decryption", - "AES-GCM 192-bit key, 128-bit tag decryption", - "AES-GCM 192-bit key, no additional data, 128-bit tag decryption", - "AES-GCM 256-bit key, 32-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 32-bit tag decryption", - "AES-GCM 256-bit key, 64-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 64-bit tag decryption", - "AES-GCM 256-bit key, 96-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 96-bit tag decryption", - "AES-GCM 256-bit key, 104-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 104-bit tag decryption", - "AES-GCM 256-bit key, 112-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 112-bit tag decryption", - "AES-GCM 256-bit key, 120-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 120-bit tag decryption", - "AES-GCM 256-bit key, 128-bit tag decryption", - "AES-GCM 256-bit key, no additional data, 128-bit tag decryption", - "AES-GCM 128-bit key, 32-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 32-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 64-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 64-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 96-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 96-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 104-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 104-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 112-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 112-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 120-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 120-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, 128-bit tag decryption with altered ciphertext", - "AES-GCM 128-bit key, no additional data, 128-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 32-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 32-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 64-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 64-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 96-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 96-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 104-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 104-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 112-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 112-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 120-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 120-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, 128-bit tag decryption with altered ciphertext", - "AES-GCM 192-bit key, no additional data, 128-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 32-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 32-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 64-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 64-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 96-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 96-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 104-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 104-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 112-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 112-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 120-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 120-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, 128-bit tag decryption with altered ciphertext", - "AES-GCM 256-bit key, no additional data, 128-bit tag decryption with altered ciphertext" + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext" ], "rsa_oaep.https.any.html": true, - "rsa_oaep.https.any.worker.html": true + "rsa_oaep.https.any.worker.html": true, + "aes_gcm_256_iv.https.any.html": [ + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext" + ], + "aes_gcm_256_iv.https.any.worker.html": [ + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext" + ] }, "generateKey": { "failures_AES-CBC.https.any.html": true, @@ -720,16 +998,33 @@ ], "import_export": { "ec_importKey.https.any.html": [ + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, true, [])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", @@ -737,7 +1032,10 @@ "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", @@ -746,16 +1044,33 @@ "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits])" ], "ec_importKey.https.any.worker.html": [ + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, true, [])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", @@ -763,7 +1078,10 @@ "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", "Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, false, [])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", @@ -778,10 +1096,12 @@ "okp_importKey.https.any.html": [ "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [])", "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [])", "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign])", "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign])", "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [])", "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [])", "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign])", "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign])", "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])", @@ -789,6 +1109,7 @@ "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])", "Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])", "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])", "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey])", @@ -797,6 +1118,7 @@ "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])", "Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])", "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])", "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])", @@ -807,10 +1129,12 @@ "okp_importKey.https.any.worker.html": [ "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [])", "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [])", "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign])", "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign])", "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [])", "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [])", "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign])", "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign])", "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])", @@ -818,6 +1142,7 @@ "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])", "Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])", "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])", "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey])", @@ -826,13 +1151,22 @@ "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])", "Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])", "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])", "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])", "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits, deriveKey])", "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits])", "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits])" - ] + ], + "okp_importKey_failures_Ed25519.https.any.html": false, + "okp_importKey_failures_Ed25519.https.any.worker.html": false, + "okp_importKey_failures_Ed448.https.any.html": false, + "okp_importKey_failures_Ed448.https.any.worker.html": false, + "okp_importKey_failures_X25519.https.any.html": false, + "okp_importKey_failures_X25519.https.any.worker.html": false, + "okp_importKey_failures_X448.https.any.html": false, + "okp_importKey_failures_X448.https.any.worker.html": false }, "randomUUID.https.any.html": true, "randomUUID.https.any.worker.html": true, @@ -935,6 +1269,76 @@ "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext", "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext", "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-1 - Signature has excess padding verification", + "ECDSA P-256 with SHA-1 - The signature is empty verification", + "ECDSA P-256 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - Signature has excess padding verification", + "ECDSA P-256 with SHA-384 - The signature is empty verification", + "ECDSA P-256 with SHA-384 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-512 - Signature has excess padding verification", + "ECDSA P-256 with SHA-512 - The signature is empty verification", + "ECDSA P-256 with SHA-512 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-1 - Signature has excess padding verification", + "ECDSA P-384 with SHA-1 - The signature is empty verification", + "ECDSA P-384 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-256 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-256 - Signature has excess padding verification", + "ECDSA P-384 with SHA-256 - The signature is empty verification", + "ECDSA P-384 with SHA-256 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-512 - Signature has excess padding verification", + "ECDSA P-384 with SHA-512 - The signature is empty verification", + "ECDSA P-384 with SHA-512 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification", "importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name", "importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name", "importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name", @@ -1042,6 +1446,76 @@ "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext", "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext", "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-1 - Signature has excess padding verification", + "ECDSA P-256 with SHA-1 - The signature is empty verification", + "ECDSA P-256 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - Signature has excess padding verification", + "ECDSA P-256 with SHA-384 - The signature is empty verification", + "ECDSA P-256 with SHA-384 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-512 - Signature has excess padding verification", + "ECDSA P-256 with SHA-512 - The signature is empty verification", + "ECDSA P-256 with SHA-512 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-1 - Signature has excess padding verification", + "ECDSA P-384 with SHA-1 - The signature is empty verification", + "ECDSA P-384 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-256 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-256 - Signature has excess padding verification", + "ECDSA P-384 with SHA-256 - The signature is empty verification", + "ECDSA P-384 with SHA-256 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-512 - Signature has excess padding verification", + "ECDSA P-384 with SHA-512 - The signature is empty verification", + "ECDSA P-384 with SHA-512 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification", "importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name", "importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name", "importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name", @@ -1055,9 +1529,28 @@ "hmac.https.any.worker.html": true, "rsa_pkcs.https.any.html": true, "rsa_pkcs.https.any.worker.html": true, - "rsa_pss.https.any.html": true, - "rsa_pss.https.any.worker.html": true, + "rsa_pss.https.any.html": [ + "RSA-PSS with SHA-1 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-256 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-384 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-512 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-1, salted verification failure with wrong saltLength", + "RSA-PSS with SHA-256, salted verification failure with wrong saltLength", + "RSA-PSS with SHA-384, salted verification failure with wrong saltLength", + "RSA-PSS with SHA-512, salted verification failure with wrong saltLength" + ], + "rsa_pss.https.any.worker.html": [ + "RSA-PSS with SHA-1 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-256 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-384 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-512 and no salt verification failure with wrong saltLength", + "RSA-PSS with SHA-1, salted verification failure with wrong saltLength", + "RSA-PSS with SHA-256, salted verification failure with wrong saltLength", + "RSA-PSS with SHA-384, salted verification failure with wrong saltLength", + "RSA-PSS with SHA-512, salted verification failure with wrong saltLength" + ], "eddsa.https.any.html": [ + "Sign and verify using generated Ed448 keys.", "importVectorKeys step: EdDSA Ed448 verification", "importVectorKeys step: EdDSA Ed448 verification with altered signature after call", "importVectorKeys step: EdDSA Ed448 with altered data after call", @@ -1072,6 +1565,7 @@ "importVectorKeys step: EdDSA Ed448 verifying with wrong algorithm name" ], "eddsa.https.any.worker.html": [ + "Sign and verify using generated Ed448 keys.", "importVectorKeys step: EdDSA Ed448 verification", "importVectorKeys step: EdDSA Ed448 verification with altered signature after call", "importVectorKeys step: EdDSA Ed448 with altered data after call", @@ -1106,14 +1600,17 @@ "console-tests-historical.any.html": true, "console-tests-historical.any.worker.html": true, "idlharness.any.html": true, - "idlharness.any.worker.html": true + "idlharness.any.worker.html": true, + "idlharness-shadowrealm.window.html": false }, "dom": { "abort": { "AbortSignal.any.html": true, "AbortSignal.any.worker.html": true, "event.any.html": true, - "event.any.worker.html": true + "event.any.worker.html": true, + "abort-signal-any.tentative.any.html": false, + "abort-signal-any.tentative.any.worker.html": false }, "events": { "AddEventListenerOptions-once.any.html": true, @@ -1244,7 +1741,8 @@ "encode-utf8.any.worker.html": true, "readable-writable-properties.any.html": true, "readable-writable-properties.any.worker.html": true, - "realms.window.html": false + "realms.window.html": false, + "invalid-realm.window.html": false }, "textdecoder-arguments.any.html": true, "textdecoder-arguments.any.worker.html": true, @@ -1291,7 +1789,8 @@ "textdecoder-eof.any.worker.html": true, "idlharness-shadowrealm.window.html": false, "single-byte-decoder.window.html?XMLHttpRequest": false, - "single-byte-decoder.window.html?document": false + "single-byte-decoder.window.html?document": false, + "unsupported-labels.window.html": false }, "hr-time": { "monotonic-clock.any.html": true, @@ -1358,7 +1857,9 @@ "tee.any.html": true, "tee.any.worker.html": true, "respond-after-enqueue.any.html": true, - "respond-after-enqueue.any.worker.html": true + "respond-after-enqueue.any.worker.html": true, + "enqueue-with-detached-buffer.any.html": true, + "enqueue-with-detached-buffer.any.worker.html": true }, "readable-streams": { "async-iterator.any.html": [ @@ -1390,7 +1891,12 @@ "tee.any.html": true, "tee.any.worker.html": true, "templated.any.html": true, - "templated.any.worker.html": true + "templated.any.worker.html": true, + "async-iterator.any.worker.html": [ + "next() that succeeds; return()", + "next() that succeeds; return() [no awaiting]" + ], + "cross-realm-crash.window.html": false }, "transform-streams": { "backpressure.any.html": true, @@ -1450,7 +1956,8 @@ }, "queuing-strategies-size-function-per-global.window.html": false, "transferable": { - "deserialize-error.window.html": false + "deserialize-error.window.html": false, + "transfer-with-messageport.window.html": false }, "idlharness-shadowrealm.window.html": false }, @@ -1502,7 +2009,8 @@ "user_timing_exists.any.html": true, "user_timing_exists.any.worker.html": true, "invoke_with_timing_attributes.worker.html": true, - "performance-measure-invalid.worker.html": false + "performance-measure-invalid.worker.html": false, + "idlharness-shadowrealm.window.html": false }, "wasm": { "jsapi": { @@ -1604,17 +2112,19 @@ "constructor.tentative.any.html": true, "constructor.tentative.any.worker.html": true, "getArg.tentative.any.html": [ - "Index out of bounds" + "Getting out-of-range argument" ], "getArg.tentative.any.worker.html": [ - "Index out of bounds" + "Getting out-of-range argument" ], "is.tentative.any.html": true, "is.tentative.any.worker.html": true, "toString.tentative.any.html": true, "toString.tentative.any.worker.html": true, "type.tentative.any.html": false, - "type.tentative.any.worker.html": false + "type.tentative.any.worker.html": false, + "identity.tentative.any.html": true, + "identity.tentative.any.worker.html": true }, "tag": { "constructor.tentative.any.html": true, @@ -1728,16 +2238,26 @@ ], "no-regexp-special-casing.any.worker.html": [ "Conversion to a sequence works" - ] + ], + "builtin-function-properties.any.html": true, + "builtin-function-properties.any.worker.html": true, + "observable-array-no-leak-of-internals.window.html": false, + "observable-array-ownkeys.window.html": false }, "idlharness.any.html": true, - "idlharness.any.worker.html": true + "idlharness.any.worker.html": true, + "idlharness-shadowrealm.window.html": false }, "url": { "historical.any.html": [ - "<a> and <area>.searchParams should be undefined" + "<a> and <area>.searchParams should be undefined", + "URL: no structured serialize/deserialize support", + "URLSearchParams: no structured serialize/deserialize support" + ], + "historical.any.worker.html": [ + "URL: no structured serialize/deserialize support", + "URLSearchParams: no structured serialize/deserialize support" ], - "historical.any.worker.html": true, "idlharness.any.html": true, "idlharness.any.worker.html": true, "toascii.window.html": [ @@ -1803,6 +2323,12 @@ "xn--a.ß (using <area>)", "xn--a.ß (using <area>.host)", "xn--a.ß (using <area>.hostname)", + "xn--ls8h= (using <a>)", + "xn--ls8h= (using <a>.host)", + "xn--ls8h= (using <a>.hostname)", + "xn--ls8h= (using <area>)", + "xn--ls8h= (using <area>.host)", + "xn--ls8h= (using <area>.hostname)", "xn--tešla (using <a>)", "xn--tešla (using <a>.host)", "xn--tešla (using <a>.hostname)", @@ -1907,28 +2433,18 @@ "ab (using <a>.hostname)", "ab (using <area>.host)", "ab (using <area>.hostname)", - "a%C2%ADb (using <a>.host)", - "a%C2%ADb (using <a>.hostname)", - "a%C2%ADb (using <area>.host)", - "a%C2%ADb (using <area>.hostname)", - " (using <a>)", - " (using <a>.host)", - " (using <a>.hostname)", - " (using <area>)", - " (using <area>.host)", - " (using <area>.hostname)", - "%C2%AD (using <a>)", - "%C2%AD (using <a>.host)", - "%C2%AD (using <a>.hostname)", - "%C2%AD (using <area>)", - "%C2%AD (using <area>.host)", - "%C2%AD (using <area>.hostname)", - "xn-- (using <a>)", - "xn-- (using <a>.host)", - "xn-- (using <a>.hostname)", - "xn-- (using <area>)", - "xn-- (using <area>.host)", - "xn-- (using <area>.hostname)" + "≠ (using <a>.host)", + "≠ (using <a>.hostname)", + "≠ (using <area>.host)", + "≠ (using <area>.hostname)", + "≮ (using <a>.host)", + "≮ (using <a>.hostname)", + "≮ (using <area>.host)", + "≮ (using <area>.hostname)", + "≯ (using <a>.host)", + "≯ (using <a>.hostname)", + "≯ (using <area>.host)", + "≯ (using <area>.hostname)" ], "url-constructor.any.html": [ "Parsing: </> against <file://h/C:/a/b>", @@ -2078,8 +2594,12 @@ "urlsearchparams-append.any.worker.html": true, "urlsearchparams-constructor.any.html": true, "urlsearchparams-constructor.any.worker.html": true, - "urlsearchparams-delete.any.html": true, - "urlsearchparams-delete.any.worker.html": true, + "urlsearchparams-delete.any.html": [ + "Changing the query of a URL with an opaque path can impact the path" + ], + "urlsearchparams-delete.any.worker.html": [ + "Changing the query of a URL with an opaque path can impact the path" + ], "urlsearchparams-foreach.any.html": true, "urlsearchparams-foreach.any.worker.html": true, "urlsearchparams-get.any.html": true, @@ -2140,444 +2660,373 @@ "Input with encoding utf-8", "Input − with encoding shift_jis", "Input − with encoding utf-8", - "Input á| with encoding utf-8" + "Input á| with encoding utf-8", + "Input \ud800 with encoding utf-8", + "Input \ud800 with encoding windows-1252" ], - "url-setters-a-area.window.html": [ - "<a>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.", - "<area>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.", - "<a>: Setting <a://example.net>.protocol = 'b'", - "<area>: Setting <a://example.net>.protocol = 'b'", - "<a>: Setting <javascript:alert(1)>.protocol = 'defuse'", - "<area>: Setting <javascript:alert(1)>.protocol = 'defuse'", - "<a>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased", - "<area>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased", - "<a>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected", - "<area>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected", - "<a>: Setting <a://example.net>.protocol = '0b' No leading digit", - "<area>: Setting <a://example.net>.protocol = '0b' No leading digit", - "<a>: Setting <a://example.net>.protocol = '+b' No leading punctuation", - "<area>: Setting <a://example.net>.protocol = '+b' No leading punctuation", - "<a>: Setting <a://example.net>.protocol = 'bC0+-.'", - "<area>: Setting <a://example.net>.protocol = 'bC0+-.'", - "<a>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable", - "<area>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable", - "<a>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected", - "<area>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected", - "<a>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file", - "<area>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file", - "<a>: Setting <https://example.net:1234>.protocol = 'file'", - "<area>: Setting <https://example.net:1234>.protocol = 'file'", - "<a>: Setting <wss://x:x@example.net:1234>.protocol = 'file'", - "<area>: Setting <wss://x:x@example.net:1234>.protocol = 'file'", - "<a>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host", - "<area>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host", - "<a>: Setting <file:///test>.protocol = 'https'", - "<area>: Setting <file:///test>.protocol = 'https'", - "<a>: Setting <file:>.protocol = 'wss'", - "<area>: Setting <file:>.protocol = 'wss'", - "<a>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special", - "<area>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special", - "<a>: Setting <file://hi/path>.protocol = 's'", - "<area>: Setting <file://hi/path>.protocol = 's'", - "<a>: Setting <https://example.net>.protocol = 's'", - "<area>: Setting <https://example.net>.protocol = 's'", - "<a>: Setting <ftp://example.net>.protocol = 'test'", - "<area>: Setting <ftp://example.net>.protocol = 'test'", - "<a>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.", - "<area>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.", - "<a>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special", - "<area>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special", - "<a>: Setting <ssh://me@example.net>.protocol = 'https'", - "<area>: Setting <ssh://me@example.net>.protocol = 'https'", - "<a>: Setting <ssh://me@example.net>.protocol = 'file'", - "<area>: Setting <ssh://me@example.net>.protocol = 'file'", - "<a>: Setting <ssh://example.net>.protocol = 'file'", - "<area>: Setting <ssh://example.net>.protocol = 'file'", - "<a>: Setting <nonsense:///test>.protocol = 'https'", - "<area>: Setting <nonsense:///test>.protocol = 'https'", - "<a>: Setting <http://example.net>.protocol = 'https:foo : bar' Stuff after the first ':' is ignored", - "<area>: Setting <http://example.net>.protocol = 'https:foo : bar' Stuff after the first ':' is ignored", - "<a>: Setting <data:text/html,<p>Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored", - "<area>: Setting <data:text/html,<p>Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored", - "<a>: Setting <http://foo.com:443/>.protocol = 'https' Port is set to null if it is the default for new scheme.", - "<area>: Setting <http://foo.com:443/>.protocol = 'https' Port is set to null if it is the default for new scheme.", - "<a>: Setting <file:///home/you/index.html>.username = 'me' No host means no username", - "<area>: Setting <file:///home/you/index.html>.username = 'me' No host means no username", - "<a>: Setting <unix:/run/foo.socket>.username = 'me' No host means no username", - "<area>: Setting <unix:/run/foo.socket>.username = 'me' No host means no username", - "<a>: Setting <mailto:you@example.net>.username = 'me' Cannot-be-a-base means no username", - "<area>: Setting <mailto:you@example.net>.username = 'me' Cannot-be-a-base means no username", - "<a>: Setting <javascript:alert(1)>.username = 'wario'", - "<area>: Setting <javascript:alert(1)>.username = 'wario'", - "<a>: Setting <http://example.net>.username = 'me'", - "<area>: Setting <http://example.net>.username = 'me'", - "<a>: Setting <http://:secret@example.net>.username = 'me'", - "<area>: Setting <http://:secret@example.net>.username = 'me'", - "<a>: Setting <http://me@example.net>.username = ''", - "<area>: Setting <http://me@example.net>.username = ''", - "<a>: Setting <http://me:secret@example.net>.username = ''", - "<area>: Setting <http://me:secret@example.net>.username = ''", - "<a>: Setting <http://example.net>.username = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set.", - "<area>: Setting <http://example.net>.username = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set.", - "<a>: Setting <http://example.net>.username = '%c3%89té' Bytes already percent-encoded are left as-is.", - "<area>: Setting <http://example.net>.username = '%c3%89té' Bytes already percent-encoded are left as-is.", - "<a>: Setting <sc:///>.username = 'x'", - "<area>: Setting <sc:///>.username = 'x'", - "<a>: Setting <javascript://x/>.username = 'wario'", - "<area>: Setting <javascript://x/>.username = 'wario'", - "<a>: Setting <file://test/>.username = 'test'", - "<area>: Setting <file://test/>.username = 'test'", - "<a>: Setting <file:///home/me/index.html>.password = 'secret' No host means no password", - "<area>: Setting <file:///home/me/index.html>.password = 'secret' No host means no password", - "<a>: Setting <unix:/run/foo.socket>.password = 'secret' No host means no password", - "<area>: Setting <unix:/run/foo.socket>.password = 'secret' No host means no password", - "<a>: Setting <mailto:me@example.net>.password = 'secret' Cannot-be-a-base means no password", - "<area>: Setting <mailto:me@example.net>.password = 'secret' Cannot-be-a-base means no password", - "<a>: Setting <http://example.net>.password = 'secret'", - "<area>: Setting <http://example.net>.password = 'secret'", - "<a>: Setting <http://me@example.net>.password = 'secret'", - "<area>: Setting <http://me@example.net>.password = 'secret'", - "<a>: Setting <http://:secret@example.net>.password = ''", - "<area>: Setting <http://:secret@example.net>.password = ''", - "<a>: Setting <http://me:secret@example.net>.password = ''", - "<area>: Setting <http://me:secret@example.net>.password = ''", - "<a>: Setting <http://example.net>.password = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set.", - "<area>: Setting <http://example.net>.password = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set.", - "<a>: Setting <http://example.net>.password = '%c3%89té' Bytes already percent-encoded are left as-is.", - "<area>: Setting <http://example.net>.password = '%c3%89té' Bytes already percent-encoded are left as-is.", - "<a>: Setting <sc:///>.password = 'x'", - "<area>: Setting <sc:///>.password = 'x'", - "<a>: Setting <javascript://x/>.password = 'bowser'", - "<area>: Setting <javascript://x/>.password = 'bowser'", - "<a>: Setting <file://test/>.password = 'test'", - "<area>: Setting <file://test/>.password = 'test'", - "<a>: Setting <sc://x/>.host = '\u0000' Non-special scheme", - "<area>: Setting <sc://x/>.host = '\u0000' Non-special scheme", - "<a>: Setting <sc://x/>.host = '\t'", - "<area>: Setting <sc://x/>.host = '\t'", - "<a>: Setting <sc://x/>.host = '\n'", - "<area>: Setting <sc://x/>.host = '\n'", - "<a>: Setting <sc://x/>.host = '\r'", - "<area>: Setting <sc://x/>.host = '\r'", - "<a>: Setting <sc://x/>.host = ' '", - "<area>: Setting <sc://x/>.host = ' '", - "<a>: Setting <sc://x/>.host = '#'", - "<area>: Setting <sc://x/>.host = '#'", - "<a>: Setting <sc://x/>.host = '/'", - "<area>: Setting <sc://x/>.host = '/'", - "<a>: Setting <sc://x/>.host = '?'", - "<area>: Setting <sc://x/>.host = '?'", - "<a>: Setting <sc://x/>.host = '@'", - "<area>: Setting <sc://x/>.host = '@'", - "<a>: Setting <sc://x/>.host = 'ß'", - "<area>: Setting <sc://x/>.host = 'ß'", - "<a>: Setting <https://x/>.host = 'ß' IDNA Nontransitional_Processing", - "<area>: Setting <https://x/>.host = 'ß' IDNA Nontransitional_Processing", - "<a>: Setting <mailto:me@example.net>.host = 'example.com' Cannot-be-a-base means no host", - "<area>: Setting <mailto:me@example.net>.host = 'example.com' Cannot-be-a-base means no host", - "<a>: Setting <data:text/plain,Stuff>.host = 'example.net' Cannot-be-a-base means no host", - "<area>: Setting <data:text/plain,Stuff>.host = 'example.net' Cannot-be-a-base means no host", - "<a>: Setting <http://example.net>.host = 'example.com:8080'", - "<area>: Setting <http://example.net>.host = 'example.com:8080'", - "<a>: Setting <http://example.net:8080>.host = 'example.com' Port number is unchanged if not specified in the new value", - "<area>: Setting <http://example.net:8080>.host = 'example.com' Port number is unchanged if not specified in the new value", - "<a>: Setting <http://example.net:8080>.host = 'example.com:' Port number is unchanged if not specified", - "<area>: Setting <http://example.net:8080>.host = 'example.com:' Port number is unchanged if not specified", - "<a>: Setting <http://example.net>.host = '' The empty host is not valid for special schemes", - "<area>: Setting <http://example.net>.host = '' The empty host is not valid for special schemes", - "<a>: Setting <view-source+http://example.net/foo>.host = '' The empty host is OK for non-special schemes", - "<area>: Setting <view-source+http://example.net/foo>.host = '' The empty host is OK for non-special schemes", - "<a>: Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host", - "<area>: Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host", - "<a>: Setting <http://example.net>.host = '0x7F000001:8080' IPv4 address syntax is normalized", - "<area>: Setting <http://example.net>.host = '0x7F000001:8080' IPv4 address syntax is normalized", - "<a>: Setting <http://example.net>.host = '[::0:01]:2' IPv6 address syntax is normalized", - "<area>: Setting <http://example.net>.host = '[::0:01]:2' IPv6 address syntax is normalized", - "<a>: Setting <http://example.net>.host = '[2001:db8::2]:4002' IPv6 literal address with port, crbug.com/1012416", - "<area>: Setting <http://example.net>.host = '[2001:db8::2]:4002' IPv6 literal address with port, crbug.com/1012416", - "<a>: Setting <http://example.net>.host = 'example.com:80' Default port number is removed", - "<area>: Setting <http://example.net>.host = 'example.com:80' Default port number is removed", - "<a>: Setting <https://example.net>.host = 'example.com:443' Default port number is removed", - "<area>: Setting <https://example.net>.host = 'example.com:443' Default port number is removed", - "<a>: Setting <https://example.net>.host = 'example.com:80' Default port number is only removed for the relevant scheme", - "<area>: Setting <https://example.net>.host = 'example.com:80' Default port number is only removed for the relevant scheme", - "<a>: Setting <http://example.net:8080>.host = 'example.com:80' Port number is removed if new port is scheme default and existing URL has a non-default port", - "<area>: Setting <http://example.net:8080>.host = 'example.com:80' Port number is removed if new port is scheme default and existing URL has a non-default port", - "<a>: Setting <http://example.net/path>.host = 'example.com/stuff' Stuff after a / delimiter is ignored", - "<area>: Setting <http://example.net/path>.host = 'example.com/stuff' Stuff after a / delimiter is ignored", - "<a>: Setting <http://example.net/path>.host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored", - "<area>: Setting <http://example.net/path>.host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored", - "<a>: Setting <http://example.net/path>.host = 'example.com?stuff' Stuff after a ? delimiter is ignored", - "<area>: Setting <http://example.net/path>.host = 'example.com?stuff' Stuff after a ? delimiter is ignored", - "<a>: Setting <http://example.net/path>.host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored", - "<area>: Setting <http://example.net/path>.host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored", - "<a>: Setting <http://example.net/path>.host = 'example.com#stuff' Stuff after a # delimiter is ignored", - "<area>: Setting <http://example.net/path>.host = 'example.com#stuff' Stuff after a # delimiter is ignored", - "<a>: Setting <http://example.net/path>.host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored", - "<area>: Setting <http://example.net/path>.host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored", - "<a>: Setting <http://example.net/path>.host = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<area>: Setting <http://example.net/path>.host = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<a>: Setting <http://example.net/path>.host = 'example.com:8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<area>: Setting <http://example.net/path>.host = 'example.com:8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<a>: Setting <view-source+http://example.net/path>.host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", - "<area>: Setting <view-source+http://example.net/path>.host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", - "<a>: Setting <view-source+http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<area>: Setting <view-source+http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<a>: Setting <http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<area>: Setting <http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<a>: Setting <http://example.net/path>.host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<area>: Setting <http://example.net/path>.host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<a>: Setting <http://example.net/path>.host = 'example.com:65535' Port numbers are 16 bit integers", - "<area>: Setting <http://example.net/path>.host = 'example.com:65535' Port numbers are 16 bit integers", - "<a>: Setting <http://example.net/path>.host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though.", - "<area>: Setting <http://example.net/path>.host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though.", - "<a>: Setting <http://example.net/>.host = '[google.com]' Broken IPv6", - "<area>: Setting <http://example.net/>.host = '[google.com]' Broken IPv6", - "<a>: Setting <http://example.net/>.host = '[::1.2.3.4x]'", - "<area>: Setting <http://example.net/>.host = '[::1.2.3.4x]'", - "<a>: Setting <http://example.net/>.host = '[::1.2.3.]'", - "<area>: Setting <http://example.net/>.host = '[::1.2.3.]'", - "<a>: Setting <http://example.net/>.host = '[::1.2.]'", - "<area>: Setting <http://example.net/>.host = '[::1.2.]'", - "<a>: Setting <http://example.net/>.host = '[::1.]'", - "<area>: Setting <http://example.net/>.host = '[::1.]'", - "<a>: Setting <file://y/>.host = 'x:123'", - "<area>: Setting <file://y/>.host = 'x:123'", - "<a>: Setting <file://y/>.host = 'loc%41lhost'", - "<area>: Setting <file://y/>.host = 'loc%41lhost'", - "<a>: Setting <file://hi/x>.host = ''", - "<area>: Setting <file://hi/x>.host = ''", - "<a>: Setting <sc://test@test/>.host = ''", - "<area>: Setting <sc://test@test/>.host = ''", - "<a>: Setting <sc://test:12/>.host = ''", - "<area>: Setting <sc://test:12/>.host = ''", - "<a>: Setting <http://example.com/>.host = '///bad.com' Leading / is not stripped", - "<area>: Setting <http://example.com/>.host = '///bad.com' Leading / is not stripped", - "<a>: Setting <sc://example.com/>.host = '///bad.com' Leading / is not stripped", - "<area>: Setting <sc://example.com/>.host = '///bad.com' Leading / is not stripped", - "<a>: Setting <sc://x/>.hostname = '\u0000' Non-special scheme", - "<area>: Setting <sc://x/>.hostname = '\u0000' Non-special scheme", - "<a>: Setting <sc://x/>.hostname = '\t'", - "<area>: Setting <sc://x/>.hostname = '\t'", - "<a>: Setting <sc://x/>.hostname = '\n'", - "<area>: Setting <sc://x/>.hostname = '\n'", - "<a>: Setting <sc://x/>.hostname = '\r'", - "<area>: Setting <sc://x/>.hostname = '\r'", - "<a>: Setting <sc://x/>.hostname = ' '", - "<area>: Setting <sc://x/>.hostname = ' '", - "<a>: Setting <sc://x/>.hostname = '#'", - "<area>: Setting <sc://x/>.hostname = '#'", - "<a>: Setting <sc://x/>.hostname = '/'", - "<area>: Setting <sc://x/>.hostname = '/'", - "<a>: Setting <sc://x/>.hostname = '?'", - "<area>: Setting <sc://x/>.hostname = '?'", - "<a>: Setting <sc://x/>.hostname = '@'", - "<area>: Setting <sc://x/>.hostname = '@'", - "<a>: Setting <mailto:me@example.net>.hostname = 'example.com' Cannot-be-a-base means no host", - "<area>: Setting <mailto:me@example.net>.hostname = 'example.com' Cannot-be-a-base means no host", - "<a>: Setting <data:text/plain,Stuff>.hostname = 'example.net' Cannot-be-a-base means no host", - "<area>: Setting <data:text/plain,Stuff>.hostname = 'example.net' Cannot-be-a-base means no host", - "<a>: Setting <http://example.net:8080>.hostname = 'example.com'", - "<area>: Setting <http://example.net:8080>.hostname = 'example.com'", - "<a>: Setting <http://example.net>.hostname = '' The empty host is not valid for special schemes", - "<area>: Setting <http://example.net>.hostname = '' The empty host is not valid for special schemes", - "<a>: Setting <view-source+http://example.net/foo>.hostname = '' The empty host is OK for non-special schemes", - "<area>: Setting <view-source+http://example.net/foo>.hostname = '' The empty host is OK for non-special schemes", - "<a>: Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host", - "<area>: Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host", - "<a>: Setting <http://example.net:8080>.hostname = '0x7F000001' IPv4 address syntax is normalized", - "<area>: Setting <http://example.net:8080>.hostname = '0x7F000001' IPv4 address syntax is normalized", - "<a>: Setting <http://example.net>.hostname = '[::0:01]' IPv6 address syntax is normalized", - "<area>: Setting <http://example.net>.hostname = '[::0:01]' IPv6 address syntax is normalized", - "<a>: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value", - "<area>: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value", - "<a>: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value", - "<area>: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value", - "<a>: Setting <http://example.net/path>.hostname = 'example.com/stuff' Stuff after a / delimiter is ignored", - "<area>: Setting <http://example.net/path>.hostname = 'example.com/stuff' Stuff after a / delimiter is ignored", - "<a>: Setting <http://example.net/path>.hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored", - "<area>: Setting <http://example.net/path>.hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored", - "<a>: Setting <http://example.net/path>.hostname = 'example.com#stuff' Stuff after a # delimiter is ignored", - "<area>: Setting <http://example.net/path>.hostname = 'example.com#stuff' Stuff after a # delimiter is ignored", - "<a>: Setting <http://example.net/path>.hostname = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<area>: Setting <http://example.net/path>.hostname = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<a>: Setting <view-source+http://example.net/path>.hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", - "<area>: Setting <view-source+http://example.net/path>.hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", - "<a>: Setting <http://example.net/>.hostname = '[google.com]' Broken IPv6", - "<area>: Setting <http://example.net/>.hostname = '[google.com]' Broken IPv6", - "<a>: Setting <http://example.net/>.hostname = '[::1.2.3.4x]'", - "<area>: Setting <http://example.net/>.hostname = '[::1.2.3.4x]'", - "<a>: Setting <http://example.net/>.hostname = '[::1.2.3.]'", - "<area>: Setting <http://example.net/>.hostname = '[::1.2.3.]'", - "<a>: Setting <http://example.net/>.hostname = '[::1.2.]'", - "<area>: Setting <http://example.net/>.hostname = '[::1.2.]'", - "<a>: Setting <http://example.net/>.hostname = '[::1.]'", - "<area>: Setting <http://example.net/>.hostname = '[::1.]'", - "<a>: Setting <file://y/>.hostname = 'x:123'", - "<area>: Setting <file://y/>.hostname = 'x:123'", - "<a>: Setting <file://y/>.hostname = 'loc%41lhost'", - "<area>: Setting <file://y/>.hostname = 'loc%41lhost'", - "<a>: Setting <file://hi/x>.hostname = ''", - "<area>: Setting <file://hi/x>.hostname = ''", - "<a>: Setting <sc://test@test/>.hostname = ''", - "<area>: Setting <sc://test@test/>.hostname = ''", - "<a>: Setting <sc://test:12/>.hostname = ''", - "<area>: Setting <sc://test:12/>.hostname = ''", - "<a>: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path", - "<area>: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path", - "<a>: Setting <non-spec:/.//p>.hostname = ''", - "<area>: Setting <non-spec:/.//p>.hostname = ''", - "<a>: Setting <http://example.com/>.hostname = '///bad.com' Leading / is not stripped", - "<area>: Setting <http://example.com/>.hostname = '///bad.com' Leading / is not stripped", - "<a>: Setting <sc://example.com/>.hostname = '///bad.com' Leading / is not stripped", - "<area>: Setting <sc://example.com/>.hostname = '///bad.com' Leading / is not stripped", - "<a>: Setting <http://example.net>.port = '8080'", - "<area>: Setting <http://example.net>.port = '8080'", - "<a>: Setting <http://example.net:8080>.port = '' Port number is removed if empty is the new value", - "<area>: Setting <http://example.net:8080>.port = '' Port number is removed if empty is the new value", - "<a>: Setting <http://example.net:8080>.port = '80' Default port number is removed", - "<area>: Setting <http://example.net:8080>.port = '80' Default port number is removed", - "<a>: Setting <https://example.net:4433>.port = '443' Default port number is removed", - "<area>: Setting <https://example.net:4433>.port = '443' Default port number is removed", - "<a>: Setting <https://example.net>.port = '80' Default port number is only removed for the relevant scheme", - "<area>: Setting <https://example.net>.port = '80' Default port number is only removed for the relevant scheme", - "<a>: Setting <http://example.net/path>.port = '8080/stuff' Stuff after a / delimiter is ignored", - "<area>: Setting <http://example.net/path>.port = '8080/stuff' Stuff after a / delimiter is ignored", - "<a>: Setting <http://example.net/path>.port = '8080?stuff' Stuff after a ? delimiter is ignored", - "<area>: Setting <http://example.net/path>.port = '8080?stuff' Stuff after a ? delimiter is ignored", - "<a>: Setting <http://example.net/path>.port = '8080#stuff' Stuff after a # delimiter is ignored", - "<area>: Setting <http://example.net/path>.port = '8080#stuff' Stuff after a # delimiter is ignored", - "<a>: Setting <http://example.net/path>.port = '8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<area>: Setting <http://example.net/path>.port = '8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", - "<a>: Setting <view-source+http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<area>: Setting <view-source+http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<a>: Setting <http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<area>: Setting <http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<a>: Setting <http://example.net/path>.port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<area>: Setting <http://example.net/path>.port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", - "<a>: Setting <http://example.net/path>.port = '65535' Port numbers are 16 bit integers", - "<area>: Setting <http://example.net/path>.port = '65535' Port numbers are 16 bit integers", - "<a>: Setting <http://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error", - "<area>: Setting <http://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error", - "<a>: Setting <non-special://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error", - "<area>: Setting <non-special://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error", - "<a>: Setting <file://test/>.port = '12'", - "<area>: Setting <file://test/>.port = '12'", - "<a>: Setting <file://localhost/>.port = '12'", - "<area>: Setting <file://localhost/>.port = '12'", - "<a>: Setting <non-base:value>.port = '12'", - "<area>: Setting <non-base:value>.port = '12'", - "<a>: Setting <sc:///>.port = '12'", - "<area>: Setting <sc:///>.port = '12'", - "<a>: Setting <sc://x/>.port = '12'", - "<area>: Setting <sc://x/>.port = '12'", - "<a>: Setting <javascript://x/>.port = '12'", - "<area>: Setting <javascript://x/>.port = '12'", - "<a>: Setting <mailto:me@example.net>.pathname = '/foo' Cannot-be-a-base don’t have a path", - "<area>: Setting <mailto:me@example.net>.pathname = '/foo' Cannot-be-a-base don’t have a path", - "<a>: Setting <file:///some/path>.pathname = '' Special URLs cannot have their paths erased", - "<area>: Setting <file:///some/path>.pathname = '' Special URLs cannot have their paths erased", - "<a>: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased", - "<area>: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased", - "<a>: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased", - "<area>: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased", - "<a>: Setting <foo:/some/path>.pathname = '' Path-only URLs cannot have their paths erased", - "<area>: Setting <foo:/some/path>.pathname = '' Path-only URLs cannot have their paths erased", - "<a>: Setting <foo:/some/path>.pathname = 'test' Path-only URLs always have an initial slash", - "<area>: Setting <foo:/some/path>.pathname = 'test' Path-only URLs always have an initial slash", - "<a>: Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket'", - "<area>: Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket'", - "<a>: Setting <https://example.net#nav>.pathname = 'home'", - "<area>: Setting <https://example.net#nav>.pathname = 'home'", - "<a>: Setting <https://example.net#nav>.pathname = '../home'", - "<area>: Setting <https://example.net#nav>.pathname = '../home'", - "<a>: Setting <http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs", - "<area>: Setting <http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs", - "<a>: Setting <view-source+http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs", - "<area>: Setting <view-source+http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs", - "<a>: Setting <a:/>.pathname = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.", - "<area>: Setting <a:/>.pathname = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.", - "<a>: Setting <http://example.net>.pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, including %2E outside dotted segments.", - "<area>: Setting <http://example.net>.pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, including %2E outside dotted segments.", - "<a>: Setting <http://example.net>.pathname = '?' ? needs to be encoded", - "<area>: Setting <http://example.net>.pathname = '?' ? needs to be encoded", - "<a>: Setting <http://example.net>.pathname = '#' # needs to be encoded", - "<area>: Setting <http://example.net>.pathname = '#' # needs to be encoded", - "<a>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme", - "<area>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme", - "<a>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme", - "<area>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme", - "<a>: Setting <http://example.net>.pathname = '/?é' ? doesn't mess up encoding", - "<area>: Setting <http://example.net>.pathname = '/?é' ? doesn't mess up encoding", - "<a>: Setting <http://example.net>.pathname = '/#é' # doesn't mess up encoding", - "<area>: Setting <http://example.net>.pathname = '/#é' # doesn't mess up encoding", - "<a>: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes", - "<area>: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes", - "<a>: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes", - "<area>: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes", - "<a>: Setting <file:///unicorn>.pathname = '//monkey/..//' File URLs and (back)slashes", - "<area>: Setting <file:///unicorn>.pathname = '//monkey/..//' File URLs and (back)slashes", - "<a>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path", - "<area>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path", - "<a>: Setting <non-spec:/>.pathname = '/..//p'", - "<area>: Setting <non-spec:/>.pathname = '/..//p'", - "<a>: Setting <non-spec:/>.pathname = '//p'", - "<area>: Setting <non-spec:/>.pathname = '//p'", - "<a>: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path", - "<area>: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path", - "<a>: Setting <https://example.net#nav>.search = 'lang=fr'", - "<area>: Setting <https://example.net#nav>.search = 'lang=fr'", - "<a>: Setting <https://example.net?lang=en-US#nav>.search = 'lang=fr'", - "<area>: Setting <https://example.net?lang=en-US#nav>.search = 'lang=fr'", - "<a>: Setting <https://example.net?lang=en-US#nav>.search = '?lang=fr'", - "<area>: Setting <https://example.net?lang=en-US#nav>.search = '?lang=fr'", - "<a>: Setting <https://example.net?lang=en-US#nav>.search = '??lang=fr'", - "<area>: Setting <https://example.net?lang=en-US#nav>.search = '??lang=fr'", - "<a>: Setting <https://example.net?lang=en-US#nav>.search = '?'", - "<area>: Setting <https://example.net?lang=en-US#nav>.search = '?'", - "<a>: Setting <https://example.net?lang=en-US#nav>.search = ''", - "<area>: Setting <https://example.net?lang=en-US#nav>.search = ''", - "<a>: Setting <https://example.net?lang=en-US>.search = ''", - "<area>: Setting <https://example.net?lang=en-US>.search = ''", - "<a>: Setting <https://example.net>.search = ''", - "<area>: Setting <https://example.net>.search = ''", - "<a>: Setting <a:/>.search = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.", - "<area>: Setting <a:/>.search = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.", - "<a>: Setting <http://example.net>.search = '%c3%89té' Bytes already percent-encoded are left as-is", - "<area>: Setting <http://example.net>.search = '%c3%89té' Bytes already percent-encoded are left as-is", - "<a>: Setting <https://example.net>.hash = 'main'", - "<area>: Setting <https://example.net>.hash = 'main'", - "<a>: Setting <https://example.net#nav>.hash = 'main'", - "<area>: Setting <https://example.net#nav>.hash = 'main'", - "<a>: Setting <https://example.net?lang=en-US>.hash = '##nav'", - "<area>: Setting <https://example.net?lang=en-US>.hash = '##nav'", - "<a>: Setting <https://example.net?lang=en-US#nav>.hash = '#main'", - "<area>: Setting <https://example.net?lang=en-US#nav>.hash = '#main'", - "<a>: Setting <https://example.net?lang=en-US#nav>.hash = '#'", - "<area>: Setting <https://example.net?lang=en-US#nav>.hash = '#'", - "<a>: Setting <https://example.net?lang=en-US#nav>.hash = ''", - "<area>: Setting <https://example.net?lang=en-US#nav>.hash = ''", - "<a>: Setting <http://example.net>.hash = '#foo bar'", - "<area>: Setting <http://example.net>.hash = '#foo bar'", - "<a>: Setting <http://example.net>.hash = '#foo\"bar'", - "<area>: Setting <http://example.net>.hash = '#foo\"bar'", - "<a>: Setting <http://example.net>.hash = '#foo<bar'", - "<area>: Setting <http://example.net>.hash = '#foo<bar'", - "<a>: Setting <http://example.net>.hash = '#foo>bar'", - "<area>: Setting <http://example.net>.hash = '#foo>bar'", - "<a>: Setting <http://example.net>.hash = '#foo`bar'", - "<area>: Setting <http://example.net>.hash = '#foo`bar'", - "<a>: Setting <a:/>.hash = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' Simple percent-encoding; tabs and newlines are removed", - "<area>: Setting <a:/>.hash = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé' Simple percent-encoding; tabs and newlines are removed", - "<a>: Setting <http://example.net>.hash = 'a\u0000b' Percent-encode NULLs in fragment", - "<area>: Setting <http://example.net>.hash = 'a\u0000b' Percent-encode NULLs in fragment", - "<a>: Setting <non-spec:/>.hash = 'a\u0000b' Percent-encode NULLs in fragment", - "<area>: Setting <non-spec:/>.hash = 'a\u0000b' Percent-encode NULLs in fragment", - "<a>: Setting <http://example.net>.hash = '%c3%89té' Bytes already percent-encoded are left as-is", - "<area>: Setting <http://example.net>.hash = '%c3%89té' Bytes already percent-encoded are left as-is", - "<a>: Setting <javascript:alert(1)>.hash = 'castle'", - "<area>: Setting <javascript:alert(1)>.hash = 'castle'" - ] + "url-setters-a-area.window.html": { + "ignore": true + }, + "IdnaTestV2.window.html": [ + "ToASCII(\"ab\") C1", + "ToASCII(\"AB\") C1", + "ToASCII(\"Ab\") C1", + "ToASCII(\"xn--ab-j1t\") C1", + "ToASCII(\"ab\") C2", + "ToASCII(\"AB\") C2", + "ToASCII(\"Ab\") C2", + "ToASCII(\"xn--ab-m1t\") C2", + "ToASCII(\"1.aßbcßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.ASSBCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.ASSBCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.Assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.Assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa69989dba9gc\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.Aßbcßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.xn--abcdexyz-qyacaaabaaaaaaabaaaaaaaaabaaaaaaaaabaaaaaaaa010ze2isb1140zba8cc\") C1; C2; A4_2 (ignored)", + "ToASCII(\"xn--bß\") C1; C2", + "ToASCII(\"XN--BSS\") C1; C2", + "ToASCII(\"xn--bss\") C1; C2", + "ToASCII(\"Xn--Bss\") C1; C2", + "ToASCII(\"xn--xn--bss-7z6ccid\") C1; C2", + "ToASCII(\"Xn--Bß\") C1; C2", + "ToASCII(\"xn--xn--b-pqa5796ccahd\") C1; C2", + "ToASCII(\"ஹ\") C2", + "ToASCII(\"xn--dmc225h\") C2", + "ToASCII(\"\") C2", + "ToASCII(\"xn--1ug\") C2", + "ToASCII(\"ஹ\") C1", + "ToASCII(\"xn--dmc025h\") C1", + "ToASCII(\"\") C1", + "ToASCII(\"xn--0ug\") C1", + "ToASCII(\"ۯۯ\") C1", + "ToASCII(\"xn--cmba004q\") C1", + "ToASCII(\"ß۫。\") C2", + "ToASCII(\"SS۫。\") C2", + "ToASCII(\"ss۫。\") C2", + "ToASCII(\"Ss۫。\") C2", + "ToASCII(\"xn--ss-59d.xn--1ug\") C2", + "ToASCII(\"xn--zca012a.xn--1ug\") C2", + "ToASCII(\"긃.榶-\") C1; V3 (ignored)", + "ToASCII(\"긃.榶-\") C1; V3 (ignored)", + "ToASCII(\"xn--0ug3307c.xn----d87b\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.\") C1; V3 (ignored)", + "ToASCII(\"å둄-.\") C1; V3 (ignored)", + "ToASCII(\"å둄-.\") C1; V3 (ignored)", + "ToASCII(\"xn----1fa1788k.xn--0ug\") C1; V3 (ignored)", + "ToASCII(\"å둄-.\") C1; V3 (ignored)", + "ToASCII(\"å둄-.\") C1; V3 (ignored)", + "ToASCII(\"ꡦᡑ1.。𐋣-\") C2; V3 (ignored); A4_2 (ignored)", + "ToASCII(\"xn--1-o7j663bdl7m..xn----381i\") C2; V3 (ignored); A4_2 (ignored)", + "ToASCII(\"1.䰹-。웈\") C2; V3 (ignored)", + "ToASCII(\"1.䰹-。웈\") C2; V3 (ignored)", + "ToASCII(\"1.xn----tgnz80r.xn--kp5b\") C2; V3 (ignored)", + "ToASCII(\"-3.ヌᢕ\") C2; V3 (ignored)", + "ToASCII(\"-3.xn--fbf739aq5o\") C2; V3 (ignored)", + "ToASCII(\"ς-。𝟭-\") C1; V3 (ignored)", + "ToASCII(\"ς-。1-\") C1; V3 (ignored)", + "ToASCII(\"Σ-。1-\") C1; V3 (ignored)", + "ToASCII(\"σ-。1-\") C1; V3 (ignored)", + "ToASCII(\"xn----zmb.xn--1--i1t\") C1; V3 (ignored)", + "ToASCII(\"xn----xmb.xn--1--i1t\") C1; V3 (ignored)", + "ToASCII(\"Σ-。𝟭-\") C1; V3 (ignored)", + "ToASCII(\"σ-。𝟭-\") C1; V3 (ignored)", + "ToASCII(\"ᡯ⚉姶🄉.۷🎪\") C2; P1; V6", + "ToASCII(\"𝟵隁⯮.᠍\") C1", + "ToASCII(\"9隁⯮.᠍\") C1", + "ToASCII(\"xn--9-mfs8024b.xn--0ug\") C1", + "ToASCII(\"ß꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"ss꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"xn--ss-4ep585bkm5p.xn--ifh802b6a\") C1", + "ToASCII(\"xn--zca682johfi89m.xn--ifh802b6a\") C1", + "ToASCII(\"ß꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"ss꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"-。\") C2; V3 (ignored)", + "ToASCII(\"-。\") C2; V3 (ignored)", + "ToASCII(\"-.xn--1ug\") C2; V3 (ignored)", + "ToASCII(\"ς-.ⴣ𦟙\") C2; V3 (ignored)", + "ToASCII(\"σ-.ⴣ𦟙\") C2; V3 (ignored)", + "ToASCII(\"xn----zmb048s.xn--rlj2573p\") C2; V3 (ignored)", + "ToASCII(\"xn----xmb348s.xn--rlj2573p\") C2; V3 (ignored)", + "ToASCII(\"鱊。\") C1", + "ToASCII(\"xn--rt6a.xn--0ug\") C1", + "ToASCII(\"ⴚ。ς\") C1", + "ToASCII(\"ⴚ。σ\") C1", + "ToASCII(\"xn--0ug262c.xn--4xa\") C1", + "ToASCII(\"xn--0ug262c.xn--3xa\") C1", + "ToASCII(\"ⴚ。ς\") C1", + "ToASCII(\"ⴚ。σ\") C1", + "ToASCII(\"⾕。꥓̐ꡎ\") C1; C2", + "ToASCII(\"⾕。꥓̐ꡎ\") C1; C2", + "ToASCII(\"谷。꥓̐ꡎ\") C1; C2", + "ToASCII(\"xn--1ug0273b.xn--0sa359l6n7g13a\") C1; C2", + "ToASCII(\"。\") C1; C2", + "ToASCII(\"xn--1ug.xn--0ug\") C1; C2", + "ToASCII(\"。。\") C1; A4_2 (ignored)", + "ToASCII(\"xn--0ug..\") C1; A4_2 (ignored)", + "ToASCII(\"ᡲ-𝟹.ß--\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.ß--\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.SS--\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.ss--\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.Ss--\") C1; V3 (ignored)", + "ToASCII(\"xn---3-p9o.xn--ss---276a\") C1; V3 (ignored)", + "ToASCII(\"xn---3-p9o.xn-----fia9303a\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-𝟹.SS--\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-𝟹.ss--\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-𝟹.Ss--\") C1; V3 (ignored)", + "ToASCII(\"𝟙。𝟸⁷\") C2", + "ToASCII(\"1。27\") C2", + "ToASCII(\"1.xn--27-l1tb\") C2", + "ToASCII(\".ßⴉ-\") C1; V3 (ignored)", + "ToASCII(\".ssⴉ-\") C1; V3 (ignored)", + "ToASCII(\".Ssⴉ-\") C1; V3 (ignored)", + "ToASCII(\"xn--0ug.xn--ss--bi1b\") C1; V3 (ignored)", + "ToASCII(\"xn--0ug.xn----pfa2305a\") C1; V3 (ignored)", + "ToASCII(\"ⴏ󠅋-.ⴉ\") C2; V3 (ignored)", + "ToASCII(\"xn----3vs.xn--1ug532c\") C2; V3 (ignored)", + "ToASCII(\"ⴏ󠅋-.ⴉ\") C2; V3 (ignored)", + "ToASCII(\"。ⴖͦ.\") C1; A4_2 (ignored)", + "ToASCII(\".xn--hva754s.xn--0ug\") C1; A4_2 (ignored)", + "ToASCII(\"攌꯭。ᢖ-ⴘ\") C2", + "ToASCII(\"xn--1ug592ykp6b.xn----mck373i\") C2", + "ToASCII(\"ꖨ.16.3툒۳\") C1", + "ToASCII(\"ꖨ.16.3툒۳\") C1", + "ToASCII(\"xn--0ug2473c.16.xn--3-nyc0117m\") C1", + "ToASCII(\"𝟏𝨙⸖.\") C2", + "ToASCII(\"1𝨙⸖.\") C2", + "ToASCII(\"xn--1-5bt6845n.xn--1ug\") C2", + "ToASCII(\"-.ⴞ𐋷\") C2; V3 (ignored)", + "ToASCII(\"xn----ugn.xn--mlj8559d\") C2; V3 (ignored)", + "ToASCII(\"嬃𝍌.ୄ\") C2", + "ToASCII(\"嬃𝍌.ୄ\") C2", + "ToASCII(\"xn--b6s0078f.xn--0ic557h\") C2", + "ToASCII(\".F\") C2", + "ToASCII(\".f\") C2", + "ToASCII(\"xn--1ug.f\") C2", + "ToASCII(\"㨲。ß\") C2", + "ToASCII(\"㨲。ß\") C2", + "ToASCII(\"㨲。SS\") C2", + "ToASCII(\"㨲。ss\") C2", + "ToASCII(\"㨲。Ss\") C2", + "ToASCII(\"xn--1ug914h.ss\") C2", + "ToASCII(\"xn--1ug914h.xn--zca\") C2", + "ToASCII(\"㨲。SS\") C2", + "ToASCII(\"㨲。ss\") C2", + "ToASCII(\"㨲。Ss\") C2", + "ToASCII(\"璼𝨭。󠇟\") C1", + "ToASCII(\"璼𝨭。󠇟\") C1", + "ToASCII(\"xn--gky8837e.xn--0ug\") C1", + "ToASCII(\".\") C1", + "ToASCII(\"xn--0ug.xn--0ug\") C1", + "ToASCII(\"𝟠4󠇗𝈻.𐋵⛧\") C2", + "ToASCII(\"84󠇗𝈻.𐋵⛧\") C2", + "ToASCII(\"xn--84-s850a.xn--1uga573cfq1w\") C2", + "ToASCII(\"󠆪。ß𑓃\") C1; C2", + "ToASCII(\"󠆪。ß𑓃\") C1; C2", + "ToASCII(\"󠆪。SS𑓃\") C1; C2", + "ToASCII(\"󠆪。ss𑓃\") C1; C2", + "ToASCII(\"󠆪。Ss𑓃\") C1; C2", + "ToASCII(\"xn--0ugb.xn--ss-bh7o\") C1; C2", + "ToASCII(\"xn--0ugb.xn--zca0732l\") C1; C2", + "ToASCII(\"󠆪。SS𑓃\") C1; C2", + "ToASCII(\"󠆪。ss𑓃\") C1; C2", + "ToASCII(\"󠆪。Ss𑓃\") C1; C2", + "ToASCII(\"。ヶ䒩.ꡪ\") C1; A4_2 (ignored)", + "ToASCII(\".xn--0ug287dj0o.xn--gd9a\") C1; A4_2 (ignored)", + "ToASCII(\"梉。\") C1", + "ToASCII(\"xn--7zv.xn--0ug\") C1", + "ToASCII(\"𐋷。\") C2", + "ToASCII(\"xn--r97c.xn--1ug\") C2" + ], + "javascript-urls.window.html": false, + "url-constructor.any.html?exclude=(file|javascript|mailto)": [ + "Parsing: <non-spec:/.//> against <about:blank>", + "Parsing: <non-spec:/..//> against <about:blank>", + "Parsing: <non-spec:/a/..//> against <about:blank>", + "Parsing: <non-spec:/.//path> against <about:blank>", + "Parsing: <non-spec:/..//path> against <about:blank>", + "Parsing: <non-spec:/a/..//path> against <about:blank>", + "Parsing: </.//path> against <non-spec:/p>", + "Parsing: </..//path> against <non-spec:/p>", + "Parsing: <..//path> against <non-spec:/p>", + "Parsing: <a/..//path> against <non-spec:/p>", + "Parsing: <> against <non-spec:/..//p>", + "Parsing: <path> against <non-spec:/..//p>" + ], + "url-constructor.any.html?include=file": [ + "Parsing: </> against <file://h/C:/a/b>", + "Parsing: <file:\\\\//> against <about:blank>", + "Parsing: <file:\\\\\\\\> against <about:blank>", + "Parsing: <file:\\\\\\\\?fox> against <about:blank>", + "Parsing: <file:\\\\\\\\#guppy> against <about:blank>", + "Parsing: <file://spider///> against <about:blank>", + "Parsing: <file:\\\\localhost//> against <about:blank>", + "Parsing: <file://\\/localhost//cat> against <about:blank>", + "Parsing: <file://localhost//a//../..//> against <about:blank>", + "Parsing: </////mouse> against <file:///elephant>", + "Parsing: <\\/localhost//pig> against <file://lion/>", + "Parsing: <//localhost//pig> against <file://lion/>", + "Parsing: </..//localhost//pig> against <file://lion/>", + "Parsing: <C|> against <file://host/dir/file>", + "Parsing: <C|> against <file://host/D:/dir1/dir2/file>", + "Parsing: <C|#> against <file://host/dir/file>", + "Parsing: <C|?> against <file://host/dir/file>", + "Parsing: <C|/> against <file://host/dir/file>", + "Parsing: <C|\n/> against <file://host/dir/file>", + "Parsing: <C|\\> against <file://host/dir/file>", + "Parsing: </c:/foo/bar> against <file://host/path>", + "Parsing: <file://example.net/C:/> against <about:blank>", + "Parsing: <file://1.2.3.4/C:/> against <about:blank>", + "Parsing: <file://[1::8]/C:/> against <about:blank>", + "Parsing: <C|/> against <file://host/>", + "Parsing: </C:/> against <file://host/>", + "Parsing: <file:C:/> against <file://host/>", + "Parsing: <file:/C:/> against <file://host/>", + "Parsing: <file://localhost//a//../..//foo> against <about:blank>", + "Parsing: <file://localhost////foo> against <about:blank>", + "Parsing: <file:////foo> against <about:blank>", + "Parsing: <file:////one/two> against <file:///>", + "Parsing: <////one/two> against <file:///>", + "Parsing: <file:///.//> against <file:////>", + "Parsing: <file:.//p> against <about:blank>", + "Parsing: <file:/.//p> against <about:blank>" + ], + "url-constructor.any.html?include=javascript": true, + "url-constructor.any.html?include=mailto": true, + "url-constructor.any.worker.html?exclude=(file|javascript|mailto)": [ + "Parsing: <non-spec:/.//> against <about:blank>", + "Parsing: <non-spec:/..//> against <about:blank>", + "Parsing: <non-spec:/a/..//> against <about:blank>", + "Parsing: <non-spec:/.//path> against <about:blank>", + "Parsing: <non-spec:/..//path> against <about:blank>", + "Parsing: <non-spec:/a/..//path> against <about:blank>", + "Parsing: </.//path> against <non-spec:/p>", + "Parsing: </..//path> against <non-spec:/p>", + "Parsing: <..//path> against <non-spec:/p>", + "Parsing: <a/..//path> against <non-spec:/p>", + "Parsing: <> against <non-spec:/..//p>", + "Parsing: <path> against <non-spec:/..//p>" + ], + "url-constructor.any.worker.html?include=file": [ + "Parsing: </> against <file://h/C:/a/b>", + "Parsing: <file:\\\\//> against <about:blank>", + "Parsing: <file:\\\\\\\\> against <about:blank>", + "Parsing: <file:\\\\\\\\?fox> against <about:blank>", + "Parsing: <file:\\\\\\\\#guppy> against <about:blank>", + "Parsing: <file://spider///> against <about:blank>", + "Parsing: <file:\\\\localhost//> against <about:blank>", + "Parsing: <file://\\/localhost//cat> against <about:blank>", + "Parsing: <file://localhost//a//../..//> against <about:blank>", + "Parsing: </////mouse> against <file:///elephant>", + "Parsing: <\\/localhost//pig> against <file://lion/>", + "Parsing: <//localhost//pig> against <file://lion/>", + "Parsing: </..//localhost//pig> against <file://lion/>", + "Parsing: <C|> against <file://host/dir/file>", + "Parsing: <C|> against <file://host/D:/dir1/dir2/file>", + "Parsing: <C|#> against <file://host/dir/file>", + "Parsing: <C|?> against <file://host/dir/file>", + "Parsing: <C|/> against <file://host/dir/file>", + "Parsing: <C|\n/> against <file://host/dir/file>", + "Parsing: <C|\\> against <file://host/dir/file>", + "Parsing: </c:/foo/bar> against <file://host/path>", + "Parsing: <file://example.net/C:/> against <about:blank>", + "Parsing: <file://1.2.3.4/C:/> against <about:blank>", + "Parsing: <file://[1::8]/C:/> against <about:blank>", + "Parsing: <C|/> against <file://host/>", + "Parsing: </C:/> against <file://host/>", + "Parsing: <file:C:/> against <file://host/>", + "Parsing: <file:/C:/> against <file://host/>", + "Parsing: <file://localhost//a//../..//foo> against <about:blank>", + "Parsing: <file://localhost////foo> against <about:blank>", + "Parsing: <file:////foo> against <about:blank>", + "Parsing: <file:////one/two> against <file:///>", + "Parsing: <////one/two> against <file:///>", + "Parsing: <file:///.//> against <file:////>", + "Parsing: <file:.//p> against <about:blank>", + "Parsing: <file:/.//p> against <about:blank>" + ], + "url-constructor.any.worker.html?include=javascript": true, + "url-constructor.any.worker.html?include=mailto": true, + "url-setters-a-area.window.html?exclude=(file|javascript|mailto)": { + "ignore": true + }, + "url-setters-a-area.window.html?include=file": { + "ignore": true + }, + "url-setters-a-area.window.html?include=javascript": { + "ignore": true + }, + "url-setters-a-area.window.html?include=mailto": { + "ignore": true + }, + "url-setters.any.html?exclude=(file|javascript|mailto)": [ + "URL: Setting <http://test/>.protocol = 'https\u0000' Non-tab/newline C0 controls result in no-op", + "URL: Setting <http://test/>.protocol = 'https\f'", + "URL: Setting <http://test/>.protocol = 'https\u000e'", + "URL: Setting <http://test/>.protocol = 'https '", + "URL: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value", + "URL: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value", + "URL: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path", + "URL: Setting <non-spec:/.//p>.hostname = ''", + "URL: Setting <http://example.net:8080/path>.port = 'randomstring' Setting port to a string that doesn't parse as a number", + "URL: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased", + "URL: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased", + "URL: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path", + "URL: Setting <non-spec:/>.pathname = '/..//p'", + "URL: Setting <non-spec:/>.pathname = '//p'", + "URL: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path", + "URL: Setting <data:/nospace>.pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", + "URL: Setting <sc:/nospace>.pathname = 'space '", + "URL: Setting <data:space ?query>.search = '' Drop trailing spaces from trailing opaque paths", + "URL: Setting <sc:space ?query>.search = ''", + "URL: Setting <data:space #fragment>.hash = '' Drop trailing spaces from trailing opaque paths", + "URL: Setting <sc:space #fragment>.hash = ''" + ], + "url-setters.any.html?include=file": [ + "URL: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes", + "URL: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes", + "URL: Setting <file:///unicorn>.pathname = '//monkey/..//' File URLs and (back)slashes" + ], + "url-setters.any.html?include=javascript": true, + "url-setters.any.html?include=mailto": true, + "url-setters.any.worker.html?exclude=(file|javascript|mailto)": [ + "URL: Setting <http://test/>.protocol = 'https\u0000' Non-tab/newline C0 controls result in no-op", + "URL: Setting <http://test/>.protocol = 'https\f'", + "URL: Setting <http://test/>.protocol = 'https\u000e'", + "URL: Setting <http://test/>.protocol = 'https '", + "URL: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value", + "URL: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value", + "URL: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path", + "URL: Setting <non-spec:/.//p>.hostname = ''", + "URL: Setting <http://example.net:8080/path>.port = 'randomstring' Setting port to a string that doesn't parse as a number", + "URL: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased", + "URL: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased", + "URL: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path", + "URL: Setting <non-spec:/>.pathname = '/..//p'", + "URL: Setting <non-spec:/>.pathname = '//p'", + "URL: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path", + "URL: Setting <data:/nospace>.pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", + "URL: Setting <sc:/nospace>.pathname = 'space '", + "URL: Setting <data:space ?query>.search = '' Drop trailing spaces from trailing opaque paths", + "URL: Setting <sc:space ?query>.search = ''", + "URL: Setting <data:space #fragment>.hash = '' Drop trailing spaces from trailing opaque paths", + "URL: Setting <sc:space #fragment>.hash = ''" + ], + "url-setters.any.worker.html?include=file": [ + "URL: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes", + "URL: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes", + "URL: Setting <file:///unicorn>.pathname = '//monkey/..//' File URLs and (back)slashes" + ], + "url-setters.any.worker.html?include=javascript": true, + "url-setters.any.worker.html?include=mailto": true, + "url-statics-canparse.any.html": false, + "url-statics-canparse.any.worker.html": false, + "urlsearchparams-size.any.worker.html": true }, "fetch": { "api": { @@ -2649,6 +3098,7 @@ "Adding invalid request header \"Accept-Encoding: KO\"", "Adding invalid request header \"Access-Control-Request-Headers: KO\"", "Adding invalid request header \"Access-Control-Request-Method: KO\"", + "Adding invalid request header \"Access-Control-Request-Private-Network: KO\"", "Adding invalid request header \"Connection: KO\"", "Adding invalid request header \"Content-Length: KO\"", "Adding invalid request header \"Cookie: KO\"", @@ -2676,6 +3126,7 @@ "Adding invalid no-cors request header \"proxya: KO\"", "Adding invalid no-cors request header \"sec: KO\"", "Adding invalid no-cors request header \"secb: KO\"", + "Adding invalid no-cors request header \"Empty-Value: \"", "Check that request constructor is filtering headers provided as init parameter", "Check that no-cors request constructor is filtering headers provided as init parameter", "Check that no-cors request constructor is filtering headers provided as part of request parameter" @@ -2687,6 +3138,7 @@ "Adding invalid request header \"Accept-Encoding: KO\"", "Adding invalid request header \"Access-Control-Request-Headers: KO\"", "Adding invalid request header \"Access-Control-Request-Method: KO\"", + "Adding invalid request header \"Access-Control-Request-Private-Network: KO\"", "Adding invalid request header \"Connection: KO\"", "Adding invalid request header \"Content-Length: KO\"", "Adding invalid request header \"Cookie: KO\"", @@ -2714,6 +3166,7 @@ "Adding invalid no-cors request header \"proxya: KO\"", "Adding invalid no-cors request header \"sec: KO\"", "Adding invalid no-cors request header \"secb: KO\"", + "Adding invalid no-cors request header \"Empty-Value: \"", "Check that request constructor is filtering headers provided as init parameter", "Check that no-cors request constructor is filtering headers provided as init parameter", "Check that no-cors request constructor is filtering headers provided as part of request parameter" @@ -2745,7 +3198,63 @@ "Check duplex attribute" ], "forbidden-method.any.html": true, - "forbidden-method.any.worker.html": true + "forbidden-method.any.worker.html": true, + "request-bad-port.any.html": false, + "request-bad-port.any.worker.html": false, + "request-cache-default-conditional.any.html": true, + "request-cache-default-conditional.any.worker.html": true, + "request-cache-default.any.html": [ + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Etag and fresh response", + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Last-Modified and fresh response" + ], + "request-cache-default.any.worker.html": [ + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Etag and fresh response", + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Last-Modified and fresh response" + ], + "request-cache-force-cache.any.html": [ + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Etag and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Last-Modified and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Etag and fresh response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Last-Modified and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Etag and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Last-Modified and fresh response" + ], + "request-cache-force-cache.any.worker.html": [ + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Etag and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Last-Modified and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Etag and fresh response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Last-Modified and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Etag and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Last-Modified and fresh response" + ], + "request-cache-no-cache.any.html": true, + "request-cache-no-cache.any.worker.html": true, + "request-cache-no-store.any.html": true, + "request-cache-no-store.any.worker.html": true, + "request-cache-only-if-cached.any.html": false, + "request-cache-only-if-cached.any.worker.html": false, + "request-cache-reload.any.html": [ + "RequestCache \"reload\" mode does store the response in the cache with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache with Last-Modified and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Last-Modified and fresh response" + ], + "request-cache-reload.any.worker.html": [ + "RequestCache \"reload\" mode does store the response in the cache with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache with Last-Modified and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Last-Modified and fresh response" + ], + "request-init-priority.any.html": [ + "new Request() throws a TypeError if any of RequestInit's members' values are invalid", + "fetch() with an invalid priority returns a rejected promise with a TypeError" + ], + "request-init-priority.any.worker.html": [ + "new Request() throws a TypeError if any of RequestInit's members' values are invalid", + "fetch() with an invalid priority returns a rejected promise with a TypeError" + ], + "request-keepalive.any.html": false, + "request-keepalive.any.worker.html": false }, "headers": { "header-values-normalize.any.html": [ @@ -2876,7 +3385,9 @@ "\"no-cors\" Headers object cannot have range/bytes 0- as header", "\"no-cors\" Headers object cannot have test/hi as header", "\"no-cors\" Headers object cannot have dpr/2 as header", - "\"no-cors\" Headers object cannot have downlink/1 as header", + "\"no-cors\" Headers object cannot have rtt/1.0 as header", + "\"no-cors\" Headers object cannot have downlink/-1.0 as header", + "\"no-cors\" Headers object cannot have ect/6g as header", "\"no-cors\" Headers object cannot have save-data/on as header", "\"no-cors\" Headers object cannot have viewport-width/100 as header", "\"no-cors\" Headers object cannot have width/100 as header", @@ -2902,7 +3413,9 @@ "\"no-cors\" Headers object cannot have range/bytes 0- as header", "\"no-cors\" Headers object cannot have test/hi as header", "\"no-cors\" Headers object cannot have dpr/2 as header", - "\"no-cors\" Headers object cannot have downlink/1 as header", + "\"no-cors\" Headers object cannot have rtt/1.0 as header", + "\"no-cors\" Headers object cannot have downlink/-1.0 as header", + "\"no-cors\" Headers object cannot have ect/6g as header", "\"no-cors\" Headers object cannot have save-data/on as header", "\"no-cors\" Headers object cannot have viewport-width/100 as header", "\"no-cors\" Headers object cannot have width/100 as header", @@ -2910,7 +3423,29 @@ ], "headers-normalize.any.worker.html": true, "headers-record.any.worker.html": true, - "headers-structure.any.worker.html": true + "headers-structure.any.worker.html": true, + "header-setcookie.any.html": [ + "Headers.prototype.getSetCookie with no headers present", + "Headers.prototype.getSetCookie with one header", + "Headers.prototype.getSetCookie with one header created from an object", + "Headers.prototype.getSetCookie with multiple headers", + "Headers.prototype.getSetCookie with an empty header", + "Headers.prototype.getSetCookie with two equal headers", + "Headers.prototype.getSetCookie ignores set-cookie2 headers", + "Headers.prototype.getSetCookie preserves header ordering", + "Set-Cookie is a forbidden response header" + ], + "header-setcookie.any.worker.html": [ + "Headers.prototype.getSetCookie with no headers present", + "Headers.prototype.getSetCookie with one header", + "Headers.prototype.getSetCookie with one header created from an object", + "Headers.prototype.getSetCookie with multiple headers", + "Headers.prototype.getSetCookie with an empty header", + "Headers.prototype.getSetCookie with two equal headers", + "Headers.prototype.getSetCookie ignores set-cookie2 headers", + "Headers.prototype.getSetCookie preserves header ordering", + "Set-Cookie is a forbidden response header" + ] }, "basic": { "request-head.any.html": true, @@ -3036,7 +3571,165 @@ "CORS invalid integrity", "Empty string integrity for opaque response", "SHA-* integrity for opaque response" - ] + ], + "error-after-response.any.worker.html": false, + "keepalive.any.html": false, + "mediasource.window.html": false, + "mode-no-cors.sub.any.html": { + "ignore": true + }, + "mode-no-cors.sub.any.worker.html": { + "ignore": true + }, + "mode-same-origin.any.html": [ + "Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode" + ], + "mode-same-origin.any.worker.html": [ + "Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode" + ], + "referrer.any.html": false, + "referrer.any.worker.html": false, + "request-forbidden-headers.any.html": [ + "Accept-Charset is a forbidden request header", + "Accept-Encoding is a forbidden request header", + "Access-Control-Request-Headers is a forbidden request header", + "Access-Control-Request-Method is a forbidden request header", + "Access-Control-Request-Private-Network is a forbidden request header", + "Connection is a forbidden request header", + "Cookie is a forbidden request header", + "Cookie2 is a forbidden request header", + "Date is a forbidden request header", + "DNT is a forbidden request header", + "Expect is a forbidden request header", + "Keep-Alive is a forbidden request header", + "Origin is a forbidden request header", + "Referer is a forbidden request header", + "TE is a forbidden request header", + "Trailer is a forbidden request header", + "Upgrade is a forbidden request header", + "Via is a forbidden request header", + "Proxy- is a forbidden request header", + "Proxy-Test is a forbidden request header", + "Sec- is a forbidden request header", + "Sec-Test is a forbidden request header", + "header x-http-method-override is forbidden to use value TRACE", + "header x-http-method is forbidden to use value TRACE", + "header x-method-override is forbidden to use value TRACE", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACE", + "header X-HTTP-METHOD is forbidden to use value TRACE", + "header X-METHOD-OVERRIDE is forbidden to use value TRACE", + "header x-http-method-override is forbidden to use value TRACK", + "header x-http-method is forbidden to use value TRACK", + "header x-method-override is forbidden to use value TRACK", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACK", + "header X-HTTP-METHOD is forbidden to use value TRACK", + "header X-METHOD-OVERRIDE is forbidden to use value TRACK", + "header x-http-method-override is forbidden to use value CONNECT", + "header x-http-method is forbidden to use value CONNECT", + "header x-method-override is forbidden to use value CONNECT", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header X-HTTP-METHOD is forbidden to use value CONNECT", + "header X-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header x-http-method-override is forbidden to use value trace", + "header x-http-method is forbidden to use value trace", + "header x-method-override is forbidden to use value trace", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace", + "header X-HTTP-METHOD is forbidden to use value trace", + "header X-METHOD-OVERRIDE is forbidden to use value trace", + "header x-http-method-override is forbidden to use value track", + "header x-http-method is forbidden to use value track", + "header x-method-override is forbidden to use value track", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value track", + "header X-HTTP-METHOD is forbidden to use value track", + "header X-METHOD-OVERRIDE is forbidden to use value track", + "header x-http-method-override is forbidden to use value connect", + "header x-http-method is forbidden to use value connect", + "header x-method-override is forbidden to use value connect", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value connect", + "header X-HTTP-METHOD is forbidden to use value connect", + "header X-METHOD-OVERRIDE is forbidden to use value connect", + "header x-http-method-override is forbidden to use value trace,", + "header x-http-method is forbidden to use value trace,", + "header x-method-override is forbidden to use value trace,", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace,", + "header X-HTTP-METHOD is forbidden to use value trace,", + "header X-METHOD-OVERRIDE is forbidden to use value trace," + ], + "request-forbidden-headers.any.worker.html": [ + "Accept-Charset is a forbidden request header", + "Accept-Encoding is a forbidden request header", + "Access-Control-Request-Headers is a forbidden request header", + "Access-Control-Request-Method is a forbidden request header", + "Access-Control-Request-Private-Network is a forbidden request header", + "Connection is a forbidden request header", + "Cookie is a forbidden request header", + "Cookie2 is a forbidden request header", + "Date is a forbidden request header", + "DNT is a forbidden request header", + "Expect is a forbidden request header", + "Keep-Alive is a forbidden request header", + "Origin is a forbidden request header", + "Referer is a forbidden request header", + "TE is a forbidden request header", + "Trailer is a forbidden request header", + "Upgrade is a forbidden request header", + "Via is a forbidden request header", + "Proxy- is a forbidden request header", + "Proxy-Test is a forbidden request header", + "Sec- is a forbidden request header", + "Sec-Test is a forbidden request header", + "header x-http-method-override is forbidden to use value TRACE", + "header x-http-method is forbidden to use value TRACE", + "header x-method-override is forbidden to use value TRACE", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACE", + "header X-HTTP-METHOD is forbidden to use value TRACE", + "header X-METHOD-OVERRIDE is forbidden to use value TRACE", + "header x-http-method-override is forbidden to use value TRACK", + "header x-http-method is forbidden to use value TRACK", + "header x-method-override is forbidden to use value TRACK", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACK", + "header X-HTTP-METHOD is forbidden to use value TRACK", + "header X-METHOD-OVERRIDE is forbidden to use value TRACK", + "header x-http-method-override is forbidden to use value CONNECT", + "header x-http-method is forbidden to use value CONNECT", + "header x-method-override is forbidden to use value CONNECT", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header X-HTTP-METHOD is forbidden to use value CONNECT", + "header X-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header x-http-method-override is forbidden to use value trace", + "header x-http-method is forbidden to use value trace", + "header x-method-override is forbidden to use value trace", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace", + "header X-HTTP-METHOD is forbidden to use value trace", + "header X-METHOD-OVERRIDE is forbidden to use value trace", + "header x-http-method-override is forbidden to use value track", + "header x-http-method is forbidden to use value track", + "header x-method-override is forbidden to use value track", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value track", + "header X-HTTP-METHOD is forbidden to use value track", + "header X-METHOD-OVERRIDE is forbidden to use value track", + "header x-http-method-override is forbidden to use value connect", + "header x-http-method is forbidden to use value connect", + "header x-method-override is forbidden to use value connect", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value connect", + "header X-HTTP-METHOD is forbidden to use value connect", + "header X-METHOD-OVERRIDE is forbidden to use value connect", + "header x-http-method-override is forbidden to use value trace,", + "header x-http-method is forbidden to use value trace,", + "header x-method-override is forbidden to use value trace,", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace,", + "header X-HTTP-METHOD is forbidden to use value trace,", + "header X-METHOD-OVERRIDE is forbidden to use value trace," + ], + "request-referrer.any.html": false, + "request-referrer.any.worker.html": false, + "response-null-body.any.html": true }, "response": { "json.any.html": true, @@ -3123,12 +3816,13 @@ "response-consume-empty.any.worker.html": [ "Consume empty FormData response body as text" ], - "response-consume-stream.any.html": true, - "response-consume-stream.any.worker.html": true, + "response-consume-stream.any.html": false, + "response-consume-stream.any.worker.html": false, "response-init-contenttype.any.html": true, "response-init-contenttype.any.worker.html": true, "response-static-json.any.html": true, - "response-static-json.any.worker.html": true + "response-static-json.any.worker.html": true, + "response-clone-iframe.window.html": false }, "body": { "formdata.any.html": true, @@ -3196,7 +3890,372 @@ "redirect-schemes.any.html": true, "redirect-schemes.any.worker.html": true, "redirect-to-dataurl.any.html": true, - "redirect-to-dataurl.any.worker.html": true + "redirect-to-dataurl.any.worker.html": true, + "redirect-back-to-original-origin.any.html": false, + "redirect-back-to-original-origin.any.worker.html": false, + "redirect-keepalive.any.html": false, + "redirect-mode.any.html": [ + "same-origin redirect 301 in manual redirect and cors mode", + "same-origin redirect 301 in manual redirect and no-cors mode", + "same-origin redirect 302 in manual redirect and cors mode", + "same-origin redirect 302 in manual redirect and no-cors mode", + "same-origin redirect 303 in manual redirect and cors mode", + "same-origin redirect 303 in manual redirect and no-cors mode", + "same-origin redirect 307 in manual redirect and cors mode", + "same-origin redirect 307 in manual redirect and no-cors mode", + "same-origin redirect 308 in manual redirect and cors mode", + "same-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 301 in manual redirect and cors mode", + "cross-origin redirect 301 in manual redirect and no-cors mode", + "cross-origin redirect 301 in follow redirect and no-cors mode", + "cross-origin redirect 302 in manual redirect and cors mode", + "cross-origin redirect 302 in manual redirect and no-cors mode", + "cross-origin redirect 302 in follow redirect and no-cors mode", + "cross-origin redirect 303 in manual redirect and cors mode", + "cross-origin redirect 303 in manual redirect and no-cors mode", + "cross-origin redirect 303 in follow redirect and no-cors mode", + "cross-origin redirect 307 in manual redirect and cors mode", + "cross-origin redirect 307 in manual redirect and no-cors mode", + "cross-origin redirect 307 in follow redirect and no-cors mode", + "cross-origin redirect 308 in manual redirect and cors mode", + "cross-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 308 in follow redirect and no-cors mode", + "manual redirect with a CORS error should be rejected" + ], + "redirect-mode.any.worker.html": [ + "same-origin redirect 301 in manual redirect and cors mode", + "same-origin redirect 301 in manual redirect and no-cors mode", + "same-origin redirect 302 in manual redirect and cors mode", + "same-origin redirect 302 in manual redirect and no-cors mode", + "same-origin redirect 303 in manual redirect and cors mode", + "same-origin redirect 303 in manual redirect and no-cors mode", + "same-origin redirect 307 in manual redirect and cors mode", + "same-origin redirect 307 in manual redirect and no-cors mode", + "same-origin redirect 308 in manual redirect and cors mode", + "same-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 301 in manual redirect and cors mode", + "cross-origin redirect 301 in manual redirect and no-cors mode", + "cross-origin redirect 301 in follow redirect and no-cors mode", + "cross-origin redirect 302 in manual redirect and cors mode", + "cross-origin redirect 302 in manual redirect and no-cors mode", + "cross-origin redirect 302 in follow redirect and no-cors mode", + "cross-origin redirect 303 in manual redirect and cors mode", + "cross-origin redirect 303 in manual redirect and no-cors mode", + "cross-origin redirect 303 in follow redirect and no-cors mode", + "cross-origin redirect 307 in manual redirect and cors mode", + "cross-origin redirect 307 in manual redirect and no-cors mode", + "cross-origin redirect 307 in follow redirect and no-cors mode", + "cross-origin redirect 308 in manual redirect and cors mode", + "cross-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 308 in follow redirect and no-cors mode", + "manual redirect with a CORS error should be rejected" + ], + "redirect-origin.any.html": [ + "Same origin to other origin redirection 301", + "Other origin to other origin redirection 301", + "Other origin to same origin redirection 301", + "Same origin to other origin redirection[POST] 301", + "Other origin to other origin redirection[POST] 301", + "Other origin to same origin redirection[POST] 301", + "Same origin to other origin redirection 302", + "Other origin to other origin redirection 302", + "Other origin to same origin redirection 302", + "Same origin to other origin redirection[POST] 302", + "Other origin to other origin redirection[POST] 302", + "Other origin to same origin redirection[POST] 302", + "Same origin to other origin redirection 303", + "Other origin to other origin redirection 303", + "Other origin to same origin redirection 303", + "Same origin to other origin redirection[POST] 303", + "Other origin to other origin redirection[POST] 303", + "Other origin to same origin redirection[POST] 303", + "Same origin to other origin redirection 307", + "Other origin to other origin redirection 307", + "Other origin to same origin redirection 307", + "Same origin to other origin redirection[POST] 307", + "Other origin to other origin redirection[POST] 307", + "Other origin to same origin redirection[POST] 307", + "Same origin to other origin redirection 308", + "Other origin to other origin redirection 308", + "Other origin to same origin redirection 308", + "Same origin to other origin redirection[POST] 308", + "Other origin to other origin redirection[POST] 308", + "Other origin to same origin redirection[POST] 308" + ], + "redirect-origin.any.worker.html": [ + "Same origin to other origin redirection 301", + "Other origin to other origin redirection 301", + "Other origin to same origin redirection 301", + "Same origin to other origin redirection[POST] 301", + "Other origin to other origin redirection[POST] 301", + "Other origin to same origin redirection[POST] 301", + "Same origin to other origin redirection 302", + "Other origin to other origin redirection 302", + "Other origin to same origin redirection 302", + "Same origin to other origin redirection[POST] 302", + "Other origin to other origin redirection[POST] 302", + "Other origin to same origin redirection[POST] 302", + "Same origin to other origin redirection 303", + "Other origin to other origin redirection 303", + "Other origin to same origin redirection 303", + "Same origin to other origin redirection[POST] 303", + "Other origin to other origin redirection[POST] 303", + "Other origin to same origin redirection[POST] 303", + "Same origin to other origin redirection 307", + "Other origin to other origin redirection 307", + "Other origin to same origin redirection 307", + "Same origin to other origin redirection[POST] 307", + "Other origin to other origin redirection[POST] 307", + "Other origin to same origin redirection[POST] 307", + "Same origin to other origin redirection 308", + "Other origin to other origin redirection 308", + "Other origin to same origin redirection 308", + "Same origin to other origin redirection[POST] 308", + "Other origin to other origin redirection[POST] 308", + "Other origin to same origin redirection[POST] 308" + ], + "redirect-referrer-override.any.html": [ + "Same origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, same-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Same origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin init, origin redirect header ", + "Cross origin redirection, origin init, origin redirect header ", + "Same origin redirection, origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, same-origin redirect header ", + "Same origin redirection, origin init, strict-origin redirect header ", + "Cross origin redirection, origin init, strict-origin redirect header ", + "Same origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, unsafe-url redirect header ", + "Cross origin redirection, origin init, unsafe-url redirect header ", + "Same origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, same-origin init, origin redirect header ", + "Cross origin redirection, same-origin init, origin redirect header ", + "Same origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, same-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, unsafe-url redirect header ", + "Cross origin redirection, same-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin init, origin redirect header ", + "Cross origin redirection, strict-origin init, origin redirect header ", + "Same origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, unsafe-url init, origin redirect header ", + "Cross origin redirection, unsafe-url init, origin redirect header ", + "Same origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, same-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, unsafe-url redirect header ", + "Cross origin redirection, unsafe-url init, unsafe-url redirect header " + ], + "redirect-referrer-override.any.worker.html": [ + "Same origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, same-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Same origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin init, origin redirect header ", + "Cross origin redirection, origin init, origin redirect header ", + "Same origin redirection, origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, same-origin redirect header ", + "Same origin redirection, origin init, strict-origin redirect header ", + "Cross origin redirection, origin init, strict-origin redirect header ", + "Same origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, unsafe-url redirect header ", + "Cross origin redirection, origin init, unsafe-url redirect header ", + "Same origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, same-origin init, origin redirect header ", + "Cross origin redirection, same-origin init, origin redirect header ", + "Same origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, same-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, unsafe-url redirect header ", + "Cross origin redirection, same-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin init, origin redirect header ", + "Cross origin redirection, strict-origin init, origin redirect header ", + "Same origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, unsafe-url init, origin redirect header ", + "Cross origin redirection, unsafe-url init, origin redirect header ", + "Same origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, same-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, unsafe-url redirect header ", + "Cross origin redirection, unsafe-url init, unsafe-url redirect header " + ], + "redirect-referrer.any.html": [ + "Same origin redirection, empty init, unsafe-url redirect header ", + "Same origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, empty init, same-origin redirect header ", + "Same origin redirection, empty init, origin redirect header ", + "Same origin redirection, empty init, origin-when-cross-origin redirect header ", + "Same origin redirection, empty init, strict-origin redirect header ", + "Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, empty redirect header, unsafe-url init ", + "Same origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Same origin redirection, empty redirect header, same-origin init ", + "Same origin redirection, empty redirect header, origin init ", + "Same origin redirection, empty redirect header, origin-when-cross-origin init ", + "Same origin redirection, empty redirect header, strict-origin init ", + "Same origin redirection, empty redirect header, strict-origin-when-cross-origin init ", + "Cross origin redirection, empty init, unsafe-url redirect header ", + "Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, empty init, origin redirect header ", + "Cross origin redirection, empty init, origin-when-cross-origin redirect header ", + "Cross origin redirection, empty init, strict-origin redirect header ", + "Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, empty redirect header, unsafe-url init ", + "Cross origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Cross origin redirection, empty redirect header, origin init ", + "Cross origin redirection, empty redirect header, origin-when-cross-origin init ", + "Cross origin redirection, empty redirect header, strict-origin init ", + "Cross origin redirection, empty redirect header, strict-origin-when-cross-origin init " + ], + "redirect-referrer.any.worker.html": [ + "Same origin redirection, empty init, unsafe-url redirect header ", + "Same origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, empty init, same-origin redirect header ", + "Same origin redirection, empty init, origin redirect header ", + "Same origin redirection, empty init, origin-when-cross-origin redirect header ", + "Same origin redirection, empty init, strict-origin redirect header ", + "Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, empty redirect header, unsafe-url init ", + "Same origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Same origin redirection, empty redirect header, same-origin init ", + "Same origin redirection, empty redirect header, origin init ", + "Same origin redirection, empty redirect header, origin-when-cross-origin init ", + "Same origin redirection, empty redirect header, strict-origin init ", + "Same origin redirection, empty redirect header, strict-origin-when-cross-origin init ", + "Cross origin redirection, empty init, unsafe-url redirect header ", + "Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, empty init, origin redirect header ", + "Cross origin redirection, empty init, origin-when-cross-origin redirect header ", + "Cross origin redirection, empty init, strict-origin redirect header ", + "Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, empty redirect header, unsafe-url init ", + "Cross origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Cross origin redirection, empty redirect header, origin init ", + "Cross origin redirection, empty redirect header, origin-when-cross-origin init ", + "Cross origin redirection, empty redirect header, strict-origin init ", + "Cross origin redirection, empty redirect header, strict-origin-when-cross-origin init " + ] }, "idlharness.any.html": [ "Request interface: attribute destination", @@ -3209,9 +4268,9 @@ "Request interface: attribute keepalive", "Request interface: attribute isReloadNavigation", "Request interface: attribute isHistoryNavigation", + "Request interface: attribute duplex", "Request interface: attribute body", "Request interface: attribute bodyUsed", - "Request interface: attribute duplex", "Request interface: new Request('about:blank') must inherit property \"destination\" with the proper type", "Request interface: new Request('about:blank') must inherit property \"referrer\" with the proper type", "Request interface: new Request('about:blank') must inherit property \"referrerPolicy\" with the proper type", @@ -3239,9 +4298,9 @@ "Request interface: attribute keepalive", "Request interface: attribute isReloadNavigation", "Request interface: attribute isHistoryNavigation", + "Request interface: attribute duplex", "Request interface: attribute body", "Request interface: attribute bodyUsed", - "Request interface: attribute duplex", "Request interface: new Request('about:blank') must inherit property \"destination\" with the proper type", "Request interface: new Request('about:blank') must inherit property \"referrer\" with the proper type", "Request interface: new Request('about:blank') must inherit property \"referrerPolicy\" with the proper type", @@ -3267,29 +4326,403 @@ "general.any.worker.html": true, "cache.https.any.html": false, "cache.https.any.worker.html": false + }, + "cors": { + "cors-basic.any.html": false, + "cors-basic.any.worker.html": false, + "cors-cookies-redirect.any.html": [ + "Testing credentials after cross-origin redirection with CORS and no preflight", + "Testing credentials after cross-origin redirection with CORS and preflight" + ], + "cors-cookies-redirect.any.worker.html": [ + "Testing credentials after cross-origin redirection with CORS and no preflight", + "Testing credentials after cross-origin redirection with CORS and preflight" + ], + "cors-cookies.any.html": [ + "Include mode: 1 cookie" + ], + "cors-cookies.any.worker.html": [ + "Include mode: 1 cookie" + ], + "cors-expose-star.sub.any.html": false, + "cors-expose-star.sub.any.worker.html": false, + "cors-filtering.sub.any.html": false, + "cors-filtering.sub.any.worker.html": false, + "cors-multiple-origins.sub.any.html": false, + "cors-multiple-origins.sub.any.worker.html": false, + "cors-no-preflight.any.html": true, + "cors-no-preflight.any.worker.html": true, + "cors-origin.any.html": [ + "Cross domain different subdomain [origin KO]", + "Same domain different port [origin KO]", + "Cross domain different port [origin KO]", + "Cross domain different protocol [origin KO]", + "Same domain different protocol different port [origin KO]", + "Cross domain [POST] [origin KO]", + "Cross domain [HEAD] [origin KO]", + "CORS preflight [PUT] [origin KO]", + "Allowed origin: \"\" [origin KO]" + ], + "cors-origin.any.worker.html": [ + "Cross domain different subdomain [origin KO]", + "Same domain different port [origin KO]", + "Cross domain different port [origin KO]", + "Cross domain different protocol [origin KO]", + "Same domain different protocol different port [origin KO]", + "Cross domain [POST] [origin KO]", + "Cross domain [HEAD] [origin KO]", + "CORS preflight [PUT] [origin KO]", + "Allowed origin: \"\" [origin KO]" + ], + "cors-preflight-cache.any.html": false, + "cors-preflight-cache.any.worker.html": false, + "cors-preflight-not-cors-safelisted.any.html": [ + "Need CORS-preflight for accept/\" header", + "Need CORS-preflight for accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 header", + "Need CORS-preflight for accept-language/\u0001 header", + "Need CORS-preflight for accept-language/@ header", + "Need CORS-preflight for authorization/basics header", + "Need CORS-preflight for content-language/\u0001 header", + "Need CORS-preflight for content-language/@ header", + "Need CORS-preflight for content-type/text/html header", + "Need CORS-preflight for content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 header", + "Need CORS-preflight for range/bytes 0- header", + "Need CORS-preflight for test/hi header" + ], + "cors-preflight-not-cors-safelisted.any.worker.html": [ + "Need CORS-preflight for accept/\" header", + "Need CORS-preflight for accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 header", + "Need CORS-preflight for accept-language/\u0001 header", + "Need CORS-preflight for accept-language/@ header", + "Need CORS-preflight for authorization/basics header", + "Need CORS-preflight for content-language/\u0001 header", + "Need CORS-preflight for content-language/@ header", + "Need CORS-preflight for content-type/text/html header", + "Need CORS-preflight for content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 header", + "Need CORS-preflight for range/bytes 0- header", + "Need CORS-preflight for test/hi header" + ], + "cors-preflight-redirect.any.html": false, + "cors-preflight-redirect.any.worker.html": false, + "cors-preflight-referrer.any.html": false, + "cors-preflight-referrer.any.worker.html": false, + "cors-preflight-response-validation.any.html": false, + "cors-preflight-response-validation.any.worker.html": false, + "cors-preflight-star.any.html": false, + "cors-preflight-star.any.worker.html": false, + "cors-preflight-status.any.html": false, + "cors-preflight-status.any.worker.html": false, + "cors-preflight.any.html": [ + "CORS [DELETE], server allows", + "CORS [DELETE], server refuses", + "CORS [PUT], server allows", + "CORS [PUT], server allows, check preflight has user agent", + "CORS [PUT], server refuses", + "CORS [PATCH], server allows", + "CORS [PATCH], server refuses", + "CORS [patcH], server allows", + "CORS [patcH], server refuses", + "CORS [NEW], server allows", + "CORS [NEW], server refuses", + "CORS [chicken], server allows", + "CORS [chicken], server refuses", + "CORS [GET] [x-test-header: allowed], server allows", + "CORS [GET] [x-test-header: refused], server refuses", + "CORS [GET] [several headers], server allows", + "CORS [GET] [several headers], server refuses", + "CORS [PUT] [several headers], server allows", + "CORS [PUT] [several headers], server refuses", + "CORS [PUT] [only safe headers], server allows", + "\"authorization\" should not be covered by the wildcard symbol" + ], + "cors-preflight.any.worker.html": [ + "CORS [DELETE], server allows", + "CORS [DELETE], server refuses", + "CORS [PUT], server allows", + "CORS [PUT], server allows, check preflight has user agent", + "CORS [PUT], server refuses", + "CORS [PATCH], server allows", + "CORS [PATCH], server refuses", + "CORS [patcH], server allows", + "CORS [patcH], server refuses", + "CORS [NEW], server allows", + "CORS [NEW], server refuses", + "CORS [chicken], server allows", + "CORS [chicken], server refuses", + "CORS [GET] [x-test-header: allowed], server allows", + "CORS [GET] [x-test-header: refused], server refuses", + "CORS [GET] [several headers], server allows", + "CORS [GET] [several headers], server refuses", + "CORS [PUT] [several headers], server allows", + "CORS [PUT] [several headers], server refuses", + "CORS [PUT] [only safe headers], server allows", + "\"authorization\" should not be covered by the wildcard symbol" + ], + "cors-redirect-credentials.any.html": [ + "Redirect 301 from same origin to remote with user and password", + "Redirect 301 from same origin to remote with user", + "Redirect 301 from same origin to remote with password", + "Redirect 301 from remote to same origin with user and password", + "Redirect 301 from remote to same origin with user", + "Redirect 301 from remote to same origin with password", + "Redirect 301 from remote to same remote with user and password", + "Redirect 301 from remote to same remote with user", + "Redirect 301 from remote to same remote with password", + "Redirect 301 from remote to another remote with user and password", + "Redirect 301 from remote to another remote with user", + "Redirect 301 from remote to another remote with password", + "Redirect 302 from same origin to remote with user and password", + "Redirect 302 from same origin to remote with user", + "Redirect 302 from same origin to remote with password", + "Redirect 302 from remote to same origin with user and password", + "Redirect 302 from remote to same origin with user", + "Redirect 302 from remote to same origin with password", + "Redirect 302 from remote to same remote with user and password", + "Redirect 302 from remote to same remote with user", + "Redirect 302 from remote to same remote with password", + "Redirect 302 from remote to another remote with user and password", + "Redirect 302 from remote to another remote with user", + "Redirect 302 from remote to another remote with password", + "Redirect 303 from same origin to remote with user and password", + "Redirect 303 from same origin to remote with user", + "Redirect 303 from same origin to remote with password", + "Redirect 303 from remote to same origin with user and password", + "Redirect 303 from remote to same origin with user", + "Redirect 303 from remote to same origin with password", + "Redirect 303 from remote to same remote with user and password", + "Redirect 303 from remote to same remote with user", + "Redirect 303 from remote to same remote with password", + "Redirect 303 from remote to another remote with user and password", + "Redirect 303 from remote to another remote with user", + "Redirect 303 from remote to another remote with password", + "Redirect 307 from same origin to remote with user and password", + "Redirect 307 from same origin to remote with user", + "Redirect 307 from same origin to remote with password", + "Redirect 307 from remote to same origin with user and password", + "Redirect 307 from remote to same origin with user", + "Redirect 307 from remote to same origin with password", + "Redirect 307 from remote to same remote with user and password", + "Redirect 307 from remote to same remote with user", + "Redirect 307 from remote to same remote with password", + "Redirect 307 from remote to another remote with user and password", + "Redirect 307 from remote to another remote with user", + "Redirect 307 from remote to another remote with password", + "Redirect 308 from same origin to remote with user and password", + "Redirect 308 from same origin to remote with user", + "Redirect 308 from same origin to remote with password", + "Redirect 308 from remote to same origin with user and password", + "Redirect 308 from remote to same origin with user", + "Redirect 308 from remote to same origin with password", + "Redirect 308 from remote to same remote with user and password", + "Redirect 308 from remote to same remote with user", + "Redirect 308 from remote to same remote with password", + "Redirect 308 from remote to another remote with user and password", + "Redirect 308 from remote to another remote with user", + "Redirect 308 from remote to another remote with password" + ], + "cors-redirect-credentials.any.worker.html": [ + "Redirect 301 from same origin to remote with user and password", + "Redirect 301 from same origin to remote with user", + "Redirect 301 from same origin to remote with password", + "Redirect 301 from remote to same origin with user and password", + "Redirect 301 from remote to same origin with user", + "Redirect 301 from remote to same origin with password", + "Redirect 301 from remote to same remote with user and password", + "Redirect 301 from remote to same remote with user", + "Redirect 301 from remote to same remote with password", + "Redirect 301 from remote to another remote with user and password", + "Redirect 301 from remote to another remote with user", + "Redirect 301 from remote to another remote with password", + "Redirect 302 from same origin to remote with user and password", + "Redirect 302 from same origin to remote with user", + "Redirect 302 from same origin to remote with password", + "Redirect 302 from remote to same origin with user and password", + "Redirect 302 from remote to same origin with user", + "Redirect 302 from remote to same origin with password", + "Redirect 302 from remote to same remote with user and password", + "Redirect 302 from remote to same remote with user", + "Redirect 302 from remote to same remote with password", + "Redirect 302 from remote to another remote with user and password", + "Redirect 302 from remote to another remote with user", + "Redirect 302 from remote to another remote with password", + "Redirect 303 from same origin to remote with user and password", + "Redirect 303 from same origin to remote with user", + "Redirect 303 from same origin to remote with password", + "Redirect 303 from remote to same origin with user and password", + "Redirect 303 from remote to same origin with user", + "Redirect 303 from remote to same origin with password", + "Redirect 303 from remote to same remote with user and password", + "Redirect 303 from remote to same remote with user", + "Redirect 303 from remote to same remote with password", + "Redirect 303 from remote to another remote with user and password", + "Redirect 303 from remote to another remote with user", + "Redirect 303 from remote to another remote with password", + "Redirect 307 from same origin to remote with user and password", + "Redirect 307 from same origin to remote with user", + "Redirect 307 from same origin to remote with password", + "Redirect 307 from remote to same origin with user and password", + "Redirect 307 from remote to same origin with user", + "Redirect 307 from remote to same origin with password", + "Redirect 307 from remote to same remote with user and password", + "Redirect 307 from remote to same remote with user", + "Redirect 307 from remote to same remote with password", + "Redirect 307 from remote to another remote with user and password", + "Redirect 307 from remote to another remote with user", + "Redirect 307 from remote to another remote with password", + "Redirect 308 from same origin to remote with user and password", + "Redirect 308 from same origin to remote with user", + "Redirect 308 from same origin to remote with password", + "Redirect 308 from remote to same origin with user and password", + "Redirect 308 from remote to same origin with user", + "Redirect 308 from remote to same origin with password", + "Redirect 308 from remote to same remote with user and password", + "Redirect 308 from remote to same remote with user", + "Redirect 308 from remote to same remote with password", + "Redirect 308 from remote to another remote with user and password", + "Redirect 308 from remote to another remote with user", + "Redirect 308 from remote to another remote with password" + ], + "cors-redirect-preflight.any.html": false, + "cors-redirect-preflight.any.worker.html": false, + "cors-redirect.any.html": false, + "cors-redirect.any.worker.html": false + }, + "credentials": { + "authentication-basic.any.html": true, + "authentication-basic.any.worker.html": true, + "authentication-redirection.any.html": [ + "getAuthorizationHeaderValue - cross origin redirection" + ], + "authentication-redirection.any.worker.html": [ + "getAuthorizationHeaderValue - cross origin redirection" + ], + "cookies.any.html": [ + "Include mode: 1 cookie", + "Include mode: 2 cookies", + "Same-origin mode: 1 cookie", + "Same-origin mode: 2 cookies" + ], + "cookies.any.worker.html": [ + "Include mode: 1 cookie", + "Include mode: 2 cookies", + "Same-origin mode: 1 cookie", + "Same-origin mode: 2 cookies" + ] } }, "content-encoding": { "bad-gzip-body.any.html": true, - "bad-gzip-body.any.worker.html": true + "bad-gzip-body.any.worker.html": true, + "gzip-body.any.html": true, + "gzip-body.any.worker.html": true }, "content-length": { - "api-and-duplicate-headers.any.html": [ - "XMLHttpRequest and duplicate Content-Length/Content-Type headers", - "fetch() and duplicate Content-Length/Content-Type headers" - ], - "api-and-duplicate-headers.any.worker.html": [ - "XMLHttpRequest and duplicate Content-Length/Content-Type headers", - "fetch() and duplicate Content-Length/Content-Type headers" - ], - "too-long.window.html": true + "api-and-duplicate-headers.any.html": false, + "api-and-duplicate-headers.any.worker.html": false, + "too-long.window.html": true, + "parsing.window.html": [ + "Input: \"Content-Length: aaaah\\r\\nContent-Length: aaaah\". Expected: 42.", + "Input: \"Content-Length: aaaah, aaaah\". Expected: 42.", + "Input: \"Content-Length: aaaah\". Expected: 42.", + "Input: \"Content-Length: 42s\". Expected: 42.", + "Input: \"Content-Length: 30s\". Expected: 42.", + "Input: \"Content-Length: -1\". Expected: 42.", + "Input: \"Content-Length: 0x20\". Expected: 42.", + "Input: \"Content-Length: 030\\r\\nContent-Length: 30\". Expected: network error.", + "Input: \"Content-Length: 030, 30\". Expected: network error.", + "Input: \"Content-Length: \\\"30\\\"\". Expected: 42.", + "Input: \"Content-Length: \". Expected: 42." + ] }, "content-type": { - "multipart.window.html": true + "multipart.window.html": true, + "multipart-malformed.any.html": false, + "multipart-malformed.any.worker.html": false, + "response.window.html": [ + "<iframe>: separate response Content-Type: text/plain", + "<iframe>: combined response Content-Type: text/plain", + "<iframe>: separate response Content-Type: text/plain ", + "<iframe>: combined response Content-Type: text/plain ", + "<iframe>: separate response Content-Type: text/html text/plain", + "<iframe>: combined response Content-Type: text/html text/plain", + "<iframe>: separate response Content-Type: text/plain;charset=gbk text/html", + "<iframe>: combined response Content-Type: text/plain;charset=gbk text/html", + "<iframe>: separate response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254", + "<iframe>: combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254", + "<iframe>: separate response Content-Type: text/plain;charset=gbk text/plain", + "<iframe>: combined response Content-Type: text/plain;charset=gbk text/plain", + "<iframe>: separate response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252", + "<iframe>: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252", + "<iframe>: separate response Content-Type: text/html;charset=gbk text/html;x=\",text/plain", + "<iframe>: combined response Content-Type: text/html;charset=gbk text/html;x=\",text/plain", + "<iframe>: separate response Content-Type: text/plain;charset=gbk;x=foo text/plain", + "<iframe>: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain", + "<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html", + "<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html", + "<iframe>: separate response Content-Type: text/plain */*", + "<iframe>: combined response Content-Type: text/plain */*", + "<iframe>: separate response Content-Type: text/html */*", + "<iframe>: combined response Content-Type: text/html */*", + "<iframe>: separate response Content-Type: */* text/html", + "<iframe>: combined response Content-Type: */* text/html", + "<iframe>: separate response Content-Type: text/plain */*;charset=gbk", + "<iframe>: combined response Content-Type: text/plain */*;charset=gbk", + "<iframe>: separate response Content-Type: text/html */*;charset=gbk", + "<iframe>: combined response Content-Type: text/html */*;charset=gbk", + "<iframe>: separate response Content-Type: text/html;x=\" text/plain", + "<iframe>: combined response Content-Type: text/html;x=\" text/plain", + "<iframe>: separate response Content-Type: text/html;\" text/plain", + "<iframe>: combined response Content-Type: text/html;\" text/plain", + "<iframe>: separate response Content-Type: text/html;\" \\\" text/plain", + "<iframe>: combined response Content-Type: text/html;\" \\\" text/plain", + "<iframe>: separate response Content-Type: text/html;\" \\\" text/plain \";charset=GBK", + "<iframe>: combined response Content-Type: text/html;\" \\\" text/plain \";charset=GBK", + "<iframe>: separate response Content-Type: text/html;\" \" text/plain", + "<iframe>: combined response Content-Type: text/html;\" \" text/plain", + "fetch(): combined response Content-Type: text/html;x=\" text/plain", + "fetch(): separate response Content-Type: text/html;\" \\\" text/plain \";charset=GBK", + "fetch(): combined response Content-Type: text/html;\" \\\" text/plain \";charset=GBK", + "Request: combined response Content-Type: text/html;\" \\\" text/plain \";charset=GBK", + "Response: combined response Content-Type: text/html;\" \\\" text/plain \";charset=GBK" + ], + "script.window.html": [ + "separate text/javascript;charset=windows-1252", + "separate text/javascript;\";charset=windows-1252", + "separate text/javascript\f", + "separate \"text/javascript\"", + "separate text/ javascript", + "separate text /javascript", + "separate x/x text/javascript", + "combined x/x text/javascript", + "separate x/x;charset=windows-1252 text/javascript", + "combined x/x;charset=windows-1252 text/javascript", + "separate text/javascript x/x", + "combined text/javascript x/x", + "separate text/javascript; charset=windows-1252 text/javascript", + "combined text/javascript; charset=windows-1252 text/javascript", + "separate text/javascript;\" x/x", + "combined text/javascript;\" x/x", + "separate text/javascript ", + "combined text/javascript ", + "separate text/javascript error", + "combined text/javascript error", + "separate text/javascript;charset=windows-1252 x/x text/javascript", + "combined text/javascript;charset=windows-1252 x/x text/javascript", + "separate text/javascript;charset=windows-1252 error text/javascript", + "combined text/javascript;charset=windows-1252 error text/javascript", + "separate text/javascript;charset=windows-1252 text/javascript", + "combined text/javascript;charset=windows-1252 text/javascript", + "separate text/javascript;charset=windows-1252;\" \\\" x/x", + "combined text/javascript;charset=windows-1252;\" \\\" x/x", + "separate x/x;\" x/y;\\\" text/javascript;charset=windows-1252;\" text/javascript", + "combined x/x;\" x/y;\\\" text/javascript;charset=windows-1252;\" text/javascript" + ] }, "data-urls": { "base64.any.html": true, - "base64.any.worker.html": true + "base64.any.worker.html": true, + "processing.any.html": true, + "processing.any.worker.html": true }, "h1-parsing": { "lone-cr.window.html": [ @@ -3303,7 +4736,8 @@ "HTTP/1.1 099 HELLO ", "HTTP/1.1 200 ", "HTTP/1.1 999 DOES IT MATTER " - ] + ], + "resources-with-0x00-in-header.window.html": false }, "range": { "general.any.html": [ @@ -3314,7 +4748,398 @@ "Privileged header not allowed for guard type: request-no-cors", "Cross Origin Fetch with non safe range header" ], - "general.window.html": false + "general.window.html": false, + "blob.any.html": false, + "blob.any.worker.html": false, + "data.any.html": true, + "data.any.worker.html": true, + "sw.https.window.html": false + }, + "cross-origin-resource-policy": { + "fetch.any.html": [ + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-scheme (HTTP to HTTPS) no-cors fetch to a same-site URL with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-origin no-cors fetch to a same-site URL with a 'Cross-Origin-Resource-Policy: same-origin' response header.", + "Valid cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header after a redirection.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' redirect response header." + ], + "fetch.any.worker.html": [ + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-scheme (HTTP to HTTPS) no-cors fetch to a same-site URL with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-origin no-cors fetch to a same-site URL with a 'Cross-Origin-Resource-Policy: same-origin' response header.", + "Valid cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header after a redirection.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' redirect response header." + ], + "fetch.https.any.html": [ + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header after a redirection.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' redirect response header." + ], + "fetch.https.any.worker.html": [ + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header after a redirection.", + "Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' redirect response header." + ], + "scheme-restriction.any.html": false, + "scheme-restriction.any.worker.html": false, + "scheme-restriction.https.window.html": false, + "syntax.any.html": true, + "syntax.any.worker.html": true + }, + "http-cache": { + "304-update.any.html": false, + "304-update.any.worker.html": false, + "cache-mode.any.html": [ + "Fetch sends Cache-Control: max-age=0 when cache mode is no-cache", + "Fetch sends Cache-Control: no-cache and Pragma: no-cache when cache mode is no-store" + ], + "cache-mode.any.worker.html": [ + "Fetch sends Cache-Control: max-age=0 when cache mode is no-cache", + "Fetch sends Cache-Control: no-cache and Pragma: no-cache when cache mode is no-store" + ], + "cc-request.any.html": [ + "HTTP cache does use aged stale response when request contains Cache-Control: max-stale that permits its use", + "HTTP cache does reuse stale response with Age header when request contains Cache-Control: max-stale that permits its use", + "HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached" + ], + "cc-request.any.worker.html": [ + "HTTP cache does use aged stale response when request contains Cache-Control: max-stale that permits its use", + "HTTP cache does reuse stale response with Age header when request contains Cache-Control: max-stale that permits its use", + "HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached" + ], + "credentials.tentative.any.html": false, + "credentials.tentative.any.worker.html": false, + "freshness.any.html": [ + "HTTP cache reuses a response with a future Expires", + "HTTP cache reuses a response with positive Cache-Control: max-age", + "HTTP cache reuses a response with positive Cache-Control: max-age and a past Expires", + "HTTP cache reuses a response with positive Cache-Control: max-age and an invalid Expires", + "HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use", + "HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use, even with max-age and Expires" + ], + "freshness.any.worker.html": [ + "HTTP cache reuses a response with a future Expires", + "HTTP cache reuses a response with positive Cache-Control: max-age", + "HTTP cache reuses a response with positive Cache-Control: max-age and a past Expires", + "HTTP cache reuses a response with positive Cache-Control: max-age and an invalid Expires", + "HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use", + "HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use, even with max-age and Expires" + ], + "heuristic.any.html": [ + "HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present", + "HTTP cache reuses a 200 OK response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 203 Non-Authoritative Information response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 204 No Content response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 410 Gone response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness" + ], + "heuristic.any.worker.html": [ + "HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present", + "HTTP cache reuses a 200 OK response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 203 Non-Authoritative Information response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 204 No Content response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 410 Gone response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness", + "HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness" + ], + "invalidate.any.html": [ + "HTTP cache does not invalidate after a failed response from an unsafe request", + "HTTP cache does not invalidate Location URL after a failed response from an unsafe request", + "HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request" + ], + "invalidate.any.worker.html": [ + "HTTP cache does not invalidate after a failed response from an unsafe request", + "HTTP cache does not invalidate Location URL after a failed response from an unsafe request", + "HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request" + ], + "partial.any.html": false, + "partial.any.worker.html": false, + "post-patch.any.html": false, + "post-patch.any.worker.html": false, + "status.any.html": [ + "HTTP cache avoids going to the network if it has a fresh 200 response", + "HTTP cache avoids going to the network if it has a fresh 203 response", + "HTTP cache avoids going to the network if it has a fresh 204 response", + "HTTP cache avoids going to the network if it has a fresh 299 response", + "HTTP cache avoids going to the network if it has a fresh 400 response", + "HTTP cache avoids going to the network if it has a fresh 404 response", + "HTTP cache avoids going to the network if it has a fresh 410 response", + "HTTP cache avoids going to the network if it has a fresh 499 response", + "HTTP cache avoids going to the network if it has a fresh 500 response", + "HTTP cache avoids going to the network if it has a fresh 502 response", + "HTTP cache avoids going to the network if it has a fresh 503 response", + "HTTP cache avoids going to the network if it has a fresh 504 response", + "HTTP cache avoids going to the network if it has a fresh 599 response" + ], + "status.any.worker.html": [ + "HTTP cache avoids going to the network if it has a fresh 200 response", + "HTTP cache avoids going to the network if it has a fresh 203 response", + "HTTP cache avoids going to the network if it has a fresh 204 response", + "HTTP cache avoids going to the network if it has a fresh 299 response", + "HTTP cache avoids going to the network if it has a fresh 400 response", + "HTTP cache avoids going to the network if it has a fresh 404 response", + "HTTP cache avoids going to the network if it has a fresh 410 response", + "HTTP cache avoids going to the network if it has a fresh 499 response", + "HTTP cache avoids going to the network if it has a fresh 500 response", + "HTTP cache avoids going to the network if it has a fresh 502 response", + "HTTP cache avoids going to the network if it has a fresh 503 response", + "HTTP cache avoids going to the network if it has a fresh 504 response", + "HTTP cache avoids going to the network if it has a fresh 599 response" + ], + "vary.any.html": [ + "HTTP cache reuses Vary response when request matches", + "HTTP cache doesn't invalidate existing Vary response", + "HTTP cache doesn't pay attention to headers not listed in Vary", + "HTTP cache reuses two-way Vary response when request matches", + "HTTP cache reuses three-way Vary response when request matches", + "HTTP cache uses three-way Vary response when both request and the original request omited a variant header" + ], + "vary.any.worker.html": [ + "HTTP cache reuses Vary response when request matches", + "HTTP cache doesn't invalidate existing Vary response", + "HTTP cache doesn't pay attention to headers not listed in Vary", + "HTTP cache reuses two-way Vary response when request matches", + "HTTP cache reuses three-way Vary response when request matches", + "HTTP cache uses three-way Vary response when both request and the original request omited a variant header" + ] + }, + "local-network-access": { + "fetch-from-treat-as-public.https.window.html": false, + "fetch.https.window.html?include=baseline": false, + "fetch.https.window.html?include=from-local": false, + "fetch.https.window.html?include=from-private": false, + "fetch.https.window.html?include=from-public": false, + "fetch.window.html": false, + "iframe.tentative.https.window.html": false, + "iframe.tentative.window.html": false, + "mixed-content-fetch.tentative.https.window.html": false, + "nested-worker.https.window.html": false, + "nested-worker.window.html": false, + "preflight-cache.https.window.html": false, + "redirect.https.window.html": false, + "service-worker-background-fetch.https.window.html": false, + "service-worker-fetch.https.window.html": false, + "service-worker-update.https.window.html": false, + "service-worker.https.window.html": false, + "shared-worker-blob-fetch.https.window.html": false, + "shared-worker-blob-fetch.window.html": false, + "shared-worker-fetch.https.window.html": false, + "shared-worker-fetch.window.html": false, + "shared-worker.https.window.html": false, + "shared-worker.window.html": false, + "websocket.https.window.html": false, + "websocket.window.html": false, + "worker-blob-fetch.window.html": false, + "worker-fetch.https.window.html": false, + "worker-fetch.window.html": false, + "worker.https.window.html": false, + "worker.window.html": false, + "xhr-from-treat-as-public.https.window.html": false, + "xhr.https.window.html?include=from-local": false, + "xhr.https.window.html?include=from-private": false, + "xhr.https.window.html?include=from-public": false, + "xhr.window.html": false + }, + "metadata": { + "fetch-preflight.https.sub.any.html": [ + "Same-site fetch with preflight: sec-fetch-dest", + "Same-site fetch with preflight: sec-fetch-mode", + "Same-site fetch with preflight: sec-fetch-site", + "Cross-site fetch with preflight: sec-fetch-dest", + "Cross-site fetch with preflight: sec-fetch-mode", + "Cross-site fetch with preflight: sec-fetch-site" + ], + "fetch-preflight.https.sub.any.worker.html": [ + "Same-site fetch with preflight: sec-fetch-dest", + "Same-site fetch with preflight: sec-fetch-mode", + "Same-site fetch with preflight: sec-fetch-site", + "Cross-site fetch with preflight: sec-fetch-dest", + "Cross-site fetch with preflight: sec-fetch-mode", + "Cross-site fetch with preflight: sec-fetch-site" + ], + "fetch.https.sub.any.html": [ + "Same-origin fetch: sec-fetch-dest", + "Same-origin fetch: sec-fetch-mode", + "Same-origin fetch: sec-fetch-site", + "Same-site fetch: sec-fetch-dest", + "Same-site fetch: sec-fetch-mode", + "Same-site fetch: sec-fetch-site", + "Cross-site fetch: sec-fetch-dest", + "Cross-site fetch: sec-fetch-mode", + "Cross-site fetch: sec-fetch-site", + "Same-origin mode: sec-fetch-dest", + "Same-origin mode: sec-fetch-mode", + "Same-origin mode: sec-fetch-site", + "CORS mode: sec-fetch-dest", + "CORS mode: sec-fetch-mode", + "CORS mode: sec-fetch-site", + "no-CORS mode: sec-fetch-dest", + "no-CORS mode: sec-fetch-mode", + "no-CORS mode: sec-fetch-site" + ], + "fetch.https.sub.any.worker.html": [ + "Same-origin fetch: sec-fetch-dest", + "Same-origin fetch: sec-fetch-mode", + "Same-origin fetch: sec-fetch-site", + "Same-site fetch: sec-fetch-dest", + "Same-site fetch: sec-fetch-mode", + "Same-site fetch: sec-fetch-site", + "Cross-site fetch: sec-fetch-dest", + "Cross-site fetch: sec-fetch-mode", + "Cross-site fetch: sec-fetch-site", + "Same-origin mode: sec-fetch-dest", + "Same-origin mode: sec-fetch-mode", + "Same-origin mode: sec-fetch-site", + "CORS mode: sec-fetch-dest", + "CORS mode: sec-fetch-mode", + "CORS mode: sec-fetch-site", + "no-CORS mode: sec-fetch-dest", + "no-CORS mode: sec-fetch-mode", + "no-CORS mode: sec-fetch-site" + ], + "trailing-dot.https.sub.any.html": [ + "Fetching a resource from the same origin, but spelled with a trailing dot.: sec-fetch-dest", + "Fetching a resource from the same origin, but spelled with a trailing dot.: sec-fetch-mode", + "Fetching a resource from the same origin, but spelled with a trailing dot.: sec-fetch-site", + "Fetching a resource from the same site, but spelled with a trailing dot.: sec-fetch-dest", + "Fetching a resource from the same site, but spelled with a trailing dot.: sec-fetch-mode", + "Fetching a resource from the same site, but spelled with a trailing dot.: sec-fetch-site", + "Fetching a resource from a cross-site host, spelled with a trailing dot.: sec-fetch-dest", + "Fetching a resource from a cross-site host, spelled with a trailing dot.: sec-fetch-mode", + "Fetching a resource from a cross-site host, spelled with a trailing dot.: sec-fetch-site" + ], + "trailing-dot.https.sub.any.worker.html": [ + "Fetching a resource from the same origin, but spelled with a trailing dot.: sec-fetch-dest", + "Fetching a resource from the same origin, but spelled with a trailing dot.: sec-fetch-mode", + "Fetching a resource from the same origin, but spelled with a trailing dot.: sec-fetch-site", + "Fetching a resource from the same site, but spelled with a trailing dot.: sec-fetch-dest", + "Fetching a resource from the same site, but spelled with a trailing dot.: sec-fetch-mode", + "Fetching a resource from the same site, but spelled with a trailing dot.: sec-fetch-site", + "Fetching a resource from a cross-site host, spelled with a trailing dot.: sec-fetch-dest", + "Fetching a resource from a cross-site host, spelled with a trailing dot.: sec-fetch-mode", + "Fetching a resource from a cross-site host, spelled with a trailing dot.: sec-fetch-site" + ] + }, + "nosniff": { + "parsing-nosniff.window.html": [ + "X-Content-Type-Options%3A%20NOSNIFF", + "x-content-type-OPTIONS%3A%20nosniff", + "X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!", + "X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff", + "X-Content-Type-Options%3A%20nosniff%0D%0AX-Content-Type-Options%3A%20no", + "X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff", + "X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff", + "X-Content-Type-Options%3A%20nosniff%0D%0AX-Content-Type-Options%3A%20nosniff", + "X-Content-Type-Options%3A%20%2Cnosniff", + "X-Content-Type-Options%3A%20nosniff%0C", + "X-Content-Type-Options%3A%20nosniff%0B", + "X-Content-Type-Options%3A%20nosniff%0B%2Cnosniff", + "X-Content-Type-Options%3A%20'NosniFF'", + "X-Content-Type-Options%3A%20%22nosniFF%22", + "Content-Type-Options%3A%20nosniff" + ] + }, + "orb": { + "tentative": { + "content-range.sub.any.html": [ + "ORB should block opaque range of image/png not starting at zero, that isn't subsequent" + ], + "content-range.sub.any.worker.html": [ + "ORB should block opaque range of image/png not starting at zero, that isn't subsequent" + ], + "known-mime-type.sub.any.html": [ + "ORB should block opaque font/ttf", + "ORB should block opaque text/plain", + "ORB should block opaque application/json (non-empty)", + "ORB should block opaque application/json (empty)", + "ORB should block opaque application/json which contains non ascii characters" + ], + "known-mime-type.sub.any.worker.html": [ + "ORB should block opaque font/ttf", + "ORB should block opaque text/plain", + "ORB should block opaque application/json (non-empty)", + "ORB should block opaque application/json (empty)", + "ORB should block opaque application/json which contains non ascii characters" + ], + "nosniff.sub.any.html": [ + "ORB should block opaque text/plain with nosniff", + "ORB should block opaque-response-blocklisted MIME type with nosniff", + "ORB should block opaque response with empty Content-Type and nosniff" + ], + "nosniff.sub.any.worker.html": [ + "ORB should block opaque text/plain with nosniff", + "ORB should block opaque-response-blocklisted MIME type with nosniff", + "ORB should block opaque response with empty Content-Type and nosniff" + ], + "status.sub.any.html": false, + "status.sub.any.worker.html": false, + "unknown-mime-type.sub.any.html": true, + "unknown-mime-type.sub.any.worker.html": true + } + }, + "origin": { + "assorted.window.html": [ + "Origin header and 308 redirect", + "Origin header and GET navigation", + "Origin header and POST navigation", + "Origin header and POST same-origin navigation with Referrer-Policy no-referrer", + "Origin header and POST same-origin fetch no-cors mode with Referrer-Policy no-referrer", + "Origin header and POST same-origin fetch cors mode with Referrer-Policy no-referrer", + "Origin header and POST cross-origin navigation with Referrer-Policy no-referrer", + "Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy no-referrer", + "Origin header and POST cross-origin fetch cors mode with Referrer-Policy no-referrer", + "Origin header and GET cross-origin fetch cors mode with Referrer-Policy no-referrer", + "Origin header and POST same-origin navigation with Referrer-Policy same-origin", + "Origin header and POST same-origin fetch no-cors mode with Referrer-Policy same-origin", + "Origin header and POST same-origin fetch cors mode with Referrer-Policy same-origin", + "Origin header and POST cross-origin navigation with Referrer-Policy same-origin", + "Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy same-origin", + "Origin header and POST cross-origin fetch cors mode with Referrer-Policy same-origin", + "Origin header and GET cross-origin fetch cors mode with Referrer-Policy same-origin", + "Origin header and POST same-origin navigation with Referrer-Policy origin-when-cross-origin", + "Origin header and POST same-origin fetch no-cors mode with Referrer-Policy origin-when-cross-origin", + "Origin header and POST same-origin fetch cors mode with Referrer-Policy origin-when-cross-origin", + "Origin header and POST cross-origin navigation with Referrer-Policy origin-when-cross-origin", + "Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy origin-when-cross-origin", + "Origin header and POST cross-origin fetch cors mode with Referrer-Policy origin-when-cross-origin", + "Origin header and GET cross-origin fetch cors mode with Referrer-Policy origin-when-cross-origin", + "Origin header and POST same-origin navigation with Referrer-Policy no-referrer-when-downgrade", + "Origin header and POST same-origin fetch no-cors mode with Referrer-Policy no-referrer-when-downgrade", + "Origin header and POST same-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade", + "Origin header and POST cross-origin navigation with Referrer-Policy no-referrer-when-downgrade", + "Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy no-referrer-when-downgrade", + "Origin header and POST cross-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade", + "Origin header and GET cross-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade", + "Origin header and POST same-origin navigation with Referrer-Policy unsafe-url", + "Origin header and POST same-origin fetch no-cors mode with Referrer-Policy unsafe-url", + "Origin header and POST same-origin fetch cors mode with Referrer-Policy unsafe-url", + "Origin header and POST cross-origin navigation with Referrer-Policy unsafe-url", + "Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy unsafe-url", + "Origin header and POST cross-origin fetch cors mode with Referrer-Policy unsafe-url", + "Origin header and GET cross-origin fetch cors mode with Referrer-Policy unsafe-url" + ] + }, + "redirects": { + "data.window.html": false + }, + "security": { + "1xx-response.any.html": true, + "1xx-response.any.worker.html": true + }, + "stale-while-revalidate": { + "fetch.any.html": false, + "fetch.any.worker.html": false } }, "FileAPI": { @@ -3327,11 +5152,12 @@ "Blob-slice-overflow.any.worker.html": true, "Blob-slice.any.html": true, "Blob-slice.any.worker.html": true, - "Blob-stream.any.html": true, - "Blob-stream.any.worker.html": true, + "Blob-stream.any.html": false, + "Blob-stream.any.worker.html": false, "Blob-text.any.html": true, "Blob-text.any.worker.html": true, - "Blob-in-worker.worker.html": true + "Blob-in-worker.worker.html": true, + "Blob-constructor-dom.window.html": false }, "file": { "File-constructor.any.html": true, @@ -3352,7 +5178,13 @@ "url-format.any.html": true, "url-format.any.worker.html": true, "url-with-fetch.any.html": true, - "url-with-fetch.any.worker.html": true + "url-with-fetch.any.worker.html": true, + "url-charset.window.html": false, + "url-in-tags-revoke.window.html": false, + "url-in-tags.window.html": false, + "url-reload.window.html": false, + "url-with-xhr.any.html": false, + "url-with-xhr.any.worker.html": false }, "reading-data-section": { "Determining-Encoding.any.html": true, @@ -3446,7 +5278,10 @@ "semantics": { "scripting-1": { "the-script-element": { - "import-assertions": true, + "import-assertions": { + "dynamic-import-with-assertion-argument.any.html": true, + "dynamic-import-with-assertion-argument.any.worker.html": true + }, "json-module": { "charset-bom.any.html": [ "UTF-16BE BOM should result in parse error in JSON module script", @@ -3468,7 +5303,13 @@ ] }, "microtasks": { - "checkpoint-importScripts.any.worker.html": true + "checkpoint-importScripts.any.worker.html": true, + "evaluation-order-1-nothrow-importScripts.any.worker.html": true, + "evaluation-order-1-nothrow-static-import.any.worker-module.html": true, + "evaluation-order-1-throw-importScripts.any.worker.html": false, + "evaluation-order-1-throw-static-import.any.worker-module.html": false, + "evaluation-order-2.any.worker-module.html": false, + "evaluation-order-3.any.worker-module.html": true }, "module": { "dynamic-import": { @@ -3480,13 +5321,82 @@ ], "blob-url.any.worker-module.html": [ "Revoking a blob URL immediately after calling import will not fail" - ] + ], + "blob-url-workers.window.html": [ + "A revoked blob URL will not resolve in a worker even if it's in the window's module graph" + ], + "microtasks": { + "basic.any.html": [ + "import() should not drain the microtask queue if it fails during specifier resolution", + "import() should not drain the microtask queue when loading an already loaded module" + ], + "basic.any.worker.html": [ + "import() should not drain the microtask queue if it fails during specifier resolution", + "import() should not drain the microtask queue when loading an already loaded module" + ], + "css-import-in-worker.any.worker.html": true, + "with-import-assertions.any.html": true, + "with-import-assertions.any.worker.html": true + } }, "import-meta": { - "import-meta-url.any.worker-module.html": true + "import-meta-url.any.worker-module.html": true, + "import-meta-object.any.worker-module.html": true, + "import-meta-resolve.any.worker-module.html": [ + "import.meta.resolve is a function with the right properties", + "import.meta.resolve is not a constructor" + ] } } } + }, + "document-metadata": { + "the-style-element": { + "mutations.window.html": false + } + }, + "embedded-content": { + "the-iframe-element": { + "cross-origin-to-whom-part-2.window.html": false, + "cross-origin-to-whom.window.html": false, + "sandbox-top-navigation-child-special-cases.tentative.sub.window.html": false, + "sandbox-top-navigation-child.tentative.sub.window.html": false, + "sandbox-top-navigation-escalate-privileges.tentative.sub.window.html": false, + "sandbox-top-navigation-grandchild.tentative.sub.window.html": false + }, + "the-img-element": { + "historical-progress-event.window.html": false + } + }, + "forms": { + "form-control-infrastructure": { + "association.window.html": false + }, + "form-submission-0": { + "FormDataEvent.window.html": false, + "SubmitEvent.window.html": false, + "form-data-set-empty-file.window.html": false, + "historical.window.html": false, + "multipart-formdata.window.html": false, + "submission-checks.window.html": false, + "text-plain.window.html": false, + "urlencoded2.window.html": false + }, + "the-output-element": { + "mutations.window.html": false + }, + "the-progress-element": { + "progress.window.html": false + }, + "the-textarea-element": { + "wrapping-transformation.window.html": false + } + }, + "links": { + "following-hyperlinks": { + "activation-behavior.window.html": false, + "active-document.window.html": false + } } }, "webappapis": { @@ -3515,11 +5425,35 @@ "microtask-queuing": { "queue-microtask-exceptions.any.html": true, "queue-microtask.any.html": true, - "queue-microtask.any.worker.html": true + "queue-microtask.any.worker.html": true, + "queue-microtask-exceptions.any.worker.html": true, + "queue-microtask.window.html": false }, "scripting": { "reporterror.any.html": false, - "reporterror.any.worker.html": false + "reporterror.any.worker.html": false, + "event-loops": { + "fully_active_document.window.html": false + }, + "events": { + "event-handler-processing-algorithm-error": { + "synthetic-errorevent-click.worker.html": true, + "workerglobalscope-runtime-error.worker.html": true, + "workerglobalscope-synthetic-errorevent.worker.html": true, + "workerglobalscope-synthetic-event.worker.html": true + }, + "event-handler-removal.window.html": false, + "event-handler-spec-example.window.html": false, + "invalid-uncompiled-raw-handler-compiled-late.window.html": false, + "invalid-uncompiled-raw-handler-compiled-once.window.html": false, + "invalid-uncompiled-raw-handler-keeps-position.window.html": false + }, + "processing-model-2": { + "integration-with-the-javascript-agent-formalism": { + "requires-failure.https.any.html": false, + "requires-success.any.worker.html": true + } + } }, "structured-clone": { "structured-clone.any.html": [ @@ -3546,7 +5480,18 @@ "Serializing a non-serializable platform object fails", "An object whose interface is deleted from the global must still deserialize", "A subclass instance will deserialize as its closest serializable superclass", - "A subclass instance will be received as its closest transferable superclass" + "Resizable ArrayBuffer", + "Growable SharedArrayBuffer", + "Length-tracking TypedArray", + "Length-tracking DataView", + "Serializing OOB TypedArray throws", + "Serializing OOB DataView throws", + "A subclass instance will be received as its closest transferable superclass", + "Resizable ArrayBuffer is transferable", + "Length-tracking TypedArray is transferable", + "Length-tracking DataView is transferable", + "Transferring OOB TypedArray throws", + "Transferring OOB DataView throws" ], "structured-clone.any.worker.html": [ "Blob basic", @@ -3572,8 +5517,274 @@ "Serializing a non-serializable platform object fails", "An object whose interface is deleted from the global must still deserialize", "A subclass instance will deserialize as its closest serializable superclass", - "A subclass instance will be received as its closest transferable superclass" + "Resizable ArrayBuffer", + "Growable SharedArrayBuffer", + "Length-tracking TypedArray", + "Length-tracking DataView", + "Serializing OOB TypedArray throws", + "Serializing OOB DataView throws", + "A subclass instance will be received as its closest transferable superclass", + "Resizable ArrayBuffer is transferable", + "Length-tracking TypedArray is transferable", + "Length-tracking DataView is transferable", + "Transferring OOB TypedArray throws", + "Transferring OOB DataView throws" ] + }, + "dynamic-markup-insertion": { + "closing-the-input-stream": { + "load-event-after-location-set-during-write.window.html": false + }, + "document-write": { + "contentType.window.html": false, + "during-readystatechange.window.html": false + }, + "opening-the-input-stream": { + "abort-refresh-immediate.window.html": false, + "abort-refresh-multisecond-header.window.html": false, + "abort-refresh-multisecond-meta.window.html": false, + "abort-while-navigating.window.html": false, + "abort.sub.window.html": false, + "aborted-parser.window.html": false, + "active.window.html": false, + "bailout-exception-vs-return-origin.sub.window.html": false, + "bailout-exception-vs-return-xml.window.html": false, + "bailout-side-effects-ignore-opens-during-unload.window.html": false, + "bailout-side-effects-same-origin-domain.sub.window.html": false, + "bailout-side-effects-synchronous-script.window.html": false, + "bailout-side-effects-xml.window.html": false, + "beforeunload.window.html": false, + "crbug-583445-regression.window.html": false, + "custom-element.window.html": false, + "encoding.window.html": false, + "event-listeners.window.html": false, + "history-state.window.html": false, + "history.window.html": false, + "ignore-opens-during-unload.window.html": false, + "mutation-events.window.html": false, + "mutation-observer.window.html": false, + "no-new-global.window.html": false, + "quirks.window.html": false, + "readiness.window.html": false, + "reload.window.html": false, + "remove-initial-about-blankness.window.html": false, + "tasks.window.html": false, + "type-argument-plaintext.window.html": false, + "type-argument.window.html": false, + "unload.window.html": false, + "url-entry-document-sync-call.window.html": false, + "url-entry-document.window.html": false, + "url-fragment.window.html": false, + "url.window.html": false + } + }, + "system-state-and-capabilities": { + "the-navigator-object": { + "clientinformation.window.html": false, + "historical.https.window.html": [ + "registerProtocolHandler has no third argument" + ], + "navigator.any.html": [ + "appCodeName", + "appName", + "appVersion", + "platform", + "product", + "productSub", + "userAgent value", + "vendor", + "vendorSub", + "taintEnabled", + "oscpu" + ], + "navigator.any.worker.html": false, + "per-global.window.html": false + } + } + }, + "cross-origin-embedder-policy": { + "credentialless": { + "cache-storage.https.window.html?dedicated_worker": false, + "cache-storage.https.window.html?document": false, + "cache-storage.https.window.html?service_worker": false, + "cache-storage.https.window.html?shared_worker": false, + "cache.window.html": false, + "cross-origin-isolated.window.html": false, + "dedicated-worker.https.window.html": false, + "fetch.https.window.html": false, + "iframe-coep-credentialless.https.window.html?1-4": false, + "iframe-coep-credentialless.https.window.html?5-9": false, + "iframe-coep-credentialless.https.window.html?9-last": false, + "iframe-coep-none.https.window.html?1-4": false, + "iframe-coep-none.https.window.html?5-last": false, + "iframe-coep-require-corp.https.window.html?1-4": false, + "iframe-coep-require-corp.https.window.html?5-9": false, + "iframe-coep-require-corp.https.window.html?9-last": false, + "iframe.window.html": false, + "image.https.window.html": false, + "link.https.window.html": false, + "redirect.window.html": false, + "reporting-navigation.https.window.html": false, + "reporting-subresource-corp.https.window.html": false, + "script.https.window.html": false, + "service-worker-coep-credentialless-proxy.https.window.html": false, + "service-worker-coep-none-proxy.https.window.html": false, + "service-worker.https.window.html": false, + "shared-worker.https.window.html": false, + "video.https.window.html": false + }, + "cross-origin-isolated-permission-iframe.https.window.html": false, + "cross-origin-isolated-permission-worker.https.window.html": false, + "reflection-credentialless.tentative.https.any.html": false, + "reflection-credentialless.tentative.https.any.worker.html": false, + "reflection-require-corp.tentative.https.any.html": false, + "reflection-require-corp.tentative.https.any.worker.html": false, + "reflection-unsafe-none.tentative.https.any.html": false, + "reflection-unsafe-none.tentative.https.any.worker.html": false, + "reporting-to-document-reporting-endpoint.https.window.html": false + }, + "dom": { + "elements": { + "global-attributes": { + "dataset-binding.window.html": false + }, + "the-innertext-and-outertext-properties": { + "multiple-text-nodes.window.html": false + } + }, + "idlharness-shadowrealm.window.html": false, + "idlharness.worker.html": false, + "self-origin.any.html": false, + "self-origin.any.worker.html": false + }, + "infrastructure": { + "safe-passing-of-structured-data": { + "messagechannel.any.html": [ + "Blob basic", + "Blob unpaired high surrogate (invalid utf-8)", + "Blob unpaired low surrogate (invalid utf-8)", + "Blob paired surrogates (invalid utf-8)", + "Blob empty", + "Blob NUL", + "Array Blob object, Blob basic", + "Array Blob object, Blob unpaired high surrogate (invalid utf-8)", + "Array Blob object, Blob unpaired low surrogate (invalid utf-8)", + "Array Blob object, Blob paired surrogates (invalid utf-8)", + "Array Blob object, Blob empty", + "Array Blob object, Blob NUL", + "Array Blob object, two Blobs", + "Object Blob object, Blob basic", + "Object Blob object, Blob unpaired high surrogate (invalid utf-8)", + "Object Blob object, Blob unpaired low surrogate (invalid utf-8)", + "Object Blob object, Blob paired surrogates (invalid utf-8)", + "Object Blob object, Blob empty", + "Object Blob object, Blob NUL", + "File basic", + "FileList empty", + "Array FileList object, FileList empty", + "Object FileList object, FileList empty", + "ImageData 1x1 transparent black", + "ImageData 1x1 non-transparent non-black", + "Array ImageData object, ImageData 1x1 transparent black", + "Array ImageData object, ImageData 1x1 non-transparent non-black", + "Object ImageData object, ImageData 1x1 transparent black", + "Object ImageData object, ImageData 1x1 non-transparent non-black", + "ImageBitmap 1x1 transparent black", + "ImageBitmap 1x1 non-transparent non-black", + "Array ImageBitmap object, ImageBitmap 1x1 transparent black", + "Array ImageBitmap object, ImageBitmap 1x1 transparent non-black", + "Object ImageBitmap object, ImageBitmap 1x1 transparent black", + "Object ImageBitmap object, ImageBitmap 1x1 transparent non-black", + "Serializing a non-serializable platform object fails", + "An object whose interface is deleted from the global must still deserialize", + "A subclass instance will deserialize as its closest serializable superclass", + "Resizable ArrayBuffer", + "Growable SharedArrayBuffer", + "Length-tracking TypedArray", + "Length-tracking DataView", + "Serializing OOB TypedArray throws", + "Serializing OOB DataView throws", + "A subclass instance will be received as its closest transferable superclass", + "Resizable ArrayBuffer is transferable", + "Length-tracking TypedArray is transferable", + "Length-tracking DataView is transferable", + "Transferring OOB TypedArray throws", + "Transferring OOB DataView throws" + ], + "messagechannel.any.worker.html": [ + "Blob basic", + "Blob unpaired high surrogate (invalid utf-8)", + "Blob unpaired low surrogate (invalid utf-8)", + "Blob paired surrogates (invalid utf-8)", + "Blob empty", + "Blob NUL", + "Array Blob object, Blob basic", + "Array Blob object, Blob unpaired high surrogate (invalid utf-8)", + "Array Blob object, Blob unpaired low surrogate (invalid utf-8)", + "Array Blob object, Blob paired surrogates (invalid utf-8)", + "Array Blob object, Blob empty", + "Array Blob object, Blob NUL", + "Array Blob object, two Blobs", + "Object Blob object, Blob basic", + "Object Blob object, Blob unpaired high surrogate (invalid utf-8)", + "Object Blob object, Blob unpaired low surrogate (invalid utf-8)", + "Object Blob object, Blob paired surrogates (invalid utf-8)", + "Object Blob object, Blob empty", + "Object Blob object, Blob NUL", + "File basic", + "Serializing a non-serializable platform object fails", + "An object whose interface is deleted from the global must still deserialize", + "A subclass instance will deserialize as its closest serializable superclass", + "Resizable ArrayBuffer", + "Growable SharedArrayBuffer", + "Length-tracking TypedArray", + "Length-tracking DataView", + "Serializing OOB TypedArray throws", + "Serializing OOB DataView throws", + "A subclass instance will be received as its closest transferable superclass", + "Resizable ArrayBuffer is transferable", + "Length-tracking TypedArray is transferable", + "Length-tracking DataView is transferable", + "Transferring OOB TypedArray throws", + "Transferring OOB DataView throws" + ], + "shared-array-buffers": { + "no-coop-coep.https.any.html": false, + "no-coop-coep.https.any.worker.html": false, + "serialization-via-idb.any.html": false, + "serialization-via-idb.any.worker.html": false, + "serialization-via-notifications-api.any.html": false, + "serialization-via-notifications-api.any.worker.html": false + }, + "structured-cloning-error-stack-optional.sub.window.html": [ + "page-created Error (cross-site iframe)", + "page-created Error (same-origin iframe)", + "page-created DOMException (structuredClone())", + "page-created DOMException (cross-site iframe)", + "page-created DOMException (same-origin iframe)", + "JS-engine-created TypeError (cross-site iframe)", + "JS-engine-created TypeError (same-origin iframe)", + "web API-created TypeError (cross-site iframe)", + "web API-created TypeError (same-origin iframe)", + "web API-created DOMException (cross-site iframe)", + "web API-created DOMException (same-origin iframe)", + "page-created DOMException (worker)" + ], + "transfer-errors.window.html": false, + "window-postmessage.window.html": false + }, + "urls": { + "terminology-0": { + "document-base-url-about-srcdoc.https.window.html": false, + "document-base-url-changes-about-srcdoc.https.window.html": false, + "document-base-url-changes-after-nav-about-srcdoc.https.window.html": false, + "document-base-url-initiated-grand-parent.https.window.html": false + } + } + }, + "interaction": { + "focus": { + "composed.window.html": false } } }, @@ -3616,7 +5827,12 @@ "symbol-props.window.html": [ "localStorage: defineProperty not configurable", "sessionStorage: defineProperty not configurable" - ] + ], + "localstorage-cross-origin-iframe.tentative.https.window.html": false, + "storage_local_window_open.window.html": false, + "storage_session_window_noopener.window.html": false, + "storage_session_window_open.window.html": false, + "storage_session_window_reopen.window.html": false }, "webmessaging": { "broadcastchannel": { @@ -3627,7 +5843,8 @@ "postMessage results in correct event" ], "interface.any.html": true, - "interface.any.worker.html": true + "interface.any.worker.html": true, + "origin.window.html": false }, "message-channels": { "basics.any.html": true, @@ -3643,7 +5860,10 @@ "user-activation.tentative.any.html": false, "user-activation.tentative.any.worker.html": false, "worker-post-after-close.any.html": false, - "worker.any.html": false + "worker.any.html": false, + "detached-iframe.window.html": false, + "worker-post-after-close.any.worker.html": false, + "worker.any.worker.html": false }, "Channel_postMessage_Blob.any.html": false, "Channel_postMessage_Blob.any.worker.html": false, @@ -3674,7 +5894,8 @@ "MessagePort_initial_disabled.any.html": true, "MessagePort_initial_disabled.any.worker.html": true, "MessagePort_onmessage_start.any.html": true, - "MessagePort_onmessage_start.any.worker.html": true + "MessagePort_onmessage_start.any.worker.html": true, + "postMessage_MessagePorts_xsite.sub.window.html": false }, "xhr": { "formdata": { @@ -3693,8 +5914,380 @@ "set-blob.any.html": true, "set-blob.any.worker.html": true, "set.any.html": true, - "set.any.worker.html": true - } + "set.any.worker.html": true, + "iteration.any.html": true, + "iteration.any.worker.html": true + }, + "XMLHttpRequest-withCredentials.any.html": false, + "XMLHttpRequest-withCredentials.any.worker.html": false, + "abort-after-receive.any.html": false, + "abort-after-receive.any.worker.html": false, + "abort-after-send.any.html": false, + "abort-after-send.any.worker.html": false, + "abort-after-stop.window.html": false, + "abort-after-timeout.any.html": false, + "abort-after-timeout.any.worker.html": false, + "abort-during-done.window.html": false, + "abort-during-headers-received.window.html": false, + "abort-during-loading.window.html": false, + "abort-during-open.any.html": false, + "abort-during-open.any.worker.html": false, + "abort-during-readystatechange.any.html": false, + "abort-during-readystatechange.any.worker.html": false, + "abort-during-unsent.any.html": false, + "abort-during-unsent.any.worker.html": false, + "abort-during-upload.any.html": false, + "abort-during-upload.any.worker.html": false, + "abort-event-abort.any.html": false, + "abort-event-abort.any.worker.html": false, + "abort-event-listeners.any.html": false, + "abort-event-listeners.any.worker.html": false, + "abort-event-loadend.any.html": false, + "abort-event-loadend.any.worker.html": false, + "abort-upload-event-abort.any.html": false, + "abort-upload-event-abort.any.worker.html": false, + "abort-upload-event-loadend.any.html": false, + "abort-upload-event-loadend.any.worker.html": false, + "access-control-and-redirects-async-same-origin.any.html": false, + "access-control-and-redirects-async-same-origin.any.worker.html": false, + "access-control-and-redirects-async.any.html": false, + "access-control-and-redirects-async.any.worker.html": false, + "access-control-and-redirects.any.html": false, + "access-control-and-redirects.any.worker.html": false, + "access-control-basic-allow-access-control-origin-header.any.html": false, + "access-control-basic-allow-access-control-origin-header.any.worker.html": false, + "access-control-basic-allow-async.any.html": false, + "access-control-basic-allow-async.any.worker.html": false, + "access-control-basic-allow-non-cors-safelisted-method-async.any.html": false, + "access-control-basic-allow-non-cors-safelisted-method-async.any.worker.html": false, + "access-control-basic-allow-non-cors-safelisted-method.any.html": false, + "access-control-basic-allow-non-cors-safelisted-method.any.worker.html": false, + "access-control-basic-allow-preflight-cache-invalidation-by-header.any.html": false, + "access-control-basic-allow-preflight-cache-invalidation-by-header.any.worker.html": false, + "access-control-basic-allow-preflight-cache-invalidation-by-method.any.html": false, + "access-control-basic-allow-preflight-cache-invalidation-by-method.any.worker.html": false, + "access-control-basic-allow-preflight-cache-timeout.any.html": false, + "access-control-basic-allow-preflight-cache-timeout.any.worker.html": false, + "access-control-basic-allow-preflight-cache.any.html": false, + "access-control-basic-allow-preflight-cache.any.worker.html": false, + "access-control-basic-allow-star.any.html": false, + "access-control-basic-allow-star.any.worker.html": false, + "access-control-basic-allow.any.html": false, + "access-control-basic-allow.any.worker.html": false, + "access-control-preflight-request-allow-headers-returns-star.any.html": false, + "access-control-preflight-request-allow-headers-returns-star.any.worker.html": false, + "access-control-preflight-request-header-returns-origin.any.html": false, + "access-control-preflight-request-header-returns-origin.any.worker.html": false, + "content-type-unmodified.any.html": false, + "content-type-unmodified.any.worker.html": false, + "cors-expose-star.sub.any.html": false, + "cors-expose-star.sub.any.worker.html": false, + "cors-upload.any.html": false, + "cors-upload.any.worker.html": false, + "event-abort.any.html": false, + "event-abort.any.worker.html": false, + "event-error.sub.any.html": false, + "event-error.sub.any.worker.html": false, + "event-load.any.html": false, + "event-load.any.worker.html": false, + "event-loadend.any.html": false, + "event-loadend.any.worker.html": false, + "event-loadstart-upload.any.html": false, + "event-loadstart-upload.any.worker.html": false, + "event-loadstart.any.html": false, + "event-loadstart.any.worker.html": false, + "event-progress.any.html": false, + "event-progress.any.worker.html": false, + "event-readystate-sync-open.any.html": false, + "event-readystate-sync-open.any.worker.html": false, + "event-readystatechange-loaded.any.html": false, + "event-readystatechange-loaded.any.worker.html": false, + "event-timeout-order.any.html": false, + "event-timeout-order.any.worker.html": false, + "event-timeout.any.html": false, + "event-timeout.any.worker.html": false, + "event-upload-progress-crossorigin.any.html": false, + "event-upload-progress-crossorigin.any.worker.html": false, + "event-upload-progress.any.html": false, + "event-upload-progress.any.worker.html": false, + "getresponseheader.any.html": false, + "getresponseheader.any.worker.html": false, + "idlharness.any.html": [ + "XMLHttpRequestEventTarget interface: existence and properties of interface object", + "XMLHttpRequestEventTarget interface object length", + "XMLHttpRequestEventTarget interface object name", + "XMLHttpRequestEventTarget interface: existence and properties of interface prototype object", + "XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's \"constructor\" property", + "XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's @@unscopables property", + "XMLHttpRequestEventTarget interface: attribute onloadstart", + "XMLHttpRequestEventTarget interface: attribute onprogress", + "XMLHttpRequestEventTarget interface: attribute onabort", + "XMLHttpRequestEventTarget interface: attribute onerror", + "XMLHttpRequestEventTarget interface: attribute onload", + "XMLHttpRequestEventTarget interface: attribute ontimeout", + "XMLHttpRequestEventTarget interface: attribute onloadend", + "XMLHttpRequestUpload interface: existence and properties of interface object", + "XMLHttpRequestUpload interface object length", + "XMLHttpRequestUpload interface object name", + "XMLHttpRequestUpload interface: existence and properties of interface prototype object", + "XMLHttpRequestUpload interface: existence and properties of interface prototype object's \"constructor\" property", + "XMLHttpRequestUpload interface: existence and properties of interface prototype object's @@unscopables property", + "XMLHttpRequestUpload must be primary interface of (new XMLHttpRequest()).upload", + "Stringification of (new XMLHttpRequest()).upload", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onloadstart\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onprogress\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onabort\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onerror\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onload\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"ontimeout\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onloadend\" with the proper type", + "XMLHttpRequest interface: existence and properties of interface object", + "XMLHttpRequest interface object length", + "XMLHttpRequest interface object name", + "XMLHttpRequest interface: existence and properties of interface prototype object", + "XMLHttpRequest interface: existence and properties of interface prototype object's \"constructor\" property", + "XMLHttpRequest interface: existence and properties of interface prototype object's @@unscopables property", + "XMLHttpRequest interface: attribute onreadystatechange", + "XMLHttpRequest interface: constant UNSENT on interface object", + "XMLHttpRequest interface: constant UNSENT on interface prototype object", + "XMLHttpRequest interface: constant OPENED on interface object", + "XMLHttpRequest interface: constant OPENED on interface prototype object", + "XMLHttpRequest interface: constant HEADERS_RECEIVED on interface object", + "XMLHttpRequest interface: constant HEADERS_RECEIVED on interface prototype object", + "XMLHttpRequest interface: constant LOADING on interface object", + "XMLHttpRequest interface: constant LOADING on interface prototype object", + "XMLHttpRequest interface: constant DONE on interface object", + "XMLHttpRequest interface: constant DONE on interface prototype object", + "XMLHttpRequest interface: attribute readyState", + "XMLHttpRequest interface: operation open(ByteString, USVString)", + "XMLHttpRequest interface: operation open(ByteString, USVString, boolean, optional USVString?, optional USVString?)", + "XMLHttpRequest interface: operation setRequestHeader(ByteString, ByteString)", + "XMLHttpRequest interface: attribute timeout", + "XMLHttpRequest interface: attribute withCredentials", + "XMLHttpRequest interface: attribute upload", + "XMLHttpRequest interface: operation send(optional (Document or XMLHttpRequestBodyInit)?)", + "XMLHttpRequest interface: operation abort()", + "XMLHttpRequest interface: attribute responseURL", + "XMLHttpRequest interface: attribute status", + "XMLHttpRequest interface: attribute statusText", + "XMLHttpRequest interface: operation getResponseHeader(ByteString)", + "XMLHttpRequest interface: operation getAllResponseHeaders()", + "XMLHttpRequest interface: operation overrideMimeType(DOMString)", + "XMLHttpRequest interface: attribute responseType", + "XMLHttpRequest interface: attribute response", + "XMLHttpRequest interface: attribute responseText", + "XMLHttpRequest interface: attribute responseXML", + "XMLHttpRequest must be primary interface of new XMLHttpRequest()", + "Stringification of new XMLHttpRequest()", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"onreadystatechange\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"UNSENT\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"OPENED\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"HEADERS_RECEIVED\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"LOADING\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"DONE\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"readyState\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"open(ByteString, USVString)\" with the proper type", + "XMLHttpRequest interface: calling open(ByteString, USVString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"open(ByteString, USVString, boolean, optional USVString?, optional USVString?)\" with the proper type", + "XMLHttpRequest interface: calling open(ByteString, USVString, boolean, optional USVString?, optional USVString?) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"setRequestHeader(ByteString, ByteString)\" with the proper type", + "XMLHttpRequest interface: calling setRequestHeader(ByteString, ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"timeout\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"withCredentials\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"upload\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"send(optional (Document or XMLHttpRequestBodyInit)?)\" with the proper type", + "XMLHttpRequest interface: calling send(optional (Document or XMLHttpRequestBodyInit)?) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"abort()\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"responseURL\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"status\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"statusText\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"getResponseHeader(ByteString)\" with the proper type", + "XMLHttpRequest interface: calling getResponseHeader(ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"getAllResponseHeaders()\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"overrideMimeType(DOMString)\" with the proper type", + "XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"responseType\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"response\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"responseText\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"responseXML\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onloadstart\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onprogress\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onabort\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onerror\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onload\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"ontimeout\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onloadend\" with the proper type", + "FormData interface object length", + "FormData interface: operation append(USVString, USVString)", + "FormData interface: operation append(USVString, Blob, optional USVString)", + "FormData interface: operation set(USVString, USVString)", + "FormData interface: operation set(USVString, Blob, optional USVString)", + "ProgressEvent interface: attribute lengthComputable", + "ProgressEvent interface: attribute loaded", + "ProgressEvent interface: attribute total", + "ProgressEvent interface: new ProgressEvent(\"type\") must inherit property \"lengthComputable\" with the proper type", + "ProgressEvent interface: new ProgressEvent(\"type\") must inherit property \"loaded\" with the proper type", + "ProgressEvent interface: new ProgressEvent(\"type\") must inherit property \"total\" with the proper type", + "idl_test setup" + ], + "idlharness.any.worker.html": [ + "XMLHttpRequestEventTarget interface: existence and properties of interface object", + "XMLHttpRequestEventTarget interface object length", + "XMLHttpRequestEventTarget interface object name", + "XMLHttpRequestEventTarget interface: existence and properties of interface prototype object", + "XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's \"constructor\" property", + "XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's @@unscopables property", + "XMLHttpRequestEventTarget interface: attribute onloadstart", + "XMLHttpRequestEventTarget interface: attribute onprogress", + "XMLHttpRequestEventTarget interface: attribute onabort", + "XMLHttpRequestEventTarget interface: attribute onerror", + "XMLHttpRequestEventTarget interface: attribute onload", + "XMLHttpRequestEventTarget interface: attribute ontimeout", + "XMLHttpRequestEventTarget interface: attribute onloadend", + "XMLHttpRequestUpload interface: existence and properties of interface object", + "XMLHttpRequestUpload interface object length", + "XMLHttpRequestUpload interface object name", + "XMLHttpRequestUpload interface: existence and properties of interface prototype object", + "XMLHttpRequestUpload interface: existence and properties of interface prototype object's \"constructor\" property", + "XMLHttpRequestUpload interface: existence and properties of interface prototype object's @@unscopables property", + "XMLHttpRequestUpload must be primary interface of (new XMLHttpRequest()).upload", + "Stringification of (new XMLHttpRequest()).upload", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onloadstart\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onprogress\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onabort\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onerror\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onload\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"ontimeout\" with the proper type", + "XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property \"onloadend\" with the proper type", + "XMLHttpRequest interface: existence and properties of interface object", + "XMLHttpRequest interface object length", + "XMLHttpRequest interface object name", + "XMLHttpRequest interface: existence and properties of interface prototype object", + "XMLHttpRequest interface: existence and properties of interface prototype object's \"constructor\" property", + "XMLHttpRequest interface: existence and properties of interface prototype object's @@unscopables property", + "XMLHttpRequest interface: attribute onreadystatechange", + "XMLHttpRequest interface: constant UNSENT on interface object", + "XMLHttpRequest interface: constant UNSENT on interface prototype object", + "XMLHttpRequest interface: constant OPENED on interface object", + "XMLHttpRequest interface: constant OPENED on interface prototype object", + "XMLHttpRequest interface: constant HEADERS_RECEIVED on interface object", + "XMLHttpRequest interface: constant HEADERS_RECEIVED on interface prototype object", + "XMLHttpRequest interface: constant LOADING on interface object", + "XMLHttpRequest interface: constant LOADING on interface prototype object", + "XMLHttpRequest interface: constant DONE on interface object", + "XMLHttpRequest interface: constant DONE on interface prototype object", + "XMLHttpRequest interface: attribute readyState", + "XMLHttpRequest interface: operation open(ByteString, USVString)", + "XMLHttpRequest interface: operation open(ByteString, USVString, boolean, optional USVString?, optional USVString?)", + "XMLHttpRequest interface: operation setRequestHeader(ByteString, ByteString)", + "XMLHttpRequest interface: attribute timeout", + "XMLHttpRequest interface: attribute withCredentials", + "XMLHttpRequest interface: attribute upload", + "XMLHttpRequest interface: operation send(optional (Document or XMLHttpRequestBodyInit)?)", + "XMLHttpRequest interface: operation abort()", + "XMLHttpRequest interface: attribute responseURL", + "XMLHttpRequest interface: attribute status", + "XMLHttpRequest interface: attribute statusText", + "XMLHttpRequest interface: operation getResponseHeader(ByteString)", + "XMLHttpRequest interface: operation getAllResponseHeaders()", + "XMLHttpRequest interface: operation overrideMimeType(DOMString)", + "XMLHttpRequest interface: attribute responseType", + "XMLHttpRequest interface: attribute response", + "XMLHttpRequest interface: attribute responseText", + "XMLHttpRequest interface: member responseXML", + "XMLHttpRequest must be primary interface of new XMLHttpRequest()", + "Stringification of new XMLHttpRequest()", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"onreadystatechange\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"UNSENT\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"OPENED\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"HEADERS_RECEIVED\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"LOADING\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"DONE\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"readyState\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"open(ByteString, USVString)\" with the proper type", + "XMLHttpRequest interface: calling open(ByteString, USVString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"open(ByteString, USVString, boolean, optional USVString?, optional USVString?)\" with the proper type", + "XMLHttpRequest interface: calling open(ByteString, USVString, boolean, optional USVString?, optional USVString?) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"setRequestHeader(ByteString, ByteString)\" with the proper type", + "XMLHttpRequest interface: calling setRequestHeader(ByteString, ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"timeout\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"withCredentials\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"upload\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"send(optional (Document or XMLHttpRequestBodyInit)?)\" with the proper type", + "XMLHttpRequest interface: calling send(optional (Document or XMLHttpRequestBodyInit)?) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"abort()\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"responseURL\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"status\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"statusText\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"getResponseHeader(ByteString)\" with the proper type", + "XMLHttpRequest interface: calling getResponseHeader(ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"getAllResponseHeaders()\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"overrideMimeType(DOMString)\" with the proper type", + "XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"responseType\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"response\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must inherit property \"responseText\" with the proper type", + "XMLHttpRequest interface: new XMLHttpRequest() must not have property \"responseXML\"", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onloadstart\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onprogress\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onabort\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onerror\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onload\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"ontimeout\" with the proper type", + "XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property \"onloadend\" with the proper type", + "FormData interface object length", + "FormData interface: operation append(USVString, USVString)", + "FormData interface: operation append(USVString, Blob, optional USVString)", + "FormData interface: operation set(USVString, USVString)", + "FormData interface: operation set(USVString, Blob, optional USVString)", + "ProgressEvent interface: attribute lengthComputable", + "ProgressEvent interface: attribute loaded", + "ProgressEvent interface: attribute total", + "ProgressEvent interface: new ProgressEvent(\"type\") must inherit property \"lengthComputable\" with the proper type", + "ProgressEvent interface: new ProgressEvent(\"type\") must inherit property \"loaded\" with the proper type", + "ProgressEvent interface: new ProgressEvent(\"type\") must inherit property \"total\" with the proper type" + ], + "json.any.html": false, + "json.any.worker.html": false, + "open-after-stop.window.html": false, + "over-1-meg.any.html": false, + "over-1-meg.any.worker.html": false, + "overridemimetype-done-state.any.html": false, + "overridemimetype-done-state.any.worker.html": false, + "overridemimetype-edge-cases.window.html": false, + "overridemimetype-unsent-state-force-shiftjis.any.html": false, + "overridemimetype-unsent-state-force-shiftjis.any.worker.html": false, + "request-content-length.any.html": false, + "request-content-length.any.worker.html": false, + "response-body-errors.any.html": false, + "response-body-errors.any.worker.html": false, + "responsetype.any.html": false, + "responsetype.any.worker.html": false, + "send-data-arraybuffer.any.html": false, + "send-data-arraybuffer.any.worker.html": false, + "send-data-arraybufferview.any.html": false, + "send-data-arraybufferview.any.worker.html": false, + "send-data-es-object.any.html": false, + "send-data-es-object.any.worker.html": false, + "send-data-formdata.any.html": false, + "send-data-formdata.any.worker.html": false, + "send-data-sharedarraybuffer.any.html": false, + "send-data-sharedarraybuffer.any.worker.html": false, + "send-data-string-invalid-unicode.any.html": false, + "send-data-string-invalid-unicode.any.worker.html": false, + "send-send.any.html": false, + "send-send.any.worker.html": false, + "send-usp.any.html": false, + "send-usp.any.worker.html": false, + "setrequestheader-combining.window.html": false, + "sync-no-progress.any.html": false, + "sync-no-progress.any.worker.html": false, + "sync-no-timeout.any.html": false, + "sync-no-timeout.any.worker.html": false, + "xhr-authorization-redirect.any.html": false, + "xhr-authorization-redirect.any.worker.html": false, + "xhr-timeout-longtask.any.html": false, + "xhr-timeout-longtask.any.worker.html": false }, "websockets": { "Close-1000-reason.any.html": true, @@ -4140,7 +6733,8 @@ ], "remove-own-iframe-during-onerror.window.html": false, "remove-own-iframe-during-onerror.window.html?wpt_flags=h2": false, - "remove-own-iframe-during-onerror.window.html?wss": false + "remove-own-iframe-during-onerror.window.html?wss": false, + "Create-on-worker-shutdown.any.worker.html": false }, "workers": { "Worker-base64.any.worker.html": true, @@ -4291,6 +6885,10 @@ "Resource timing seems to work in workers", "performance.clearResourceTimings in workers", "performance.setResourceTimingBufferSize in workers" + ], + "importscripts_mime_local.any.worker.html": [ + "importScripts() requires scripty MIME types for data: URLs: text/ecmascript is allowed.", + "importScripts() requires scripty MIME types for blob: URLs: text/ecmascript is allowed." ] }, "urlpattern": { @@ -4420,7 +7018,10 @@ "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"},{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO/BAR\"}]", "Pattern: [\"https://example.com:8080/foo?bar#baz\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", - "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]" + "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", + "Pattern: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}] Inputs: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}]", + "Pattern: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}] Inputs: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}]", + "Pattern: [\"#foo\",\"https://example.com/?q=*&v=?&hmm={}&umm=()\"] Inputs: [\"https://example.com/?q=*&v=?&hmm={}&umm=()#foo\"]" ], "urlpattern.any.worker.html": [ "Pattern: [{\"pathname\":\"/foo/:bar?\"}] Inputs: [{\"pathname\":\"/foo\"}]", @@ -4440,7 +7041,10 @@ "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"},{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO/BAR\"}]", "Pattern: [\"https://example.com:8080/foo?bar#baz\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", - "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]" + "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", + "Pattern: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}] Inputs: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}]", + "Pattern: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}] Inputs: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}]", + "Pattern: [\"#foo\",\"https://example.com/?q=*&v=?&hmm={}&umm=()\"] Inputs: [\"https://example.com/?q=*&v=?&hmm={}&umm=()#foo\"]" ], "urlpattern.https.any.html": [ "Pattern: [{\"pathname\":\"/foo/:bar?\"}] Inputs: [{\"pathname\":\"/foo\"}]", @@ -4460,7 +7064,10 @@ "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"},{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO/BAR\"}]", "Pattern: [\"https://example.com:8080/foo?bar#baz\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", - "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]" + "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", + "Pattern: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}] Inputs: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}]", + "Pattern: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}] Inputs: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}]", + "Pattern: [\"#foo\",\"https://example.com/?q=*&v=?&hmm={}&umm=()\"] Inputs: [\"https://example.com/?q=*&v=?&hmm={}&umm=()#foo\"]" ], "urlpattern.https.any.worker.html": [ "Pattern: [{\"pathname\":\"/foo/:bar?\"}] Inputs: [{\"pathname\":\"/foo\"}]", @@ -4480,7 +7087,10 @@ "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"},{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO/BAR\"}]", "Pattern: [\"https://example.com:8080/foo?bar#baz\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", - "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]" + "Pattern: [\"/foo?bar#baz\",\"https://example.com:8080\",{\"ignoreCase\":true}] Inputs: [{\"pathname\":\"/FOO\",\"search\":\"BAR\",\"hash\":\"BAZ\",\"baseURL\":\"https://example.com:8080\"}]", + "Pattern: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}] Inputs: [{\"search\":\"foo\",\"baseURL\":\"https://example.com/a/+/b\"}]", + "Pattern: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}] Inputs: [{\"hash\":\"foo\",\"baseURL\":\"https://example.com/?q=*&v=?&hmm={}&umm=()\"}]", + "Pattern: [\"#foo\",\"https://example.com/?q=*&v=?&hmm={}&umm=()\"] Inputs: [\"https://example.com/?q=*&v=?&hmm={}&umm=()#foo\"]" ] }, "compression": { @@ -4514,7 +7124,9 @@ "decompression-with-detach.tentative.window.html": true, "idlharness.https.any.html": true, "idlharness.https.any.worker.html": true, - "idlharness-shadowrealm.window.html": false + "idlharness-shadowrealm.window.html": false, + "compression-constructor-error.tentative.any.html": true, + "compression-constructor-error.tentative.any.worker.html": true }, "service-workers": { "idlharness.https.any.html": [ @@ -4755,15 +7367,15 @@ "Cache.put called with Request and Response from fetch()", "Cache.put with opaque-filtered HTTP 206 response", "Cache.put with HTTP 500 response", - "Cache.put with a VARY:* opaque response should not reject", - "caches from different buckets have different contents" + "Cache.put called multiple times with request URLs that differ only by a fragment", + "Cache.put with a VARY:* opaque response should not reject" ], "cache-put.https.any.worker.html": [ "Cache.put called with Request and Response from fetch()", "Cache.put with opaque-filtered HTTP 206 response", "Cache.put with HTTP 500 response", - "Cache.put with a VARY:* opaque response should not reject", - "caches from different buckets have different contents" + "Cache.put called multiple times with request URLs that differ only by a fragment", + "Cache.put with a VARY:* opaque response should not reject" ], "cache-storage-keys.https.any.html": false, "cache-storage-keys.https.any.worker.html": false, @@ -4779,7 +7391,14 @@ "CacheStorage.open with existing cache", "CacheStorage names are DOMStrings not USVStrings" ], - "common.https.window.html": true + "common.https.window.html": true, + "cache-storage-buckets.https.any.html": false, + "cache-storage-buckets.https.any.worker.html": false + }, + "service-worker": { + "fetch-request-xhr-sync-error.https.window.html": false, + "ready.https.window.html": false, + "xhr-content-length.https.window.html": false } }, "mimesniff": { @@ -5394,12 +8013,7 @@ "text/html;charset=\";charset=GBK (Request/Response)", "!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz;!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz (Request/Response)", "x/x;x=\"\t !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\" (Request/Response)", - "\n\r\t x/x;x=x\n\r\t (Request/Response)", "text/html;test=ÿ;charset=gbk (Request/Response)", - "\n/x (Request/Response)", - "x/\n (Request/Response)", - "\r/x (Request/Response)", - "x/\r (Request/Response)", "x/x;,=x;bonus=x (Request/Response)", "x/x;x=,;bonus=x (Request/Response)", "x/x;x=;bonus=x (Request/Response)", @@ -6269,12 +8883,7 @@ "text/html;charset=\";charset=GBK (Request/Response)", "!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz;!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz (Request/Response)", "x/x;x=\"\t !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\" (Request/Response)", - "\n\r\t x/x;x=x\n\r\t (Request/Response)", "text/html;test=ÿ;charset=gbk (Request/Response)", - "\n/x (Request/Response)", - "x/\n (Request/Response)", - "\r/x (Request/Response)", - "x/\r (Request/Response)", "x/x;,=x;bonus=x (Request/Response)", "x/x;x=,;bonus=x (Request/Response)", "x/x;x=;bonus=x (Request/Response)", @@ -6533,7 +9142,52 @@ "x/x;x=\"þ\";bonus=x (Request/Response)", "x/x;x=ÿ;bonus=x (Request/Response)", "x/x;x=\"ÿ\";bonus=x (Request/Response)" + ], + "charset-parameter.window.html": [ + "text/html;charset=gbk", + "TEXT/HTML;CHARSET=GBK", + "text/html;charset=gbk(", + "text/html;x=(;charset=gbk", + "text/html;charset=gbk;charset=windows-1255", + "text/html;charset=();charset=GBK", + "text/html;charset =gbk", + "text/html ;charset=gbk", + "text/html; charset=gbk", + "text/html;charset= gbk", + "text/html;charset= \"gbk\"", + "text/html;charset=\u000bgbk", + "text/html;charset=\fgbk", + "text/html;\u000bcharset=gbk", + "text/html;\fcharset=gbk", + "text/html;charset='gbk'", + "text/html;charset='gbk", + "text/html;charset=gbk'", + "text/html;charset=';charset=GBK", + "text/html;test;charset=gbk", + "text/html;test=;charset=gbk", + "text/html;';charset=gbk", + "text/html;\";charset=gbk", + "text/html ; ; charset=gbk", + "text/html;;;;charset=gbk", + "text/html;charset= \";charset=GBK", + "text/html;charset=\";charset=foo\";charset=GBK", + "text/html;charset=\"gbk\"", + "text/html;charset=\"gbk", + "text/html;charset=gbk\"", + "text/html;charset=\" gbk\"", + "text/html;charset=\"gbk \"", + "text/html;charset=\"\\ gbk\"", + "text/html;charset=\"\\g\\b\\k\"", + "text/html;charset=\"gbk\"x", + "text/html;charset=\"\";charset=GBK", + "text/html;charset=\";charset=GBK", + "text/html;charset={gbk}", + "text/html;0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789=x;charset=gbk", + "text/html;test=ÿ;charset=gbk" ] + }, + "media": { + "media-sniff.window.html": false } } }
\ No newline at end of file |