@checkly/playwright-core 1.41.2-beta.6 → 1.41.23

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.
Files changed (126) hide show
  1. package/lib/browserServerImpl.js +1 -1
  2. package/lib/cli/driver.js +11 -3
  3. package/lib/cli/program.js +13 -5
  4. package/lib/client/android.js +1 -1
  5. package/lib/client/artifact.js +2 -2
  6. package/lib/client/browserContext.js +5 -5
  7. package/lib/client/browserType.js +1 -1
  8. package/lib/client/channelOwner.js +3 -3
  9. package/lib/client/clientHelper.js +5 -1
  10. package/lib/client/connection.js +2 -2
  11. package/lib/client/consoleMessage.js +3 -3
  12. package/lib/client/electron.js +3 -0
  13. package/lib/client/events.js +1 -0
  14. package/lib/client/fetch.js +3 -3
  15. package/lib/client/frame.js +4 -3
  16. package/lib/client/harRouter.js +7 -1
  17. package/lib/client/locator.js +2 -2
  18. package/lib/client/page.js +26 -7
  19. package/lib/common/socksProxy.js +12 -17
  20. package/lib/generated/consoleApiSource.js +1 -1
  21. package/lib/generated/injectedScriptSource.js +1 -1
  22. package/lib/generated/recorderSource.js +1 -1
  23. package/lib/outofprocess.js +3 -3
  24. package/lib/protocol/validator.js +46 -29
  25. package/lib/remote/playwrightConnection.js +2 -2
  26. package/lib/remote/playwrightServer.js +72 -166
  27. package/lib/server/android/android.js +2 -2
  28. package/lib/server/android/backendAdb.js +2 -2
  29. package/lib/server/browser.js +2 -2
  30. package/lib/server/browserContext.js +8 -9
  31. package/lib/server/browserType.js +5 -5
  32. package/lib/server/chromium/chromium.js +5 -4
  33. package/lib/server/chromium/crBrowser.js +2 -3
  34. package/lib/server/chromium/crConnection.js +2 -2
  35. package/lib/server/chromium/crExecutionContext.js +2 -2
  36. package/lib/server/chromium/crInput.js +2 -2
  37. package/lib/server/chromium/crNetworkManager.js +10 -11
  38. package/lib/server/chromium/crPage.js +48 -7
  39. package/lib/server/chromium/crServiceWorker.js +2 -3
  40. package/lib/server/console.js +1 -3
  41. package/lib/server/debugController.js +0 -3
  42. package/lib/server/deviceDescriptorsSource.json +50 -50
  43. package/lib/server/dispatchers/browserContextDispatcher.js +7 -6
  44. package/lib/server/dispatchers/dispatcher.js +19 -20
  45. package/lib/server/dispatchers/electronDispatcher.js +13 -0
  46. package/lib/server/dispatchers/frameDispatcher.js +0 -6
  47. package/lib/server/dispatchers/localUtilsDispatcher.js +4 -4
  48. package/lib/server/dispatchers/pageDispatcher.js +14 -10
  49. package/lib/server/dispatchers/playwrightDispatcher.js +5 -5
  50. package/lib/server/dispatchers/writableStreamDispatcher.js +2 -2
  51. package/lib/server/dom.js +133 -170
  52. package/lib/server/electron/electron.js +40 -14
  53. package/lib/server/electron/loader.js +4 -2
  54. package/lib/server/fetch.js +4 -4
  55. package/lib/server/firefox/ffAccessibility.js +2 -1
  56. package/lib/server/firefox/ffBrowser.js +3 -3
  57. package/lib/server/firefox/ffConnection.js +1 -1
  58. package/lib/server/firefox/ffExecutionContext.js +2 -2
  59. package/lib/server/firefox/ffNetworkManager.js +7 -7
  60. package/lib/server/firefox/ffPage.js +3 -5
  61. package/lib/server/firefox/firefox.js +2 -2
  62. package/lib/server/frames.js +42 -23
  63. package/lib/server/har/harTracer.js +6 -6
  64. package/lib/server/helper.js +1 -1
  65. package/lib/server/input.js +2 -2
  66. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -1
  67. package/lib/server/javascript.js +2 -2
  68. package/lib/server/page.js +51 -7
  69. package/lib/server/pipeTransport.js +1 -1
  70. package/lib/server/playwright.js +1 -1
  71. package/lib/server/progress.js +5 -14
  72. package/lib/server/recorder/csharp.js +1 -1
  73. package/lib/server/recorder/recorderUtils.js +2 -2
  74. package/lib/server/recorder.js +14 -14
  75. package/lib/server/registry/browserFetcher.js +1 -2
  76. package/lib/server/registry/dependencies.js +7 -6
  77. package/lib/server/registry/index.js +50 -33
  78. package/lib/server/registry/nativeDeps.js +0 -94
  79. package/lib/server/registry/oopDownloadBrowserMain.js +2 -2
  80. package/lib/server/screenshotter.js +0 -1
  81. package/lib/server/socksInterceptor.js +2 -2
  82. package/lib/server/trace/recorder/snapshotter.js +2 -2
  83. package/lib/server/trace/recorder/tracing.js +12 -11
  84. package/lib/server/trace/test/inMemorySnapshotter.js +1 -1
  85. package/lib/server/trace/viewer/traceViewer.js +2 -2
  86. package/lib/server/transport.js +15 -13
  87. package/lib/server/webkit/wkBrowser.js +3 -3
  88. package/lib/server/webkit/wkConnection.js +1 -1
  89. package/lib/server/webkit/wkExecutionContext.js +2 -2
  90. package/lib/server/webkit/wkInput.js +2 -2
  91. package/lib/server/webkit/wkInterceptableRequest.js +2 -2
  92. package/lib/server/webkit/wkPage.js +10 -12
  93. package/lib/utils/comparators.js +4 -4
  94. package/lib/utils/fileUtils.js +4 -0
  95. package/lib/utils/happy-eyeballs.js +5 -4
  96. package/lib/utils/hostPlatform.js +1 -1
  97. package/lib/utils/index.js +11 -0
  98. package/lib/utils/isomorphic/cssParser.js +2 -2
  99. package/lib/utils/isomorphic/locatorParser.js +6 -4
  100. package/lib/utils/isomorphic/selectorParser.js +0 -1
  101. package/lib/utils/network.js +33 -0
  102. package/lib/utils/processLauncher.js +9 -2
  103. package/lib/utils/profiler.js +2 -2
  104. package/lib/utils/zipFile.js +1 -1
  105. package/lib/vite/htmlReport/index.html +12 -13
  106. package/lib/vite/recorder/assets/codeMirrorModule-Hs9-1ZG4.css +1 -0
  107. package/lib/vite/recorder/assets/codeMirrorModule-I9ks4y7D.js +24 -0
  108. package/lib/vite/recorder/assets/{index-64ce22d5.css → index-ljsTwXtJ.css} +1 -1
  109. package/lib/vite/recorder/assets/index-yg8ypzl6.js +47 -0
  110. package/lib/vite/recorder/index.html +2 -3
  111. package/lib/vite/traceViewer/assets/codeMirrorModule-A2_PGeGB.js +24 -0
  112. package/lib/vite/{recorder/assets/codeMirrorModule-85487eb6.js → traceViewer/assets/codeMirrorModule-aUzO-LID.js} +1 -1
  113. package/lib/vite/traceViewer/assets/wsPort-L8WBvZfK.js +69 -0
  114. package/lib/vite/traceViewer/assets/wsPort-uVqol1LI.js +69 -0
  115. package/lib/vite/traceViewer/index.4xhUWj1f.js +2 -0
  116. package/lib/vite/traceViewer/index.html +4 -5
  117. package/lib/vite/traceViewer/index.o6j3Cv4u.js +2 -0
  118. package/lib/vite/traceViewer/sw.bundle.js +4 -4
  119. package/lib/vite/traceViewer/uiMode.PlLkrJDI.js +10 -0
  120. package/lib/vite/traceViewer/uiMode.html +4 -5
  121. package/lib/vite/traceViewer/uiMode.qpn6w4df.js +10 -0
  122. package/lib/vite/traceViewer/wsPort.zR1WIy9-.css +1 -0
  123. package/package.json +1 -1
  124. package/lib/vite/recorder/assets/codeMirrorModule-5d0f417c.css +0 -1
  125. package/lib/vite/recorder/assets/index-b14c63fe.js +0 -41
  126. /package/lib/vite/recorder/assets/{codicon-79f233d0.ttf → codicon-zGuYmc9o.ttf} +0 -0
