diff --git a/src/chromium/crBrowser.ts b/src/chromium/crBrowser.ts index c3e92274a0..d2dd11a587 100644 --- a/src/chromium/crBrowser.ts +++ b/src/chromium/crBrowser.ts @@ -18,7 +18,7 @@ import { BrowserBase, BrowserOptions, BrowserContextOptions } from '../browser'; import { assertBrowserContextIsNotOwned, BrowserContext, BrowserContextBase, validateBrowserContextOptions, verifyGeolocation } from '../browserContext'; import { Events as CommonEvents } from '../events'; -import { assert } from '../helper'; +import { assert, deprecate } from '../helper'; import * as network from '../network'; import { Page, PageBinding, Worker } from '../page'; import { ConnectionTransport, SlowMoTransport } from '../transport'; @@ -393,6 +393,7 @@ export class CRBrowserContext extends BrowserContextBase { } async setHTTPCredentials(httpCredentials: types.Credentials | null): Promise { + deprecate(`context.setHTTPCredentials`, `warning: method |context.setHTTPCredentials()| is deprecated. Instead of changing credentials, create another browser context with new credentials.`); this._options.httpCredentials = httpCredentials || undefined; for (const page of this.pages()) await (page._delegate as CRPage).updateHttpCredentials(); diff --git a/src/firefox/ffBrowser.ts b/src/firefox/ffBrowser.ts index 238a60af24..a31822267a 100644 --- a/src/firefox/ffBrowser.ts +++ b/src/firefox/ffBrowser.ts @@ -18,7 +18,7 @@ import { BrowserBase, BrowserOptions, BrowserContextOptions } from '../browser'; import { assertBrowserContextIsNotOwned, BrowserContext, BrowserContextBase, validateBrowserContextOptions, verifyGeolocation } from '../browserContext'; import { Events } from '../events'; -import { assert, helper, RegisteredListener } from '../helper'; +import { assert, deprecate, helper, RegisteredListener } from '../helper'; import * as network from '../network'; import { Page, PageBinding } from '../page'; import { ConnectionTransport, SlowMoTransport } from '../transport'; @@ -292,6 +292,7 @@ export class FFBrowserContext extends BrowserContextBase { } async setHTTPCredentials(httpCredentials: types.Credentials | null): Promise { + deprecate(`context.setHTTPCredentials`, `warning: method |context.setHTTPCredentials()| is deprecated. Instead of changing credentials, create another browser context with new credentials.`); this._options.httpCredentials = httpCredentials || undefined; await this._browser._connection.send('Browser.setHTTPCredentials', { browserContextId: this._browserContextId || undefined, credentials: httpCredentials }); } diff --git a/src/helper.ts b/src/helper.ts index 9d3d1f871f..16b7af1a53 100644 --- a/src/helper.ts +++ b/src/helper.ts @@ -36,7 +36,16 @@ export type Listener = (...args: any[]) => void; let isInDebugMode = !!getFromENV('PWDEBUG'); let isInRecordMode = false; +const deprecatedHits = new Set(); +export function deprecate(methodName: string, message: string) { + if (deprecatedHits.has(methodName)) + return; + deprecatedHits.add(methodName); + console.warn(message); +} + class Helper { + static evaluationString(fun: Function | string, ...args: any[]): string { if (Helper.isString(fun)) { assert(args.length === 0 || (args.length === 1 && args[0] === undefined), 'Cannot evaluate a string with arguments'); diff --git a/src/webkit/wkBrowser.ts b/src/webkit/wkBrowser.ts index 715b4dfd8c..9bf09a2937 100644 --- a/src/webkit/wkBrowser.ts +++ b/src/webkit/wkBrowser.ts @@ -18,7 +18,7 @@ import { BrowserBase, BrowserOptions, BrowserContextOptions } from '../browser'; import { assertBrowserContextIsNotOwned, BrowserContext, BrowserContextBase, validateBrowserContextOptions, verifyGeolocation } from '../browserContext'; import { Events } from '../events'; -import { helper, RegisteredListener, assert } from '../helper'; +import { helper, deprecate, RegisteredListener, assert } from '../helper'; import * as network from '../network'; import { Page, PageBinding } from '../page'; import { ConnectionTransport, SlowMoTransport } from '../transport'; @@ -305,6 +305,7 @@ export class WKBrowserContext extends BrowserContextBase { } async setHTTPCredentials(httpCredentials: types.Credentials | null): Promise { + deprecate(`context.setHTTPCredentials`, `warning: method |context.setHTTPCredentials()| is deprecated. Instead of changing credentials, create another browser context with new credentials.`); this._options.httpCredentials = httpCredentials || undefined; for (const page of this.pages()) await (page._delegate as WKPage).updateHttpCredentials();