New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

playwright-core

Package Overview
Dependencies
Maintainers
1
Versions
4830
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

playwright-core - npm Package Compare versions

Comparing version

to
0.11.1-next.1584485273162

17

lib/browserContext.d.ts

@@ -31,5 +31,3 @@ /**

geolocation?: types.Geolocation;
permissions?: {
[key: string]: string[];
};
permissions?: string[];
extraHTTPHeaders?: network.Headers;

@@ -47,3 +45,5 @@ offline?: boolean;

clearCookies(): Promise<void>;
setPermissions(origin: string, permissions: string[]): Promise<void>;
grantPermissions(permissions: string[], options?: {
origin?: string;
}): Promise<void>;
clearPermissions(): Promise<void>;

@@ -76,2 +76,3 @@ setGeolocation(geolocation: types.Geolocation | null): Promise<void>;

private _closePromiseFulfill;
private _permissions;
constructor(options: BrowserContextOptions);

@@ -85,4 +86,4 @@ _browserClosed(): void;

abstract clearCookies(): Promise<void>;
abstract setPermissions(origin: string, permissions: string[]): Promise<void>;
abstract clearPermissions(): Promise<void>;
abstract _doGrantPermissions(origin: string, permissions: string[]): Promise<void>;
abstract _doClearPermissions(): Promise<void>;
abstract setGeolocation(geolocation: types.Geolocation | null): Promise<void>;

@@ -99,2 +100,6 @@ abstract setHTTPCredentials(httpCredentials: types.Credentials | null): Promise<void>;

abstract close(): Promise<void>;
grantPermissions(permissions: string[], options?: {
origin?: string;
}): Promise<void>;
clearPermissions(): Promise<void>;
setDefaultNavigationTimeout(timeout: number): void;

@@ -101,0 +106,0 @@ setDefaultTimeout(timeout: number): void;

@@ -31,2 +31,3 @@ "use strict";

this._closed = false;
this._permissions = new Map();
this._options = options;

@@ -45,2 +46,18 @@ this._closePromise = new Promise(fulfill => this._closePromiseFulfill = fulfill);

}
async grantPermissions(permissions, options) {
let origin = '*';
if (options && options.origin) {
const url = new URL(options.origin);
origin = url.origin;
}
const existing = new Set(this._permissions.get(origin) || []);
permissions.forEach(p => existing.add(p));
const list = [...existing.values()];
this._permissions.set(origin, list);
await this._doGrantPermissions(origin, list);
}
async clearPermissions() {
this._permissions.clear();
await this._doClearPermissions();
}
setDefaultNavigationTimeout(timeout) {

@@ -47,0 +64,0 @@ this._timeoutSettings.setDefaultNavigationTimeout(timeout);

@@ -76,4 +76,4 @@ /**

clearCookies(): Promise<void>;
setPermissions(origin: string, permissions: string[]): Promise<void>;
clearPermissions(): Promise<void>;
_doGrantPermissions(origin: string, permissions: string[]): Promise<void>;
_doClearPermissions(): Promise<void>;
setGeolocation(geolocation: types.Geolocation | null): Promise<void>;

@@ -80,0 +80,0 @@ setExtraHTTPHeaders(headers: network.Headers): Promise<void>;

@@ -215,4 +215,4 @@ "use strict";

async _initialize() {
const entries = Object.entries(this._options.permissions || {});
await Promise.all(entries.map(entry => this.setPermissions(entry[0], entry[1])));
if (this._options.permissions)
await this.grantPermissions(this._options.permissions);
if (this._options.geolocation)

@@ -259,3 +259,3 @@ await this.setGeolocation(this._options.geolocation);

}
async setPermissions(origin, permissions) {
async _doGrantPermissions(origin, permissions) {
const webPermissionToProtocol = new Map([

@@ -285,5 +285,5 @@ ['geolocation', 'geolocation'],

});
await this._browser._session.send('Browser.grantPermissions', { origin, browserContextId: this._browserContextId || undefined, permissions: filtered });
await this._browser._session.send('Browser.grantPermissions', { origin: origin === '*' ? undefined : origin, browserContextId: this._browserContextId || undefined, permissions: filtered });
}
async clearPermissions() {
async _doClearPermissions() {
await this._browser._session.send('Browser.resetPermissions', { browserContextId: this._browserContextId || undefined });

@@ -290,0 +290,0 @@ }

@@ -60,4 +60,4 @@ /**

clearCookies(): Promise<void>;
setPermissions(origin: string, permissions: string[]): Promise<void>;
clearPermissions(): Promise<void>;
_doGrantPermissions(origin: string, permissions: string[]): Promise<void>;
_doClearPermissions(): Promise<void>;
setGeolocation(geolocation: types.Geolocation | null): Promise<void>;

@@ -64,0 +64,0 @@ setExtraHTTPHeaders(headers: network.Headers): Promise<void>;

@@ -145,4 +145,4 @@ "use strict";

async _initialize() {
const entries = Object.entries(this._options.permissions || {});
await Promise.all(entries.map(entry => this.setPermissions(entry[0], entry[1])));
if (this._options.permissions)
await this.grantPermissions(this._options.permissions);
if (this._options.geolocation)

@@ -198,8 +198,8 @@ await this.setGeolocation(this._options.geolocation);

}
async setPermissions(origin, permissions) {
async _doGrantPermissions(origin, permissions) {
const webPermissionToProtocol = new Map([
['geolocation', 'geo'],
['microphone', 'microphone'],
['camera', 'camera'],
['notifications', 'desktop-notifications'],
['persistent-storage', 'persistent-storage'],
['push', 'push'],
['notifications', 'desktop-notification'],
]);

@@ -212,5 +212,5 @@ const filtered = permissions.map(permission => {

});
await this._browser._connection.send('Browser.grantPermissions', { origin, browserContextId: this._browserContextId || undefined, permissions: filtered });
await this._browser._connection.send('Browser.grantPermissions', { origin: origin, browserContextId: this._browserContextId || undefined, permissions: filtered });
}
async clearPermissions() {
async _doClearPermissions() {
await this._browser._connection.send('Browser.resetPermissions', { browserContextId: this._browserContextId || undefined });

@@ -217,0 +217,0 @@ }

@@ -112,3 +112,3 @@ export declare module Protocol {

browserContextId?: string;
permissions: ("geo" | "microphone" | "camera" | "desktop-notifications")[];
permissions: string[];
};

@@ -115,0 +115,0 @@ type grantPermissionsReturnValue = void;

@@ -64,4 +64,4 @@ /**

clearCookies(): Promise<void>;
setPermissions(origin: string, permissions: string[]): Promise<void>;
clearPermissions(): Promise<void>;
_doGrantPermissions(origin: string, permissions: string[]): Promise<void>;
_doClearPermissions(): Promise<void>;
setGeolocation(geolocation: types.Geolocation | null): Promise<void>;

@@ -68,0 +68,0 @@ setExtraHTTPHeaders(headers: network.Headers): Promise<void>;

@@ -160,4 +160,4 @@ "use strict";

await this._browser._browserSession.send('Playwright.setLanguages', { browserContextId: this._browserContextId, languages: [this._options.locale] });
const entries = Object.entries(this._options.permissions || {});
await Promise.all(entries.map(entry => this.setPermissions(entry[0], entry[1])));
if (this._options.permissions)
await this.grantPermissions(this._options.permissions);
if (this._options.geolocation)

@@ -208,3 +208,3 @@ await this.setGeolocation(this._options.geolocation);

}
async setPermissions(origin, permissions) {
async _doGrantPermissions(origin, permissions) {
const webPermissionToProtocol = new Map([

@@ -221,3 +221,3 @@ ['geolocation', 'geolocation'],

}
async clearPermissions() {
async _doClearPermissions() {
await this._browser._browserSession.send('Playwright.resetPermissions', { browserContextId: this._browserContextId });

@@ -224,0 +224,0 @@ }

{
"name": "playwright-core",
"version": "0.11.1-next.1584461989753",
"version": "0.11.1-next.1584485273162",
"description": "A high-level API to automate web browsers",

@@ -12,3 +12,3 @@ "repository": "github:Microsoft/playwright",

"chromium_revision": "750417",
"firefox_revision": "1042",
"firefox_revision": "1043",
"webkit_revision": "1179"

@@ -15,0 +15,0 @@ },

Sorry, the diff of this file is too big to display