@@ -77,7 +77,7 @@ class BrowserServerLauncherImpl {
77
77
  browserServer._disconnectForTest = () => server.close();
78
78
  browserServer._userDataDirForTest = browser._userDataDirForTest;
79
79
  browser.options.browserProcess.onclose = (exitCode, signal) => {
80
- socksProxy === null || socksProxy === void 0 ? void 0 : socksProxy.close().catch(() => {});
80
+ socksProxy === null || socksProxy === void 0 || socksProxy.close().catch(() => {});
81
81
  server.close();
82
82
  browserServer.emit('close', exitCode, signal);
83
83
  };
package/lib/cli/driver.js CHANGED
@@ -13,8 +13,8 @@ var _server = require("../server");
13
13
  var _transport = require("../protocol/transport");
14
14
  var _playwrightServer = require("../remote/playwrightServer");
15
15
  var _processLauncher = require("../utils/processLauncher");
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 && 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; }
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  /**
20
20
  * Copyright (c) Microsoft Corporation.
@@ -50,7 +50,15 @@ function runDriver() {
50
50
  });
51
51
  const transport = new _transport.PipeTransport(process.stdout, process.stdin);
52
52
  transport.onmessage = message => dispatcherConnection.dispatch(JSON.parse(message));
53
- dispatcherConnection.onmessage = message => transport.send(JSON.stringify(message));
53
+ // Certain Language Binding JSON parsers (e.g. .NET) do not like strings with lone surrogates.
54
+ const isJavaScriptLanguageBinding = !process.env.PW_LANG_NAME || process.env.PW_LANG_NAME === 'javascript';
55
+ const replacer = !isJavaScriptLanguageBinding && String.prototype.toWellFormed ? (key, value) => {
56
+ if (typeof value === 'string')
57
+ // @ts-expect-error
58
+ return value.toWellFormed();
59
+ return value;
60
+ } : undefined;
61
+ dispatcherConnection.onmessage = message => transport.send(JSON.stringify(message, replacer));
54
62
  transport.onclose = () => {
55
63
  // Drop any messages during shutdown on the floor.
56
64
  dispatcherConnection.onmessage = () => {};
@@ -3,7 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ Object.defineProperty(exports, "program", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _utilsBundle.program;
10
+ }
11
+ });
7
12
  var _fs = _interopRequireDefault(require("fs"));
8
13
  var _os = _interopRequireDefault(require("os"));
9
14
  var _path = _interopRequireDefault(require("path"));
@@ -15,8 +20,8 @@ var _child_process = require("child_process");
15
20
  var _utils = require("../utils");
16
21
  var _server = require("../server");
17
22
  var _errors = require("../client/errors");
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+ 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); }
24
+ 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; }
20
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
26
  /**
22
27
  * Copyright (c) Microsoft Corporation.
@@ -111,6 +116,10 @@ _utilsBundle.program.command('install [browser...]').description('ensure browser
111
116
  } else {
112
117
  const forceReinstall = hasNoArguments ? false : !!options.force;
113
118
  await _server.registry.install(executables, forceReinstall);
119
+ await _server.registry.validateHostRequirementsForExecutablesIfNeeded(executables, process.env.PW_LANG_NAME || 'javascript').catch(e => {
120
+ e.name = 'Playwright Host validation warning';
121
+ console.error(e);
122
+ });
114
123
  }
115
124
  } catch (e) {
116
125
  console.log(`Failed to install browsers\n${e}`);
@@ -570,5 +579,4 @@ function buildBasePlaywrightCLICommand(cliTargetLang) {
570
579
  return `${packageManagerCommand} playwright`;
571
580
  }
572
581
  }
573
- }
574
- var _default = exports.default = _utilsBundle.program;
582
+ }
@@ -83,7 +83,7 @@ class Android extends _channelOwner.ChannelOwner {
83
83
  let closeError;
84
84
  const onPipeClosed = () => {
85
85
  var _device;
86
- (_device = device) === null || _device === void 0 ? void 0 : _device._didClose();
86
+ (_device = device) === null || _device === void 0 || _device._didClose();
87
87
  connection.close(closeError);
88
88
  };
89
89
  pipe.on('closed', onPipeClosed);
@@ -8,8 +8,8 @@ var fs = _interopRequireWildcard(require("fs"));
8
8
  var _stream = require("./stream");
9
9
  var _fileUtils = require("../utils/fileUtils");
10
10
  var _channelOwner = require("./channelOwner");
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ 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); }
12
+ 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; }
13
13
  /**
14
14
  * Copyright (c) Microsoft Corporation.
15
15
  *
@@ -47,8 +47,8 @@ let _Symbol$asyncDispose;
47
47
  * limitations under the License.
48
48
  */
