refactor: do not pass user options to browser constructor (#2562)

This patch starts explicitly passing allowed options to the `Browser`
class. This, for example, makes it impossible to pass `appMode` as
an option to the `pptr.connect`.
This commit is contained in:
Andrey Lushnikov
2018-05-16 18:09:59 -07:00
committed by GitHub
parent 2d82e0891a
commit 51645932b7
2 changed files with 15 additions and 10 deletions

View File

@@ -159,7 +159,9 @@ class Launcher {
} else {
connection = Connection.createForPipe(/** @type {!NodeJS.WritableStream} */(chromeProcess.stdio[3]), /** @type {!NodeJS.ReadableStream} */ (chromeProcess.stdio[4]), connectionDelay);
}
return Browser.create(connection, [], options, chromeProcess, gracefullyCloseChrome);
const ignoreHTTPSErrors = !!options.ignoreHTTPSErrors;
const setDefaultViewport = !options.appMode;
return Browser.create(connection, [], ignoreHTTPSErrors, setDefaultViewport, chromeProcess, gracefullyCloseChrome);
} catch (e) {
killChrome();
throw e;
@@ -227,7 +229,8 @@ class Launcher {
const connectionDelay = options.slowMo || 0;
const connection = await Connection.createForWebSocket(options.browserWSEndpoint, connectionDelay);
const {browserContextIds} = await connection.send('Target.getBrowserContexts');
return Browser.create(connection, browserContextIds, options, null, () => connection.send('Browser.close').catch(debugError));
const ignoreHTTPSErrors = !!options.ignoreHTTPSErrors;
return Browser.create(connection, browserContextIds, ignoreHTTPSErrors, true /* setDefaultViewport */, null, () => connection.send('Browser.close').catch(debugError));
}
}