@remotion/renderer 4.0.405 → 4.0.407

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 (181) hide show
  1. package/dist/assets/apply-tone-frequency.d.ts +1 -2
  2. package/dist/assets/convert-assets-to-file-urls.d.ts +1 -2
  3. package/dist/assets/download-and-map-assets-to-file.d.ts +2 -3
  4. package/dist/assets/download-and-map-assets-to-file.js +1 -0
  5. package/dist/assets/download-file.d.ts +1 -0
  6. package/dist/assets/download-file.js +16 -1
  7. package/dist/assets/download-map.d.ts +1 -0
  8. package/dist/assets/download-map.js +2 -0
  9. package/dist/assets/get-audio-channels.d.ts +2 -3
  10. package/dist/assets/inline-audio-mixing.d.ts +1 -2
  11. package/dist/browser/Browser.d.ts +5 -5
  12. package/dist/browser/Browser.js +65 -74
  13. package/dist/browser/BrowserFetcher.d.ts +3 -5
  14. package/dist/browser/BrowserFetcher.js +1 -0
  15. package/dist/browser/BrowserPage.d.ts +4 -4
  16. package/dist/browser/BrowserPage.js +223 -218
  17. package/dist/browser/BrowserRunner.d.ts +1 -2
  18. package/dist/browser/Connection.js +99 -112
  19. package/dist/browser/ConsoleMessage.d.ts +1 -1
  20. package/dist/browser/ConsoleMessage.js +9 -16
  21. package/dist/browser/DOMWorld.d.ts +1 -1
  22. package/dist/browser/DOMWorld.js +75 -89
  23. package/dist/browser/Errors.js +2 -4
  24. package/dist/browser/EventEmitter.js +2 -1
  25. package/dist/browser/ExecutionContext.js +117 -120
  26. package/dist/browser/FrameManager.js +249 -244
  27. package/dist/browser/HTTPRequest.js +11 -22
  28. package/dist/browser/HTTPResponse.js +3 -16
  29. package/dist/browser/JSHandle.js +17 -30
  30. package/dist/browser/LifecycleWatcher.js +122 -128
  31. package/dist/browser/NetworkEventManager.js +31 -40
  32. package/dist/browser/NetworkManager.js +210 -203
  33. package/dist/browser/NodeWebSocketTransport.js +3 -0
  34. package/dist/browser/Target.d.ts +1 -1
  35. package/dist/browser/Target.js +32 -39
  36. package/dist/browser/TaskQueue.js +5 -18
  37. package/dist/browser/TimeoutSettings.js +12 -25
  38. package/dist/browser/browser-download-progress-bar.d.ts +1 -2
  39. package/dist/browser/handle-failed-resource.d.ts +1 -2
  40. package/dist/browser/handle-failed-resource.js +4 -3
  41. package/dist/call-ffmpeg.d.ts +4 -5
  42. package/dist/can-concat-seamlessly.d.ts +2 -4
  43. package/dist/can-use-parallel-encoding.d.ts +1 -2
  44. package/dist/check-version-requirements.d.ts +1 -2
  45. package/dist/client.d.ts +181 -181
  46. package/dist/codec-supports-media.d.ts +3 -4
  47. package/dist/collect-assets.d.ts +1 -1
  48. package/dist/combine-audio.d.ts +2 -4
  49. package/dist/combine-chunks.d.ts +1 -2
  50. package/dist/combine-video-streams.d.ts +2 -4
  51. package/dist/compositor/compositor.d.ts +2 -3
  52. package/dist/compositor/get-executable-path.d.ts +3 -3
  53. package/dist/compress-audio.d.ts +2 -4
  54. package/dist/create-audio.d.ts +2 -4
  55. package/dist/create-silent-audio.d.ts +1 -2
  56. package/dist/crf.d.ts +4 -6
  57. package/dist/cycle-browser-tabs.d.ts +1 -2
  58. package/dist/ensure-browser.d.ts +44 -1
  59. package/dist/error-handling/handle-javascript-exception.d.ts +1 -1
  60. package/dist/error-handling/handle-javascript-exception.js +7 -1
  61. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  62. package/dist/error-handling/symbolicateable-error.js +4 -0
  63. package/dist/error-handling.js +1 -1
  64. package/dist/esm/client.mjs +7 -2
  65. package/dist/esm/index.mjs +28 -4
  66. package/dist/extract-audio.d.ts +2 -3
  67. package/dist/ffmpeg-args.d.ts +6 -12
  68. package/dist/get-browser-instance.d.ts +4 -6
  69. package/dist/get-codec-name.d.ts +3 -6
  70. package/dist/get-compositions.d.ts +1 -1
  71. package/dist/get-concurrency.d.ts +1 -1
  72. package/dist/get-extension-from-codec.d.ts +2 -3
  73. package/dist/get-frame-padded-index.d.ts +1 -2
  74. package/dist/get-local-browser-executable.d.ts +2 -4
  75. package/dist/get-prores-profile-name.d.ts +1 -3
  76. package/dist/get-silent-parts.d.ts +4 -5
  77. package/dist/get-video-metadata.d.ts +3 -4
  78. package/dist/get-video-threads-flag.d.ts +1 -2
  79. package/dist/goto-page-or-throw.d.ts +1 -1
  80. package/dist/guess-extension-for-media.d.ts +2 -3
  81. package/dist/image-format.d.ts +2 -3
  82. package/dist/index.d.ts +173 -172
  83. package/dist/index.js +16 -16
  84. package/dist/is-audio-codec.d.ts +1 -2
  85. package/dist/log-level.d.ts +1 -1
  86. package/dist/logger.d.ts +6 -6
  87. package/dist/make-page.d.ts +2 -4
  88. package/dist/memory/from-proc-meminfo.d.ts +1 -2
  89. package/dist/memory/get-available-memory.d.ts +1 -2
  90. package/dist/mime-types.js +2 -1
  91. package/dist/mux-video-and-audio.d.ts +2 -3
  92. package/dist/offthread-video-server.d.ts +1 -2
  93. package/dist/offthread-video-server.js +4 -6
  94. package/dist/open-browser.d.ts +1 -1
  95. package/dist/open-browser.js +6 -5
  96. package/dist/options/api-key.js +3 -1
  97. package/dist/options/audio-bitrate.js +9 -1
  98. package/dist/options/audio-codec.d.ts +10 -13
  99. package/dist/options/beep-on-finish.js +1 -1
  100. package/dist/options/binaries-directory.js +9 -1
  101. package/dist/options/chrome-mode.d.ts +3 -3
  102. package/dist/options/chrome-mode.js +6 -1
  103. package/dist/options/color-space.d.ts +5 -9
  104. package/dist/options/color-space.js +7 -1
  105. package/dist/options/crf.js +1 -1
  106. package/dist/options/cross-site-isolation.js +2 -1
  107. package/dist/options/dark-mode.js +2 -1
  108. package/dist/options/delete-after.js +11 -1
  109. package/dist/options/disallow-parallel-encoding.js +1 -1
  110. package/dist/options/enable-lambda-insights.js +2 -1
  111. package/dist/options/enable-multiprocess-on-linux.js +13 -1
  112. package/dist/options/encoding-buffer-size.js +3 -1
  113. package/dist/options/encoding-max-rate.js +3 -1
  114. package/dist/options/enforce-audio.js +1 -1
  115. package/dist/options/folder-expiry.js +4 -1
  116. package/dist/options/for-seamless-aac-concatenation.js +3 -1
  117. package/dist/options/gl.d.ts +6 -6
  118. package/dist/options/gl.js +28 -2
  119. package/dist/options/hardware-acceleration.d.ts +2 -2
  120. package/dist/options/headless.js +4 -1
  121. package/dist/options/image-sequence-pattern.js +5 -1
  122. package/dist/options/index.d.ts +25 -25
  123. package/dist/options/jpeg-quality.js +1 -1
  124. package/dist/options/latency-hint.js +10 -1
  125. package/dist/options/license-key.js +2 -1
  126. package/dist/options/log-level.d.ts +3 -4
  127. package/dist/options/log-level.js +16 -1
  128. package/dist/options/metadata.js +7 -2
  129. package/dist/options/mute.js +1 -1
  130. package/dist/options/number-of-gif-loops.js +13 -1
  131. package/dist/options/offthreadvideo-cache-size.js +11 -1
  132. package/dist/options/offthreadvideo-threads.js +2 -1
  133. package/dist/options/on-browser-download.js +2 -1
  134. package/dist/options/options-map.d.ts +93 -93
  135. package/dist/options/overwrite.js +5 -1
  136. package/dist/options/prefer-lossless.js +4 -1
  137. package/dist/options/public-dir.js +2 -1
  138. package/dist/options/public-license-key.js +3 -1
  139. package/dist/options/public-path.js +7 -1
  140. package/dist/options/repro.js +1 -1
  141. package/dist/options/scale.js +5 -1
  142. package/dist/options/timeout.js +4 -1
  143. package/dist/options/video-bitrate.js +7 -1
  144. package/dist/options/video-cache-size.js +8 -1
  145. package/dist/options/video-codec.d.ts +6 -6
  146. package/dist/options/video-codec.js +1 -1
  147. package/dist/options/webhook-custom-data.js +1 -1
  148. package/dist/options/x264-preset.d.ts +5 -6
  149. package/dist/options/x264-preset.js +23 -1
  150. package/dist/p-limit.d.ts +1 -1
  151. package/dist/pixel-format.d.ts +2 -3
  152. package/dist/pool.js +2 -0
  153. package/dist/port-config.d.ts +5 -6
  154. package/dist/prespawn-ffmpeg.js +5 -4
  155. package/dist/prestitcher-memory-usage.d.ts +1 -2
  156. package/dist/print-useful-error-message.d.ts +1 -2
  157. package/dist/prores-profile.d.ts +2 -4
  158. package/dist/puppeteer-evaluate.d.ts +2 -2
  159. package/dist/puppeteer-screenshot.d.ts +3 -4
  160. package/dist/pure.d.ts +5 -5
  161. package/dist/render-frame-and-retry-target-close.d.ts +8 -8
  162. package/dist/render-frame-with-option-to-reject.d.ts +4 -6
  163. package/dist/render-frame.d.ts +8 -8
  164. package/dist/render-has-audio.d.ts +2 -3
  165. package/dist/render-media.js +2 -1
  166. package/dist/replace-browser.d.ts +1 -2
  167. package/dist/repro.d.ts +1 -1
  168. package/dist/screenshot-task.d.ts +3 -4
  169. package/dist/seek-to-frame.d.ts +2 -3
  170. package/dist/serve-handler/index.d.ts +1 -1
  171. package/dist/serve-handler/range-parser.d.ts +2 -2
  172. package/dist/serve-static.d.ts +1 -2
  173. package/dist/set-props-and-env.js +3 -1
  174. package/dist/stringify-ffmpeg-filter.d.ts +1 -2
  175. package/dist/take-frame.d.ts +1 -2
  176. package/dist/test-gpu.d.ts +2 -4
  177. package/dist/validate-even-dimensions-with-codec.d.ts +2 -4
  178. package/dist/validate-ffmpeg-override.d.ts +1 -1
  179. package/dist/validate-number-of-gif-loops.d.ts +1 -2
  180. package/dist/validate-output-filename.d.ts +2 -4
  181. package/package.json +16 -14
