1
0
Fork 0
firefox/remote/test/puppeteer/examples/puppeteer-in-extension/background.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

42 lines
1.1 KiB
JavaScript

/**
* @license
* Copyright 2024 Google Inc.
* SPDX-License-Identifier: Apache-2.0
*/
import {
connect,
ExtensionTransport,
} from 'puppeteer-core/lib/esm/puppeteer/puppeteer-core-browser.js';
globalThis.testConnect = async url => {
const tab = await chrome.tabs.create({
url,
});
// Wait for the new tab to load before connecting.
await new Promise(resolve => {
function listener(tabId, changeInfo) {
if (tabId === tab.id && changeInfo.status === 'complete') {
chrome.tabs.onUpdated.removeListener(listener);
resolve();
}
}
chrome.tabs.onUpdated.addListener(listener);
});
const browser = await connect({
transport: await ExtensionTransport.connectTab(tab.id),
});
const [page] = await browser.pages();
const title = await page.evaluate(() => {
return document.title;
});
const frame = await page.waitForFrame(frame => {
return frame.url().endsWith('iframe.html');
});
const frameTitle = await frame.evaluate(() => {
return document.title;
});
await page.waitForNetworkIdle();
return title + '|' + frameTitle;
};