49
49
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
50
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
51
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
50
+ 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); }
51
+ 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; }
52
52
  _Symbol$asyncDispose = Symbol.asyncDispose;
53
53
  class BrowserContext extends _channelOwner.ChannelOwner {
54
54
  static from(context) {
@@ -79,7 +79,7 @@ class BrowserContext extends _channelOwner.ChannelOwner {
79
79
  this._closeReason = void 0;
80
80
  this._harRouters = [];
81
81
  if (parent instanceof _browser.Browser) this._browser = parent;
82
- (_this$_browser = this._browser) === null || _this$_browser === void 0 ? void 0 : _this$_browser._contexts.add(this);
82
+ (_this$_browser = this._browser) === null || _this$_browser === void 0 || _this$_browser._contexts.add(this);
83
83
  this._isChromium = ((_this$_browser2 = this._browser) === null || _this$_browser2 === void 0 ? void 0 : _this$_browser2._name) === 'chromium';
84
84
  this.tracing = _tracing.Tracing.from(initializer.tracing);
85
85
  this.request = _fetch.APIRequestContext.from(initializer.requestContext);
@@ -413,9 +413,9 @@ class BrowserContext extends _channelOwner.ChannelOwner {
413
413
  return _cdpSession.CDPSession.from(result.session);
414
414
  }
415
415
  _onClose() {
416
- var _this$_browserType, _this$_browserType$_c;
416
+ var _this$_browserType;
417
417
  if (this._browser) this._browser._contexts.delete(this);
418
- (_this$_browserType = this._browserType) === null || _this$_browserType === void 0 ? void 0 : (_this$_browserType$_c = _this$_browserType._contexts) === null || _this$_browserType$_c === void 0 ? void 0 : _this$_browserType$_c.delete(this);
418
+ (_this$_browserType = this._browserType) === null || _this$_browserType === void 0 || (_this$_browserType = _this$_browserType._contexts) === null || _this$_browserType === void 0 || _this$_browserType.delete(this);
419
419
  this._disposeHarRouters();
420
420
  this.emit(_events.Events.BrowserContext.Close, this);
421
421
  }
@@ -150,7 +150,7 @@ class BrowserType extends _channelOwner.ChannelOwner {
150
150
  for (const page of context.pages()) page._onClose();
151
151
  context._onClose();
152
152
  }
153
- (_browser2 = browser) === null || _browser2 === void 0 ? void 0 : _browser2._didClose();
153
+ (_browser2 = browser) === null || _browser2 === void 0 || _browser2._didClose();
154
154
  connection.close(closeError);
155
155
  };
156
156
  pipe.on('closed', onPipeClosed);
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ChannelOwner = void 0;
7
7
  var _events = require("events");
8
8
  var _validator = require("../protocol/validator");
9
- var _debugLogger = require("../common/debugLogger");
9
+ var _debugLogger = require("../utils/debugLogger");
10
10
  var _stackTrace = require("../utils/stackTrace");
11
11
  var _utils = require("../utils");
12
12
  var _zones = require("../utils/zones");
@@ -185,7 +185,7 @@ class ChannelOwner extends _events.EventEmitter {
185
185
  const result = await _zones.zones.run('apiZone', apiZone, async () => {
186
186
  return await func(apiZone);
187
187
  });
188
- csi === null || csi === void 0 ? void 0 : csi.onApiCallEnd(callCookie);
188
+ csi === null || csi === void 0 || csi.onApiCallEnd(callCookie);
189
189
  logApiCall(logger, `<= ${apiName} succeeded`, isInternal);
190
190
  return result;
191
191
  } catch (e) {
@@ -193,7 +193,7 @@ class ChannelOwner extends _events.EventEmitter {
193
193
  if (apiName && !apiName.includes('<anonymous>')) e.message = apiName + ': ' + e.message;
194
194
  const stackFrames = '\n' + (0, _stackTrace.stringifyStackFrames)(stackTrace.frames).join('\n') + innerError;
195
195
  if (stackFrames.trim()) e.stack = e.message + stackFrames;else e.stack = '';
196
- csi === null || csi === void 0 ? void 0 : csi.onApiCallEnd(callCookie, e);
196
+ csi === null || csi === void 0 || csi.onApiCallEnd(callCookie, e);
197
197
  logApiCall(logger, `<= ${apiName} failed`, isInternal);
198
198
  throw e;
199
199
  }
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.addSourceUrlToScript = addSourceUrlToScript;
6
7
  exports.envObjectToArray = envObjectToArray;
7
8
  exports.evaluationScript = evaluationScript;
8
9
  var _fs = _interopRequireDefault(require("fs"));
@@ -46,8 +47,11 @@ async function evaluationScript(fun, arg, addSourceUrl = true) {
46
47
  if (fun.content !== undefined) return fun.content;
47
48
  if (fun.path !== undefined) {
48
49
  let source = await _fs.default.promises.readFile(fun.path, 'utf8');
49
- if (addSourceUrl) source += '\n//# sourceURL=' + fun.path.replace(/\n/g, '');
50
+ if (addSourceUrl) source = addSourceUrlToScript(source, fun.path);
50
51
  return source;
51
52
  }
52
53
  throw new Error('Either path or content property must be present');
54
+ }
55
+ function addSourceUrlToScript(source, path) {
56
+ return `${source}\n//# sourceURL=${path.replace(/\n/g, '')}`;
53
57
  }
@@ -21,7 +21,7 @@ var _playwright = require("./playwright");
21
21
  var _electron = require("./electron");
22
22
  var _stream = require("./stream");
23
23
  var _writableStream = require("./writableStream");
24
- var _debugLogger = require("../common/debugLogger");
24
+ var _debugLogger = require("../utils/debugLogger");
25
25
  var _selectors = require("./selectors");
26
26
  var _android = require("./android");
27
27
  var _artifact = require("./artifact");
@@ -132,7 +132,7 @@ class Connection extends _events.EventEmitter {
132
132
  location,
133
133
  internal: !apiName
134
134
  };
135
- if (this._tracingCount && frames && type !== 'LocalUtils') (_this$_localUtils = this._localUtils) === null || _this$_localUtils === void 0 ? void 0 : _this$_localUtils._channel.addStackToTracingNoReply({
135
+ if (this._tracingCount && frames && type !== 'LocalUtils') (_this$_localUtils = this._localUtils) === null || _this$_localUtils === void 0 || _this$_localUtils._channel.addStackToTracingNoReply({
136
136
  callData: {
137
137
  stack: frames,
138
138
  id
@@ -23,14 +23,14 @@ let _util$inspect$custom;
23
23
  * See the License for the specific language governing permissions and
24
24
  * limitations under the License.
25
25
  */
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ 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 && 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; }
28
28
  _util$inspect$custom = util.inspect.custom;
29
29
  class ConsoleMessage {
30
30
  constructor(event) {
31
31
  this._page = void 0;
32
32
  this._event = void 0;
33
- this._page = event.page ? _page.Page.from(event.page) : null;
33
+ this._page = 'page' in event && event.page ? _page.Page.from(event.page) : null;
34
34
  this._event = event;
35
35
  }
36
36
  page() {
@@ -10,6 +10,7 @@ var _channelOwner = require("./channelOwner");
10
10
  var _clientHelper = require("./clientHelper");
11
11
  var _events = require("./events");
12
12
  var _jsHandle = require("./jsHandle");
13
+ var _consoleMessage = require("./consoleMessage");
13
14
  var _waiter = require("./waiter");
14
15
  var _errors = require("./errors");
15
16
  let _Symbol$asyncDispose;
@@ -65,6 +66,8 @@ class ElectronApplication extends _channelOwner.ChannelOwner {
65
66
  this._isClosed = true;
66
67
  this.emit(_events.Events.ElectronApplication.Close);
67
68
  });
69
+ this._channel.on('console', event => this.emit(_events.Events.ElectronApplication.Console, new _consoleMessage.ConsoleMessage(event)));
70
+ this._setEventToSubscriptionMapping(new Map([[_events.Events.ElectronApplication.Console, 'console']]));
68
71
  }
69
72
  process() {
70
73
  return this._toImpl().process();
@@ -88,6 +88,7 @@ const Events = exports.Events = {
88
88
  },
89
89
  ElectronApplication: {
90
90
  Close: 'close',
91
+ Console: 'console',
91
92
  Window: 'window'
92
93
  }
93
94
  };
@@ -30,8 +30,8 @@ let _Symbol$asyncDispose, _Symbol$asyncDispose2, _util$inspect$custom;
30
30
  * See the License for the specific language governing permissions and
31
31
  * limitations under the License.
32
32
  */
33
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+ 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); }
34
+ 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; }
35
35
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
36
  class APIRequest {
37
37
  constructor(playwright) {
@@ -85,7 +85,7 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
85
85
  var _this$_request;
86
86
  await this._instrumentation.onWillCloseRequestContext(this);
87
87
  await this._channel.dispose();
88
- (_this$_request = this._request) === null || _this$_request === void 0 ? void 0 : _this$_request._contexts.delete(this);
88
+ (_this$_request = this._request) === null || _this$_request === void 0 || _this$_request._contexts.delete(this);
89
89
  }
90
90
  async delete(url, options) {
91
91
  return await this.fetch(url, {
@@ -18,8 +18,9 @@ var _waiter = require("./waiter");
18
18
  var _events2 = require("./events");
19
19
  var _types = require("./types");
20
20
  var _network2 = require("../utils/network");
21
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ var _clientHelper = require("./clientHelper");
22
+ 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); }
23
+ 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; }
23
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25
  /**
25
26
  * Copyright 2017 Google Inc. All rights reserved.
@@ -270,7 +271,7 @@ class Frame extends _channelOwner.ChannelOwner {
270
271
  };
271
272
  if (copy.path) {
272
273
  copy.content = (await _fs.default.promises.readFile(copy.path)).toString();
273
- copy.content += '//# sourceURL=' + copy.path.replace(/\n/g, '');
274
+ copy.content = (0, _clientHelper.addSourceUrlToScript)(copy.content, copy.path);
274
275
  }
275
276
  return _elementHandle.ElementHandle.from((await this._channel.addScriptTag({
276
277
  ...copy
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HarRouter = void 0;
7
- var _debugLogger = require("../common/debugLogger");
7
+ var _debugLogger = require("../utils/debugLogger");
8
8
  let _Symbol$asyncDispose;
9
9
  /**
10
10
  * Copyright (c) Microsoft Corporation.
@@ -59,6 +59,12 @@ class HarRouter {
59
59
  return;
60
60
  }
61
61
  if (response.action === 'fulfill') {
62
+ // If the response status is -1, the request was canceled or stalled, so we just stall it here.
63
+ // See https://github.com/microsoft/playwright/issues/29311.
64
+ // TODO: it'd be better to abort such requests, but then we likely need to respect the timing,
65
+ // because the request might have been stalled for a long time until the very end of the
66
+ // test when HAR was recorded but we'd abort it immediately.
67
+ if (response.status === -1) return;
62
68
  await route.fulfill({
63
69
  status: response.status,
64
70
  headers: Object.fromEntries(response.headers.map(h => [h.name, h.value])),
@@ -28,8 +28,8 @@ let _util$inspect$custom;
28
28
  * See the License for the specific language governing permissions and
29
29
  * limitations under the License.
30
30
  */
31
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+ 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); }
32
+ 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; }
33
33
  _util$inspect$custom = util.inspect.custom;
34
34
  class Locator {
35
35
  constructor(frame, selector, options) {
@@ -79,6 +79,7 @@ class Page extends _channelOwner.ChannelOwner {
79
79
  this._closeReason = void 0;
80
80
  this._closeWasCalled = false;
81
81
  this._harRouters = [];
82
+ this._locatorHandlers = new Map();
82
83
  this._browserContext = parent;
83
84
  this._timeoutSettings = new _timeoutSettings.TimeoutSettings(this._browserContext._timeoutSettings);
84
85
  this.accessibility = new _accessibility.Accessibility(this._channel);
@@ -115,6 +116,9 @@ class Page extends _channelOwner.ChannelOwner {
115
116
  this._channel.on('frameDetached', ({
116
117
  frame
117
118
  }) => this._onFrameDetached(_frame.Frame.from(frame)));
119
+ this._channel.on('locatorHandlerTriggered', ({
120
+ uid
121
+ }) => this._onLocatorHandlerTriggered(uid));
118
122
  this._channel.on('route', ({
119
123
  route
120
124
  }) => this._onRoute(_network2.Route.from(route)));
@@ -304,6 +308,25 @@ class Page extends _channelOwner.ChannelOwner {
304
308
  waitUntil
305
309
  })).response);
306
310
  }
311
+ async addLocatorHandler(locator, handler) {
312
+ if (locator._frame !== this._mainFrame) throw new Error(`Locator must belong to the main frame of this page`);
313
+ const {
314
+ uid
315
+ } = await this._channel.registerLocatorHandler({
316
+ selector: locator._selector
317
+ });
318
+ this._locatorHandlers.set(uid, handler);
319
+ }
320
+ async _onLocatorHandlerTriggered(uid) {
321
+ try {
322
+ const handler = this._locatorHandlers.get(uid);
323
+ await (handler === null || handler === void 0 ? void 0 : handler());
324
+ } finally {
325
+ this._wrapApiCall(() => this._channel.resolveLocatorHandlerNoReply({
326
+ uid
327
+ }), true).catch(() => {});
328
+ }
329
+ }
307
330
  async waitForLoadState(state, options) {
308
331
  return await this._mainFrame.waitForLoadState(state, options);
309
332
  }
@@ -462,8 +485,7 @@ class Page extends _channelOwner.ChannelOwner {
462
485
  return result.binary;
463
486
  }
464
487
  async _expectScreenshot(options) {
465
- var _options$screenshotOp, _options$screenshotOp2;
466
- const mask = (_options$screenshotOp = options.screenshotOptions) !== null && _options$screenshotOp !== void 0 && _options$screenshotOp.mask ? (_options$screenshotOp2 = options.screenshotOptions) === null || _options$screenshotOp2 === void 0 ? void 0 : _options$screenshotOp2.mask.map(locator => ({
488
+ const mask = options !== null && options !== void 0 && options.mask ? options === null || options === void 0 ? void 0 : options.mask.map(locator => ({
467
489
  frame: locator._frame._channel,
468
490
  selector: locator._selector
469
491
  })) : undefined;
@@ -475,10 +497,7 @@ class Page extends _channelOwner.ChannelOwner {
475
497
  ...options,
476
498
  isNot: !!options.isNot,
477
499
  locator,
478
- screenshotOptions: {
479
- ...options.screenshotOptions,
480
- mask
481
- }
500
+ mask
482
501
  });
483
502
  }
484
503
  async title() {
@@ -621,7 +640,7 @@ class Page extends _channelOwner.ChannelOwner {
621
640
  const defaultTimeout = this._browserContext._timeoutSettings.defaultTimeout();
622
641
  this._browserContext.setDefaultNavigationTimeout(0);
623
642
  this._browserContext.setDefaultTimeout(0);
624
- (_this$_instrumentatio = this._instrumentation) === null || _this$_instrumentatio === void 0 ? void 0 : _this$_instrumentatio.onWillPause();
643
+ (_this$_instrumentatio = this._instrumentation) === null || _this$_instrumentatio === void 0 || _this$_instrumentatio.onWillPause();
625
644
  await this._closedOrCrashedScope.safeRace(this.context()._channel.pause());
626
645
  this._browserContext.setDefaultNavigationTimeout(defaultNavigationTimeout);
627
646
  this._browserContext.setDefaultTimeout(defaultTimeout);
@@ -7,7 +7,7 @@ exports.SocksProxyHandler = exports.SocksProxy = void 0;
7
7
  exports.parsePattern = parsePattern;
8
8
  var _events = _interopRequireDefault(require("events"));
9
9
  var _net = _interopRequireDefault(require("net"));
10
- var _debugLogger = require("./debugLogger");
10
+ var _debugLogger = require("../utils/debugLogger");
11
11
  var _happyEyeballs = require("../utils/happy-eyeballs");
12
12
  var _utils = require("../utils");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -94,7 +94,6 @@ class SocksConnection {
94
94
  // Address
95
95
  0x00, 0x00 // Port
96
96
  ]));
97
-
98
97
  return;
99
98
  }
100
99
  this._socket.off('data', this._boundOnData);
@@ -212,7 +211,6 @@ class SocksConnection {
212
211
  // ATYP, Address
213
212
  port >> 8, port & 0xFF // Port
214
213
  ]));
215
-
216
214
  this._socket.on('data', data => this._client.onSocketData({
217
215
  uid: this._uid,
218
216
  data
@@ -225,7 +223,6 @@ class SocksConnection {
225
223
  // ATYP, Address
226
224
  0, 0 // Port
227
225
  ]);
228
-
229
226
  switch (errorCode) {
230
227
  case 'ENOENT':
231
228
  case 'ENOTFOUND':
@@ -279,7 +276,6 @@ function ipToSocksAddress(address) {
279
276
  ...address.split('.', 4).map(t => +t & 0xFF) // Address
280
277
  ];
281
278
  }
282
-
283
279
  if (_net.default.isIPv6(address)) {
284
280
  const result = [0x04]; // IPv6
285
281
  const tokens = address.split(':', 8);
@@ -288,7 +284,6 @@ function ipToSocksAddress(address) {
288
284
  const value = hexToNumber(token);
289
285
  result.push(value >> 8 & 0xFF, value & 0xFF); // Big-endian
290
286
  }
291
-
292
287
  return result;
293
288
  }
294
289
  throw new Error('Only IPv4 and IPv6 addresses are supported');
@@ -370,21 +365,21 @@ class SocksProxy extends _events.default {
370
365
  });
371
366
  socket.on('error', error => {
372
367
  var _this$_connections$ge2;
373
- (_this$_connections$ge2 = this._connections.get(request.uid)) === null || _this$_connections$ge2 === void 0 ? void 0 : _this$_connections$ge2.error(error.message);
368
+ (_this$_connections$ge2 = this._connections.get(request.uid)) === null || _this$_connections$ge2 === void 0 || _this$_connections$ge2.error(error.message);
374
369
  this._directSockets.delete(request.uid);
375
370
  });
376
371
  socket.on('end', () => {
377
372
  var _this$_connections$ge3;
378
- (_this$_connections$ge3 = this._connections.get(request.uid)) === null || _this$_connections$ge3 === void 0 ? void 0 : _this$_connections$ge3.end();
373
+ (_this$_connections$ge3 = this._connections.get(request.uid)) === null || _this$_connections$ge3 === void 0 || _this$_connections$ge3.end();
379
374
  this._directSockets.delete(request.uid);
380
375
  });
381
376
  const localAddress = socket.localAddress;
382
377
  const localPort = socket.localPort;
383
378
  this._directSockets.set(request.uid, socket);
384
- (_this$_connections$ge4 = this._connections.get(request.uid)) === null || _this$_connections$ge4 === void 0 ? void 0 : _this$_connections$ge4.socketConnected(localAddress, localPort);
379
+ (_this$_connections$ge4 = this._connections.get(request.uid)) === null || _this$_connections$ge4 === void 0 || _this$_connections$ge4.socketConnected(localAddress, localPort);
385
380
  } catch (error) {
386
381
  var _this$_connections$ge5;
387
- (_this$_connections$ge5 = this._connections.get(request.uid)) === null || _this$_connections$ge5 === void 0 ? void 0 : _this$_connections$ge5.socketFailed(error.code);
382
+ (_this$_connections$ge5 = this._connections.get(request.uid)) === null || _this$_connections$ge5 === void 0 || _this$_connections$ge5.socketFailed(error.code);
388
383
  }
389
384
  }
