<!DOCTYPE HTML> <meta charset=utf-8> <title>PerformanceObservers: resource</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="performanceobservers.js"></script> <h1>PerformanceObservers: resource</h1> <p> New resources will <a href="https://w3c.github.io/performance-timeline/#dfn-queue-a-performanceentry">queue a PerformanceEntry</a>. </p> <div id="log"></div> <script> async_test(function (t) { function path(pathname) { var filename = pathname.substring(pathname.lastIndexOf('/')+1); return pathname.substring(0, pathname.length - filename.length); } var gUniqueCounter = 0; function generateUniqueValues() { return Date.now() + "-" + (++gUniqueCounter); } var stored_entries = []; var img_location = document.location.origin + path(document.location.pathname) + "resources/square.png?random="; var img1 = img_location + generateUniqueValues(); var img2 = img_location + generateUniqueValues(); var observer = new PerformanceObserver( t.step_func(function (entryList, obs) { stored_entries = stored_entries.concat(entryList.getEntriesByType("resource")); if (stored_entries.length >= 2) { checkEntries(stored_entries, [{ entryType: "resource", name: img1}, { entryType: "resource", name: img2}]); observer.disconnect(); t.done(); } }) ); observer.observe({entryTypes: ["resource"]}); var img = document.createElement("img"); img.src = img1; document.body.appendChild(img); img = document.createElement("img"); img.src = img2; document.body.appendChild(img); }, "resource entries are observable"); </script>