<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Element Timing: observe larger element with stretched background image</title>
<body>
<style>
body {
  margin: 0;
}
#target {
  width: 200px;
  height: 150px;
  background-image: url('resources/square100.png');
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/element-timing-helpers.js"></script>
<script>
  let beforeRender = performance.now();
  async_test(function (t) {
    assert_implements(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
    const observer = new PerformanceObserver(
      t.step_func_done(function(entryList) {
        assert_equals(entryList.getEntries().length, 1);
        const entry = entryList.getEntries()[0];
        const pathname = window.location.origin + '/element-timing/resources/square100.png';
        checkElement(entry, pathname, 'my_div', 'target', beforeRender,
            document.getElementById('target'));
        // The background image extends to occupy to full size of the div.
        checkRect(entry, [0, 200, 0, 150]);
        // The natural size of the square remains unchanged.
        checkNaturalSize(entry, 100, 100);
      })
    );
    observer.observe({entryTypes: ['element']});
  }, 'Element with background image shows correct image size.');
</script>
<div id='target' elementtiming='my_div'></div>
</body>
