UNPKG

chrome-devtools-frontend

Version:
46 lines (36 loc) 1.29 kB
// Copyright 2024 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import * as Types from '../types/types.js'; let lastUpdateLayoutTreeEvent: Types.Events.UpdateLayoutTree|null = null; const selectorDataForUpdateLayoutTree = new Map<Types.Events.UpdateLayoutTree, { timings: Types.Events.SelectorTiming[], }>(); export function reset(): void { lastUpdateLayoutTreeEvent = null; selectorDataForUpdateLayoutTree.clear(); } export function handleEvent(event: Types.Events.Event): void { if (Types.Events.isSelectorStats(event) && lastUpdateLayoutTreeEvent && event.args.selector_stats) { selectorDataForUpdateLayoutTree.set(lastUpdateLayoutTreeEvent, { timings: event.args.selector_stats.selector_timings, }); return; } if (Types.Events.isUpdateLayoutTree(event)) { lastUpdateLayoutTreeEvent = event; return; } } export async function finalize(): Promise<void> { } export interface SelectorStatsData { dataForUpdateLayoutEvent: Map<Types.Events.UpdateLayoutTree, { timings: Types.Events.SelectorTiming[], }>; } export function data(): SelectorStatsData { return { dataForUpdateLayoutEvent: selectorDataForUpdateLayoutTree, }; }