blob: 83cc2ef94b3fe929ffd87b6c4a49f7424e6be29b [file] [log] [blame]
Nicolas Pena6e9d51e2019-01-30 15:25:001<!DOCTYPE HTML>
2<meta charset=utf-8>
3<title>Element Timing: observe elements from same-origin iframes</title>
4<body>
5<style>
6body {
7 margin: 0;
8}
9</style>
10<script src="/resources/testharness.js"></script>
11<script src="/resources/testharnessreport.js"></script>
12<script src="resources/element-timing-helpers.js"></script>
13<script>
Nicolas Pena6e9d51e2019-01-30 15:25:0014 async_test((t) => {
15 const observer = new PerformanceObserver(
16 t.step_func_done((entryList) => {
Nicolas Penadcc36412019-02-07 19:05:4617 assert_unreached("Should not have received an entry!");
Nicolas Pena6e9d51e2019-01-30 15:25:0018 })
19 );
20 observer.observe({entryTypes: ['element']});
21 // We add the iframe during onload to be sure that the observer is registered
22 // in time for it to observe the element timing.
23 // TODO(npm): change observer to use buffered flag.
24 window.onload = () => {
25 // Add iframe with an image of width and height equal to 100.
26 const iframe = document.createElement('iframe');
27 iframe.src = 'resources/iframe-with-square.html';
Nicolas Penadcc36412019-02-07 19:05:4628 iframe.onload = () => {
29 // After a short delay, assume that the entry was not dispatched to the
30 // parent frame.
31 t.step_timeout(() => {
32 t.done();
33 }, 100);
34 }
Nicolas Pena6e9d51e2019-01-30 15:25:0035 document.body.appendChild(iframe);
Nicolas Pena6e9d51e2019-01-30 15:25:0036 };
Nicolas Penadcc36412019-02-07 19:05:4637 }, 'Element in child iframe is not observed, even if same-origin.');
Nicolas Pena6e9d51e2019-01-30 15:25:0038</script>
39
40</body>