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>
13 // explicitly test the namespace before we start testing
14 test_namespace("getEntriesByType");
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);
24 var style = d.createElement('link');
25 style.rel = 'stylesheet';
26 style.href = 'generate_resource.cgi?types=css';
27 body.appendChild(style);
29 var image = d.createElement('img');
30 image.src = 'generate_resource.cgi?types=image';
31 body.appendChild(image);
33 var subframe = d.createElement('iframe');
34 subframe.src = 'generate_resource.cgi?types=iframe';
35 body.appendChild(subframe);
37 function onload_test() {
38 if (window.performance.getEntriesByType === undefined) {
42 var context = new PerformanceContext(iframe.contentWindow.performance);
43 var entries = context.getEntriesByType('resource');
45 var index = window.location.pathname.lastIndexOf('/');
46 var pathname = window.location.pathname.substring(0, index) + '/';
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',
53 test_resource_entries(entries, expected_entries);
55 window.setup_iframe = setup_iframe;
60 <p>This test validates that all of the initiator types are represented even when dynamically inserted.</p>
62 <iframe id="frameContext" onload="onload_test();" src="resources/inject_resource_test.html"></iframe>