summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/packages/puppeteer-core/src/cdp/Browser.ts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--remote/test/puppeteer/packages/puppeteer-core/src/cdp/Browser.ts93
1 files changed, 2 insertions, 91 deletions
diff --git a/remote/test/puppeteer/packages/puppeteer-core/src/cdp/Browser.ts b/remote/test/puppeteer/packages/puppeteer-core/src/cdp/Browser.ts
index 5c8a4c24da..9ae2cbfff1 100644
--- a/remote/test/puppeteer/packages/puppeteer-core/src/cdp/Browser.ts
+++ b/remote/test/puppeteer/packages/puppeteer-core/src/cdp/Browser.ts
@@ -12,20 +12,18 @@ import type {DebugInfo} from '../api/Browser.js';
import {
Browser as BrowserBase,
BrowserEvent,
- WEB_PERMISSION_TO_PROTOCOL_PERMISSION,
type BrowserCloseCallback,
type BrowserContextOptions,
type IsPageTargetCallback,
- type Permission,
type TargetFilterCallback,
} from '../api/Browser.js';
-import {BrowserContext, BrowserContextEvent} from '../api/BrowserContext.js';
+import {BrowserContextEvent} from '../api/BrowserContext.js';
import {CDPSessionEvent, type CDPSession} from '../api/CDPSession.js';
import type {Page} from '../api/Page.js';
import type {Target} from '../api/Target.js';
import type {Viewport} from '../common/Viewport.js';
-import {assert} from '../util/assert.js';
+import {CdpBrowserContext} from './BrowserContext.js';
import {ChromeTargetManager} from './ChromeTargetManager.js';
import type {Connection} from './Connection.js';
import {FirefoxTargetManager} from './FirefoxTargetManager.js';
@@ -424,90 +422,3 @@ export class CdpBrowser extends BrowserBase {
};
}
}
-
-/**
- * @internal
- */
-export class CdpBrowserContext extends BrowserContext {
- #connection: Connection;
- #browser: CdpBrowser;
- #id?: string;
-
- constructor(connection: Connection, browser: CdpBrowser, contextId?: string) {
- super();
- this.#connection = connection;
- this.#browser = browser;
- this.#id = contextId;
- }
-
- override get id(): string | undefined {
- return this.#id;
- }
-
- override targets(): CdpTarget[] {
- return this.#browser.targets().filter(target => {
- return target.browserContext() === this;
- });
- }
-
- override async pages(): Promise<Page[]> {
- const pages = await Promise.all(
- this.targets()
- .filter(target => {
- return (
- target.type() === 'page' ||
- (target.type() === 'other' &&
- this.#browser._getIsPageTargetCallback()?.(target))
- );
- })
- .map(target => {
- return target.page();
- })
- );
- return pages.filter((page): page is Page => {
- return !!page;
- });
- }
-
- override isIncognito(): boolean {
- return !!this.#id;
- }
-
- override async overridePermissions(
- origin: string,
- permissions: Permission[]
- ): Promise<void> {
- const protocolPermissions = permissions.map(permission => {
- const protocolPermission =
- WEB_PERMISSION_TO_PROTOCOL_PERMISSION.get(permission);
- if (!protocolPermission) {
- throw new Error('Unknown permission: ' + permission);
- }
- return protocolPermission;
- });
- await this.#connection.send('Browser.grantPermissions', {
- origin,
- browserContextId: this.#id || undefined,
- permissions: protocolPermissions,
- });
- }
-
- override async clearPermissionOverrides(): Promise<void> {
- await this.#connection.send('Browser.resetPermissions', {
- browserContextId: this.#id || undefined,
- });
- }
-
- override newPage(): Promise<Page> {
- return this.#browser._createPageInContext(this.#id);
- }
-
- override browser(): CdpBrowser {
- return this.#browser;
- }
-
- override async close(): Promise<void> {
- assert(this.#id, 'Non-incognito profiles cannot be closed!');
- await this.#browser._disposeContext(this.#id);
- }
-}