390
385
  port() {
@@ -436,34 +431,34 @@ class SocksProxy extends _events.default {
436
431
  port
437
432
  }) {
438
433
  var _this$_connections$ge6;
439
- (_this$_connections$ge6 = this._connections.get(uid)) === null || _this$_connections$ge6 === void 0 ? void 0 : _this$_connections$ge6.socketConnected(host, port);
434
+ (_this$_connections$ge6 = this._connections.get(uid)) === null || _this$_connections$ge6 === void 0 || _this$_connections$ge6.socketConnected(host, port);
440
435
  }
441
436
  socketFailed({
442
437
  uid,
443
438
  errorCode
444
439
  }) {
445
440
  var _this$_connections$ge7;
446
- (_this$_connections$ge7 = this._connections.get(uid)) === null || _this$_connections$ge7 === void 0 ? void 0 : _this$_connections$ge7.socketFailed(errorCode);
441
+ (_this$_connections$ge7 = this._connections.get(uid)) === null || _this$_connections$ge7 === void 0 || _this$_connections$ge7.socketFailed(errorCode);
447
442
  }
448
443
  sendSocketData({
449
444
  uid,
450
445
  data
451
446
  }) {
452
447
  var _this$_connections$ge8;
453
- (_this$_connections$ge8 = this._connections.get(uid)) === null || _this$_connections$ge8 === void 0 ? void 0 : _this$_connections$ge8.sendData(data);
448
+ (_this$_connections$ge8 = this._connections.get(uid)) === null || _this$_connections$ge8 === void 0 || _this$_connections$ge8.sendData(data);
454
449
  }