@@ -14,18 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
18
- if (kind === "m") throw new TypeError("Private method is not writable");
19
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
20
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
22
- };
23
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
24
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
25
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
- };
28
- var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_indent, _NetworkManager_logLevel, _NetworkManager_onRequestWillBeSent, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
29
17
  Object.defineProperty(exports, "__esModule", { value: true });
30
18
  exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
31
19
  const EventEmitter_1 = require("./EventEmitter");
@@ -37,210 +25,229 @@ exports.NetworkManagerEmittedEvents = {
37
25
  Request: Symbol('NetworkManager.Request'),
38
26
  };
39
27
  class NetworkManager extends EventEmitter_1.EventEmitter {
28
+ #client;
29
+ #frameManager;
30
+ #networkEventManager = new NetworkEventManager_1.NetworkEventManager();
31
+ #indent;
32
+ #logLevel;
40
33
  constructor(client, frameManager, indent, logLevel) {
41
34
  super();
42
- _NetworkManager_instances.add(this);
43
- _NetworkManager_client.set(this, void 0);
44
- _NetworkManager_frameManager.set(this, void 0);
45
- _NetworkManager_networkEventManager.set(this, new NetworkEventManager_1.NetworkEventManager());
46
- _NetworkManager_indent.set(this, void 0);
47
- _NetworkManager_logLevel.set(this, void 0);
48
- __classPrivateFieldSet(this, _NetworkManager_client, client, "f");
49
- __classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
50
- __classPrivateFieldSet(this, _NetworkManager_indent, indent, "f");
51
- __classPrivateFieldSet(this, _NetworkManager_logLevel, logLevel, "f");
52
- __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
53
- __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestWillBeSent', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestWillBeSent).bind(this));
54
- __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestServedFromCache', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestServedFromCache).bind(this));
55
- __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceived', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceived).bind(this));
56
- __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFinished', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFinished).bind(this));
57
- __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFailed', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFailed).bind(this));
58
- __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceivedExtraInfo', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceivedExtraInfo).bind(this));
35
+ this.#client = client;
36
+ this.#frameManager = frameManager;
37
+ this.#indent = indent;
38
+ this.#logLevel = logLevel;
39
+ this.#client.on('Fetch.requestPaused', this.#onRequestPaused.bind(this));
40
+ this.#client.on('Network.requestWillBeSent', this.#onRequestWillBeSent.bind(this));
41
+ this.#client.on('Network.requestServedFromCache', this.#onRequestServedFromCache.bind(this));
42
+ this.#client.on('Network.responseReceived', this.#onResponseReceived.bind(this));
43
+ this.#client.on('Network.loadingFinished', this.#onLoadingFinished.bind(this));
44
+ this.#client.on('Network.loadingFailed', this.#onLoadingFailed.bind(this));
45
+ this.#client.on('Network.responseReceivedExtraInfo', this.#onResponseReceivedExtraInfo.bind(this));
59
46
  }
60
47
  async initialize() {
61
- await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable');
48
+ await this.#client.send('Network.enable');
49
+ }
50
+ #onRequestWillBeSent(event) {
51
+ this.#onRequest(event, undefined);
52
+ }
53
+ /**
54
+ * CDP may send a Fetch.requestPaused without or before a
55
+ * Network.requestWillBeSent
56
+ *
57
+ * CDP may send multiple Fetch.requestPaused
58
+ * for the same Network.requestWillBeSent.
59
+ */
60
+ #onRequestPaused(event) {
61
+ const { networkId: networkRequestId, requestId: fetchRequestId } = event;
62
+ if (!networkRequestId) {
63
+ return;
64
+ }
65
+ const requestWillBeSentEvent = (() => {
66
+ const _requestWillBeSentEvent = this.#networkEventManager.getRequestWillBeSent(networkRequestId);
67
+ // redirect requests have the same `requestId`,
68
+ if (_requestWillBeSentEvent &&
69
+ (_requestWillBeSentEvent.request.url !== event.request.url ||
70
+ _requestWillBeSentEvent.request.method !== event.request.method)) {
71
+ this.#networkEventManager.forgetRequestWillBeSent(networkRequestId);
72
+ return;
73
+ }
74
+ return _requestWillBeSentEvent;
75
+ })();
76
+ if (requestWillBeSentEvent) {
77
+ this.#patchRequestEventHeaders(requestWillBeSentEvent, event);
78
+ this.#onRequest(requestWillBeSentEvent, fetchRequestId);
79
+ }
80
+ else {
81
+ this.#networkEventManager.storeRequestPaused(networkRequestId, event);
82
+ }
62
83
  }
