| Nicolas Pena | 6e9d51e | 2019-01-30 15:25:00 | [diff] [blame] | 1 | <!DOCTYPE HTML> | 
|  | 2 | <meta charset=utf-8> | 
|  | 3 | <title>Element Timing: observe elements from same-origin iframes</title> | 
|  | 4 | <body> | 
|  | 5 | <style> | 
|  | 6 | body { | 
|  | 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 Pena | 6e9d51e | 2019-01-30 15:25:00 | [diff] [blame] | 14 | async_test((t) => { | 
|  | 15 | const observer = new PerformanceObserver( | 
|  | 16 | t.step_func_done((entryList) => { | 
| Nicolas Pena | dcc3641 | 2019-02-07 19:05:46 | [diff] [blame] | 17 | assert_unreached("Should not have received an entry!"); | 
| Nicolas Pena | 6e9d51e | 2019-01-30 15:25:00 | [diff] [blame] | 18 | }) | 
|  | 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 Pena | dcc3641 | 2019-02-07 19:05:46 | [diff] [blame] | 28 | 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 Pena | 6e9d51e | 2019-01-30 15:25:00 | [diff] [blame] | 35 | document.body.appendChild(iframe); | 
| Nicolas Pena | 6e9d51e | 2019-01-30 15:25:00 | [diff] [blame] | 36 | }; | 
| Nicolas Pena | dcc3641 | 2019-02-07 19:05:46 | [diff] [blame] | 37 | }, 'Element in child iframe is not observed, even if same-origin.'); | 
| Nicolas Pena | 6e9d51e | 2019-01-30 15:25:00 | [diff] [blame] | 38 | </script> | 
|  | 39 |  | 
|  | 40 | </body> |