Skip to content

Commit 63b0115

Browse files
and-oliDevtools-frontend LUCI CQ
authored andcommitted
[RPP] Cache message post events experiment check
So that we don't have to do the check on every node appended to thread tracks, as it adds up to become expensive. Bug: none Change-Id: If2f6d053a9abeae22fdd46615356b55d08bb46a2 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5956836 Commit-Queue: Nancy Li <[email protected]> Commit-Queue: Andres Olivares <[email protected]> Reviewed-by: Nancy Li <[email protected]> Auto-Submit: Andres Olivares <[email protected]>
1 parent c725faa commit 63b0115

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

front_end/panels/timeline/CompatibilityTracksAppender.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,17 @@ export type HighlightedEntryInfo = {
3232
additionalElement?: HTMLElement,
3333
};
3434

35+
let showPostMessageEvents: boolean|undefined;
36+
function isShowPostMessageEventsEnabled(): boolean {
37+
// Everytime the experiment is toggled devtools is reloaded so the
38+
// cache is updated automatically.
39+
if (showPostMessageEvents === undefined) {
40+
showPostMessageEvents =
41+
Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_POST_MESSAGE_EVENTS);
42+
}
43+
return showPostMessageEvents;
44+
}
45+
3546
export function entryIsVisibleInTimeline(
3647
entry: Trace.Types.Events.Event, parsedTrace?: Trace.Handlers.Types.ParsedTrace): boolean {
3748
if (parsedTrace && parsedTrace.Meta.traceIsGeneric) {
@@ -49,7 +60,7 @@ export function entryIsVisibleInTimeline(
4960
return true;
5061
}
5162

52-
if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_POST_MESSAGE_EVENTS)) {
63+
if (isShowPostMessageEventsEnabled()) {
5364
if (Trace.Types.Events.isSchedulePostMessage(entry) || Trace.Types.Events.isHandlePostMessage(entry)) {
5465
return true;
5566
}

0 commit comments

Comments
 (0)