tor-browser

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

background-image-data-uri.html (1856B)


      1 <!DOCTYPE HTML>
      2 <meta charset=utf-8>
      3 <title>Element Timing: observe element with inline background image</title>
      4 <body>
      5 <style>
      6 body {
      7  margin: 0;
      8 }
      9 #target {
     10  width: 100px;
     11  height: 50px;
     12  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKAQMAAAC3/F3+AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABlBMVEX/AAD///9BHTQRAAAAAWJLR0QB/wIt3gAAAAtJREFUCNdjYMAHAAAeAAFuhUcyAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE5LTA0LTA1VDIwOjA4OjQxKzAyOjAwPa6EZwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOS0wNC0wNVQyMDowODo0MSswMjowMEzzPNsAAAAASUVORK5CYII=);
     13 }
     14 </style>
     15 <script src="/resources/testharness.js"></script>
     16 <script src="/resources/testharnessreport.js"></script>
     17 <script src="resources/element-timing-helpers.js"></script>
     18 <script>
     19  let beforeRender = performance.now();
     20  async_test(function (t) {
     21    assert_implements(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
     22    const observer = new PerformanceObserver(
     23      t.step_func_done(function(entryList) {
     24        assert_equals(entryList.getEntries().length, 1);
     25        const entry = entryList.getEntries()[0];
     26        // Only the first characters of the data URI are included in the entry.
     27        const uriPrefix = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKAQMAAAC3/F3+AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAA';
     28        checkElementWithoutResourceTiming(entry, uriPrefix, 'my_div', 'target',
     29            beforeRender, document.getElementById('target'));
     30        // The background image is a red square of length 10.
     31        checkRect(entry, [0, 100, 0, 50]);
     32        checkNaturalSize(entry, 10, 10);
     33      })
     34    );
     35    observer.observe({entryTypes: ['element']});
     36  }, 'Element with elementtiming attribute and inline background image is observable.');
     37 </script>
     38 <div id='target' elementtiming='my_div'></div>
     39 </body>