Source code
Revision control
Copy as Markdown
Other Tools
importScripts("/common/get-host-info.sub.js")
importScripts("/resource-timing/resources/loading-resource-lib.js")
const label = "initiator_url_message_handler_worker";
const resource = "/images/blue.png?"+label;
const hostInfo = get_host_info();
const expectedInitiatorUrl = hostInfo["ORIGIN"] +
"/resource-timing/resources/message-handler-in-worker.js";
const observe_entry_no_timeout = entryName => {
const entry = new Promise(resolve => {
new PerformanceObserver((entryList, observer) => {
for (const entry of entryList.getEntries()) {
if (entry.name.endsWith(entryName)) {
resolve(entry);
observer.disconnect();
return;
}
}
}).observe({"type": "resource", "buffered": true});
});
return entry;
};
self.onmessage = async function (event) {
fetch_in_function(resource);
const entry = await observe_entry_no_timeout(resource);
postMessage({result: entry.initiatorUrl,
expected: expectedInitiatorUrl});
};