f1d256d7ad8f1f849975c66909d140c1c7edf1fc
[test/tct/web/api.git] /
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Resource Timing initiator types with dynamic insertion</title>
6 <link rel="author" title="Google" href="http://www.google.com/" />
7 <link rel="help" href="http://www.w3.org/TR/resource-timing/#dom-performanceresourcetiming-initiatortype"/>
8 <script src="../../../resources/testharness.js"></script>
9 <script src="../../../resources/testharnessreport.js"></script>
10 <script src="resources/webperftestharness.js"></script>
11 <script src="resources/webperftestharnessextension.js"></script>
12 <script>
13 // explicitly test the namespace before we start testing
14 test_namespace("getEntriesByType");
15
16
17 var iframe;
18 function setup_iframe() {
19     iframe = document.getElementById('frameContext');
20     var d = iframe.contentWindow.document;
21     var body = d.createElement('body');
22     d.getElementsByTagName('html')[0].appendChild(body);
23
24     var style = d.createElement('link');
25     style.rel = 'stylesheet';
26     style.href = 'generate_resource.cgi?types=css';
27     body.appendChild(style);
28
29     var image = d.createElement('img');
30     image.src = 'generate_resource.cgi?types=image';
31     body.appendChild(image);
32
33     var subframe = d.createElement('iframe');
34     subframe.src = 'generate_resource.cgi?types=iframe';
35     body.appendChild(subframe);
36 }
37 function onload_test() {
38     if (window.performance.getEntriesByType === undefined) {
39       done();
40       return;
41     }
42     var context = new PerformanceContext(iframe.contentWindow.performance);
43     var entries = context.getEntriesByType('resource');
44
45     var index = window.location.pathname.lastIndexOf('/');
46     var pathname = window.location.pathname.substring(0, index) + '/';
47
48     var expected_entries = { };
49     expected_entries[ pathname + 'resources/generate_resource.cgi?types=css' ] = 'link',
50     expected_entries[ pathname + 'resources/generate_resource.cgi?types=image' ] = 'img',
51     expected_entries[ pathname + 'resources/generate_resource.cgi?types=iframe' ] = 'iframe',
52
53     test_resource_entries(entries, expected_entries);
54 }
55 window.setup_iframe = setup_iframe;
56 </script>
57 </head>
58 <body>
59 <h1>Description</h1>
60 <p>This test validates that all of the initiator types are represented even when dynamically inserted.</p>
61 <div id="log"></div>
62 <iframe id="frameContext" onload="onload_test();" src="resources/inject_resource_test.html"></iframe>
63 </body>
64 </html>