Skip to content

Commit e241c1b

Browse files
authored
chore: remove web mode (#1625)
1 parent cf49a9e commit e241c1b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+266
-942
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"extract-zip": "^1.6.6",
4848
"https-proxy-agent": "^3.0.0",
4949
"jpeg-js": "^0.3.6",
50+
"mime": "^2.4.4",
5051
"pngjs": "^3.4.0",
5152
"progress": "^2.0.3",
5253
"proxy-from-env": "^1.1.0",
@@ -56,6 +57,7 @@
5657
"devDependencies": {
5758
"@types/debug": "0.0.31",
5859
"@types/extract-zip": "^1.6.2",
60+
"@types/mime": "^2.0.1",
5961
"@types/node": "^8.10.34",
6062
"@types/pngjs": "^3.4.0",
6163
"@types/proxy-from-env": "^1.0.0",

src/browser.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
*/
1616

1717
import { BrowserContext, BrowserContextOptions } from './browserContext';
18-
import * as platform from './platform';
1918
import { Page } from './page';
19+
import { EventEmitter } from 'events';
2020

21-
export interface Browser extends platform.EventEmitterType {
21+
export interface Browser extends EventEmitter {
2222
newContext(options?: BrowserContextOptions): Promise<BrowserContext>;
2323
contexts(): BrowserContext[];
2424
newPage(options?: BrowserContextOptions): Promise<Page>;

src/chromium/crBrowser.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import { Events as CommonEvents } from '../events';
2121
import { assert, debugError, helper } from '../helper';
2222
import * as network from '../network';
2323
import { Page, PageBinding, Worker } from '../page';
24-
import * as platform from '../platform';
2524
import { ConnectionTransport, SlowMoTransport } from '../transport';
2625
import * as types from '../types';
2726
import { ConnectionEvents, CRConnection, CRSession } from './crConnection';
@@ -30,8 +29,9 @@ import { readProtocolStream } from './crProtocolHelper';
3029
import { Events } from './events';
3130
import { Protocol } from './protocol';
3231
import { CRExecutionContext } from './crExecutionContext';
32+
import { EventEmitter } from 'events';
3333

34-
export class CRBrowser extends platform.EventEmitter implements Browser {
34+
export class CRBrowser extends EventEmitter implements Browser {
3535
readonly _connection: CRConnection;
3636
_session: CRSession;
3737
private _clientRootSessionPromise: Promise<CRSession> | null = null;
@@ -221,7 +221,7 @@ export class CRBrowser extends platform.EventEmitter implements Browser {
221221
});
222222
}
223223

224-
async stopTracing(): Promise<platform.BufferType> {
224+
async stopTracing(): Promise<Buffer> {
225225
assert(this._tracingClient, 'Tracing was not started.');
226226
const [event] = await Promise.all([
227227
new Promise(f => this._tracingClient!.once('Tracing.tracingComplete', f)),
@@ -242,7 +242,7 @@ export class CRBrowser extends platform.EventEmitter implements Browser {
242242
return this._clientRootSessionPromise;
243243
}
244244

245-
_setDebugFunction(debugFunction: platform.DebuggerType) {
245+
_setDebugFunction(debugFunction: debug.IDebugger) {
246246
this._connection._debugProtocol = debugFunction;
247247
}
248248
}

src/chromium/crConnection.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
*/
1717

1818
import { assert } from '../helper';
19-
import * as platform from '../platform';
19+
import * as debug from 'debug';
2020
import { ConnectionTransport, ProtocolRequest, ProtocolResponse } from '../transport';
2121
import { Protocol } from './protocol';
22+
import { EventEmitter } from 'events';
2223

2324
export const ConnectionEvents = {
2425
Disconnected: Symbol('ConnectionEvents.Disconnected')
@@ -28,13 +29,13 @@ export const ConnectionEvents = {
2829
// should ignore.
2930
export const kBrowserCloseMessageId = -9999;
3031

31-
export class CRConnection extends platform.EventEmitter {
32+
export class CRConnection extends EventEmitter {
3233
private _lastId = 0;
3334
private readonly _transport: ConnectionTransport;
3435
private readonly _sessions = new Map<string, CRSession>();
3536
readonly rootSession: CRSession;
3637
_closed = false;
37-
_debugProtocol: platform.DebuggerType;
38+
_debugProtocol: debug.IDebugger;
3839

3940
constructor(transport: ConnectionTransport) {
4041
super();
@@ -43,7 +44,7 @@ export class CRConnection extends platform.EventEmitter {
4344
this._transport.onclose = this._onClose.bind(this);
4445
this.rootSession = new CRSession(this, '', 'browser', '');
4546
this._sessions.set('', this.rootSession);
46-
this._debugProtocol = platform.debug('pw:protocol');
47+
this._debugProtocol = debug('pw:protocol');
4748
(this._debugProtocol as any).color = '34';
4849
}
4950

@@ -118,7 +119,7 @@ export const CRSessionEvents = {
118119
Disconnected: Symbol('Events.CDPSession.Disconnected')
119120
};
120121

121-
export class CRSession extends platform.EventEmitter {
122+
export class CRSession extends EventEmitter {
122123
_connection: CRConnection | null;
123124
private readonly _callbacks = new Map<number, {resolve: (o: any) => void, reject: (e: Error) => void, error: Error, method: string}>();
124125
private readonly _targetType: string;

src/chromium/crNetworkManager.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import { assert, debugError, helper, RegisteredListener } from '../helper';
2121
import { Protocol } from './protocol';
2222
import * as network from '../network';
2323
import * as frames from '../frames';
24-
import * as platform from '../platform';
2524
import { Credentials } from '../types';
2625
import { CRPage } from './crPage';
2726

@@ -191,7 +190,7 @@ export class CRNetworkManager {
191190
_createResponse(request: InterceptableRequest, responsePayload: Protocol.Network.Response): network.Response {
192191
const getResponseBody = async () => {
193192
const response = await this._client.send('Network.getResponseBody', { requestId: request._requestId });
194-
return platform.Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
193+
return Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
195194
};
196195
return new network.Response(request.request, responsePayload.status, responsePayload.statusText, headersObject(responsePayload.headers), getResponseBody);
197196
}
@@ -281,7 +280,7 @@ class InterceptableRequest implements network.RouteDelegate {
281280
}
282281

283282
async fulfill(response: network.FulfillResponse) {
284-
const responseBody = response.body && helper.isString(response.body) ? platform.Buffer.from(response.body) : (response.body || null);
283+
const responseBody = response.body && helper.isString(response.body) ? Buffer.from(response.body) : (response.body || null);
285284

286285
const responseHeaders: { [s: string]: string; } = {};
287286
if (response.headers) {
@@ -291,7 +290,7 @@ class InterceptableRequest implements network.RouteDelegate {
291290
if (response.contentType)
292291
responseHeaders['content-type'] = response.contentType;
293292
if (responseBody && !('content-length' in responseHeaders))
294-
responseHeaders['content-length'] = String(platform.Buffer.byteLength(responseBody));
293+
responseHeaders['content-length'] = String(Buffer.byteLength(responseBody));
295294

296295
await this._client.send('Fetch.fulfillRequest', {
297296
requestId: this._interceptionId!,

src/chromium/crPage.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import { CRPDF } from './crPdf';
3636
import { CRBrowserContext } from './crBrowser';
3737
import * as types from '../types';
3838
import { ConsoleMessage } from '../console';
39-
import * as platform from '../platform';
4039

4140
const UTILITY_WORLD_NAME = '__playwright_utility_world__';
4241

@@ -455,7 +454,7 @@ export class CRPage implements PageDelegate {
455454
await this._client.send('Emulation.setDefaultBackgroundColorOverride', { color });
456455
}
457456

458-
async takeScreenshot(format: 'png' | 'jpeg', documentRect: types.Rect | undefined, viewportRect: types.Rect | undefined, quality: number | undefined): Promise<platform.BufferType> {
457+
async takeScreenshot(format: 'png' | 'jpeg', documentRect: types.Rect | undefined, viewportRect: types.Rect | undefined, quality: number | undefined): Promise<Buffer> {
459458
const { visualViewport } = await this._client.send('Page.getLayoutMetrics');
460459
if (!documentRect) {
461460
documentRect = {
@@ -472,7 +471,7 @@ export class CRPage implements PageDelegate {
472471
// ignore current page scale.
473472
const clip = { ...documentRect, scale: viewportRect ? visualViewport.scale : 1 };
474473
const result = await this._client.send('Page.captureScreenshot', { format, quality, clip });
475-
return platform.Buffer.from(result.data, 'base64');
474+
return Buffer.from(result.data, 'base64');
476475
}
477476

478477
async resetViewport(): Promise<void> {
@@ -587,7 +586,7 @@ export class CRPage implements PageDelegate {
587586
await this._client.send('Page.enable').catch(e => {});
588587
}
589588

590-
async pdf(options?: types.PDFOptions): Promise<platform.BufferType> {
589+
async pdf(options?: types.PDFOptions): Promise<Buffer> {
591590
return this._pdf.generate(options);
592591
}
593592

src/chromium/crPdf.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717

1818
import { assert, helper } from '../helper';
19-
import * as platform from '../platform';
2019
import * as types from '../types';
2120
import { CRSession } from './crConnection';
2221
import { readProtocolStream } from './crProtocolHelper';
@@ -77,7 +76,7 @@ export class CRPDF {
7776
this._client = client;
7877
}
7978

80-
async generate(options: types.PDFOptions = {}): Promise<platform.BufferType> {
79+
async generate(options: types.PDFOptions = {}): Promise<Buffer> {
8180
const {
8281
scale = 1,
8382
displayHeaderFooter = false,

src/chromium/crProtocolHelper.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
import { assert } from '../helper';
1919
import { CRSession } from './crConnection';
2020
import { Protocol } from './protocol';
21-
import * as platform from '../platform';
21+
import * as fs from 'fs';
22+
import * as util from 'util';
2223

2324
export function getExceptionMessage(exceptionDetails: Protocol.Runtime.ExceptionDetails): string {
2425
if (exceptionDetails.exception)
@@ -61,24 +62,24 @@ export async function releaseObject(client: CRSession, remoteObject: Protocol.Ru
6162
await client.send('Runtime.releaseObject', {objectId: remoteObject.objectId}).catch(error => {});
6263
}
6364

64-
export async function readProtocolStream(client: CRSession, handle: string, path: string | null): Promise<platform.BufferType> {
65+
export async function readProtocolStream(client: CRSession, handle: string, path: string | null): Promise<Buffer> {
6566
let eof = false;
6667
let fd: number | undefined;
6768
if (path)
68-
fd = await platform.openFdAsync(path, 'w');
69+
fd = await util.promisify(fs.open)(path, 'w');
6970
const bufs = [];
7071
while (!eof) {
7172
const response = await client.send('IO.read', {handle});
7273
eof = response.eof;
73-
const buf = platform.Buffer.from(response.data, response.base64Encoded ? 'base64' : undefined);
74+
const buf = Buffer.from(response.data, response.base64Encoded ? 'base64' : undefined);
7475
bufs.push(buf);
7576
if (path)
76-
await platform.writeFdAsync(fd!, buf);
77+
await util.promisify(fs.write)(fd!, buf);
7778
}
7879
if (path)
79-
await platform.closeFdAsync(fd!);
80+
await util.promisify(fs.close)(fd!);
8081
await client.send('IO.close', {handle});
81-
return platform.Buffer.concat(bufs);
82+
return Buffer.concat(bufs);
8283
}
8384

8485
export function toConsoleMessageLocation(stackTrace: Protocol.Runtime.StackTrace | undefined) {

src/dom.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,18 @@
1414
* limitations under the License.
1515
*/
1616

17+
import * as fs from 'fs';
18+
import * as mime from 'mime';
19+
import * as path from 'path';
20+
import * as util from 'util';
1721
import * as frames from './frames';
22+
import { assert, debugError, helper } from './helper';
23+
import Injected from './injected/injected';
1824
import * as input from './input';
1925
import * as js from './javascript';
20-
import * as types from './types';
21-
import { assert, helper, debugError } from './helper';
22-
import Injected from './injected/injected';
2326
import { Page } from './page';
24-
import * as platform from './platform';
2527
import { selectors } from './selectors';
28+
import * as types from './types';
2629

2730
export type PointerActionOptions = {
2831
modifiers?: input.Modifier[];
@@ -257,9 +260,9 @@ export class ElementHandle<T extends Node = Node> extends js.JSHandle<T> {
257260
for (const item of ff) {
258261
if (typeof item === 'string') {
259262
const file: types.FilePayload = {
260-
name: platform.basename(item),
261-
type: platform.getMimeType(item),
262-
data: await platform.readFileAsync(item, 'base64')
263+
name: path.basename(item),
264+
type: mime.getType(item) || 'application/octet-stream',
265+
data: await util.promisify(fs.readFile)(item, 'base64')
263266
};
264267
filePayloads.push(file);
265268
} else {
@@ -316,7 +319,7 @@ export class ElementHandle<T extends Node = Node> extends js.JSHandle<T> {
316319
return this._page._delegate.getBoundingBox(this);
317320
}
318321

319-
async screenshot(options?: types.ElementScreenshotOptions): Promise<platform.BufferType> {
322+
async screenshot(options?: types.ElementScreenshotOptions): Promise<Buffer> {
320323
return this._page._screenshotter.screenshotElement(this, options);
321324
}
322325

src/extendedEventEmitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { EventEmitter } from './platform';
17+
import { EventEmitter } from 'events';
1818
import { helper } from './helper';
1919

2020
export class ExtendedEventEmitter extends EventEmitter {

0 commit comments

Comments
 (0)