feat(firefox): implement missing launcher options (#4036)

This patch implements `puppeteer.defaultArgs()` and also missing
options, such as `ignoreDefaultArgs`.
This commit is contained in:
Andrey Lushnikov
2019-02-19 22:08:09 -08:00
committed by GitHub
parent 719ee5af3d
commit 03c542a6c1
6 changed files with 196 additions and 130 deletions

View File

@@ -174,32 +174,13 @@ class Launcher {
connection = new Connection('', transport, slowMo);
}
const browser = await Browser.create(connection, [], ignoreHTTPSErrors, defaultViewport, chromeProcess, gracefullyCloseChrome);
await ensureInitialPage(browser);
await browser.waitForTarget(t => t.type() === 'page');
return browser;
} catch (e) {
killChrome();
throw e;
}
/**
* @param {!Browser} browser
*/
async function ensureInitialPage(browser) {
// Wait for initial page target to be created.
if (browser.targets().find(target => target.type() === 'page'))
return;
let initialPageCallback;
const initialPagePromise = new Promise(resolve => initialPageCallback = resolve);
const listeners = [helper.addEventListener(browser, 'targetcreated', target => {
if (target.type() === 'page')
initialPageCallback();
})];
await initialPagePromise;
helper.removeEventListeners(listeners);
}
/**
* @return {Promise}
*/