455
450
  sendSocketEnd({
456
451
  uid
457
452
  }) {
458
453
  var _this$_connections$ge9;
459
- (_this$_connections$ge9 = this._connections.get(uid)) === null || _this$_connections$ge9 === void 0 ? void 0 : _this$_connections$ge9.end();
454
+ (_this$_connections$ge9 = this._connections.get(uid)) === null || _this$_connections$ge9 === void 0 || _this$_connections$ge9.end();
460
455
  }
461
456
  sendSocketError({
462
457
  uid,
463
458
  error
464
459
  }) {
465
460
  var _this$_connections$ge10;
466
- (_this$_connections$ge10 = this._connections.get(uid)) === null || _this$_connections$ge10 === void 0 ? void 0 : _this$_connections$ge10.error(error);
461
+ (_this$_connections$ge10 = this._connections.get(uid)) === null || _this$_connections$ge10 === void 0 || _this$_connections$ge10.error(error);
467
462
  }
468
463
  }
469
464
  exports.SocksProxy = SocksProxy;
@@ -553,14 +548,14 @@ class SocksProxyHandler extends _events.default {
553
548
  data
554
549
  }) {
555
550
  var _this$_sockets$get;
556
- (_this$_sockets$get = this._sockets.get(uid)) === null || _this$_sockets$get === void 0 ? void 0 : _this$_sockets$get.write(data);
551
+ (_this$_sockets$get = this._sockets.get(uid)) === null || _this$_sockets$get === void 0 || _this$_sockets$get.write(data);
557
552
  }
558
553
  socketClosed({
559
554
  uid
560
555
  }) {
561
556
  var _this$_sockets$get2;
562
557
  _debugLogger.debugLogger.log('socks', `[${uid}] <= browser socket closed`);
563
- (_this$_sockets$get2 = this._sockets.get(uid)) === null || _this$_sockets$get2 === void 0 ? void 0 : _this$_sockets$get2.destroy();
558
+ (_this$_sockets$get2 = this._sockets.get(uid)) === null || _this$_sockets$get2 === void 0 || _this$_sockets$get2.destroy();
564
559
  this._sockets.delete(uid);
565
560
  }
566
561
  }