63
- }
64
- exports.NetworkManager = NetworkManager;
65
- _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_indent = new WeakMap(), _NetworkManager_logLevel = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
66
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
67
- }, _NetworkManager_onRequestPaused = function _NetworkManager_onRequestPaused(event) {
68
- const { networkId: networkRequestId, requestId: fetchRequestId } = event;
69
- if (!networkRequestId) {
70
- return;
71
- }
72
- const requestWillBeSentEvent = (() => {
73
- const _requestWillBeSentEvent = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequestWillBeSent(networkRequestId);
74
- // redirect requests have the same `requestId`,
75
- if (_requestWillBeSentEvent &&
76
- (_requestWillBeSentEvent.request.url !== event.request.url ||
77
- _requestWillBeSentEvent.request.method !== event.request.method)) {
78
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequestWillBeSent(networkRequestId);
84
+ #patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
85
+ requestWillBeSentEvent.request.headers = {
86
+ ...requestWillBeSentEvent.request.headers,
87
+ // includes extra headers, like: Accept, Origin
88
+ ...requestPausedEvent.request.headers,
89
+ };
90
+ }
91
+ #onRequest(event, fetchRequestId) {
92
+ if (event.redirectResponse) {
93
+ // We want to emit a response and requestfinished for the
94
+ // redirectResponse, but we can't do so unless we have a
95
+ // responseExtraInfo ready to pair it up with. If we don't have any
96
+ // responseExtraInfos saved in our queue, they we have to wait until
97
+ // the next one to emit response and requestfinished, *and* we should
98
+ // also wait to emit this Request too because it should come after the
99
+ // response/requestfinished.
100
+ let redirectResponseExtraInfo = null;
101
+ if (event.redirectHasExtraInfo) {
102
+ redirectResponseExtraInfo = this.#networkEventManager
103
+ .getResponseExtraInfo(event.requestId)
104
+ .shift();
105
+ if (!redirectResponseExtraInfo) {
106
+ this.#networkEventManager.queueRedirectInfo(event.requestId, {
107
+ event,
108
+ fetchRequestId,
109
+ });
110
+ return;
111
+ }
112
+ }
113
+ const _request = this.#networkEventManager.getRequest(event.requestId);
114
+ // If we connect late to the target, we could have missed the
115
+ // requestWillBeSent event.
116
+ if (_request) {
117
+ this.#handleRequestRedirect(_request, event.redirectResponse, redirectResponseExtraInfo);
118
+ }
119
+ }
120
+ const frame = event.frameId
121
+ ? this.#frameManager.frame(event.frameId)
122
+ : null;
123
+ const request = new HTTPRequest_1.HTTPRequest(frame, event);
124
+ this.#networkEventManager.storeRequest(event.requestId, request);
125
+ this.emit(exports.NetworkManagerEmittedEvents.Request, request);
126
+ }
127
+ #onRequestServedFromCache(event) {
128
+ const request = this.#networkEventManager.getRequest(event.requestId);
129
+ if (request) {
130
+ request._fromMemoryCache = true;
131
+ }
132
+ }
133
+ #handleRequestRedirect(request, responsePayload, extraInfo) {
134
+ const response = new HTTPResponse_1.HTTPResponse(responsePayload, extraInfo);
135
+ request._response = response;
136
+ this.#forgetRequest(request, false);
137
+ }
138
+ #emitResponseEvent(responseReceived, extraInfo) {
139
+ const request = this.#networkEventManager.getRequest(responseReceived.requestId);
140
+ // FileUpload sends a response without a matching request.
141
+ if (!request) {
79
142
  return;
80
143
  }
