element-picture.https.sub.html (31716B)
1 <!DOCTYPE html> 2 <!-- 3 This test was procedurally generated. Please do not modify it directly. 4 Sources: 5 - fetch/metadata/tools/fetch-metadata.conf.yml 6 - fetch/metadata/tools/templates/element-picture.sub.html 7 --> 8 <html lang="en"> 9 <meta charset="utf-8"> 10 <title>HTTP headers on request for HTML "picture" element source</title> 11 <script src="/resources/testharness.js"></script> 12 <script src="/resources/testharnessreport.js"></script> 13 <script src="/fetch/metadata/resources/helper.sub.js"></script> 14 <body> 15 <script> 16 'use strict'; 17 18 function induceRequest(url, sourceEl, sourceAttr, attributes) { 19 const picture = document.createElement('picture'); 20 const els = { 21 img: document.createElement('img'), 22 source: document.createElement('source') 23 }; 24 picture.appendChild(els.source); 25 picture.appendChild(els.img); 26 document.body.appendChild(picture); 27 28 for (const [ name, value ] of Object.entries(attributes)) { 29 els.img.setAttribute(name, value); 30 } 31 32 return new Promise((resolve) => { 33 els[sourceEl].setAttribute(sourceAttr, url); 34 els.img.onload = els.img.onerror = resolve; 35 }); 36 } 37 38 promise_test(() => { 39 const key = '{{uuid()}}'; 40 41 return induceRequest( 42 makeRequestURL(key, ['httpsOrigin']), 43 'img', 44 'src', 45 {} 46 ) 47 .then(() => retrieve(key)) 48 .then((headers) => { 49 assert_own_property(headers, 'sec-fetch-site'); 50 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 51 }); 52 }, 'sec-fetch-site - img[src] - Same origin, no attributes'); 53 54 promise_test(() => { 55 const key = '{{uuid()}}'; 56 57 return induceRequest( 58 makeRequestURL(key, ['httpsOrigin']), 59 'img', 60 'srcset', 61 {} 62 ) 63 .then(() => retrieve(key)) 64 .then((headers) => { 65 assert_own_property(headers, 'sec-fetch-site'); 66 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 67 }); 68 }, 'sec-fetch-site - img[srcset] - Same origin, no attributes'); 69 70 promise_test(() => { 71 const key = '{{uuid()}}'; 72 73 return induceRequest( 74 makeRequestURL(key, ['httpsOrigin']), 75 'source', 76 'srcset', 77 {} 78 ) 79 .then(() => retrieve(key)) 80 .then((headers) => { 81 assert_own_property(headers, 'sec-fetch-site'); 82 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 83 }); 84 }, 'sec-fetch-site - source[srcset] - Same origin, no attributes'); 85 86 promise_test(() => { 87 const key = '{{uuid()}}'; 88 89 return induceRequest( 90 makeRequestURL(key, ['httpsCrossSite']), 91 'img', 92 'src', 93 {} 94 ) 95 .then(() => retrieve(key)) 96 .then((headers) => { 97 assert_own_property(headers, 'sec-fetch-site'); 98 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 99 }); 100 }, 'sec-fetch-site - img[src] - Cross-site, no attributes'); 101 102 promise_test(() => { 103 const key = '{{uuid()}}'; 104 105 return induceRequest( 106 makeRequestURL(key, ['httpsCrossSite']), 107 'img', 108 'srcset', 109 {} 110 ) 111 .then(() => retrieve(key)) 112 .then((headers) => { 113 assert_own_property(headers, 'sec-fetch-site'); 114 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 115 }); 116 }, 'sec-fetch-site - img[srcset] - Cross-site, no attributes'); 117 118 promise_test(() => { 119 const key = '{{uuid()}}'; 120 121 return induceRequest( 122 makeRequestURL(key, ['httpsCrossSite']), 123 'source', 124 'srcset', 125 {} 126 ) 127 .then(() => retrieve(key)) 128 .then((headers) => { 129 assert_own_property(headers, 'sec-fetch-site'); 130 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 131 }); 132 }, 'sec-fetch-site - source[srcset] - Cross-site, no attributes'); 133 134 promise_test(() => { 135 const key = '{{uuid()}}'; 136 137 return induceRequest( 138 makeRequestURL(key, ['httpsSameSite']), 139 'img', 140 'src', 141 {} 142 ) 143 .then(() => retrieve(key)) 144 .then((headers) => { 145 assert_own_property(headers, 'sec-fetch-site'); 146 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 147 }); 148 }, 'sec-fetch-site - img[src] - Same site, no attributes'); 149 150 promise_test(() => { 151 const key = '{{uuid()}}'; 152 153 return induceRequest( 154 makeRequestURL(key, ['httpsSameSite']), 155 'img', 156 'srcset', 157 {} 158 ) 159 .then(() => retrieve(key)) 160 .then((headers) => { 161 assert_own_property(headers, 'sec-fetch-site'); 162 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 163 }); 164 }, 'sec-fetch-site - img[srcset] - Same site, no attributes'); 165 166 promise_test(() => { 167 const key = '{{uuid()}}'; 168 169 return induceRequest( 170 makeRequestURL(key, ['httpsSameSite']), 171 'source', 172 'srcset', 173 {} 174 ) 175 .then(() => retrieve(key)) 176 .then((headers) => { 177 assert_own_property(headers, 'sec-fetch-site'); 178 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 179 }); 180 }, 'sec-fetch-site - source[srcset] - Same site, no attributes'); 181 182 promise_test(() => { 183 const key = '{{uuid()}}'; 184 185 return induceRequest( 186 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin']), 187 'img', 188 'src', 189 {} 190 ) 191 .then(() => retrieve(key)) 192 .then((headers) => { 193 assert_own_property(headers, 'sec-fetch-site'); 194 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 195 }); 196 }, 'sec-fetch-site - img[src] - Same-Origin -> Cross-Site -> Same-Origin redirect, no attributes'); 197 198 promise_test(() => { 199 const key = '{{uuid()}}'; 200 201 return induceRequest( 202 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin']), 203 'img', 204 'srcset', 205 {} 206 ) 207 .then(() => retrieve(key)) 208 .then((headers) => { 209 assert_own_property(headers, 'sec-fetch-site'); 210 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 211 }); 212 }, 'sec-fetch-site - img[srcset] - Same-Origin -> Cross-Site -> Same-Origin redirect, no attributes'); 213 214 promise_test(() => { 215 const key = '{{uuid()}}'; 216 217 return induceRequest( 218 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin']), 219 'source', 220 'srcset', 221 {} 222 ) 223 .then(() => retrieve(key)) 224 .then((headers) => { 225 assert_own_property(headers, 'sec-fetch-site'); 226 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 227 }); 228 }, 'sec-fetch-site - source[srcset] - Same-Origin -> Cross-Site -> Same-Origin redirect, no attributes'); 229 230 promise_test(() => { 231 const key = '{{uuid()}}'; 232 233 return induceRequest( 234 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin']), 235 'img', 236 'src', 237 {} 238 ) 239 .then(() => retrieve(key)) 240 .then((headers) => { 241 assert_own_property(headers, 'sec-fetch-site'); 242 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 243 }); 244 }, 'sec-fetch-site - img[src] - Same-Origin -> Same-Site -> Same-Origin redirect, no attributes'); 245 246 promise_test(() => { 247 const key = '{{uuid()}}'; 248 249 return induceRequest( 250 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin']), 251 'img', 252 'srcset', 253 {} 254 ) 255 .then(() => retrieve(key)) 256 .then((headers) => { 257 assert_own_property(headers, 'sec-fetch-site'); 258 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 259 }); 260 }, 'sec-fetch-site - img[srcset] - Same-Origin -> Same-Site -> Same-Origin redirect, no attributes'); 261 262 promise_test(() => { 263 const key = '{{uuid()}}'; 264 265 return induceRequest( 266 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin']), 267 'source', 268 'srcset', 269 {} 270 ) 271 .then(() => retrieve(key)) 272 .then((headers) => { 273 assert_own_property(headers, 'sec-fetch-site'); 274 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 275 }); 276 }, 'sec-fetch-site - source[srcset] - Same-Origin -> Same-Site -> Same-Origin redirect, no attributes'); 277 278 promise_test(() => { 279 const key = '{{uuid()}}'; 280 281 return induceRequest( 282 makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin']), 283 'img', 284 'src', 285 {} 286 ) 287 .then(() => retrieve(key)) 288 .then((headers) => { 289 assert_own_property(headers, 'sec-fetch-site'); 290 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 291 }); 292 }, 'sec-fetch-site - img[src] - Cross-Site -> Same Origin, no attributes'); 293 294 promise_test(() => { 295 const key = '{{uuid()}}'; 296 297 return induceRequest( 298 makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin']), 299 'img', 300 'srcset', 301 {} 302 ) 303 .then(() => retrieve(key)) 304 .then((headers) => { 305 assert_own_property(headers, 'sec-fetch-site'); 306 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 307 }); 308 }, 'sec-fetch-site - img[srcset] - Cross-Site -> Same Origin, no attributes'); 309 310 promise_test(() => { 311 const key = '{{uuid()}}'; 312 313 return induceRequest( 314 makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin']), 315 'source', 316 'srcset', 317 {} 318 ) 319 .then(() => retrieve(key)) 320 .then((headers) => { 321 assert_own_property(headers, 'sec-fetch-site'); 322 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 323 }); 324 }, 'sec-fetch-site - source[srcset] - Cross-Site -> Same Origin, no attributes'); 325 326 promise_test(() => { 327 const key = '{{uuid()}}'; 328 329 return induceRequest( 330 makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite']), 331 'img', 332 'src', 333 {} 334 ) 335 .then(() => retrieve(key)) 336 .then((headers) => { 337 assert_own_property(headers, 'sec-fetch-site'); 338 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 339 }); 340 }, 'sec-fetch-site - img[src] - Cross-Site -> Same-Site, no attributes'); 341 342 promise_test(() => { 343 const key = '{{uuid()}}'; 344 345 return induceRequest( 346 makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite']), 347 'img', 348 'srcset', 349 {} 350 ) 351 .then(() => retrieve(key)) 352 .then((headers) => { 353 assert_own_property(headers, 'sec-fetch-site'); 354 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 355 }); 356 }, 'sec-fetch-site - img[srcset] - Cross-Site -> Same-Site, no attributes'); 357 358 promise_test(() => { 359 const key = '{{uuid()}}'; 360 361 return induceRequest( 362 makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite']), 363 'source', 364 'srcset', 365 {} 366 ) 367 .then(() => retrieve(key)) 368 .then((headers) => { 369 assert_own_property(headers, 'sec-fetch-site'); 370 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 371 }); 372 }, 'sec-fetch-site - source[srcset] - Cross-Site -> Same-Site, no attributes'); 373 374 promise_test(() => { 375 const key = '{{uuid()}}'; 376 377 return induceRequest( 378 makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite']), 379 'img', 380 'src', 381 {} 382 ) 383 .then(() => retrieve(key)) 384 .then((headers) => { 385 assert_own_property(headers, 'sec-fetch-site'); 386 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 387 }); 388 }, 'sec-fetch-site - img[src] - Cross-Site -> Cross-Site, no attributes'); 389 390 promise_test(() => { 391 const key = '{{uuid()}}'; 392 393 return induceRequest( 394 makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite']), 395 'img', 396 'srcset', 397 {} 398 ) 399 .then(() => retrieve(key)) 400 .then((headers) => { 401 assert_own_property(headers, 'sec-fetch-site'); 402 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 403 }); 404 }, 'sec-fetch-site - img[srcset] - Cross-Site -> Cross-Site, no attributes'); 405 406 promise_test(() => { 407 const key = '{{uuid()}}'; 408 409 return induceRequest( 410 makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite']), 411 'source', 412 'srcset', 413 {} 414 ) 415 .then(() => retrieve(key)) 416 .then((headers) => { 417 assert_own_property(headers, 'sec-fetch-site'); 418 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 419 }); 420 }, 'sec-fetch-site - source[srcset] - Cross-Site -> Cross-Site, no attributes'); 421 422 promise_test(() => { 423 const key = '{{uuid()}}'; 424 425 return induceRequest( 426 makeRequestURL(key, ['httpsOrigin', 'httpsOrigin']), 427 'img', 428 'src', 429 {} 430 ) 431 .then(() => retrieve(key)) 432 .then((headers) => { 433 assert_own_property(headers, 'sec-fetch-site'); 434 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 435 }); 436 }, 'sec-fetch-site - img[src] - Same-Origin -> Same Origin, no attributes'); 437 438 promise_test(() => { 439 const key = '{{uuid()}}'; 440 441 return induceRequest( 442 makeRequestURL(key, ['httpsOrigin', 'httpsOrigin']), 443 'img', 444 'srcset', 445 {} 446 ) 447 .then(() => retrieve(key)) 448 .then((headers) => { 449 assert_own_property(headers, 'sec-fetch-site'); 450 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 451 }); 452 }, 'sec-fetch-site - img[srcset] - Same-Origin -> Same Origin, no attributes'); 453 454 promise_test(() => { 455 const key = '{{uuid()}}'; 456 457 return induceRequest( 458 makeRequestURL(key, ['httpsOrigin', 'httpsOrigin']), 459 'source', 460 'srcset', 461 {} 462 ) 463 .then(() => retrieve(key)) 464 .then((headers) => { 465 assert_own_property(headers, 'sec-fetch-site'); 466 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 467 }); 468 }, 'sec-fetch-site - source[srcset] - Same-Origin -> Same Origin, no attributes'); 469 470 promise_test(() => { 471 const key = '{{uuid()}}'; 472 473 return induceRequest( 474 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite']), 475 'img', 476 'src', 477 {} 478 ) 479 .then(() => retrieve(key)) 480 .then((headers) => { 481 assert_own_property(headers, 'sec-fetch-site'); 482 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 483 }); 484 }, 'sec-fetch-site - img[src] - Same-Origin -> Same-Site, no attributes'); 485 486 promise_test(() => { 487 const key = '{{uuid()}}'; 488 489 return induceRequest( 490 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite']), 491 'img', 492 'srcset', 493 {} 494 ) 495 .then(() => retrieve(key)) 496 .then((headers) => { 497 assert_own_property(headers, 'sec-fetch-site'); 498 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 499 }); 500 }, 'sec-fetch-site - img[srcset] - Same-Origin -> Same-Site, no attributes'); 501 502 promise_test(() => { 503 const key = '{{uuid()}}'; 504 505 return induceRequest( 506 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite']), 507 'source', 508 'srcset', 509 {} 510 ) 511 .then(() => retrieve(key)) 512 .then((headers) => { 513 assert_own_property(headers, 'sec-fetch-site'); 514 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 515 }); 516 }, 'sec-fetch-site - source[srcset] - Same-Origin -> Same-Site, no attributes'); 517 518 promise_test(() => { 519 const key = '{{uuid()}}'; 520 521 return induceRequest( 522 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite']), 523 'img', 524 'src', 525 {} 526 ) 527 .then(() => retrieve(key)) 528 .then((headers) => { 529 assert_own_property(headers, 'sec-fetch-site'); 530 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 531 }); 532 }, 'sec-fetch-site - img[src] - Same-Origin -> Cross-Site, no attributes'); 533 534 promise_test(() => { 535 const key = '{{uuid()}}'; 536 537 return induceRequest( 538 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite']), 539 'img', 540 'srcset', 541 {} 542 ) 543 .then(() => retrieve(key)) 544 .then((headers) => { 545 assert_own_property(headers, 'sec-fetch-site'); 546 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 547 }); 548 }, 'sec-fetch-site - img[srcset] - Same-Origin -> Cross-Site, no attributes'); 549 550 promise_test(() => { 551 const key = '{{uuid()}}'; 552 553 return induceRequest( 554 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite']), 555 'source', 556 'srcset', 557 {} 558 ) 559 .then(() => retrieve(key)) 560 .then((headers) => { 561 assert_own_property(headers, 'sec-fetch-site'); 562 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 563 }); 564 }, 'sec-fetch-site - source[srcset] - Same-Origin -> Cross-Site, no attributes'); 565 566 promise_test(() => { 567 const key = '{{uuid()}}'; 568 569 return induceRequest( 570 makeRequestURL(key, ['httpsSameSite', 'httpsOrigin']), 571 'img', 572 'src', 573 {} 574 ) 575 .then(() => retrieve(key)) 576 .then((headers) => { 577 assert_own_property(headers, 'sec-fetch-site'); 578 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 579 }); 580 }, 'sec-fetch-site - img[src] - Same-Site -> Same Origin, no attributes'); 581 582 promise_test(() => { 583 const key = '{{uuid()}}'; 584 585 return induceRequest( 586 makeRequestURL(key, ['httpsSameSite', 'httpsOrigin']), 587 'img', 588 'srcset', 589 {} 590 ) 591 .then(() => retrieve(key)) 592 .then((headers) => { 593 assert_own_property(headers, 'sec-fetch-site'); 594 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 595 }); 596 }, 'sec-fetch-site - img[srcset] - Same-Site -> Same Origin, no attributes'); 597 598 promise_test(() => { 599 const key = '{{uuid()}}'; 600 601 return induceRequest( 602 makeRequestURL(key, ['httpsSameSite', 'httpsOrigin']), 603 'source', 604 'srcset', 605 {} 606 ) 607 .then(() => retrieve(key)) 608 .then((headers) => { 609 assert_own_property(headers, 'sec-fetch-site'); 610 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 611 }); 612 }, 'sec-fetch-site - source[srcset] - Same-Site -> Same Origin, no attributes'); 613 614 promise_test(() => { 615 const key = '{{uuid()}}'; 616 617 return induceRequest( 618 makeRequestURL(key, ['httpsSameSite', 'httpsSameSite']), 619 'img', 620 'src', 621 {} 622 ) 623 .then(() => retrieve(key)) 624 .then((headers) => { 625 assert_own_property(headers, 'sec-fetch-site'); 626 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 627 }); 628 }, 'sec-fetch-site - img[src] - Same-Site -> Same-Site, no attributes'); 629 630 promise_test(() => { 631 const key = '{{uuid()}}'; 632 633 return induceRequest( 634 makeRequestURL(key, ['httpsSameSite', 'httpsSameSite']), 635 'img', 636 'srcset', 637 {} 638 ) 639 .then(() => retrieve(key)) 640 .then((headers) => { 641 assert_own_property(headers, 'sec-fetch-site'); 642 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 643 }); 644 }, 'sec-fetch-site - img[srcset] - Same-Site -> Same-Site, no attributes'); 645 646 promise_test(() => { 647 const key = '{{uuid()}}'; 648 649 return induceRequest( 650 makeRequestURL(key, ['httpsSameSite', 'httpsSameSite']), 651 'source', 652 'srcset', 653 {} 654 ) 655 .then(() => retrieve(key)) 656 .then((headers) => { 657 assert_own_property(headers, 'sec-fetch-site'); 658 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 659 }); 660 }, 'sec-fetch-site - source[srcset] - Same-Site -> Same-Site, no attributes'); 661 662 promise_test(() => { 663 const key = '{{uuid()}}'; 664 665 return induceRequest( 666 makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite']), 667 'img', 668 'src', 669 {} 670 ) 671 .then(() => retrieve(key)) 672 .then((headers) => { 673 assert_own_property(headers, 'sec-fetch-site'); 674 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 675 }); 676 }, 'sec-fetch-site - img[src] - Same-Site -> Cross-Site, no attributes'); 677 678 promise_test(() => { 679 const key = '{{uuid()}}'; 680 681 return induceRequest( 682 makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite']), 683 'img', 684 'srcset', 685 {} 686 ) 687 .then(() => retrieve(key)) 688 .then((headers) => { 689 assert_own_property(headers, 'sec-fetch-site'); 690 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 691 }); 692 }, 'sec-fetch-site - img[srcset] - Same-Site -> Cross-Site, no attributes'); 693 694 promise_test(() => { 695 const key = '{{uuid()}}'; 696 697 return induceRequest( 698 makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite']), 699 'source', 700 'srcset', 701 {} 702 ) 703 .then(() => retrieve(key)) 704 .then((headers) => { 705 assert_own_property(headers, 'sec-fetch-site'); 706 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 707 }); 708 }, 'sec-fetch-site - source[srcset] - Same-Site -> Cross-Site, no attributes'); 709 710 promise_test(() => { 711 const key = '{{uuid()}}'; 712 713 return induceRequest( 714 makeRequestURL(key, []), 715 'img', 716 'src', 717 {} 718 ) 719 .then(() => retrieve(key)) 720 .then((headers) => { 721 assert_own_property(headers, 'sec-fetch-mode'); 722 assert_array_equals(headers['sec-fetch-mode'], ['no-cors']); 723 }); 724 }, 'sec-fetch-mode - img[src] - no attributes'); 725 726 promise_test(() => { 727 const key = '{{uuid()}}'; 728 729 return induceRequest( 730 makeRequestURL(key, []), 731 'img', 732 'srcset', 733 {} 734 ) 735 .then(() => retrieve(key)) 736 .then((headers) => { 737 assert_own_property(headers, 'sec-fetch-mode'); 738 assert_array_equals(headers['sec-fetch-mode'], ['no-cors']); 739 }); 740 }, 'sec-fetch-mode - img[srcset] - no attributes'); 741 742 promise_test(() => { 743 const key = '{{uuid()}}'; 744 745 return induceRequest( 746 makeRequestURL(key, []), 747 'source', 748 'srcset', 749 {} 750 ) 751 .then(() => retrieve(key)) 752 .then((headers) => { 753 assert_own_property(headers, 'sec-fetch-mode'); 754 assert_array_equals(headers['sec-fetch-mode'], ['no-cors']); 755 }); 756 }, 'sec-fetch-mode - source[srcset] - no attributes'); 757 758 promise_test(() => { 759 const key = '{{uuid()}}'; 760 761 return induceRequest( 762 makeRequestURL(key, []), 763 'img', 764 'src', 765 {"crossorigin": ""} 766 ) 767 .then(() => retrieve(key)) 768 .then((headers) => { 769 assert_own_property(headers, 'sec-fetch-mode'); 770 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 771 }); 772 }, 'sec-fetch-mode - img[src] - attributes: crossorigin'); 773 774 promise_test(() => { 775 const key = '{{uuid()}}'; 776 777 return induceRequest( 778 makeRequestURL(key, []), 779 'img', 780 'srcset', 781 {"crossorigin": ""} 782 ) 783 .then(() => retrieve(key)) 784 .then((headers) => { 785 assert_own_property(headers, 'sec-fetch-mode'); 786 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 787 }); 788 }, 'sec-fetch-mode - img[srcset] - attributes: crossorigin'); 789 790 promise_test(() => { 791 const key = '{{uuid()}}'; 792 793 return induceRequest( 794 makeRequestURL(key, []), 795 'source', 796 'srcset', 797 {"crossorigin": ""} 798 ) 799 .then(() => retrieve(key)) 800 .then((headers) => { 801 assert_own_property(headers, 'sec-fetch-mode'); 802 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 803 }); 804 }, 'sec-fetch-mode - source[srcset] - attributes: crossorigin'); 805 806 promise_test(() => { 807 const key = '{{uuid()}}'; 808 809 return induceRequest( 810 makeRequestURL(key, []), 811 'img', 812 'src', 813 {"crossorigin": "anonymous"} 814 ) 815 .then(() => retrieve(key)) 816 .then((headers) => { 817 assert_own_property(headers, 'sec-fetch-mode'); 818 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 819 }); 820 }, 'sec-fetch-mode - img[src] - attributes: crossorigin=anonymous'); 821 822 promise_test(() => { 823 const key = '{{uuid()}}'; 824 825 return induceRequest( 826 makeRequestURL(key, []), 827 'img', 828 'srcset', 829 {"crossorigin": "anonymous"} 830 ) 831 .then(() => retrieve(key)) 832 .then((headers) => { 833 assert_own_property(headers, 'sec-fetch-mode'); 834 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 835 }); 836 }, 'sec-fetch-mode - img[srcset] - attributes: crossorigin=anonymous'); 837 838 promise_test(() => { 839 const key = '{{uuid()}}'; 840 841 return induceRequest( 842 makeRequestURL(key, []), 843 'source', 844 'srcset', 845 {"crossorigin": "anonymous"} 846 ) 847 .then(() => retrieve(key)) 848 .then((headers) => { 849 assert_own_property(headers, 'sec-fetch-mode'); 850 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 851 }); 852 }, 'sec-fetch-mode - source[srcset] - attributes: crossorigin=anonymous'); 853 854 promise_test(() => { 855 const key = '{{uuid()}}'; 856 857 return induceRequest( 858 makeRequestURL(key, []), 859 'img', 860 'src', 861 {"crossorigin": "use-credentials"} 862 ) 863 .then(() => retrieve(key)) 864 .then((headers) => { 865 assert_own_property(headers, 'sec-fetch-mode'); 866 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 867 }); 868 }, 'sec-fetch-mode - img[src] - attributes: crossorigin=use-credentials'); 869 870 promise_test(() => { 871 const key = '{{uuid()}}'; 872 873 return induceRequest( 874 makeRequestURL(key, []), 875 'img', 876 'srcset', 877 {"crossorigin": "use-credentials"} 878 ) 879 .then(() => retrieve(key)) 880 .then((headers) => { 881 assert_own_property(headers, 'sec-fetch-mode'); 882 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 883 }); 884 }, 'sec-fetch-mode - img[srcset] - attributes: crossorigin=use-credentials'); 885 886 promise_test(() => { 887 const key = '{{uuid()}}'; 888 889 return induceRequest( 890 makeRequestURL(key, []), 891 'source', 892 'srcset', 893 {"crossorigin": "use-credentials"} 894 ) 895 .then(() => retrieve(key)) 896 .then((headers) => { 897 assert_own_property(headers, 'sec-fetch-mode'); 898 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 899 }); 900 }, 'sec-fetch-mode - source[srcset] - attributes: crossorigin=use-credentials'); 901 902 promise_test(() => { 903 const key = '{{uuid()}}'; 904 905 return induceRequest( 906 makeRequestURL(key, []), 907 'img', 908 'src', 909 {} 910 ) 911 .then(() => retrieve(key)) 912 .then((headers) => { 913 assert_own_property(headers, 'sec-fetch-dest'); 914 assert_array_equals(headers['sec-fetch-dest'], ['image']); 915 }); 916 }, 'sec-fetch-dest - img[src] - no attributes'); 917 918 promise_test(() => { 919 const key = '{{uuid()}}'; 920 921 return induceRequest( 922 makeRequestURL(key, []), 923 'img', 924 'srcset', 925 {} 926 ) 927 .then(() => retrieve(key)) 928 .then((headers) => { 929 assert_own_property(headers, 'sec-fetch-dest'); 930 assert_array_equals(headers['sec-fetch-dest'], ['image']); 931 }); 932 }, 'sec-fetch-dest - img[srcset] - no attributes'); 933 934 promise_test(() => { 935 const key = '{{uuid()}}'; 936 937 return induceRequest( 938 makeRequestURL(key, []), 939 'source', 940 'srcset', 941 {} 942 ) 943 .then(() => retrieve(key)) 944 .then((headers) => { 945 assert_own_property(headers, 'sec-fetch-dest'); 946 assert_array_equals(headers['sec-fetch-dest'], ['image']); 947 }); 948 }, 'sec-fetch-dest - source[srcset] - no attributes'); 949 950 promise_test(() => { 951 const key = '{{uuid()}}'; 952 953 return induceRequest( 954 makeRequestURL(key, []), 955 'img', 956 'src', 957 {} 958 ) 959 .then(() => retrieve(key)) 960 .then((headers) => { 961 assert_not_own_property(headers, 'sec-fetch-user'); 962 }); 963 }, 'sec-fetch-user - img[src] - no attributes'); 964 965 promise_test(() => { 966 const key = '{{uuid()}}'; 967 968 return induceRequest( 969 makeRequestURL(key, []), 970 'img', 971 'srcset', 972 {} 973 ) 974 .then(() => retrieve(key)) 975 .then((headers) => { 976 assert_not_own_property(headers, 'sec-fetch-user'); 977 }); 978 }, 'sec-fetch-user - img[srcset] - no attributes'); 979 980 promise_test(() => { 981 const key = '{{uuid()}}'; 982 983 return induceRequest( 984 makeRequestURL(key, []), 985 'source', 986 'srcset', 987 {} 988 ) 989 .then(() => retrieve(key)) 990 .then((headers) => { 991 assert_not_own_property(headers, 'sec-fetch-user'); 992 }); 993 }, 'sec-fetch-user - source[srcset] - no attributes'); 994 995 promise_test(() => { 996 const key = '{{uuid()}}'; 997 998 return induceRequest( 999 makeRequestURL(key, ['httpsCrossSite']), 1000 'img', 1001 'src', 1002 {} 1003 ) 1004 .then(() => retrieve(key)) 1005 .then((headers) => { 1006 assert_own_property(headers, 'sec-fetch-storage-access'); 1007 assert_array_equals(headers['sec-fetch-storage-access'], ['none']); 1008 }); 1009 }, 'sec-fetch-storage-access - img[src] - Cross-site, no attributes'); 1010 1011 promise_test(() => { 1012 const key = '{{uuid()}}'; 1013 1014 return induceRequest( 1015 makeRequestURL(key, ['httpsCrossSite']), 1016 'img', 1017 'srcset', 1018 {} 1019 ) 1020 .then(() => retrieve(key)) 1021 .then((headers) => { 1022 assert_own_property(headers, 'sec-fetch-storage-access'); 1023 assert_array_equals(headers['sec-fetch-storage-access'], ['none']); 1024 }); 1025 }, 'sec-fetch-storage-access - img[srcset] - Cross-site, no attributes'); 1026 1027 promise_test(() => { 1028 const key = '{{uuid()}}'; 1029 1030 return induceRequest( 1031 makeRequestURL(key, ['httpsCrossSite']), 1032 'source', 1033 'srcset', 1034 {} 1035 ) 1036 .then(() => retrieve(key)) 1037 .then((headers) => { 1038 assert_own_property(headers, 'sec-fetch-storage-access'); 1039 assert_array_equals(headers['sec-fetch-storage-access'], ['none']); 1040 }); 1041 }, 'sec-fetch-storage-access - source[srcset] - Cross-site, no attributes'); 1042 1043 promise_test(() => { 1044 const key = '{{uuid()}}'; 1045 1046 return induceRequest( 1047 makeRequestURL(key, ['httpsSameSite']), 1048 'img', 1049 'src', 1050 {} 1051 ) 1052 .then(() => retrieve(key)) 1053 .then((headers) => { 1054 assert_not_own_property(headers, 'sec-fetch-storage-access'); 1055 }); 1056 }, 'sec-fetch-storage-access - img[src] - Same site, no attributes'); 1057 1058 promise_test(() => { 1059 const key = '{{uuid()}}'; 1060 1061 return induceRequest( 1062 makeRequestURL(key, ['httpsSameSite']), 1063 'img', 1064 'srcset', 1065 {} 1066 ) 1067 .then(() => retrieve(key)) 1068 .then((headers) => { 1069 assert_not_own_property(headers, 'sec-fetch-storage-access'); 1070 }); 1071 }, 'sec-fetch-storage-access - img[srcset] - Same site, no attributes'); 1072 1073 promise_test(() => { 1074 const key = '{{uuid()}}'; 1075 1076 return induceRequest( 1077 makeRequestURL(key, ['httpsSameSite']), 1078 'source', 1079 'srcset', 1080 {} 1081 ) 1082 .then(() => retrieve(key)) 1083 .then((headers) => { 1084 assert_not_own_property(headers, 'sec-fetch-storage-access'); 1085 }); 1086 }, 'sec-fetch-storage-access - source[srcset] - Same site, no attributes'); 1087 </script> 1088 </body> 1089 </html>