patchright-core 1.50.1 → 1.51.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ThirdPartyNotices.txt +1 -43
- package/browsers.json +22 -10
- package/index.js +0 -1
- package/lib/androidServerImpl.js +4 -4
- package/lib/browserServerImpl.js +18 -9
- package/lib/cli/driver.js +6 -6
- package/lib/cli/program.js +9 -9
- package/lib/cli/programWithTestStub.js +2 -1
- package/lib/client/android.js +37 -58
- package/lib/client/artifact.js +4 -7
- package/lib/client/browser.js +10 -15
- package/lib/client/browserContext.js +77 -73
- package/lib/client/browserType.js +30 -64
- package/lib/client/channelOwner.js +23 -20
- package/lib/client/clientHelper.js +5 -7
- package/lib/client/clientStackTrace.js +65 -0
- package/lib/client/connection.js +46 -39
- package/lib/client/consoleMessage.js +4 -7
- package/lib/client/electron.js +10 -10
- package/lib/client/elementHandle.js +32 -33
- package/lib/client/errors.js +2 -2
- package/lib/client/eventEmitter.js +5 -8
- package/lib/client/fetch.js +60 -61
- package/lib/client/fileUtils.js +31 -0
- package/lib/client/frame.js +30 -29
- package/lib/client/harRouter.js +7 -9
- package/lib/client/jsHandle.js +3 -4
- package/lib/client/localUtils.js +24 -0
- package/lib/client/locator.js +37 -18
- package/lib/client/network.js +40 -40
- package/lib/client/page.js +59 -55
- package/lib/client/platform.js +71 -0
- package/lib/client/playwright.js +21 -1
- package/lib/client/selectors.js +8 -2
- package/lib/client/stream.js +2 -21
- package/lib/client/timeoutSettings.js +65 -0
- package/lib/client/tracing.js +10 -7
- package/lib/client/video.js +2 -2
- package/lib/client/waiter.js +5 -6
- package/lib/client/webSocket.js +106 -0
- package/lib/client/worker.js +12 -10
- package/lib/client/writableStream.js +2 -21
- package/lib/generated/consoleApiSource.js +1 -1
- package/lib/generated/injectedScriptSource.js +1 -1
- package/lib/inProcessFactory.js +6 -3
- package/lib/outofprocess.js +12 -8
- package/lib/protocol/validator.js +64 -13
- package/lib/protocol/validatorPrimitives.js +1 -2
- package/lib/remote/playwrightConnection.js +18 -10
- package/lib/remote/playwrightServer.js +20 -7
- package/lib/server/android/android.js +17 -14
- package/lib/server/android/backendAdb.js +14 -14
- package/lib/server/artifact.js +3 -3
- package/lib/server/bidi/bidiBrowser.js +2 -2
- package/lib/server/bidi/bidiChromium.js +4 -3
- package/lib/server/bidi/bidiConnection.js +1 -1
- package/lib/server/bidi/bidiExecutionContext.js +70 -40
- package/lib/server/bidi/bidiFirefox.js +4 -3
- package/lib/server/bidi/bidiInput.js +5 -8
- package/lib/server/bidi/bidiNetworkManager.js +3 -3
- package/lib/server/bidi/bidiOverCdp.js +2 -2
- package/lib/server/bidi/bidiPage.js +30 -46
- package/lib/server/bidi/third_party/firefoxPrefs.js +19 -3
- package/lib/server/browser.js +2 -2
- package/lib/server/browserContext.js +37 -40
- package/lib/server/browserType.js +18 -17
- package/lib/{utils/sequence.js → server/callLog.js} +18 -3
- package/lib/server/chromium/chromium.js +14 -14
- package/lib/server/chromium/chromiumSwitches.js +32 -1
- package/lib/server/chromium/crBrowser.js +15 -14
- package/lib/server/chromium/crConnection.js +2 -2
- package/lib/server/chromium/crCoverage.js +1 -1
- package/lib/server/chromium/crDevTools.js +1 -1
- package/lib/server/chromium/crDragDrop.js +1 -1
- package/lib/server/chromium/crExecutionContext.js +25 -17
- package/lib/server/chromium/crInput.js +2 -2
- package/lib/server/chromium/crNetworkManager.js +73 -26
- package/lib/server/chromium/crPage.js +22 -23
- package/lib/server/chromium/crPdf.js +1 -1
- package/lib/server/chromium/crProtocolHelper.js +3 -3
- package/lib/server/chromium/crServiceWorker.js +2 -2
- package/lib/server/chromium/videoRecorder.js +2 -2
- package/lib/server/clock.js +1 -1
- package/lib/server/codegen/javascript.js +1 -1
- package/lib/server/codegen/languages.js +2 -2
- package/lib/server/debugController.js +3 -3
- package/lib/server/deviceDescriptors.js +1 -1
- package/lib/server/deviceDescriptorsSource.json +131 -131
- package/lib/server/dispatchers/androidDispatcher.js +1 -1
- package/lib/server/dispatchers/artifactDispatcher.js +3 -3
- package/lib/server/dispatchers/browserContextDispatcher.js +19 -19
- package/lib/server/dispatchers/browserTypeDispatcher.js +1 -1
- package/lib/server/dispatchers/cdpSessionDispatcher.js +1 -1
- package/lib/server/dispatchers/dispatcher.js +27 -25
- package/lib/server/dispatchers/electronDispatcher.js +3 -3
- package/lib/server/dispatchers/elementHandlerDispatcher.js +7 -2
- package/lib/server/dispatchers/frameDispatcher.js +4 -4
- package/lib/server/dispatchers/jsHandleDispatcher.js +2 -2
- package/lib/server/dispatchers/jsonPipeDispatcher.js +2 -2
- package/lib/server/dispatchers/localUtilsDispatcher.js +25 -298
- package/lib/server/dispatchers/networkDispatchers.js +3 -3
- package/lib/server/dispatchers/pageDispatcher.js +11 -9
- package/lib/server/dispatchers/playwrightDispatcher.js +5 -5
- package/lib/server/dispatchers/streamDispatcher.js +4 -3
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +8 -7
- package/lib/server/dispatchers/writableStreamDispatcher.js +5 -6
- package/lib/server/dom.js +18 -12
- package/lib/server/download.js +1 -1
- package/lib/server/electron/electron.js +17 -16
- package/lib/server/errors.js +1 -1
- package/lib/server/fetch.js +36 -25
- package/lib/server/fileUploadUtils.js +7 -4
- package/lib/server/firefox/ffBrowser.js +8 -2
- package/lib/server/firefox/ffConnection.js +1 -1
- package/lib/server/firefox/ffExecutionContext.js +25 -17
- package/lib/server/firefox/ffNetworkManager.js +2 -2
- package/lib/server/firefox/ffPage.js +15 -21
- package/lib/server/firefox/firefox.js +7 -9
- package/lib/server/frameSelectors.js +1 -1
- package/lib/server/frames.js +366 -209
- package/lib/server/har/harRecorder.js +4 -4
- package/lib/server/har/harTracer.js +7 -8
- package/lib/server/harBackend.js +157 -0
- package/lib/server/helper.js +2 -2
- package/lib/server/index.js +1 -8
- package/lib/server/input.js +1 -1
- package/lib/server/instrumentation.js +2 -2
- package/lib/server/isomorphic/utilityScriptSerializers.js +3 -0
- package/lib/server/javascript.js +46 -33
- package/lib/server/launchApp.js +2 -2
- package/lib/server/localUtils.js +203 -0
- package/lib/server/network.js +3 -3
- package/lib/server/page.js +41 -22
- package/lib/server/pipeTransport.js +1 -1
- package/lib/server/playwright.js +5 -5
- package/lib/server/progress.js +1 -1
- package/lib/server/protocolError.js +1 -1
- package/lib/server/recorder/contextRecorder.js +3 -3
- package/lib/server/recorder/recorderApp.js +18 -12
- package/lib/server/recorder/recorderCollection.js +3 -3
- package/lib/server/recorder/throttledFile.js +3 -4
- package/lib/server/recorder.js +7 -5
- package/lib/server/registry/browserFetcher.js +9 -7
- package/lib/server/registry/dependencies.js +15 -15
- package/lib/server/registry/index.js +38 -44
- package/lib/server/registry/oopDownloadBrowserMain.js +3 -3
- package/lib/server/screenshotter.js +1 -1
- package/lib/server/selectors.js +3 -3
- package/lib/server/socksClientCertificatesInterceptor.js +8 -8
- package/lib/server/socksInterceptor.js +8 -5
- package/lib/server/storageScript.js +160 -0
- package/lib/{common → server}/timeoutSettings.js +6 -5
- package/lib/server/trace/recorder/snapshotter.js +9 -8
- package/lib/server/trace/recorder/tracing.js +40 -31
- package/lib/server/trace/test/inMemorySnapshotter.js +4 -4
- package/lib/server/trace/viewer/traceViewer.js +13 -5
- package/lib/server/transport.js +2 -2
- package/lib/{utils → server/utils}/comparators.js +4 -4
- package/lib/{utils → server/utils}/crypto.js +4 -4
- package/lib/{utils → server/utils}/debug.js +4 -12
- package/lib/{utils → server/utils}/debugLogger.js +2 -2
- package/lib/{utils → server/utils}/env.js +4 -0
- package/lib/{utils → server/utils}/expectUtils.js +1 -1
- package/lib/{utils → server/utils}/fileUtils.js +4 -5
- package/lib/{utils/happy-eyeballs.js → server/utils/happyEyeballs.js} +22 -24
- package/lib/{utils → server/utils}/hostPlatform.js +1 -1
- package/lib/{utils → server/utils}/httpServer.js +8 -8
- package/lib/{utils → server/utils}/linuxUtils.js +3 -23
- package/lib/{utils → server/utils}/network.js +4 -4
- package/lib/server/utils/nodePlatform.js +140 -0
- package/lib/{protocol/transport.js → server/utils/pipeTransport.js} +2 -2
- package/lib/{utils → server/utils}/processLauncher.js +5 -5
- package/lib/{utils → server/utils}/profiler.js +5 -6
- package/lib/{common → server/utils}/socksProxy.js +10 -9
- package/lib/{utils → server/utils}/userAgent.js +2 -16
- package/lib/{utils → server/utils}/wsServer.js +3 -3
- package/lib/{utils → server/utils}/zipFile.js +1 -1
- package/lib/{utils → server/utils}/zones.js +9 -24
- package/lib/server/webkit/webkit.js +4 -4
- package/lib/server/webkit/wkBrowser.js +4 -4
- package/lib/server/webkit/wkConnection.js +1 -1
- package/lib/server/webkit/wkExecutionContext.js +25 -17
- package/lib/server/webkit/wkInput.js +2 -2
- package/lib/server/webkit/wkInterceptableRequest.js +2 -2
- package/lib/server/webkit/wkPage.js +41 -40
- package/lib/server/webkit/wkProvisionalPage.js +1 -1
- package/lib/server/webkit/wkWorkers.js +2 -2
- package/lib/utils/isomorphic/ariaSnapshot.js +2 -1
- package/lib/utils/isomorphic/assert.js +25 -0
- package/lib/utils/isomorphic/colors.js +65 -0
- package/lib/utils/isomorphic/cssParser.js +1 -1
- package/lib/utils/isomorphic/locatorGenerators.js +13 -1
- package/lib/utils/isomorphic/locatorParser.js +2 -2
- package/lib/utils/{manualPromise.js → isomorphic/manualPromise.js} +3 -5
- package/lib/utils/isomorphic/mimeType.js +11 -3
- package/lib/utils/{multimap.js → isomorphic/multimap.js} +1 -3
- package/lib/utils/{rtti.js → isomorphic/rtti.js} +2 -5
- package/lib/utils/isomorphic/stackTrace.js +169 -0
- package/lib/utils/isomorphic/stringUtils.js +1 -1
- package/lib/utils/{time.js → isomorphic/time.js} +1 -13
- package/lib/utils/{timeoutRunner.js → isomorphic/timeoutRunner.js} +4 -4
- package/lib/utils/isomorphic/traceUtils.js +23 -0
- package/lib/{utils/index.js → utils.js} +200 -121
- package/lib/utilsBundle.js +1 -25
- package/lib/utilsBundleImpl/index.js +114 -116
- package/lib/vite/htmlReport/index.html +20 -20
- package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +24 -0
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +184 -0
- package/lib/vite/recorder/index.html +1 -1
- package/lib/vite/traceViewer/assets/codeMirrorModule-DpJ-EmBQ.js +24 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-DTenqiGw.js +259 -0
- package/lib/vite/traceViewer/assets/{xtermModule-c-SNdYZy.js → xtermModule-BoAIEibi.js} +7 -7
- package/lib/vite/traceViewer/defaultSettingsView.5fN5lw10.css +1 -0
- package/lib/vite/traceViewer/index.CUq7VgrV.js +2 -0
- package/lib/vite/traceViewer/index.html +3 -3
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/uiMode.CHJSAD7F.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +3 -3
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +7 -7
- package/types/protocol.d.ts +123 -99
- package/types/types.d.ts +91 -37
- package/lib/utils/stackTrace.js +0 -134
- package/lib/utils/traceUtils.js +0 -44
- package/lib/vite/recorder/assets/codeMirrorModule-CNAqJrkA.js +0 -24
- package/lib/vite/recorder/assets/index-DGS0JLxS.js +0 -184
- package/lib/vite/traceViewer/assets/codeMirrorModule-D55P_UuL.js +0 -24
- package/lib/vite/traceViewer/assets/defaultSettingsView-B-uNoFsX.js +0 -243
- package/lib/vite/traceViewer/defaultSettingsView.2xeEXCXv.css +0 -1
- package/lib/vite/traceViewer/index.BfvuujqP.js +0 -2
- package/lib/vite/traceViewer/uiMode.CStJu6jo.js +0 -5
- /package/lib/{utils → server/utils}/ascii.js +0 -0
- /package/lib/{utils → server/utils}/eventsHelper.js +0 -0
- /package/lib/{image_tools → server/utils/image_tools}/colorUtils.js +0 -0
- /package/lib/{image_tools → server/utils/image_tools}/compare.js +0 -0
- /package/lib/{image_tools → server/utils/image_tools}/imageChannel.js +0 -0
- /package/lib/{image_tools → server/utils/image_tools}/stats.js +0 -0
- /package/lib/{utils → server/utils}/spawnAsync.js +0 -0
- /package/lib/{utils → server/utils}/task.js +0 -0
- /package/lib/utils/{headers.js → isomorphic/headers.js} +0 -0
- /package/lib/utils/{semaphore.js → isomorphic/semaphore.js} +0 -0
- /package/lib/{common → utils/isomorphic}/types.js +0 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.addStackToTracingNoReply = addStackToTracingNoReply;
|
|
7
|
+
exports.harClose = harClose;
|
|
8
|
+
exports.harLookup = harLookup;
|
|
9
|
+
exports.harOpen = harOpen;
|
|
10
|
+
exports.harUnzip = harUnzip;
|
|
11
|
+
exports.traceDiscarded = traceDiscarded;
|
|
12
|
+
exports.tracingStarted = tracingStarted;
|
|
13
|
+
exports.zip = zip;
|
|
14
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
15
|
+
var _os = _interopRequireDefault(require("os"));
|
|
16
|
+
var _path = _interopRequireDefault(require("path"));
|
|
17
|
+
var _crypto = require("./utils/crypto");
|
|
18
|
+
var _harBackend = require("./harBackend");
|
|
19
|
+
var _manualPromise = require("../utils/isomorphic/manualPromise");
|
|
20
|
+
var _zipFile = require("./utils/zipFile");
|
|
21
|
+
var _zipBundle = require("../zipBundle");
|
|
22
|
+
var _traceUtils = require("../utils/isomorphic/traceUtils");
|
|
23
|
+
var _assert = require("../utils/isomorphic/assert");
|
|
24
|
+
var _fileUtils = require("./utils/fileUtils");
|
|
25
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
26
|
+
/**
|
|
27
|
+
* Copyright (c) Microsoft Corporation.
|
|
28
|
+
*
|
|
29
|
+
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
30
|
+
* you may not use this file except in compliance with the License.
|
|
31
|
+
* You may obtain a copy of the License at
|
|
32
|
+
*
|
|
33
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
34
|
+
*
|
|
35
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
36
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
37
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
38
|
+
* See the License for the specific language governing permissions and
|
|
39
|
+
* limitations under the License.
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
async function zip(stackSessions, params) {
|
|
43
|
+
const promise = new _manualPromise.ManualPromise();
|
|
44
|
+
const zipFile = new _zipBundle.yazl.ZipFile();
|
|
45
|
+
zipFile.on('error', error => promise.reject(error));
|
|
46
|
+
const addFile = (file, name) => {
|
|
47
|
+
try {
|
|
48
|
+
if (_fs.default.statSync(file).isFile()) zipFile.addFile(file, name);
|
|
49
|
+
} catch (e) {}
|
|
50
|
+
};
|
|
51
|
+
for (const entry of params.entries) addFile(entry.value, entry.name);
|
|
52
|
+
|
|
53
|
+
// Add stacks and the sources.
|
|
54
|
+
const stackSession = params.stacksId ? stackSessions.get(params.stacksId) : undefined;
|
|
55
|
+
if (stackSession !== null && stackSession !== void 0 && stackSession.callStacks.length) {
|
|
56
|
+
await stackSession.writer;
|
|
57
|
+
if (process.env.PW_LIVE_TRACE_STACKS) {
|
|
58
|
+
zipFile.addFile(stackSession.file, 'trace.stacks');
|
|
59
|
+
} else {
|
|
60
|
+
const buffer = Buffer.from(JSON.stringify((0, _traceUtils.serializeClientSideCallMetadata)(stackSession.callStacks)));
|
|
61
|
+
zipFile.addBuffer(buffer, 'trace.stacks');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Collect sources from stacks.
|
|
66
|
+
if (params.includeSources) {
|
|
67
|
+
const sourceFiles = new Set();
|
|
68
|
+
for (const {
|
|
69
|
+
stack
|
|
70
|
+
} of (stackSession === null || stackSession === void 0 ? void 0 : stackSession.callStacks) || []) {
|
|
71
|
+
if (!stack) continue;
|
|
72
|
+
for (const {
|
|
73
|
+
file
|
|
74
|
+
} of stack) sourceFiles.add(file);
|
|
75
|
+
}
|
|
76
|
+
for (const sourceFile of sourceFiles) addFile(sourceFile, 'resources/src@' + (await (0, _crypto.calculateSha1)(sourceFile)) + '.txt');
|
|
77
|
+
}
|
|
78
|
+
if (params.mode === 'write') {
|
|
79
|
+
// New file, just compress the entries.
|
|
80
|
+
await _fs.default.promises.mkdir(_path.default.dirname(params.zipFile), {
|
|
81
|
+
recursive: true
|
|
82
|
+
});
|
|
83
|
+
zipFile.end(undefined, () => {
|
|
84
|
+
zipFile.outputStream.pipe(_fs.default.createWriteStream(params.zipFile)).on('close', () => promise.resolve()).on('error', error => promise.reject(error));
|
|
85
|
+
});
|
|
86
|
+
await promise;
|
|
87
|
+
await deleteStackSession(stackSessions, params.stacksId);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// File already exists. Repack and add new entries.
|
|
92
|
+
const tempFile = params.zipFile + '.tmp';
|
|
93
|
+
await _fs.default.promises.rename(params.zipFile, tempFile);
|
|
94
|
+
_zipBundle.yauzl.open(tempFile, (err, inZipFile) => {
|
|
95
|
+
if (err) {
|
|
96
|
+
promise.reject(err);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
(0, _assert.assert)(inZipFile);
|
|
100
|
+
let pendingEntries = inZipFile.entryCount;
|
|
101
|
+
inZipFile.on('entry', entry => {
|
|
102
|
+
inZipFile.openReadStream(entry, (err, readStream) => {
|
|
103
|
+
if (err) {
|
|
104
|
+
promise.reject(err);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
zipFile.addReadStream(readStream, entry.fileName);
|
|
108
|
+
if (--pendingEntries === 0) {
|
|
109
|
+
zipFile.end(undefined, () => {
|
|
110
|
+
zipFile.outputStream.pipe(_fs.default.createWriteStream(params.zipFile)).on('close', () => {
|
|
111
|
+
_fs.default.promises.unlink(tempFile).then(() => {
|
|
112
|
+
promise.resolve();
|
|
113
|
+
}).catch(error => promise.reject(error));
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
await promise;
|
|
121
|
+
await deleteStackSession(stackSessions, params.stacksId);
|
|
122
|
+
}
|
|
123
|
+
async function deleteStackSession(stackSessions, stacksId) {
|
|
124
|
+
const session = stacksId ? stackSessions.get(stacksId) : undefined;
|
|
125
|
+
if (!session) return;
|
|
126
|
+
await session.writer;
|
|
127
|
+
if (session.tmpDir) await (0, _fileUtils.removeFolders)([session.tmpDir]);
|
|
128
|
+
stackSessions.delete(stacksId);
|
|
129
|
+
}
|
|
130
|
+
async function harOpen(harBackends, params) {
|
|
131
|
+
let harBackend;
|
|
132
|
+
if (params.file.endsWith('.zip')) {
|
|
133
|
+
const zipFile = new _zipFile.ZipFile(params.file);
|
|
134
|
+
const entryNames = await zipFile.entries();
|
|
135
|
+
const harEntryName = entryNames.find(e => e.endsWith('.har'));
|
|
136
|
+
if (!harEntryName) return {
|
|
137
|
+
error: 'Specified archive does not have a .har file'
|
|
138
|
+
};
|
|
139
|
+
const har = await zipFile.read(harEntryName);
|
|
140
|
+
const harFile = JSON.parse(har.toString());
|
|
141
|
+
harBackend = new _harBackend.HarBackend(harFile, null, zipFile);
|
|
142
|
+
} else {
|
|
143
|
+
const harFile = JSON.parse(await _fs.default.promises.readFile(params.file, 'utf-8'));
|
|
144
|
+
harBackend = new _harBackend.HarBackend(harFile, _path.default.dirname(params.file), null);
|
|
145
|
+
}
|
|
146
|
+
harBackends.set(harBackend.id, harBackend);
|
|
147
|
+
return {
|
|
148
|
+
harId: harBackend.id
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
async function harLookup(harBackends, params) {
|
|
152
|
+
const harBackend = harBackends.get(params.harId);
|
|
153
|
+
if (!harBackend) return {
|
|
154
|
+
action: 'error',
|
|
155
|
+
message: `Internal error: har was not opened`
|
|
156
|
+
};
|
|
157
|
+
return await harBackend.lookup(params.url, params.method, params.headers, params.postData, params.isNavigationRequest);
|
|
158
|
+
}
|
|
159
|
+
async function harClose(harBackends, params) {
|
|
160
|
+
const harBackend = harBackends.get(params.harId);
|
|
161
|
+
if (harBackend) {
|
|
162
|
+
harBackends.delete(harBackend.id);
|
|
163
|
+
harBackend.dispose();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
async function harUnzip(params) {
|
|
167
|
+
const dir = _path.default.dirname(params.zipFile);
|
|
168
|
+
const zipFile = new _zipFile.ZipFile(params.zipFile);
|
|
169
|
+
for (const entry of await zipFile.entries()) {
|
|
170
|
+
const buffer = await zipFile.read(entry);
|
|
171
|
+
if (entry === 'har.har') await _fs.default.promises.writeFile(params.harFile, buffer);else await _fs.default.promises.writeFile(_path.default.join(dir, entry), buffer);
|
|
172
|
+
}
|
|
173
|
+
zipFile.close();
|
|
174
|
+
await _fs.default.promises.unlink(params.zipFile);
|
|
175
|
+
}
|
|
176
|
+
async function tracingStarted(stackSessions, params) {
|
|
177
|
+
let tmpDir = undefined;
|
|
178
|
+
if (!params.tracesDir) tmpDir = await _fs.default.promises.mkdtemp(_path.default.join(_os.default.tmpdir(), 'playwright-tracing-'));
|
|
179
|
+
const traceStacksFile = _path.default.join(params.tracesDir || tmpDir, params.traceName + '.stacks');
|
|
180
|
+
stackSessions.set(traceStacksFile, {
|
|
181
|
+
callStacks: [],
|
|
182
|
+
file: traceStacksFile,
|
|
183
|
+
writer: Promise.resolve(),
|
|
184
|
+
tmpDir
|
|
185
|
+
});
|
|
186
|
+
return {
|
|
187
|
+
stacksId: traceStacksFile
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
async function traceDiscarded(stackSessions, params) {
|
|
191
|
+
await deleteStackSession(stackSessions, params.stacksId);
|
|
192
|
+
}
|
|
193
|
+
async function addStackToTracingNoReply(stackSessions, params) {
|
|
194
|
+
for (const session of stackSessions.values()) {
|
|
195
|
+
session.callStacks.push(params.callData);
|
|
196
|
+
if (process.env.PW_LIVE_TRACE_STACKS) {
|
|
197
|
+
session.writer = session.writer.then(() => {
|
|
198
|
+
const buffer = Buffer.from(JSON.stringify((0, _traceUtils.serializeClientSideCallMetadata)(session.callStacks)));
|
|
199
|
+
return _fs.default.promises.writeFile(session.file, buffer);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
package/lib/server/network.js
CHANGED
|
@@ -13,10 +13,10 @@ exports.singleHeader = singleHeader;
|
|
|
13
13
|
exports.statusText = statusText;
|
|
14
14
|
exports.stripFragmentFromUrl = stripFragmentFromUrl;
|
|
15
15
|
var _utils = require("../utils");
|
|
16
|
-
var _manualPromise = require("../utils/manualPromise");
|
|
17
|
-
var _instrumentation = require("./instrumentation");
|
|
18
|
-
var _fetch = require("./fetch");
|
|
19
16
|
var _browserContext = require("./browserContext");
|
|
17
|
+
var _fetch = require("./fetch");
|
|
18
|
+
var _instrumentation = require("./instrumentation");
|
|
19
|
+
var _manualPromise = require("../utils/isomorphic/manualPromise");
|
|
20
20
|
/**
|
|
21
21
|
* Copyright (c) Microsoft Corporation.
|
|
22
22
|
*
|
package/lib/server/page.js
CHANGED
|
@@ -4,27 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Worker = exports.PageBinding = exports.Page = exports.InitScript = void 0;
|
|
7
|
-
var
|
|
8
|
-
var input = _interopRequireWildcard(require("./input"));
|
|
9
|
-
var js = _interopRequireWildcard(require("./javascript"));
|
|
10
|
-
var _screenshotter = require("./screenshotter");
|
|
11
|
-
var _timeoutSettings = require("../common/timeoutSettings");
|
|
7
|
+
var accessibility = _interopRequireWildcard(require("./accessibility"));
|
|
12
8
|
var _browserContext = require("./browserContext");
|
|
13
9
|
var _console = require("./console");
|
|
14
|
-
var
|
|
10
|
+
var _errors = require("./errors");
|
|
15
11
|
var _fileChooser = require("./fileChooser");
|
|
12
|
+
var frames = _interopRequireWildcard(require("./frames"));
|
|
13
|
+
var _helper = require("./helper");
|
|
14
|
+
var input = _interopRequireWildcard(require("./input"));
|
|
15
|
+
var _instrumentation = require("./instrumentation");
|
|
16
|
+
var _utilityScriptSerializers = require("./isomorphic/utilityScriptSerializers");
|
|
17
|
+
var js = _interopRequireWildcard(require("./javascript"));
|
|
16
18
|
var _progress = require("./progress");
|
|
19
|
+
var _screenshotter = require("./screenshotter");
|
|
20
|
+
var _timeoutSettings = require("./timeoutSettings");
|
|
17
21
|
var _utils = require("../utils");
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var _instrumentation = require("./instrumentation");
|
|
22
|
+
var _crypto = require("./utils/crypto");
|
|
23
|
+
var _comparators = require("./utils/comparators");
|
|
24
|
+
var _debugLogger = require("./utils/debugLogger");
|
|
22
25
|
var _selectorParser = require("../utils/isomorphic/selectorParser");
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
var _helper = require("./helper");
|
|
26
|
+
var _manualPromise = require("../utils/isomorphic/manualPromise");
|
|
27
|
+
var _callLog = require("./callLog");
|
|
26
28
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
27
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
29
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
28
30
|
/**
|
|
29
31
|
* Copyright 2017 Google Inc. All rights reserved.
|
|
30
32
|
* Modifications copyright (c) Microsoft Corporation.
|
|
@@ -378,16 +380,18 @@ class Page extends _instrumentation.SdkObject {
|
|
|
378
380
|
if (options.colorScheme !== undefined) this._emulatedMedia.colorScheme = options.colorScheme;
|
|
379
381
|
if (options.reducedMotion !== undefined) this._emulatedMedia.reducedMotion = options.reducedMotion;
|
|
380
382
|
if (options.forcedColors !== undefined) this._emulatedMedia.forcedColors = options.forcedColors;
|
|
383
|
+
if (options.contrast !== undefined) this._emulatedMedia.contrast = options.contrast;
|
|
381
384
|
await this._delegate.updateEmulateMedia();
|
|
382
385
|
}
|
|
383
386
|
emulatedMedia() {
|
|
384
|
-
var _contextOptions$color, _contextOptions$reduc, _contextOptions$force;
|
|
387
|
+
var _contextOptions$color, _contextOptions$reduc, _contextOptions$force, _contextOptions$contr;
|
|
385
388
|
const contextOptions = this._browserContext._options;
|
|
386
389
|
return {
|
|
387
390
|
media: this._emulatedMedia.media || 'no-override',
|
|
388
391
|
colorScheme: this._emulatedMedia.colorScheme !== undefined ? this._emulatedMedia.colorScheme : (_contextOptions$color = contextOptions.colorScheme) !== null && _contextOptions$color !== void 0 ? _contextOptions$color : 'light',
|
|
389
392
|
reducedMotion: this._emulatedMedia.reducedMotion !== undefined ? this._emulatedMedia.reducedMotion : (_contextOptions$reduc = contextOptions.reducedMotion) !== null && _contextOptions$reduc !== void 0 ? _contextOptions$reduc : 'no-preference',
|
|
390
|
-
forcedColors: this._emulatedMedia.forcedColors !== undefined ? this._emulatedMedia.forcedColors : (_contextOptions$force = contextOptions.forcedColors) !== null && _contextOptions$force !== void 0 ? _contextOptions$force : 'none'
|
|
393
|
+
forcedColors: this._emulatedMedia.forcedColors !== undefined ? this._emulatedMedia.forcedColors : (_contextOptions$force = contextOptions.forcedColors) !== null && _contextOptions$force !== void 0 ? _contextOptions$force : 'none',
|
|
394
|
+
contrast: this._emulatedMedia.contrast !== undefined ? this._emulatedMedia.contrast : (_contextOptions$contr = contextOptions.contrast) !== null && _contextOptions$contr !== void 0 ? _contextOptions$contr : 'no-preference'
|
|
391
395
|
};
|
|
392
396
|
}
|
|
393
397
|
async setViewportSize(viewportSize) {
|
|
@@ -517,7 +521,7 @@ class Page extends _instrumentation.SdkObject {
|
|
|
517
521
|
let errorMessage = e.message;
|
|
518
522
|
if (e instanceof _errors.TimeoutError && (_intermediateResult = intermediateResult) !== null && _intermediateResult !== void 0 && _intermediateResult.previous) errorMessage = `Failed to take two consecutive stable screenshots.`;
|
|
519
523
|
return {
|
|
520
|
-
log: (0,
|
|
524
|
+
log: (0, _callLog.compressCallLog)(e.message ? [...metadata.log, e.message] : metadata.log),
|
|
521
525
|
...intermediateResult,
|
|
522
526
|
errorMessage,
|
|
523
527
|
timedOut: e instanceof _errors.TimeoutError
|
|
@@ -641,6 +645,7 @@ class Worker extends _instrumentation.SdkObject {
|
|
|
641
645
|
_createExecutionContext(delegate) {
|
|
642
646
|
this._existingExecutionContext = new js.ExecutionContext(this, delegate, 'worker');
|
|
643
647
|
this._executionContextCallback(this._existingExecutionContext);
|
|
648
|
+
return this._existingExecutionContext;
|
|
644
649
|
}
|
|
645
650
|
url() {
|
|
646
651
|
return this._url;
|
|
@@ -650,14 +655,28 @@ class Worker extends _instrumentation.SdkObject {
|
|
|
650
655
|
this.emit(Worker.Events.Close, this);
|
|
651
656
|
this.openScope.close(new Error('Worker closed'));
|
|
652
657
|
}
|
|
653
|
-
async evaluateExpression(expression, isFunction, arg) {
|
|
654
|
-
|
|
658
|
+
async evaluateExpression(expression, isFunction, arg, isolatedContext) {
|
|
659
|
+
let context = await this._executionContextPromise;
|
|
660
|
+
if (context.constructor.name === "FrameExecutionContext") {
|
|
661
|
+
const frame = context.frame;
|
|
662
|
+
if (frame) {
|
|
663
|
+
if (isolatedContext) context = await frame._utilityContext();else if (!isolatedContext) context = await frame._mainContext();
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
return js.evaluateExpression(context, expression, {
|
|
655
667
|
returnByValue: true,
|
|
656
668
|
isFunction
|
|
657
669
|
}, arg);
|
|
658
670
|
}
|
|
659
|
-
async evaluateExpressionHandle(expression, isFunction, arg) {
|
|
660
|
-
|
|
671
|
+
async evaluateExpressionHandle(expression, isFunction, arg, isolatedContext) {
|
|
672
|
+
let context = await this._executionContextPromise;
|
|
673
|
+
if (this._context.constructor.name === "FrameExecutionContext") {
|
|
674
|
+
const frame = this._context.frame;
|
|
675
|
+
if (frame) {
|
|
676
|
+
if (isolatedContext) context = await frame._utilityContext();else if (!isolatedContext) context = await frame._mainContext();
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
return js.evaluateExpression(context, expression, {
|
|
661
680
|
returnByValue: false,
|
|
662
681
|
isFunction
|
|
663
682
|
}, arg);
|
|
@@ -787,7 +806,7 @@ class InitScript {
|
|
|
787
806
|
this.source = void 0;
|
|
788
807
|
this.internal = void 0;
|
|
789
808
|
this.name = void 0;
|
|
790
|
-
const guid = (0,
|
|
809
|
+
const guid = (0, _crypto.createGuid)();
|
|
791
810
|
this.source = `(() => { ${source} })();`;
|
|
792
811
|
this.internal = !!internal;
|
|
793
812
|
this.name = name;
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.PipeTransport = void 0;
|
|
7
7
|
var _utils = require("../utils");
|
|
8
|
-
var _debugLogger = require("
|
|
8
|
+
var _debugLogger = require("./utils/debugLogger");
|
|
9
9
|
/**
|
|
10
10
|
* Copyright 2018 Google Inc. All rights reserved.
|
|
11
11
|
* Modifications copyright (c) Microsoft Corporation.
|
package/lib/server/playwright.js
CHANGED
|
@@ -5,18 +5,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Playwright = void 0;
|
|
7
7
|
exports.createPlaywright = createPlaywright;
|
|
8
|
+
var _utils = require("../utils");
|
|
8
9
|
var _android = require("./android/android");
|
|
9
10
|
var _backendAdb = require("./android/backendAdb");
|
|
11
|
+
var _bidiChromium = require("./bidi/bidiChromium");
|
|
12
|
+
var _bidiFirefox = require("./bidi/bidiFirefox");
|
|
10
13
|
var _chromium = require("./chromium/chromium");
|
|
14
|
+
var _debugController = require("./debugController");
|
|
11
15
|
var _electron = require("./electron/electron");
|
|
12
16
|
var _firefox = require("./firefox/firefox");
|
|
17
|
+
var _instrumentation = require("./instrumentation");
|
|
13
18
|
var _selectors = require("./selectors");
|
|
14
19
|
var _webkit = require("./webkit/webkit");
|
|
15
|
-
var _instrumentation = require("./instrumentation");
|
|
16
|
-
var _utils = require("../utils");
|
|
17
|
-
var _debugController = require("./debugController");
|
|
18
|
-
var _bidiChromium = require("./bidi/bidiChromium");
|
|
19
|
-
var _bidiFirefox = require("./bidi/bidiFirefox");
|
|
20
20
|
/**
|
|
21
21
|
* Copyright (c) Microsoft Corporation.
|
|
22
22
|
*
|
package/lib/server/progress.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.ProgressController = void 0;
|
|
7
7
|
var _errors = require("./errors");
|
|
8
8
|
var _utils = require("../utils");
|
|
9
|
-
var _manualPromise = require("../utils/manualPromise");
|
|
9
|
+
var _manualPromise = require("../utils/isomorphic/manualPromise");
|
|
10
10
|
/**
|
|
11
11
|
* Copyright (c) Microsoft Corporation.
|
|
12
12
|
*
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.ProtocolError = void 0;
|
|
7
7
|
exports.isProtocolError = isProtocolError;
|
|
8
8
|
exports.isSessionClosedError = isSessionClosedError;
|
|
9
|
-
var _stackTrace = require("../utils/stackTrace");
|
|
9
|
+
var _stackTrace = require("../utils/isomorphic/stackTrace");
|
|
10
10
|
/**
|
|
11
11
|
* Copyright (c) Microsoft Corporation.
|
|
12
12
|
*
|
|
@@ -6,18 +6,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.ContextRecorder = void 0;
|
|
7
7
|
exports.generateFrameSelector = generateFrameSelector;
|
|
8
8
|
var _events = require("events");
|
|
9
|
+
var _recorderCollection = require("./recorderCollection");
|
|
9
10
|
var recorderSource = _interopRequireWildcard(require("../../generated/pollingRecorderSource"));
|
|
10
11
|
var _utils = require("../../utils");
|
|
11
|
-
var _timeoutRunner = require("../../utils/timeoutRunner");
|
|
12
|
+
var _timeoutRunner = require("../../utils/isomorphic/timeoutRunner");
|
|
12
13
|
var _browserContext = require("../browserContext");
|
|
13
14
|
var _languages = require("../codegen/languages");
|
|
14
15
|
var _frames = require("../frames");
|
|
15
16
|
var _page = require("../page");
|
|
16
17
|
var _throttledFile = require("./throttledFile");
|
|
17
|
-
var _recorderCollection = require("./recorderCollection");
|
|
18
18
|
var _language = require("../codegen/language");
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
21
|
/**
|
|
22
22
|
* Copyright (c) Microsoft Corporation.
|
|
23
23
|
*
|
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.RecorderApp = exports.EmptyRecorderApp = void 0;
|
|
7
|
+
var _events = require("events");
|
|
7
8
|
var _fs = _interopRequireDefault(require("fs"));
|
|
8
9
|
var _path = _interopRequireDefault(require("path"));
|
|
9
|
-
var
|
|
10
|
-
var _events = require("events");
|
|
11
|
-
var _instrumentation = require("../instrumentation");
|
|
12
|
-
var _utils = require("../../utils");
|
|
10
|
+
var _debug = require("../utils/debug");
|
|
13
11
|
var _utilsBundle = require("../../utilsBundle");
|
|
12
|
+
var _instrumentation = require("../instrumentation");
|
|
14
13
|
var _launchApp = require("../launchApp");
|
|
15
|
-
|
|
14
|
+
var _progress = require("../progress");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
/**
|
|
17
17
|
* Copyright (c) Microsoft Corporation.
|
|
18
18
|
*
|
|
@@ -40,7 +40,7 @@ class EmptyRecorderApp extends _events.EventEmitter {
|
|
|
40
40
|
async setRunningFile(file) {}
|
|
41
41
|
async elementPicked(elementInfo, userGesture) {}
|
|
42
42
|
async updateCallLogs(callLogs) {}
|
|
43
|
-
async setSources(sources) {}
|
|
43
|
+
async setSources(sources, primaryPageURL) {}
|
|
44
44
|
async setActions(actions, sources) {}
|
|
45
45
|
}
|
|
46
46
|
exports.EmptyRecorderApp = EmptyRecorderApp;
|
|
@@ -117,8 +117,8 @@ class RecorderApp extends _events.EventEmitter {
|
|
|
117
117
|
},
|
|
118
118
|
persistentContextOptions: {
|
|
119
119
|
noDefaultViewport: true,
|
|
120
|
-
headless: !!process.env.PWTEST_CLI_HEADLESS || (0,
|
|
121
|
-
useWebSocket: (0,
|
|
120
|
+
headless: !!process.env.PWTEST_CLI_HEADLESS || (0, _debug.isUnderTest)() && !headed,
|
|
121
|
+
useWebSocket: (0, _debug.isUnderTest)(),
|
|
122
122
|
handleSIGINT: recorder.handleSIGINT,
|
|
123
123
|
executablePath: inspectedContext._browser.options.isChromium ? inspectedContext._browser.options.customExecutablePath : undefined
|
|
124
124
|
}
|
|
@@ -152,12 +152,18 @@ class RecorderApp extends _events.EventEmitter {
|
|
|
152
152
|
isFunction: true
|
|
153
153
|
}, paused).catch(() => {});
|
|
154
154
|
}
|
|
155
|
-
async setSources(sources) {
|
|
156
|
-
await this._page.mainFrame().evaluateExpression((
|
|
157
|
-
|
|
155
|
+
async setSources(sources, primaryPageURL) {
|
|
156
|
+
await this._page.mainFrame().evaluateExpression((({
|
|
157
|
+
sources,
|
|
158
|
+
primaryPageURL
|
|
159
|
+
}) => {
|
|
160
|
+
window.playwrightSetSources(sources, primaryPageURL);
|
|
158
161
|
}).toString(), {
|
|
159
162
|
isFunction: true
|
|
160
|
-
},
|
|
163
|
+
}, {
|
|
164
|
+
sources,
|
|
165
|
+
primaryPageURL
|
|
166
|
+
}).catch(() => {});
|
|
161
167
|
|
|
162
168
|
// Testing harness for runCLI mode.
|
|
163
169
|
if (process.env.PWTEST_CLI_IS_UNDER_TEST && sources.length) {
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.RecorderCollection = void 0;
|
|
7
7
|
var _events = require("events");
|
|
8
|
-
var _time = require("../../utils/time");
|
|
9
|
-
var _recorderUtils = require("./recorderUtils");
|
|
10
8
|
var _recorderRunner = require("./recorderRunner");
|
|
11
|
-
var
|
|
9
|
+
var _recorderUtils = require("./recorderUtils");
|
|
10
|
+
var _debug = require("../utils/debug");
|
|
11
|
+
var _time = require("../../utils/isomorphic/time");
|
|
12
12
|
/**
|
|
13
13
|
* Copyright (c) Microsoft Corporation.
|
|
14
14
|
*
|
|
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ThrottledFile = void 0;
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
7
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
9
|
/**
|
|
11
10
|
* Copyright (c) Microsoft Corporation.
|
|
12
11
|
*
|
|
@@ -39,7 +38,7 @@ class ThrottledFile {
|
|
|
39
38
|
clearTimeout(this._timer);
|
|
40
39
|
this._timer = undefined;
|
|
41
40
|
}
|
|
42
|
-
if (this._text)
|
|
41
|
+
if (this._text) _fs.default.writeFileSync(this._file, this._text);
|
|
43
42
|
this._text = undefined;
|
|
44
43
|
}
|
|
45
44
|
}
|
package/lib/server/recorder.js
CHANGED
|
@@ -4,17 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Recorder = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
8
8
|
var consoleApiSource = _interopRequireWildcard(require("../generated/consoleApiSource"));
|
|
9
9
|
var _utils = require("../utils");
|
|
10
|
-
var _locatorParser = require("../utils/isomorphic/locatorParser");
|
|
11
10
|
var _browserContext = require("./browserContext");
|
|
12
11
|
var _debugger = require("./debugger");
|
|
13
12
|
var _contextRecorder = require("./recorder/contextRecorder");
|
|
14
13
|
var _recorderUtils = require("./recorder/recorderUtils");
|
|
14
|
+
var _locatorParser = require("../utils/isomorphic/locatorParser");
|
|
15
15
|
var _selectorParser = require("../utils/isomorphic/selectorParser");
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
19
|
/**
|
|
19
20
|
* Copyright (c) Microsoft Corporation.
|
|
20
21
|
*
|
|
@@ -325,7 +326,8 @@ class Recorder {
|
|
|
325
326
|
}
|
|
326
327
|
_pushAllSources() {
|
|
327
328
|
var _this$_recorderApp6;
|
|
328
|
-
|
|
329
|
+
const primaryPage = this._context.pages()[0];
|
|
330
|
+
(_this$_recorderApp6 = this._recorderApp) === null || _this$_recorderApp6 === void 0 || _this$_recorderApp6.setSources([...this._recorderSources, ...this._userSources.values()], primaryPage === null || primaryPage === void 0 ? void 0 : primaryPage.mainFrame().url());
|
|
329
331
|
}
|
|
330
332
|
async onBeforeInputAction(sdkObject, metadata) {}
|
|
331
333
|
async onCallLog(sdkObject, metadata, logName, message) {
|
|
@@ -349,7 +351,7 @@ class Recorder {
|
|
|
349
351
|
}
|
|
350
352
|
_readSource(fileName) {
|
|
351
353
|
try {
|
|
352
|
-
return
|
|
354
|
+
return _fs.default.readFileSync(fileName, 'utf-8');
|
|
353
355
|
} catch (e) {
|
|
354
356
|
return '// No source available';
|
|
355
357
|
}
|
|
@@ -5,17 +5,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.downloadBrowserWithProgressBar = downloadBrowserWithProgressBar;
|
|
7
7
|
exports.logPolitely = logPolitely;
|
|
8
|
+
var childProcess = _interopRequireWildcard(require("child_process"));
|
|
8
9
|
var _fs = _interopRequireDefault(require("fs"));
|
|
9
10
|
var _os = _interopRequireDefault(require("os"));
|
|
10
11
|
var _path = _interopRequireDefault(require("path"));
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var _manualPromise = require("../../utils/manualPromise");
|
|
12
|
+
var _debugLogger = require("../utils/debugLogger");
|
|
13
|
+
var _manualPromise = require("../../utils/isomorphic/manualPromise");
|
|
14
|
+
var _userAgent = require("../utils/userAgent");
|
|
15
15
|
var _utilsBundle = require("../../utilsBundle");
|
|
16
|
+
var _fileUtils = require("../utils/fileUtils");
|
|
16
17
|
var _ = require(".");
|
|
17
|
-
|
|
18
|
-
function
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
21
|
/**
|
|
20
22
|
* Copyright 2017 Google Inc. All rights reserved.
|
|
21
23
|
* Modifications copyright (c) Microsoft Corporation.
|
|
@@ -78,7 +80,7 @@ async function downloadBrowserWithProgressBar(title, browserDirectory, executabl
|
|
|
78
80
|
* https://github.com/microsoft/playwright/issues/17394
|
|
79
81
|
*/
|
|
80
82
|
function downloadBrowserWithProgressBarOutOfProcess(title, browserDirectory, url, zipPath, executablePath, connectionTimeout) {
|
|
81
|
-
const cp =
|
|
83
|
+
const cp = childProcess.fork(_path.default.join(__dirname, 'oopDownloadBrowserMain.js'));
|
|
82
84
|
const promise = new _manualPromise.ManualPromise();
|
|
83
85
|
const progress = getDownloadProgress();
|
|
84
86
|
cp.on('message', message => {
|