81
- return _requestWillBeSentEvent;
82
- })();
83
- if (requestWillBeSentEvent) {
84
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_patchRequestEventHeaders).call(this, requestWillBeSentEvent, event);
85
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, requestWillBeSentEvent, fetchRequestId);
86
- }
87
- else {
88
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequestPaused(networkRequestId, event);
89
- }
90
- }, _NetworkManager_patchRequestEventHeaders = function _NetworkManager_patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
91
- requestWillBeSentEvent.request.headers = {
92
- ...requestWillBeSentEvent.request.headers,
93
- // includes extra headers, like: Accept, Origin
94
- ...requestPausedEvent.request.headers,
95
- };
96
- }, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
97
- if (event.redirectResponse) {
98
- // We want to emit a response and requestfinished for the
99
- // redirectResponse, but we can't do so unless we have a
100
- // responseExtraInfo ready to pair it up with. If we don't have any
101
- // responseExtraInfos saved in our queue, they we have to wait until
102
- // the next one to emit response and requestfinished, *and* we should
103
- // also wait to emit this Request too because it should come after the
104
- // response/requestfinished.
105
- let redirectResponseExtraInfo = null;
106
- if (event.redirectHasExtraInfo) {
107
- redirectResponseExtraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
144
+ const response = new HTTPResponse_1.HTTPResponse(responseReceived.response, extraInfo);
145
+ request._response = response;
146
+ }
147
+ #onResponseReceived(event) {
148
+ const request = this.#networkEventManager.getRequest(event.requestId);
149
+ let extraInfo = null;
150
+ if (request && !request._fromMemoryCache && event.hasExtraInfo) {
151
+ extraInfo = this.#networkEventManager
108
152
  .getResponseExtraInfo(event.requestId)
109
153
  .shift();
110
- if (!redirectResponseExtraInfo) {
111
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueRedirectInfo(event.requestId, {
112
- event,
113
- fetchRequestId,
154
+ if (!extraInfo) {
155
+ // Wait until we get the corresponding ExtraInfo event.
156
+ this.#networkEventManager.queueEventGroup(event.requestId, {
157
+ responseReceivedEvent: event,
114
158
  });
115
159
  return;
116
160
  }
117
161
  }
118
- const _request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
119
- // If we connect late to the target, we could have missed the
120
- // requestWillBeSent event.
121
- if (_request) {
122
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, _request, event.redirectResponse, redirectResponseExtraInfo);
123
- }
124
- }
125
- const frame = event.frameId
126
- ? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
127
- : null;
128
- const request = new HTTPRequest_1.HTTPRequest(frame, event);
129
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
130
- this.emit(exports.NetworkManagerEmittedEvents.Request, request);
131
- }, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
132
- const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
133
- if (request) {
134
- request._fromMemoryCache = true;
135
- }
136
- }, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
137
- const response = new HTTPResponse_1.HTTPResponse(responsePayload, extraInfo);
138
- request._response = response;
139
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
140
- }, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
141
- const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
142
- // FileUpload sends a response without a matching request.
143
- if (!request) {
144
- return;
145
- }
146
- const response = new HTTPResponse_1.HTTPResponse(responseReceived.response, extraInfo);
147
- request._response = response;
148
- }, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
149
- const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
150
- let extraInfo = null;
151
- if (request && !request._fromMemoryCache && event.hasExtraInfo) {
152
- extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
153
- .getResponseExtraInfo(event.requestId)
154
- .shift();
155
- if (!extraInfo) {
156
- // Wait until we get the corresponding ExtraInfo event.
157
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueEventGroup(event.requestId, {
158
- responseReceivedEvent: event,
159
- });
162
+ this.#emitResponseEvent(event, extraInfo);
163
+ }
164
+ #onResponseReceivedExtraInfo(event) {
165
+ // We may have skipped a redirect response/request pair due to waiting for
166
+ // this ExtraInfo event. If so, continue that work now that we have the
167
+ // request.
168
+ const redirectInfo = this.#networkEventManager.takeQueuedRedirectInfo(event.requestId);
169
+ if (redirectInfo) {
170
+ this.#networkEventManager
171
+ .getResponseExtraInfo(event.requestId)
172
+ .push(event);
173
+ this.#onRequest(redirectInfo.event, redirectInfo.fetchRequestId);
174
+ return;
175
+ }
176
+ // We may have skipped response and loading events because we didn't have
177
+ // this ExtraInfo event yet. If so, emit those events now.
178
+ const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
179
+ if (queuedEvents) {
180
+ this.#networkEventManager.forgetQueuedEventGroup(event.requestId);
181
+ this.#emitResponseEvent(queuedEvents.responseReceivedEvent, event);
182
+ if (queuedEvents.loadingFinishedEvent) {
183
+ this.#emitLoadingFinished(queuedEvents.loadingFinishedEvent);
184
+ }
185
+ if (queuedEvents.loadingFailedEvent) {
186
+ this.#emitLoadingFailed(queuedEvents.loadingFailedEvent);
187
+ }
188
+ return;
189
+ }
190
+ // Wait until we get another event that can use this ExtraInfo event.
191
+ this.#networkEventManager.getResponseExtraInfo(event.requestId).push(event);
192
+ }
193
+ #forgetRequest(request, events) {
194
+ const requestId = request._requestId;
195
+ this.#networkEventManager.forgetRequest(requestId);
196
+ if (events) {
197
+ this.#networkEventManager.forget(requestId);
198
+ }
199
+ }
200
+ #onLoadingFinished(event) {
201
+ // If the response event for this request is still waiting on a
202
+ // corresponding ExtraInfo event, then wait to emit this event too.
203
+ const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
204
+ if (queuedEvents) {
205
+ queuedEvents.loadingFinishedEvent = event;
206
+ }
207
+ else {
208
+ this.#emitLoadingFinished(event);
209
+ }
210
+ }
211
+ #emitLoadingFinished(event) {
212
+ const request = this.#networkEventManager.getRequest(event.requestId);
213
+ // For certain requestIds we never receive requestWillBeSent event.
214
+ // @see https://crbug.com/750469
215
+ if (!request) {
160
216
  return;
161
217
  }
