tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

update-the-source-set.html (10044B)


      1 <!doctype html>
      2 <title>img update the source set</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script>
      6 setup({explicit_done:true});
      7 
      8 function check(p) {
      9  var img = p.querySelector('[data-expect]');
     10  test(function() {
     11    var expect = img.dataset.expect;
     12    if ('resolve' in img.dataset) {
     13      var a = document.createElement('a');
     14      a.href = expect;
     15      expect = a.href;
     16    }
     17    assert_equals(img.currentSrc, expect);
     18  }, p.innerHTML);
     19 }
     20 
     21 onload = function() {
     22  [].forEach.call(document.querySelectorAll('div:not([id])'), check);
     23  done();
     24 };
     25 
     26 </script>
     27 <div id=log></div>
     28 <div><img data-expect=''></div>
     29 <div><img src data-expect=''></div>
     30 <div><img src='data:,a' data-expect='data:,a'></div>
     31 <div><img srcset src='data:,a' data-expect='data:,a'></div>
     32 <div><img srcset='data:,b' src='data:,a' data-expect='data:,b'></div>
     33 <div><img src='data:,a' srcset='data:,b' data-expect='data:,b'><!-- srcset after src --></div>
     34 <div><img src='data:,a' srcset='data:,b 1x' data-expect='data:,b'></div>
     35 <div><img src='data:,a' srcset='data:,b 1.0x' data-expect='data:,b'></div>
     36 <div><img src='data:,a' srcset='data:,b 1e0x' data-expect='data:,b'></div>
     37 <div><img src='data:,a' srcset='data:,b 10000w' sizes='1px' data-expect='data:,b'></div>
     38 <div><img src='data:,a' srcset='data:,b 10000w, data:,c 10000x' sizes='1px' data-expect='data:,b'></div>
     39 <div><img src='data:,a' srcset='data:,b 10000x, data:,c 10000w' sizes='1px' data-expect='data:,b'></div>
     40 <div><img src='data:,a' srcset='data:,b 1w' sizes='10000px' data-expect='data:,b'></div>
     41 <div><img src='data:,a' srcset='data:,b 1w, data:,c 0.0001x' sizes='10000px' data-expect='data:,b'></div>
     42 <div><img src='data:,a' srcset='data:,b 0.0001x, data:,c 1w' sizes='10000px' data-expect='data:,b'></div>
     43 <div><img srcset='data:,a' data-expect='data:,a'></div>
     44 
     45 <!-- child is not a <source> -->
     46 
     47 <div><picture>foo<img src='data:,a' data-expect='data:,a'></picture></div>
     48 <div><picture><!--foo--><img src='data:,a' data-expect='data:,a'></picture></div>
     49 <div><picture><br><img src='data:,a' data-expect='data:,a'></picture></div>
     50 <div><picture><p></p><img src='data:,a' data-expect='data:,a'></picture></div>
     51 <div><picture><video><source srcset='data:,b'></video><img src='data:,a' data-expect='data:,a'></picture></div>
     52 <div><picture><span><source srcset='data:,b'></span><img src='data:,a' data-expect='data:,a'></picture></div>
     53 <div><picture><svg><source srcset='data:,b'/></svg><img src='data:,a' data-expect='data:,a'></picture></div>
     54 <div><picture><svg/><source srcset='data:,b'/><img src='data:,a' data-expect='data:,b'></picture></div>
     55 <div><picture><svg><font/><source srcset='data:,b'/></svg><img src='data:,a' data-expect='data:,a'></picture></div>
     56 <div><picture><svg><!--<font face> tag breaks out of svg--><font face></font><source srcset='data:,b'/></svg><img src='data:,a' data-expect='data:,b'></picture></div>
     57 <div><picture><img src='data:,a'><img src='data:,b' data-expect='data:,b'></picture></div>
     58 
     59 <!-- <source> has no srcset -->
     60 
     61 <div><picture><source><img src='data:,a' data-expect='data:,a'></picture></div>
     62 <div><picture><source src='data:,b'><img src='data:,a' data-expect='data:,a'></picture></div>
     63 
     64 <!-- <source srcset> has zero candidates -->
     65 
     66 <div><picture><source srcset><img src='data:,a' data-expect='data:,a'></picture></div>
     67 <div><picture><source srcset=', ,'><img src='data:,a' data-expect='data:,a'></picture></div>
     68 <div><picture><source srcset='data:,b 1x 1x'><img src='data:,a' data-expect='data:,a'></picture></div>
     69 
     70 <!-- <source media> -->
     71 
     72 <div><picture><source srcset='data:,b' media><img src='data:,a' data-expect='data:,b'></picture></div>
     73 <div><picture><source srcset='data:,b' media='all'><img src='data:,a' data-expect='data:,b'></picture></div>
     74 <div><picture><source srcset='data:,b' media='all and (min-width:0)'><img src='data:,a' data-expect='data:,b'></picture></div>
     75 <div><picture><source srcset='data:,b' media='all and !'><img src='data:,a' data-expect='data:,a'></picture></div>
     76 <div><picture><source srcset='data:,b' media='all and (!)'><img src='data:,a' data-expect='data:,a'></picture></div>
     77 <div><picture><source srcset='data:,b' media='not all'><img src='data:,a' data-expect='data:,a'></picture></div>
     78 <div><picture><source srcset='data:,b' media='not all and (min-width:0)'><img src='data:,a' data-expect='data:,a'></picture></div>
     79 <div><picture><source srcset='data:,b' media='not all and (max-width:0)'><img src='data:,a' data-expect='data:,b'></picture></div>
     80 <div><picture><source srcset='data:,b' media='not all and !'><img src='data:,a' data-expect='data:,a'></picture></div>
     81 <div><picture><source srcset='data:,b' media='not all and (!)'><img src='data:,a' data-expect='data:,a'></picture></div>
     82 <div><picture><source srcset='data:,b' media='all, !'><img src='data:,a' data-expect='data:,b'></picture></div>
     83 <div><picture><source srcset='data:,b' media=','><img src='data:,a' data-expect='data:,a'></picture></div>
     84 <div><picture><source srcset='data:,b' media=', all'><img src='data:,a' data-expect='data:,b'></picture></div>
     85 
     86 <!-- <source type> assume support for gif, png, jpg, svg, ico -->
     87 
     88 <div><picture><source srcset='data:,b' type><img src='data:,a' data-expect='data:,b'></picture></div>
     89 <div><picture><source srcset='data:,b' type=' '><img src='data:,a' data-expect='data:,b'></picture></div>
     90 <div><picture><source srcset='data:,b' type='image/gif'><img src='data:,a' data-expect='data:,b'></picture></div>
     91 <div><picture><source srcset='data:,b' type=' image/gif'><img src='data:,a' data-expect='data:,b'></picture></div>
     92 <div><picture><source srcset='data:,b' type='image/gif '><img src='data:,a' data-expect='data:,b'></picture></div>
     93 <div><picture><source srcset='data:,b' type='image/gif;'><img src='data:,a' data-expect='data:,b'></picture></div>
     94 <div><picture><source srcset='data:,b' type='image/gif;encodings'><img src='data:,a' data-expect='data:,b'></picture></div>
     95 <div><picture><source srcset='data:,b' type='image/gif;encodings='><img src='data:,a' data-expect='data:,b'></picture></div>
     96 <div><picture><source srcset='data:,b' type='image/gif;encodings=foobar'><img src='data:,a' data-expect='data:,b'></picture></div>
     97 <div><picture><source srcset='data:,b' type='image/png'><img src='data:,a' data-expect='data:,b'></picture></div>
     98 <div><picture><source srcset='data:,b' type='image/jpeg'><img src='data:,a' data-expect='data:,b'></picture></div>
     99 <div><picture><source srcset='data:,b' type='image/svg+xml'><img src='data:,a' data-expect='data:,b'></picture></div>
    100 <div><picture><source srcset='data:,b' type='image/x-icon'><img src='data:,a' data-expect='data:,b'></picture></div>
    101 <div><picture><source srcset='data:,b' type='text/xml'><img src='data:,a' data-expect='data:,a'></picture></div>
    102 <div><picture><source srcset='data:,b' type='text/html'><img src='data:,a' data-expect='data:,a'></picture></div>
    103 <div><picture><source srcset='data:,b' type='text/plain'><img src='data:,a' data-expect='data:,a'></picture></div>
    104 <div><picture><source srcset='data:,b' type='text/css'><img src='data:,a' data-expect='data:,a'></picture></div>
    105 <div><picture><source srcset='data:,b' type='video/mp4'><img src='data:,a' data-expect='data:,a'></picture></div>
    106 <div><picture><source srcset='data:,b' type='video/ogg'><img src='data:,a' data-expect='data:,a'></picture></div>
    107 <div><picture><source srcset='data:,b' type='video/webm'><img src='data:,a' data-expect='data:,a'></picture></div>
    108 <div><picture><source srcset='data:,b' type='unknown/unknown'><img src='data:,a' data-expect='data:,a'></picture></div>
    109 <div><picture><source srcset='data:,b' type='application/octet-stream'><img src='data:,a' data-expect='data:,a'></picture></div>
    110 <div><picture><source srcset='data:,b' type='application/x-shockwave-flash'><img src='data:,a' data-expect='data:,a'></picture></div>
    111 <div><picture><source srcset='data:,b' type='image\gif'><img src='data:,a' data-expect='data:,a'></picture></div>
    112 <div><picture><source srcset='data:,b' type='gif'><img src='data:,a' data-expect='data:,a'></picture></div>
    113 <div><picture><source srcset='data:,b' type='.gif'><img src='data:,a' data-expect='data:,a'></picture></div>
    114 <div><picture><source srcset='data:,b' type='*'><img src='data:,a' data-expect='data:,a'></picture></div>
    115 <div><picture><source srcset='data:,b' type='*/*'><img src='data:,a' data-expect='data:,a'></picture></div>
    116 <div><picture><source srcset='data:,b' type='image/*'><img src='data:,a' data-expect='data:,a'></picture></div>
    117 <div><picture><source srcset='data:,b' type=','><img src='data:,a' data-expect='data:,a'></picture></div>
    118 <div><picture><source srcset='data:,b' type='image/gif, image/png'><img src='data:,a' data-expect='data:,a'></picture></div>
    119 <div><picture><source srcset='data:,b' type='image/gif image/png'><img src='data:,a' data-expect='data:,a'></picture></div>
    120 <div><picture><source srcset='data:,b' type='image/foobarbaz'><img src='data:,a' data-expect='data:,a'></picture></div>
    121 
    122 <!-- trailing garbage -->
    123 
    124 <div><picture><img src='data:,a' data-expect='data:,a'>foo</picture></div>
    125 <div><picture><img src='data:,a' data-expect='data:,a'><br></picture></div>
    126 <div><picture><img src='data:,a' data-expect='data:,a'><!--foo--></picture></div>
    127 <div><picture><img src='data:,a' data-expect='data:,a'><img src='data:,b'></picture></div>
    128 <div><picture><img data-expect=''><img src='data:,b'></picture></div>
    129 <div><picture><img src='data:,a' data-expect='data:,a'><source srcset='data:,b'></picture></div>
    130 <div><picture><img data-expect=''><source srcset='data:,b'></picture></div>
    131 
    132 <!-- parent not picture -->
    133 
    134 <div><picture><span><source srcset='data:,b'><img data-expect=''></span></picture></div>
    135 <div><picture><span><source srcset='data:,b'><img src='data:,a' data-expect='data:,a'></span></picture></div>
    136 <div><picture><source srcset='data:,b'><span><img src='data:,a' data-expect='data:,a'></span></picture></div>
    137 
    138 <!-- no src -->
    139 
    140 <div><picture><source srcset='data:,b'><img data-expect='data:,b'></picture></div>