in frontend/src/index.js [226:282]
async function load() {
const route = readRoute();
// Reset display, dom-safe
hide("history");
hide("output");
message(
"loading",
"Loading coverage data for " +
(route.path || "mozilla-central") +
" @ " +
(route.revision || REV_LATEST),
);
// Load only zero coverage for that specific view
if (route.view === VIEW_ZERO_COVERAGE) {
const zeroCoverage = await getZeroCoverageData();
return {
view: VIEW_ZERO_COVERAGE,
path: route.path,
zeroCoverage,
route,
};
}
// Default to directory view on home
if (!route.view) {
route.view = VIEW_DIRECTORY;
}
try {
const viewContent =
route.view === VIEW_DIRECTORY
? getHistory(route.path, route.platform, route.suite)
: getSource(route.path, route.revision);
const [coverage, filters, viewData] = await Promise.all([
getPathCoverage(route.path, route.revision, route.platform, route.suite),
getFilters(),
viewContent,
]);
return {
view: route.view,
path: route.path,
revision: route.revision,
route,
coverage,
filters,
viewData,
};
} catch (err) {
console.warn("Failed to load coverage", err);
await DOM_READY; // We want to always display this message
message("error", "Failed to load coverage: " + err.message);
throw err;
}
}