1export function resolveBrowserRecordingStopTarget(
2 activeTabIds: ReadonlySet<string>,
3 implicitTabId: string | null,
4 explicitTabId?: string,
5): string | null {
6 if (explicitTabId !== undefined) {
7 return activeTabIds.has(explicitTabId) ? explicitTabId : null;
8 }
9 if (implicitTabId !== null && activeTabIds.has(implicitTabId)) {
10 return implicitTabId;
11 }
12 if (activeTabIds.size !== 1) return null;
13 return activeTabIds.values().next().value ?? null;
14}