Address review feedback: move permissions to contextOptions, remove redundant tests and files

Co-authored-by: pavelfeldman <883973+pavelfeldman@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-08-01 23:59:38 +00:00
parent ce81f556a5
commit d4667f865d
5 changed files with 10 additions and 176 deletions

View File

@@ -113,10 +113,7 @@ class IsolatedContextFactory extends BaseContextFactory {
}
protected override async _doCreateContext(browser: playwright.Browser): Promise<playwright.BrowserContext> {
const contextOptions = { ...this.browserConfig.contextOptions };
if (this.browserConfig.permissions)
contextOptions.permissions = this.browserConfig.permissions;
return browser.newContext(contextOptions);
return browser.newContext(this.browserConfig.contextOptions);
}
}
@@ -131,10 +128,7 @@ class CdpContextFactory extends BaseContextFactory {
protected override async _doCreateContext(browser: playwright.Browser): Promise<playwright.BrowserContext> {
if (this.browserConfig.isolated) {
const contextOptions: playwright.BrowserContextOptions = {};
if (this.browserConfig.permissions)
contextOptions.permissions = this.browserConfig.permissions;
return browser.newContext(contextOptions);
return browser.newContext(this.browserConfig.contextOptions);
}
return browser.contexts()[0];
}
@@ -154,10 +148,7 @@ class RemoteContextFactory extends BaseContextFactory {
}
protected override async _doCreateContext(browser: playwright.Browser): Promise<playwright.BrowserContext> {
const contextOptions: playwright.BrowserContextOptions = {};
if (this.browserConfig.permissions)
contextOptions.permissions = this.browserConfig.permissions;
return browser.newContext(contextOptions);
return browser.newContext(this.browserConfig.contextOptions);
}
}
@@ -186,8 +177,6 @@ class PersistentContextFactory implements BrowserContextFactory {
handleSIGINT: false,
handleSIGTERM: false,
};
if (this.browserConfig.permissions)
contextOptions.permissions = this.browserConfig.permissions;
const browserContext = await browserType.launchPersistentContext(userDataDir, contextOptions);
const close = () => this._closeBrowserContext(browserContext, userDataDir);
return { browserContext, close };

View File

@@ -173,12 +173,14 @@ export function configFromCLIOptions(cliOptions: CLIOptions): Config {
if (cliOptions.blockServiceWorkers)
contextOptions.serviceWorkers = 'block';
if (cliOptions.permissions)
contextOptions.permissions = cliOptions.permissions;
const result: Config = {
browser: {
browserName,
isolated: cliOptions.isolated,
userDataDir: cliOptions.userDataDir,
permissions: cliOptions.permissions,
launchOptions,
contextOptions,
cdpEndpoint: cliOptions.cdpEndpoint,