diff --git a/src/api.ts b/src/api.ts index bfceefe31c..e53dfe2ec7 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as chromium from './chromium/api'; -import * as firefox from './firefox/api'; -import * as webkit from './webkit/api'; +import * as chromium from './chromium/crApi'; +import * as firefox from './firefox/ffApi'; +import * as webkit from './webkit/wkApi'; export const Chromium = chromium; export const Firefox = firefox; diff --git a/src/chromium/api.ts b/src/chromium/crApi.ts similarity index 92% rename from src/chromium/api.ts rename to src/chromium/crApi.ts index d0beab85a8..9607add225 100644 --- a/src/chromium/api.ts +++ b/src/chromium/crApi.ts @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. +export { BrowserContext } from '../browserContext'; export { ConsoleMessage } from '../console'; export { Dialog } from '../dialog'; export { ElementHandle } from '../dom'; @@ -9,14 +10,15 @@ export { Frame } from '../frames'; export { Keyboard, Mouse } from '../input'; export { JSHandle } from '../javascript'; export { Request, Response } from '../network'; -export { BrowserContext } from '../browserContext'; +export { Page } from '../page'; + export { CRSession as CDPSession } from './crConnection'; +export { CRTarget as Target } from './crTarget'; export { CRAccessibility as Accessibility } from './features/crAccessibility'; export { CRCoverage as Coverage } from './features/crCoverage'; export { CRInterception as Interception } from './features/crInterception'; export { CROverrides as Overrides } from './features/crOverrides'; export { CRPdf as PDF } from './features/crPdf'; export { CRPermissions as Permissions } from './features/crPermissions'; -export { Worker, CRWorkers as Workers } from './features/crWorkers'; -export { Page } from '../page'; -export { CRTarget as Target } from './crTarget'; +export { CRWorker as Worker, CRWorkers as Workers } from './features/crWorkers'; + diff --git a/src/chromium/crBrowser.ts b/src/chromium/crBrowser.ts index b893442113..2b85c2e59f 100644 --- a/src/chromium/crBrowser.ts +++ b/src/chromium/crBrowser.ts @@ -29,9 +29,9 @@ import * as browser from '../browser'; import * as network from '../network'; import { CRPermissions } from './features/crPermissions'; import { CROverrides } from './features/crOverrides'; -import { Worker } from './features/crWorkers'; +import { CRWorker } from './features/crWorkers'; import { ConnectionTransport } from '../transport'; -import { readProtocolStream } from './protocolHelper'; +import { readProtocolStream } from './crProtocolHelper'; export class CRBrowser extends EventEmitter implements browser.Browser { _connection: CRConnection; @@ -230,7 +230,7 @@ export class CRBrowser extends EventEmitter implements browser.Browser { return [...this._targets.values()].find(t => t.type() === 'browser'); } - serviceWorker(target: CRTarget): Promise { + serviceWorker(target: CRTarget): Promise { return target._worker(); } diff --git a/src/chromium/crExecutionContext.ts b/src/chromium/crExecutionContext.ts index 7b329fdb07..cb252e1674 100644 --- a/src/chromium/crExecutionContext.ts +++ b/src/chromium/crExecutionContext.ts @@ -17,7 +17,7 @@ import { CRSession } from './crConnection'; import { helper } from '../helper'; -import { valueFromRemoteObject, getExceptionMessage, releaseObject } from './protocolHelper'; +import { valueFromRemoteObject, getExceptionMessage, releaseObject } from './crProtocolHelper'; import { Protocol } from './protocol'; import * as js from '../javascript'; diff --git a/src/chromium/crFrameManager.ts b/src/chromium/crFrameManager.ts index 366f67417d..82cab2f647 100644 --- a/src/chromium/crFrameManager.ts +++ b/src/chromium/crFrameManager.ts @@ -25,7 +25,7 @@ import { CRNetworkManager } from './crNetworkManager'; import { Page } from '../page'; import { Protocol } from './protocol'; import { Events } from '../events'; -import { toConsoleMessageLocation, exceptionToError, releaseObject } from './protocolHelper'; +import { toConsoleMessageLocation, exceptionToError, releaseObject } from './crProtocolHelper'; import * as dialog from '../dialog'; import { PageDelegate } from '../page'; import { RawMouseImpl, RawKeyboardImpl } from './crInput'; diff --git a/src/chromium/protocolHelper.ts b/src/chromium/crProtocolHelper.ts similarity index 100% rename from src/chromium/protocolHelper.ts rename to src/chromium/crProtocolHelper.ts diff --git a/src/chromium/crTarget.ts b/src/chromium/crTarget.ts index f49b4ece52..4dd91a937d 100644 --- a/src/chromium/crTarget.ts +++ b/src/chromium/crTarget.ts @@ -19,7 +19,7 @@ import { CRBrowser } from './crBrowser'; import { BrowserContext } from '../browserContext'; import { CRSession, CRSessionEvents } from './crConnection'; import { Events } from '../events'; -import { Worker } from './features/crWorkers'; +import { CRWorker } from './features/crWorkers'; import { Page } from '../page'; import { Protocol } from './protocol'; import { debugError } from '../helper'; @@ -35,7 +35,7 @@ export class CRTarget { private _sessionFactory: () => Promise; private _pagePromise: Promise | null = null; private _frameManager: CRFrameManager | null = null; - private _workerPromise: Promise | null = null; + private _workerPromise: Promise | null = null; _initializedPromise: Promise; _initializedCallback: (value?: unknown) => void; _isInitialized: boolean; @@ -98,13 +98,13 @@ export class CRTarget { return this._pagePromise; } - async _worker(): Promise { + async _worker(): Promise { if (this._targetInfo.type !== 'service_worker' && this._targetInfo.type !== 'shared_worker') return null; if (!this._workerPromise) { // TODO(einbinder): Make workers send their console logs. this._workerPromise = this._sessionFactory() - .then(client => new Worker(client, this._targetInfo.url, () => { } /* consoleAPICalled */, () => { } /* exceptionThrown */)); + .then(client => new CRWorker(client, this._targetInfo.url, () => { } /* consoleAPICalled */, () => { } /* exceptionThrown */)); } return this._workerPromise; } diff --git a/src/chromium/features/crOverrides.ts b/src/chromium/features/crOverrides.ts index 3cd4a8bb13..887d310787 100644 --- a/src/chromium/features/crOverrides.ts +++ b/src/chromium/features/crOverrides.ts @@ -17,7 +17,7 @@ import { BrowserContext } from '../../browserContext'; import { CRFrameManager } from '../crFrameManager'; -import { Page } from '../api'; +import { Page } from '../crApi'; export class CROverrides { private _context: BrowserContext; diff --git a/src/chromium/features/crPdf.ts b/src/chromium/features/crPdf.ts index 59607cf9d3..c5bb273c64 100644 --- a/src/chromium/features/crPdf.ts +++ b/src/chromium/features/crPdf.ts @@ -17,7 +17,7 @@ import { assert, helper } from '../../helper'; import { CRSession } from '../crConnection'; -import { readProtocolStream } from '../protocolHelper'; +import { readProtocolStream } from '../crProtocolHelper'; type PDFOptions = { scale?: number, diff --git a/src/chromium/features/crWorkers.ts b/src/chromium/features/crWorkers.ts index f7650509db..3ec0af6134 100644 --- a/src/chromium/features/crWorkers.ts +++ b/src/chromium/features/crWorkers.ts @@ -24,13 +24,13 @@ import * as types from '../../types'; import * as js from '../../javascript'; import * as console from '../../console'; import { CRExecutionContext } from '../crExecutionContext'; -import { toConsoleMessageLocation, exceptionToError } from '../protocolHelper'; +import { toConsoleMessageLocation, exceptionToError } from '../crProtocolHelper'; type AddToConsoleCallback = (type: string, args: js.JSHandle[], location: console.ConsoleMessageLocation) => void; type HandleExceptionCallback = (error: Error) => void; export class CRWorkers extends EventEmitter { - private _workers = new Map(); + private _workers = new Map(); constructor(client: CRSession, addToConsole: AddToConsoleCallback, handleException: HandleExceptionCallback) { super(); @@ -39,7 +39,7 @@ export class CRWorkers extends EventEmitter { if (event.targetInfo.type !== 'worker') return; const session = CRConnection.fromSession(client).session(event.sessionId); - const worker = new Worker(session, event.targetInfo.url, addToConsole, handleException); + const worker = new CRWorker(session, event.targetInfo.url, addToConsole, handleException); this._workers.set(event.sessionId, worker); this.emit(Events.Workers.WorkerCreated, worker); }); @@ -52,12 +52,12 @@ export class CRWorkers extends EventEmitter { }); } - list(): Worker[] { + list(): CRWorker[] { return Array.from(this._workers.values()); } } -export class Worker extends EventEmitter { +export class CRWorker extends EventEmitter { private _client: CRSession; private _url: string; private _executionContextPromise: Promise; diff --git a/src/firefox/api.ts b/src/firefox/ffApi.ts similarity index 99% rename from src/firefox/api.ts rename to src/firefox/ffApi.ts index e2791c2aa5..3f24f13b16 100644 --- a/src/firefox/api.ts +++ b/src/firefox/ffApi.ts @@ -1,16 +1,18 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export { TimeoutError } from '../errors'; -export { Keyboard, Mouse } from '../input'; export { BrowserContext } from '../browserContext'; +export { ConsoleMessage } from '../console'; export { Dialog } from '../dialog'; -export { JSHandle } from '../javascript'; export { ElementHandle } from '../dom'; +export { TimeoutError } from '../errors'; +export { Frame } from '../frames'; +export { Keyboard, Mouse } from '../input'; +export { JSHandle } from '../javascript'; +export { Request, Response } from '../network'; +export { Page } from '../page'; + export { FFAccessibility as Accessibility } from './features/ffAccessibility'; export { FFInterception as Interception } from './features/ffInterception'; export { FFPermissions as Permissions } from './features/ffPermissions'; -export { Frame } from '../frames'; -export { Request, Response } from '../network'; -export { Page } from '../page'; -export { ConsoleMessage } from '../console'; + diff --git a/src/webkit/api.ts b/src/webkit/wkApi.ts similarity index 90% rename from src/webkit/api.ts rename to src/webkit/wkApi.ts index bd18c96726..e0f61d4b97 100644 --- a/src/webkit/api.ts +++ b/src/webkit/wkApi.ts @@ -1,13 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export { TimeoutError } from '../errors'; export { BrowserContext } from '../browserContext'; -export { JSHandle } from '../javascript'; +export { ConsoleMessage } from '../console'; +export { Dialog } from '../dialog'; export { ElementHandle } from '../dom'; +export { TimeoutError } from '../errors'; export { Frame } from '../frames'; -export { Mouse, Keyboard } from '../input'; +export { Keyboard, Mouse } from '../input'; +export { JSHandle } from '../javascript'; export { Request, Response } from '../network'; export { Page } from '../page'; -export { Dialog } from '../dialog'; -export { ConsoleMessage } from '../console'; + diff --git a/src/webkit/wkExecutionContext.ts b/src/webkit/wkExecutionContext.ts index 74462359b4..678eae53c0 100644 --- a/src/webkit/wkExecutionContext.ts +++ b/src/webkit/wkExecutionContext.ts @@ -17,7 +17,7 @@ import { WKTargetSession, isSwappedOutError } from './wkConnection'; import { helper } from '../helper'; -import { valueFromRemoteObject, releaseObject } from './protocolHelper'; +import { valueFromRemoteObject, releaseObject } from './wkProtocolHelper'; import { Protocol } from './protocol'; import * as js from '../javascript'; @@ -144,7 +144,7 @@ export class WKExecutionContext implements js.ExecutionContextDelegate { return valueFromRemoteObject(response.result); }).catch(rewriteError); - function unserializableToString(arg) { + function unserializableToString(arg: any) { if (Object.is(arg, -0)) return '-0'; if (Object.is(arg, Infinity)) @@ -161,7 +161,7 @@ export class WKExecutionContext implements js.ExecutionContextDelegate { throw new Error('Unsupported value: ' + arg + ' (' + (typeof arg) + ')'); } - function isUnserializable(arg) { + function isUnserializable(arg: any) { if (typeof arg === 'bigint') return true; if (Object.is(arg, -0)) @@ -180,11 +180,7 @@ export class WKExecutionContext implements js.ExecutionContextDelegate { return false; } - /** - * @param {!Error} error - * @return {!Protocol.Runtime.evaluateReturnValue} - */ - function rewriteError(error) { + function rewriteError(error: Error): Protocol.Runtime.evaluateReturnValue { if (error.message.includes('Object couldn\'t be returned by value')) return {result: {type: 'undefined'}}; diff --git a/src/webkit/protocolHelper.ts b/src/webkit/wkProtocolHelper.ts similarity index 100% rename from src/webkit/protocolHelper.ts rename to src/webkit/wkProtocolHelper.ts