218
+ this.#forgetRequest(request, true);
219
+ }
220
+ #onLoadingFailed(event) {
221
+ // If the response event for this request is still waiting on a
222
+ // corresponding ExtraInfo event, then wait to emit this event too.
223
+ const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
224
+ if (queuedEvents) {
225
+ queuedEvents.loadingFailedEvent = event;
226
+ }
227
+ else {
228
+ this.#emitLoadingFailed(event);
229
+ }
162
230
  }
163
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, event, extraInfo);
164
- }, _NetworkManager_onResponseReceivedExtraInfo = function _NetworkManager_onResponseReceivedExtraInfo(event) {
165
- // We may have skipped a redirect response/request pair due to waiting for
166
- // this ExtraInfo event. If so, continue that work now that we have the
167
- // request.
168
- const redirectInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").takeQueuedRedirectInfo(event.requestId);
169
- if (redirectInfo) {
170
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
171
- .getResponseExtraInfo(event.requestId)
172
- .push(event);
173
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, redirectInfo.event, redirectInfo.fetchRequestId);
174
- return;
175
- }
176
- // We may have skipped response and loading events because we didn't have
177
- // this ExtraInfo event yet. If so, emit those events now.
178
- const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
179
- if (queuedEvents) {
180
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetQueuedEventGroup(event.requestId);
181
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, queuedEvents.responseReceivedEvent, event);
182
- if (queuedEvents.loadingFinishedEvent) {
183
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, queuedEvents.loadingFinishedEvent);
184
- }
185
- if (queuedEvents.loadingFailedEvent) {
186
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, queuedEvents.loadingFailedEvent);
187
- }
188
- return;
189
- }
190
- // Wait until we get another event that can use this ExtraInfo event.
191
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getResponseExtraInfo(event.requestId).push(event);
192
- }, _NetworkManager_forgetRequest = function _NetworkManager_forgetRequest(request, events) {
193
- const requestId = request._requestId;
194
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequest(requestId);
195
- if (events) {
196
- __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forget(requestId);
197
- }
198
- }, _NetworkManager_onLoadingFinished = function _NetworkManager_onLoadingFinished(event) {
199
- // If the response event for this request is still waiting on a
200
- // corresponding ExtraInfo event, then wait to emit this event too.
201
- const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
202
- if (queuedEvents) {
203
- queuedEvents.loadingFinishedEvent = event;
204
- }
205
- else {
206
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
207
- }
208
- }, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
209
- const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
210
- // For certain requestIds we never receive requestWillBeSent event.
211
- // @see https://crbug.com/750469
212
- if (!request) {
213
- return;
214
- }
215
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
216
- }, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
217
- // If the response event for this request is still waiting on a
218
- // corresponding ExtraInfo event, then wait to emit this event too.
219
- const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
220
- if (queuedEvents) {
221
- queuedEvents.loadingFailedEvent = event;
222
- }
223
- else {
224
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, event);
225
- }
226
- }, _NetworkManager_emitLoadingFailed = function _NetworkManager_emitLoadingFailed(event) {
227
- const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
228
- // For certain requestIds we never receive requestWillBeSent event.
229
- // @see https://crbug.com/750469
230
- if (!request) {
231
- return;
232
- }
233
- if (event.canceled) {
234
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
235
- return;
236
- }
237
- const extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getResponseExtraInfo(event.requestId);
238
- (0, handle_failed_resource_1.handleFailedResource)({
239
- extraInfo,
240
- event,
241
- indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"),
242
- logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f"),
243
- request,
244
- });
245
- __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
246
- };
231
+ #emitLoadingFailed(event) {
232
+ const request = this.#networkEventManager.getRequest(event.requestId);
233
+ // For certain requestIds we never receive requestWillBeSent event.
234
+ // @see https://crbug.com/750469
235
+ if (!request) {
236
+ return;
237
+ }
238
+ if (event.canceled) {
239
+ this.#forgetRequest(request, true);
240
+ return;
241
+ }
242
+ const extraInfo = this.#networkEventManager.getResponseExtraInfo(event.requestId);
243
+ (0, handle_failed_resource_1.handleFailedResource)({
244
+ extraInfo,
245
+ event,
246
+ indent: this.#indent,
247
+ logLevel: this.#logLevel,
248
+ request,
249
+ });
250
+ this.#forgetRequest(request, true);
251
+ }
252
+ }
253
+ exports.NetworkManager = NetworkManager;
@@ -48,6 +48,9 @@ class NodeWebSocketTransport {
48
48
  ws.addEventListener('error', reject);
49
49
  });
