MCPcopy
hub / github.com/CapSoftware/Cap / togglePanelInTab

Function togglePanelInTab

apps/chrome-extension/e2e/overlay-ui.spec.ts:282–299  ·  view source on GitHub ↗
(
	worker: Awaited<ReturnType<typeof getServiceWorker>>,
	urlFragment: string,
)

Source from the content-addressed store, hash-verified

280 }, message);
281
282const togglePanelInTab = async (
283 worker: Awaited<ReturnType<typeof getServiceWorker>>,
284 urlFragment: string,
285) =>
286 worker.evaluate(async (urlFragment) => {
287 const chromeApi = (globalThis as ChromeGlobal).chrome;
288 const tabs = await new Promise<Array<{ id?: number; url?: string }>>(
289 (resolve) => chromeApi.tabs.query({}, resolve),
290 );
291 const tab = tabs.find((tab) => tab.url?.includes(urlFragment));
292 if (tab?.id === undefined) throw new Error("capture tab not found");
293 await new Promise<void>((resolve) => {
294 chromeApi.tabs.sendMessage(tab.id as number, {
295 type: "overlay-panel-toggle",
296 });
297 resolve();
298 });
299 }, urlFragment);
300
301const frameWithUrl = (page: Page, fragment: string) =>
302 page.frames().find((frame) => frame.url().includes(fragment)) ?? null;

Callers 1

overlay-ui.spec.tsFile · 0.85

Calls 1

resolveFunction · 0.50

Tested by

no test coverage detected