<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Element Timing: do NOT observe elements from same-origin iframes</title>
<body>
<style>
body {
  margin: 0;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/element-timing-helpers.js"></script>
<script>
  async_test((t) => {
    assert_implements(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
    const observer = new PerformanceObserver(
      t.step_func_done((entryList) => {
        assert_unreached("Should not have received an entry!");
      })
    );
    observer.observe({entryTypes: ['element']});
    // We add the iframe during onload to be sure that the observer is registered
    // in time for it to observe the element timing.
    // TODO(npm): change observer to use buffered flag.
    window.onload = () => {
      // Add iframe with an image of width and height equal to 100.
      const iframe = document.createElement('iframe');
      iframe.src = 'resources/iframe-with-square.html';
      iframe.onload = () => {
        // After a short delay, assume that the entry was not dispatched to the
        // parent frame.
        t.step_timeout(() => {
          t.done();
        }, 100);
      }
      document.body.appendChild(iframe);
    };
  }, 'Element in child iframe is not observed, even if same-origin.');
</script>

</body>