50
50
  }
51
+ websocket;
52
+ onmessage;
53
+ onclose;
51
54
  constructor(ws) {
52
55
  this.websocket = ws;
53
56
  this.websocket.addEventListener('message', (event) => {
@@ -38,7 +38,7 @@ export declare class Target {
38
38
  /**
39
39
  * If the target is not of type `"page"` or `"background_page"`, returns `null`.
40
40
  */
41
- page({ sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, onLog, }: {
41
+ page({ sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, onLog }: {
42
42
  sourceMapGetter: SourceMapGetter;
43
43
  logLevel: LogLevel;
44
44
  indent: boolean;
@@ -14,18 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
18
- if (kind === "m") throw new TypeError("Private method is not writable");
19
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
20
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
22
- };
23
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
24
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
25
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
- };
28
- var _Target_browserContext, _Target_targetInfo, _Target_sessionFactory, _Target_defaultViewport, _Target_pagePromise;
29
17
  Object.defineProperty(exports, "__esModule", { value: true });
30
18
  exports.Target = void 0;
31
19
  const BrowserPage_1 = require("./BrowserPage");
@@ -35,17 +23,23 @@ const isPagetTarget = (target) => {
35
23
  target.type === 'webview');
36
24
  };
37
25
  class Target {
26
+ #browserContext;
27
+ #targetInfo;
28
+ #sessionFactory;
29
+ #defaultViewport;
30
+ #pagePromise;
31
+ _initializedPromise;
32
+ _initializedCallback;
33
+ _isClosedPromise;
34
+ _closedCallback;
35
+ _isInitialized;
36
+ _targetId;
38
37
  constructor(targetInfo, browserContext, sessionFactory, defaultViewport) {
39
- _Target_browserContext.set(this, void 0);
40
- _Target_targetInfo.set(this, void 0);
41
- _Target_sessionFactory.set(this, void 0);
42
- _Target_defaultViewport.set(this, void 0);
43
- _Target_pagePromise.set(this, void 0);
44
- __classPrivateFieldSet(this, _Target_targetInfo, targetInfo, "f");
45
- __classPrivateFieldSet(this, _Target_browserContext, browserContext, "f");
38
+ this.#targetInfo = targetInfo;
39
+ this.#browserContext = browserContext;
46
40
  this._targetId = targetInfo.targetId;
47
- __classPrivateFieldSet(this, _Target_sessionFactory, sessionFactory, "f");
48
- __classPrivateFieldSet(this, _Target_defaultViewport, defaultViewport, "f");
41
+ this.#sessionFactory = sessionFactory;
42
+ this.#defaultViewport = defaultViewport;
49
43
  this._initializedPromise = new Promise((fulfill) => {
50
44
  this._initializedCallback = fulfill;
51
45
  }).then((success) => {
@@ -53,7 +47,7 @@ class Target {
53
47
  return false;
54
48
  }
55
49
  const opener = this.opener();
56
- if (!opener || !__classPrivateFieldGet(opener, _Target_pagePromise, "f") || this.type() !== 'page') {
50
+ if (!opener || !opener.#pagePromise || this.type() !== 'page') {
57
51
  return true;
58
52
  }
59
53
  return true;
@@ -62,7 +56,7 @@ class Target {
62
56
  this._closedCallback = fulfill;
63
57
  });
64
58
  this._isInitialized =
65
- !isPagetTarget(__classPrivateFieldGet(this, _Target_targetInfo, "f")) || __classPrivateFieldGet(this, _Target_targetInfo, "f").url !== '';
59
+ !isPagetTarget(this.#targetInfo) || this.#targetInfo.url !== '';
66
60
  if (this._isInitialized) {
67
61
  this._initializedCallback(true);
68
62
  }
@@ -71,23 +65,23 @@ class Target {
71
65
  * Creates a Chrome Devtools Protocol session attached to the target.
72
66
  */
73
67
  createCDPSession() {
74
- return __classPrivateFieldGet(this, _Target_sessionFactory, "f").call(this);
68
+ return this.#sessionFactory();
75
69
  }
76
70
  _getTargetInfo() {
77
- return __classPrivateFieldGet(this, _Target_targetInfo, "f");
71
+ return this.#targetInfo;
78
72
  }
79
73
  /**
80
74
  * If the target is not of type `"page"` or `"background_page"`, returns `null`.
81
75
  */
82
76
  async page({ sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, onLog, }) {
83
77
  var _a;
84
- if (isPagetTarget(__classPrivateFieldGet(this, _Target_targetInfo, "f")) && !__classPrivateFieldGet(this, _Target_pagePromise, "f")) {
85
- __classPrivateFieldSet(this, _Target_pagePromise, __classPrivateFieldGet(this, _Target_sessionFactory, "f").call(this).then((client) => {
78
+ if (isPagetTarget(this.#targetInfo) && !this.#pagePromise) {
79
+ this.#pagePromise = this.#sessionFactory().then((client) => {
86
80
  var _a;
87
81
  return BrowserPage_1.Page._create({
88
82
  client,
89
83
  target: this,
90
- defaultViewport: (_a = __classPrivateFieldGet(this, _Target_defaultViewport, "f")) !== null && _a !== void 0 ? _a : null,
84
+ defaultViewport: (_a = this.#defaultViewport) !== null && _a !== void 0 ? _a : null,
91
85
  browser: this.browser(),
92
86
  sourceMapGetter,
93
87
  logLevel,
@@ -96,16 +90,16 @@ class Target {
96
90
  onBrowserLog,
97
91
  onLog,
98
92
  });
99
- }), "f");
93
+ });
100
94
  }
101
- return (_a = (await __classPrivateFieldGet(this, _Target_pagePromise, "f"))) !== null && _a !== void 0 ? _a : null;
95
+ return (_a = (await this.#pagePromise)) !== null && _a !== void 0 ? _a : null;
102
96
  }
103
97
  async expectPage() {
104
98
  var _a;
105
- return (_a = (await __classPrivateFieldGet(this, _Target_pagePromise, "f"))) !== null && _a !== void 0 ? _a : null;
99
+ return (_a = (await this.#pagePromise)) !== null && _a !== void 0 ? _a : null;
106
100
  }
107
101
  url() {
108
- return __classPrivateFieldGet(this, _Target_targetInfo, "f").url;
102
+ return this.#targetInfo.url;
109
103
  }
110
104
  /**
111
105
  * Identifies what kind of target this is.
@@ -115,7 +109,7 @@ class Target {
115
109
  * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
116
110
  */
117
111
  type() {
118
- const { type } = __classPrivateFieldGet(this, _Target_targetInfo, "f");
112
+ const { type } = this.#targetInfo;
119
113
  if (type === 'page' ||
120
114
  type === 'background_page' ||
121
115
  type === 'service_worker' ||
@@ -130,32 +124,31 @@ class Target {
130
124
  * Get the browser the target belongs to.
131
125
  */
132
126
  browser() {
133
- return __classPrivateFieldGet(this, _Target_browserContext, "f").browser();
127
+ return this.#browserContext.browser();
134
128
  }
135
129
  /**
136
130
  * Get the browser context the target belongs to.
137
131
  */
138
132
  browserContext() {
139
- return __classPrivateFieldGet(this, _Target_browserContext, "f");
133
+ return this.#browserContext;
140
134
  }
141
135
  /**
142
136
  * Get the target that opened this target. Top-level targets return `null`.
143
137
  */
144
138
  opener() {
145
- const { openerId } = __classPrivateFieldGet(this, _Target_targetInfo, "f");
139
+ const { openerId } = this.#targetInfo;
146
140
  if (!openerId) {
147
141
  return;
148
142
  }
149
143
  return this.browser()._targets.get(openerId);
150
144
  }
151
145
  _targetInfoChanged(targetInfo) {
152
- __classPrivateFieldSet(this, _Target_targetInfo, targetInfo, "f");
146
+ this.#targetInfo = targetInfo;
153
147
  if (!this._isInitialized &&
154
- (!isPagetTarget(__classPrivateFieldGet(this, _Target_targetInfo, "f")) || __classPrivateFieldGet(this, _Target_targetInfo, "f").url !== '')) {
148
+ (!isPagetTarget(this.#targetInfo) || this.#targetInfo.url !== '')) {
155
149
  this._isInitialized = true;
156
150
  this._initializedCallback(true);
157
151
  }
158
152
  }
159
153
  }
160
154
  exports.Target = Target;
161
- _Target_browserContext = new WeakMap(), _Target_targetInfo = new WeakMap(), _Target_sessionFactory = new WeakMap(), _Target_defaultViewport = new WeakMap(), _Target_pagePromise = new WeakMap();