chrome-devtools-frontend 1.0.1000934 → 1.0.1001419

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 (114) hide show
  1. package/config/gni/devtools_grd_files.gni +3 -0
  2. package/front_end/.eslintrc.js +1 -0
  3. package/front_end/models/issues_manager/DeprecationIssue.ts +70 -27
  4. package/front_end/panels/application/components/BackForwardCacheView.ts +4 -5
  5. package/front_end/panels/application/components/FrameDetailsView.ts +19 -19
  6. package/front_end/panels/application/components/PermissionsPolicySection.ts +2 -2
  7. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
  8. package/front_end/panels/css_overview/cssOverviewCompletedView.css +4 -0
  9. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  10. package/front_end/panels/network/components/RequestTrustTokensView.ts +7 -7
  11. package/front_end/third_party/puppeteer/package/README.md +11 -11
  12. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts.map +1 -1
  13. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +26 -2
  14. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
  15. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
  16. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +7 -0
  17. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  18. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +2 -2
  19. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  20. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +19 -11
  21. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  22. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts +2 -2
  23. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  24. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js +6 -2
  25. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  26. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +1 -1
  27. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +1 -1
  28. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.d.ts +3 -0
  29. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.d.ts.map +1 -0
  30. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.js +18 -0
  31. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.js.map +1 -0
  32. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.d.ts +2 -0
  33. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.d.ts.map +1 -0
  34. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.js +7 -0
  35. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.js.map +1 -0
  36. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +2 -0
  37. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts.map +1 -0
  38. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +5 -0
  39. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js.map +1 -0
  40. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.d.ts.map +1 -1
  41. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.js +2 -15
  42. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.js.map +1 -1
  43. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +1 -1
  44. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  45. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +23 -15
  46. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  47. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  48. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +1 -0
  49. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  50. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +1 -1
  51. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  52. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +17 -3
  53. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  54. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.d.ts.map +1 -1
  55. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js +1 -6
  56. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js.map +1 -1
  57. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
  58. package/front_end/third_party/puppeteer/package/lib/esm/package.json +1 -0
  59. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -1
  60. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +3 -2
  61. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js.map +1 -1
  62. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
  63. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +7 -0
  64. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  65. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +2 -2
  66. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  67. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +19 -11
  68. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  69. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +2 -2
  70. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  71. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +6 -2
  72. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  73. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +1 -1
  74. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1 -1
  75. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.d.ts +3 -0
  76. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.d.ts.map +1 -0
  77. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js +17 -0
  78. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js.map +1 -0
  79. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.d.ts +2 -0
  80. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.d.ts.map +1 -0
  81. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js +4 -0
  82. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js.map +1 -0
  83. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +2 -0
  84. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts.map +1 -0
  85. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +2 -0
  86. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js.map +1 -0
  87. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +1 -1
  88. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +2 -15
  89. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js.map +1 -1
  90. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +1 -1
  91. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  92. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +21 -13
  93. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  94. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +1 -0
  96. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  97. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +1 -1
  98. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  99. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +17 -3
  100. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  101. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -1
  102. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +1 -6
  103. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js.map +1 -1
  104. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
  105. package/front_end/third_party/puppeteer/package/lib/types.d.ts +6 -6
  106. package/front_end/third_party/puppeteer/package/package.json +33 -18
  107. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +4 -1
  108. package/front_end/ui/components/data_grid/DataGrid.ts +1 -1
  109. package/front_end/ui/components/data_grid/DataGridUtils.ts +1 -1
  110. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +1 -1
  111. package/front_end/ui/lit-html/lit-html.ts +3 -0
  112. package/package.json +1 -1
  113. package/scripts/eslint_rules/lib/lit_template_result_or_nothing.js +4 -0
  114. package/scripts/eslint_rules/tests/lit_template_result_or_nothing_test.js +13 -0
@@ -1397,6 +1397,9 @@ grd_files_debug_sources = [
1397
1397
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js",
1398
1398
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js",
1399
1399
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js",
1400
+ "front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js",
1401
+ "front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js",
1402
+ "front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js",
1400
1403
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/web.js",
1401
1404
  "front_end/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js",
1402
1405
  "front_end/third_party/wasmparser/package/dist/esm/WasmDis.js",
@@ -46,6 +46,7 @@ module.exports = {
46
46
  'rulesdir/static_custom_event_names': 2,
47
47
  'rulesdir/lit_html_host_this': 2,
48
48
  'rulesdir/lit_html_no_attribute_quotes': 2,
49
+ 'rulesdir/lit_template_result_or_nothing': 2,
49
50
  '@typescript-eslint/naming-convention': [
50
51
  'error', {
51
52
  'selector': ['property', 'parameterProperty'],
@@ -131,23 +131,34 @@ const
131
131
  insecurePrivateNetworkSubresourceRequest:
132
132
  'The website requested a subresource from a network that it could only access because of its users\' privileged network position. These requests expose non-public devices and servers to the internet, increasing the risk of a cross-site request forgery (CSRF) attack, and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them.',
133
133
  /**
134
- *@description TODO(crbug.com/1318860): Description needed for translation
135
- */
134
+ *@description A deprecation warning shown in the DevTools Issues tab.
135
+ * It's shown when a video conferencing website attempts to turn off
136
+ * CPU overuse detection with a non-standard API. CPU overuse
137
+ * detection is used to adjust video quality based on available CPU
138
+ * resources.
139
+ */
136
140
  legacyConstraintGoogCpuOveruseDetection:
137
141
  'CPU overuse detection is enabled-by-default and the ability to disable it using `googCpuOveruseDetection` will soon be removed. Please stop using this legacy constraint.',
138
142
  /**
139
- *@description TODO(crbug.com/1318861): Description needed for translation
140
- */
143
+ *@description A deprecation warning shown in the DevTools Issues tab.
144
+ * It's shown when a video conferencing website attempts to disable
145
+ * use of IPv6 addresses with a non-standard API.
146
+ */
141
147
  legacyConstraintGoogIPv6:
142
148
  'IPv6 is enabled-by-default and the ability to disable it using `googIPv6` will soon be removed. Please stop using this legacy constraint.',
143
149
  /**
144
- *@description TODO(crbug.com/1318863): Description needed for translation
145
- */
150
+ *@description A deprecation warning shown in the DevTools Issues tab.
151
+ * It's shown when a video conferencing website attempts to adjust
152
+ * bitrate settings for screeen sharing with a non-standard API.
153
+ */
146
154
  legacyConstraintGoogScreencastMinBitrate:
147
155
  'Screencast min bitrate is now set to 100 kbps by default and `googScreencastMinBitrate` will soon be ignored in favor of this new default. Please stop using this legacy constraint.',
148
156
  /**
149
- *@description TODO(crbug.com/1318864): Description needed for translation
150
- */
157
+ *@description A deprecation warning shown in the DevTools Issues tab.
158
+ * It's shown when a video conferencing website attempts to change the
159
+ * default settings for how the browser should act when bitrate is
160
+ * low.
161
+ */
151
162
  legacyConstraintGoogSuspendBelowMinBitrate:
152
163
  'Support for the `googSuspendBelowMinBitrate` constraint is about to be removed. Please stop using this legacy constraint.',
153
164
  /**
@@ -259,39 +270,71 @@ const
259
270
  requestedSubresourceWithEmbeddedCredentials:
260
271
  'Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked.',
261
272
  /**
262
- *@description TODO(crbug.com/1318872): Description needed for translation
263
- */
273
+ *@description A deprecation warning shown in the DevTools Issues tab.
274
+ * It's shown when a video conferencing website attempts to use a
275
+ * non-standard crypto method when performing a handshake to set up a
276
+ * connection with another endpoint.
277
+ */
264
278
  rtcConstraintEnableDtlsSrtpFalse:
265
- 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES` key negotiation method. This functionality is removed; use a service that supports DTLS key negotiation instead.',
279
+ 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES key negotiation` method. This functionality is removed; use a service that supports `DTLS key negotiation` instead.',
266
280
  /**
267
- *@description TODO(crbug.com/1318873): Description needed for translation
268
- */
281
+ *@description A deprecation warning shown in the DevTools Issues tab.
282
+ * It's shown when a video conferencing website uses a non-standard
283
+ * API for controlling the crypto method used, but is not having an
284
+ * effect because the desired behavior is already enabled-by-default.
285
+ */
269
286
  rtcConstraintEnableDtlsSrtpTrue:
270
287
  'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `true` value for this constraint, which had no effect, but you can remove this constraint for tidiness.',
271
288
  /**
272
- *@description TODO(crbug.com/1318874): Description needed for translation
273
- */
289
+ *@description A deprecation warning shown in the DevTools Issues tab.
290
+ * The `Session Description Protocol`, or `SDP` for short, is a
291
+ * protocol used by video conferencing websites to establish the
292
+ * number of audio and/or video streams to send and/or receive. This
293
+ * warning is emitted when a web site attempts to use a deprecated
294
+ * version of the protocol, called `Plan B`, that is no longer
295
+ * supported. The spec compliant version of the protocol is called
296
+ * `Unified Plan`.
297
+ */
274
298
  rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics:
275
- 'Complex Plan B SDP detected! Chrome will switch the default `sdpSemantics` from `plan-b` to the standardized `unified-plan` format and this peer connection is relying on the default `sdpSemantics`. This SDP is not compatible with Unified Plan and will be rejected by clients expecting Unified Plan. For more information about how to prepare for the switch, see https://webrtc.org/web-apis/chrome/unified-plan/.',
276
- /**
277
- *@description TODO(crbug.com/1318875): Description needed for translation
278
- */
299
+ '`Complex Plan B SDP` detected. This dialect of the `Session Description Protocol` is no longer supported. Please use `Unified Plan SDP` instead.',
300
+ /**
301
+ *@description A deprecation warning shown in the DevTools Issues tab.
302
+ * It's shown when a video conferencing website uses a non-standard
303
+ * version of an API to exchange an `offer` or an `answer`. `Offers`
304
+ * and `answers` are exchanged between endpoints in order to configure
305
+ * what media should be sent and/or received. The app should make use
306
+ * of the standard API instead, which will have the desired effect.
307
+ */
279
308
  rtcPeerConnectionLegacyCreateWithMediaConstraints:
280
309
  'The `mediaConstraints` version of `RTCOfferOptions/RTCAnswerOptions` are deprecated and will soon be removed, please migrate to the promise-based `createOffer`/`createAnswer` instead.',
281
310
  /**
282
- *@description TODO(crbug.com/1320358): Description needed for translation
283
- */
311
+ *@description A deprecation warning shown in the DevTools Issues tab.
312
+ * The `Session Description Protocol`, or `SDP` for short, is a
313
+ * protocol used by video conferencing websites to establish the
314
+ * number of audio and/or video streams to send and/or receive. This
315
+ * warning is emitted when a web site attempts to use a deprecated
316
+ * version of the protocol, called `Plan B`, that is no longer
317
+ * supported. The spec compliant version of the protocol is called
318
+ * `Unified Plan`.
319
+ */
284
320
  rtcPeerConnectionSdpSemanticsPlanB:
285
- 'Plan B SDP semantics, which is used when constructing an `RTCPeerConnection` with `{sdpSemantics:\'plan-b\'}`, is a legacy non-standard version of the Session Description Protocol that has been permanently deleted from the Web Platform. It is still available when building with IS_FUCHSIA, but we intend to delete it as soon as possible. Stop depending on it. See https://crbug.com/1302249 for status.',
321
+ '`Plan B SDP semantics`, which is used when constructing an `RTCPeerConnection` with `{sdpSemantics:\'plan-b\'}`, is a legacy non-standard version of the `Session Description Protocol` that has been permanently deleted from the Web Platform. It is still available when building with `IS_FUCHSIA`, but we intend to delete it as soon as possible. Stop depending on it. See https://crbug.com/1302249 for status.',
286
322
  /**
287
- *@description TODO(crbug.com/1320360): Description needed for translation
288
- */
323
+ *@description A deprecation warning shown in the DevTools Issues tab.
324
+ * It's shown then a video conferencing website attempts to use the
325
+ * `RTCP MUX` policy.
326
+ */
289
327
  rtcpMuxPolicyNegotiate: 'The `rtcpMuxPolicy` option is deprecated and will be removed.',
290
328
  /**
291
- *@description TODO(crbug.com/1318876): Description needed for translation
292
- */
329
+ *@description A deprecation warning shown in the DevTools Issues tab.
330
+ * It's shown when a video conferencing website attempts to turn on or
331
+ * off a feature that has been removed, `RTP data channels`.
332
+ * `RTP data channels` are used to send and receive arbitrary data,
333
+ * but have been removed in favor of standardized versions of
334
+ * `data channels`: `SCTP data channels`.
335
+ */
293
336
  rtpDataChannel:
294
- 'RTP data channels are no longer supported. The `RtpDataChannels` constraint is currently ignored, and may cause an error at a later date.',
337
+ '`RTP data channels` are no longer supported. The `RtpDataChannels` constraint is currently ignored, and may cause an error at a later date.',
295
338
  /**
296
339
  *@description TODO(crbug.com/1320361): Description needed for translation
297
340
  */
@@ -311,7 +311,7 @@ export class BackForwardCacheView extends HTMLElement {
311
311
  }
312
312
 
313
313
  #maybeRenderFrameTree(explanationTree: Protocol.Page.BackForwardCacheNotRestoredExplanationTree|
314
- undefined): LitHtml.TemplateResult|{} {
314
+ undefined): LitHtml.LitTemplate {
315
315
  if (!explanationTree || (explanationTree.explanations.length === 0 && explanationTree.children.length === 0) ||
316
316
  !Root.Runtime.experiments.isEnabled('bfcacheDisplayTree')) {
317
317
  return LitHtml.nothing;
@@ -456,7 +456,7 @@ export class BackForwardCacheView extends HTMLElement {
456
456
 
457
457
  #maybeRenderExplanations(
458
458
  explanations: Protocol.Page.BackForwardCacheNotRestoredExplanation[],
459
- explanationTree: Protocol.Page.BackForwardCacheNotRestoredExplanationTree|undefined): LitHtml.TemplateResult|{} {
459
+ explanationTree: Protocol.Page.BackForwardCacheNotRestoredExplanationTree|undefined): LitHtml.LitTemplate {
460
460
  if (explanations.length === 0) {
461
461
  return LitHtml.nothing;
462
462
  }
@@ -508,8 +508,7 @@ export class BackForwardCacheView extends HTMLElement {
508
508
  // clang-format on
509
509
  }
510
510
 
511
- #maybeRenderReasonContext(explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation): LitHtml.TemplateResult|
512
- {} {
511
+ #maybeRenderReasonContext(explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation): LitHtml.LitTemplate {
513
512
  if (explanation.reason ===
514
513
  Protocol.Page.BackForwardCacheNotRestoredReason.EmbedderExtensionSentMessageToCachedFrame &&
515
514
  explanation.context) {
@@ -522,7 +521,7 @@ export class BackForwardCacheView extends HTMLElement {
522
521
  return LitHtml.nothing;
523
522
  }
524
523
 
525
- #renderFramesPerReason(frames: string[]|undefined): LitHtml.TemplateResult|{} {
524
+ #renderFramesPerReason(frames: string[]|undefined): LitHtml.LitTemplate {
526
525
  if (frames === undefined || frames.length === 0 || !Root.Runtime.experiments.isEnabled('bfcacheDisplayTree')) {
527
526
  return LitHtml.nothing;
528
527
  }
@@ -318,7 +318,7 @@ export class FrameDetailsReportView extends HTMLElement {
318
318
  });
319
319
  }
320
320
 
321
- #renderOriginTrial(): LitHtml.TemplateResult|{} {
321
+ #renderOriginTrial(): LitHtml.LitTemplate {
322
322
  if (!this.#frame) {
323
323
  return LitHtml.nothing;
324
324
  }
@@ -354,7 +354,7 @@ export class FrameDetailsReportView extends HTMLElement {
354
354
  `;
355
355
  }
356
356
 
357
- #renderDocumentSection(): LitHtml.TemplateResult|{} {
357
+ #renderDocumentSection(): LitHtml.LitTemplate {
358
358
  if (!this.#frame) {
359
359
  return LitHtml.nothing;
360
360
  }
@@ -381,7 +381,7 @@ export class FrameDetailsReportView extends HTMLElement {
381
381
  `;
382
382
  }
383
383
 
384
- #maybeRenderSourcesLinkForURL(): LitHtml.TemplateResult|{} {
384
+ #maybeRenderSourcesLinkForURL(): LitHtml.LitTemplate {
385
385
  if (!this.#frame || this.#frame.unreachableUrl()) {
386
386
  return LitHtml.nothing;
387
387
  }
@@ -393,7 +393,7 @@ export class FrameDetailsReportView extends HTMLElement {
393
393
  );
394
394
  }
395
395
 
396
- #maybeRenderNetworkLinkForURL(): LitHtml.TemplateResult|{} {
396
+ #maybeRenderNetworkLinkForURL(): LitHtml.LitTemplate {
397
397
  if (this.#frame) {
398
398
  const resource = this.#frame.resourceForURL(this.#frame.url);
399
399
  if (resource && resource.request) {
@@ -422,7 +422,7 @@ export class FrameDetailsReportView extends HTMLElement {
422
422
  return null;
423
423
  }
424
424
 
425
- #maybeRenderUnreachableURL(): LitHtml.TemplateResult|{} {
425
+ #maybeRenderUnreachableURL(): LitHtml.LitTemplate {
426
426
  if (!this.#frame || !this.#frame.unreachableUrl()) {
427
427
  return LitHtml.nothing;
428
428
  }
@@ -438,7 +438,7 @@ export class FrameDetailsReportView extends HTMLElement {
438
438
  `;
439
439
  }
440
440
 
441
- #renderNetworkLinkForUnreachableURL(): LitHtml.TemplateResult|{} {
441
+ #renderNetworkLinkForUnreachableURL(): LitHtml.LitTemplate {
442
442
  if (this.#frame) {
443
443
  const unreachableUrl = Common.ParsedURL.ParsedURL.fromString(this.#frame.unreachableUrl());
444
444
  if (unreachableUrl) {
@@ -464,7 +464,7 @@ export class FrameDetailsReportView extends HTMLElement {
464
464
  return LitHtml.nothing;
465
465
  }
466
466
 
467
- #maybeRenderOrigin(): LitHtml.TemplateResult|{} {
467
+ #maybeRenderOrigin(): LitHtml.LitTemplate {
468
468
  if (this.#frame && this.#frame.securityOrigin && this.#frame.securityOrigin !== '://') {
469
469
  return LitHtml.html`
470
470
  <${ReportView.ReportView.ReportKey.litTagName}>${i18nString(UIStrings.origin)}</${
@@ -477,7 +477,7 @@ export class FrameDetailsReportView extends HTMLElement {
477
477
  return LitHtml.nothing;
478
478
  }
479
479
 
480
- async #renderOwnerElement(): Promise<LitHtml.TemplateResult|{}> {
480
+ async #renderOwnerElement(): Promise<LitHtml.LitTemplate> {
481
481
  if (this.#frame) {
482
482
  const linkTargetDOMNode = await this.#frame.getOwnerDOMNodeOrDocument();
483
483
  if (linkTargetDOMNode) {
@@ -507,7 +507,7 @@ export class FrameDetailsReportView extends HTMLElement {
507
507
  return LitHtml.nothing;
508
508
  }
509
509
 
510
- #maybeRenderCreationStacktrace(): LitHtml.TemplateResult|{} {
510
+ #maybeRenderCreationStacktrace(): LitHtml.LitTemplate {
511
511
  const creationStackTraceData = this.#frame?.getCreationStackTraceData();
512
512
  if (creationStackTraceData && creationStackTraceData.creationStackTrace) {
513
513
  // Disabled until https://crbug.com/1079231 is fixed.
@@ -549,7 +549,7 @@ export class FrameDetailsReportView extends HTMLElement {
549
549
  }
550
550
  }
551
551
 
552
- #maybeRenderAdStatus(): LitHtml.TemplateResult|{} {
552
+ #maybeRenderAdStatus(): LitHtml.LitTemplate {
553
553
  if (!this.#frame) {
554
554
  return LitHtml.nothing;
555
555
  }
@@ -572,7 +572,7 @@ export class FrameDetailsReportView extends HTMLElement {
572
572
  `;
573
573
  }
574
574
 
575
- #renderIsolationSection(): LitHtml.TemplateResult|{} {
575
+ #renderIsolationSection(): LitHtml.LitTemplate {
576
576
  if (!this.#frame) {
577
577
  return LitHtml.nothing;
578
578
  }
@@ -596,7 +596,7 @@ export class FrameDetailsReportView extends HTMLElement {
596
596
  `;
597
597
  }
598
598
 
599
- #maybeRenderSecureContextExplanation(): LitHtml.TemplateResult|{} {
599
+ #maybeRenderSecureContextExplanation(): LitHtml.LitTemplate {
600
600
  const explanation = this.#getSecureContextExplanation();
601
601
  if (explanation) {
602
602
  return LitHtml.html`<span class="inline-comment">${explanation}</span>`;
@@ -618,7 +618,7 @@ export class FrameDetailsReportView extends HTMLElement {
618
618
  return null;
619
619
  }
620
620
 
621
- async #maybeRenderCoopCoepStatus(): Promise<LitHtml.TemplateResult|{}> {
621
+ async #maybeRenderCoopCoepStatus(): Promise<LitHtml.LitTemplate> {
622
622
  if (this.#frame) {
623
623
  const model = this.#frame.resourceTreeModel().target().model(SDK.NetworkManager.NetworkManager);
624
624
  const info = model && await model.getSecurityIsolationStatus(this.#frame.id);
@@ -642,7 +642,7 @@ export class FrameDetailsReportView extends HTMLElement {
642
642
  info: Protocol.Network.CrossOriginEmbedderPolicyStatus|Protocol.Network.CrossOriginOpenerPolicyStatus|undefined,
643
643
  policyName: string,
644
644
  noneValue: Protocol.Network.CrossOriginEmbedderPolicyValue|
645
- Protocol.Network.CrossOriginOpenerPolicyValue): LitHtml.TemplateResult|{} {
645
+ Protocol.Network.CrossOriginOpenerPolicyValue): LitHtml.LitTemplate {
646
646
  if (!info) {
647
647
  return LitHtml.nothing;
648
648
  }
@@ -661,7 +661,7 @@ export class FrameDetailsReportView extends HTMLElement {
661
661
  `;
662
662
  }
663
663
 
664
- #renderApiAvailabilitySection(): LitHtml.TemplateResult|{} {
664
+ #renderApiAvailabilitySection(): LitHtml.LitTemplate {
665
665
  if (!this.#frame) {
666
666
  return LitHtml.nothing;
667
667
  }
@@ -680,7 +680,7 @@ export class FrameDetailsReportView extends HTMLElement {
680
680
  `;
681
681
  }
682
682
 
683
- #renderSharedArrayBufferAvailability(): LitHtml.TemplateResult|{} {
683
+ #renderSharedArrayBufferAvailability(): LitHtml.LitTemplate {
684
684
  if (this.#frame) {
685
685
  const features = this.#frame.getGatedAPIFeatures();
686
686
  if (features) {
@@ -694,7 +694,7 @@ export class FrameDetailsReportView extends HTMLElement {
694
694
  i18nString(UIStrings.sharedarraybufferConstructorIs) :
695
695
  (sabAvailable ? i18nString(UIStrings.sharedarraybufferConstructorIsAvailable) : '');
696
696
 
697
- function renderHint(frame: SDK.ResourceTreeModel.ResourceTreeFrame): LitHtml.TemplateResult|{} {
697
+ function renderHint(frame: SDK.ResourceTreeModel.ResourceTreeFrame): LitHtml.LitTemplate {
698
698
  switch (frame.getCrossOriginIsolatedContextType()) {
699
699
  case Protocol.Page.CrossOriginIsolatedContextType.Isolated:
700
700
  return LitHtml.nothing;
@@ -730,7 +730,7 @@ export class FrameDetailsReportView extends HTMLElement {
730
730
  return LitHtml.nothing;
731
731
  }
732
732
 
733
- #renderMeasureMemoryAvailability(): LitHtml.TemplateResult|{} {
733
+ #renderMeasureMemoryAvailability(): LitHtml.LitTemplate {
734
734
  if (this.#frame) {
735
735
  const measureMemoryAvailable = this.#frame.isCrossOriginIsolated();
736
736
  const availabilityText =
@@ -750,7 +750,7 @@ export class FrameDetailsReportView extends HTMLElement {
750
750
  return LitHtml.nothing;
751
751
  }
752
752
 
753
- #renderAdditionalInfoSection(): LitHtml.TemplateResult|{} {
753
+ #renderAdditionalInfoSection(): LitHtml.LitTemplate {
754
754
  if (!this.#frame) {
755
755
  return LitHtml.nothing;
756
756
  }
@@ -105,7 +105,7 @@ export class PermissionsPolicySection extends HTMLElement {
105
105
  void this.#render();
106
106
  }
107
107
 
108
- #renderAllowed(): LitHtml.TemplateResult|{} {
108
+ #renderAllowed(): LitHtml.LitTemplate {
109
109
  const allowed = this.#permissionsPolicySectionData.policies.filter(p => p.allowed).map(p => p.feature).sort();
110
110
  if (!allowed.length) {
111
111
  return LitHtml.nothing;
@@ -119,7 +119,7 @@ export class PermissionsPolicySection extends HTMLElement {
119
119
  `;
120
120
  }
121
121
 
122
- async #renderDisallowed(): Promise<LitHtml.TemplateResult|{}> {
122
+ async #renderDisallowed(): Promise<LitHtml.LitTemplate> {
123
123
  const disallowed = this.#permissionsPolicySectionData.policies.filter(p => !p.allowed)
124
124
  .sort((a, b) => a.feature.localeCompare(b.feature));
125
125
  if (!disallowed.length) {
@@ -1074,7 +1074,7 @@ export class ElementNode extends DataGrid.SortableDataGrid.SortableDataGridNode<
1074
1074
  button.classList.add('show-element');
1075
1075
  UI.Tooltip.Tooltip.install(button, i18nString(UIStrings.showElement));
1076
1076
  button.tabIndex = 0;
1077
- button.onclick = (): void => this.data.node.scrollIntoView();
1077
+ button.onclick = (): Promise<void> => frontendNode.scrollIntoView();
1078
1078
  cell.appendChild(button);
1079
1079
  });
1080
1080
  return cell;
@@ -336,6 +336,10 @@
336
336
  height: 20px;
337
337
  }
338
338
 
339
+ .nodeId-column .monospace {
340
+ overflow: hidden;
341
+ }
342
+
339
343
  .show-element {
340
344
  margin: 0 0 0 8px;
341
345
  padding: 0;
@@ -104,7 +104,7 @@ export class QueryContainer extends HTMLElement {
104
104
  // clang-format on
105
105
  }
106
106
 
107
- #renderQueriedSizeDetails(): LitHtml.TemplateResult|{} {
107
+ #renderQueriedSizeDetails(): LitHtml.LitTemplate {
108
108
  if (!this.#queriedSizeDetails || this.#queriedSizeDetails.queryAxis === QueryAxis.None) {
109
109
  return LitHtml.nothing;
110
110
  }
@@ -150,7 +150,7 @@ export class RequestTrustTokensReport extends HTMLElement {
150
150
  // clang-format on
151
151
  }
152
152
 
153
- #renderParameterSection(): LitHtml.TemplateResult|{} {
153
+ #renderParameterSection(): LitHtml.LitTemplate {
154
154
  if (!this.#trustTokenData || !this.#trustTokenData.params) {
155
155
  return LitHtml.nothing;
156
156
  }
@@ -167,14 +167,14 @@ export class RequestTrustTokensReport extends HTMLElement {
167
167
  `;
168
168
  }
169
169
 
170
- #renderRefreshPolicy(params: Protocol.Network.TrustTokenParams): LitHtml.TemplateResult|{} {
170
+ #renderRefreshPolicy(params: Protocol.Network.TrustTokenParams): LitHtml.LitTemplate {
171
171
  if (params.type !== Protocol.Network.TrustTokenOperationType.Redemption) {
172
172
  return LitHtml.nothing;
173
173
  }
174
174
  return renderRowWithCodeValue(i18nString(UIStrings.refreshPolicy), params.refreshPolicy.toString());
175
175
  }
176
176
 
177
- #renderIssuers(params: Protocol.Network.TrustTokenParams): LitHtml.TemplateResult|{} {
177
+ #renderIssuers(params: Protocol.Network.TrustTokenParams): LitHtml.LitTemplate {
178
178
  if (!params.issuers || params.issuers.length === 0) {
179
179
  return LitHtml.nothing;
180
180
  }
@@ -193,7 +193,7 @@ export class RequestTrustTokensReport extends HTMLElement {
193
193
  // The issuer and top level origin are technically parameters but reported in the
194
194
  // result structure due to the timing when they are calculated in the backend.
195
195
  // Nonetheless, we show them as part of the parameter section.
196
- #renderIssuerAndTopLevelOriginFromResult(): LitHtml.TemplateResult|{} {
196
+ #renderIssuerAndTopLevelOriginFromResult(): LitHtml.LitTemplate {
197
197
  if (!this.#trustTokenData || !this.#trustTokenData.result) {
198
198
  return LitHtml.nothing;
199
199
  }
@@ -203,7 +203,7 @@ export class RequestTrustTokensReport extends HTMLElement {
203
203
  ${renderSimpleRowIfValuePresent(i18nString(UIStrings.issuer), this.#trustTokenData.result.issuerOrigin)}`;
204
204
  }
205
205
 
206
- #renderResultSection(): LitHtml.TemplateResult|{} {
206
+ #renderResultSection(): LitHtml.LitTemplate {
207
207
  if (!this.#trustTokenData || !this.#trustTokenData.result) {
208
208
  return LitHtml.nothing;
209
209
  }
@@ -227,7 +227,7 @@ export class RequestTrustTokensReport extends HTMLElement {
227
227
  `;
228
228
  }
229
229
 
230
- #renderIssuedTokenCount(result: Protocol.Network.TrustTokenOperationDoneEvent): LitHtml.TemplateResult|{} {
230
+ #renderIssuedTokenCount(result: Protocol.Network.TrustTokenOperationDoneEvent): LitHtml.LitTemplate {
231
231
  if (result.type !== Protocol.Network.TrustTokenOperationType.Issuance) {
232
232
  return LitHtml.nothing;
233
233
  }
@@ -284,7 +284,7 @@ function getDetailedTextForStatusCode(status: Protocol.Network.TrustTokenOperati
284
284
  }
285
285
  }
286
286
 
287
- function renderSimpleRowIfValuePresent<T>(key: string, value: T|undefined): LitHtml.TemplateResult|{} {
287
+ function renderSimpleRowIfValuePresent<T>(key: string, value: T|undefined): LitHtml.LitTemplate {
288
288
  if (value === undefined) {
289
289
  return LitHtml.nothing;
290
290
  }
@@ -8,7 +8,7 @@
8
8
 
9
9
  <img src="https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" height="200" align="right">
10
10
 
11
- ###### [API](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md) | [FAQ](#faq) | [Contributing](https://github.com/puppeteer/puppeteer/blob/main/CONTRIBUTING.md) | [Troubleshooting](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md)
11
+ ###### [API](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md) | [FAQ](#faq) | [Contributing](https://github.com/puppeteer/puppeteer/blob/main/CONTRIBUTING.md) | [Troubleshooting](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md)
12
12
 
13
13
  > Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the [DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/). Puppeteer runs [headless](https://developers.google.com/web/updates/2017/04/headless-chrome) by default, but can be configured to run full (non-headless) Chrome or Chromium.
14
14
 
@@ -39,7 +39,7 @@ npm i puppeteer
39
39
  # or "yarn add puppeteer"
40
40
  ```
41
41
 
42
- Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. To skip the download, download into another path, or download a different browser, see [Environment variables](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#environment-variables).
42
+ Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. To skip the download, download into another path, or download a different browser, see [Environment variables](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#environment-variables).
43
43
 
44
44
  ### puppeteer-core
45
45
 
@@ -63,7 +63,7 @@ Note: Prior to v1.18.1, Puppeteer required at least Node v6.4.0. Versions from v
63
63
  Node 8.9.0+. Starting from v3.0.0 Puppeteer starts to rely on Node 10.18.1+. All examples below use async/await which is only supported in Node v7.6.0 or greater.
64
64
 
65
65
  Puppeteer will be familiar to people using other browser testing frameworks. You create an instance
66
- of `Browser`, open pages, and then manipulate them with [Puppeteer's API](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#).
66
+ of `Browser`, open pages, and then manipulate them with [Puppeteer's API](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#).
67
67
 
68
68
  **Example** - navigating to https://example.com and saving a screenshot as _example.png_:
69
69
 
@@ -88,7 +88,7 @@ Execute script on the command line
88
88
  node example.js
89
89
  ```
90
90
 
91
- Puppeteer sets an initial page size to 800×600px, which defines the screenshot size. The page size can be customized with [`Page.setViewport()`](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#pagesetviewportviewport).
91
+ Puppeteer sets an initial page size to 800×600px, which defines the screenshot size. The page size can be customized with [`Page.setViewport()`](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#pagesetviewportviewport).
92
92
 
93
93
  **Example** - create a PDF.
94
94
 
@@ -115,7 +115,7 @@ Execute script on the command line
115
115
  node hn.js
116
116
  ```
117
117
 
118
- See [`Page.pdf()`](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#pagepdfoptions) for more information about creating pdfs.
118
+ See [`Page.pdf()`](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#pagepdfoptions) for more information about creating pdfs.
119
119
 
120
120
  **Example** - evaluate script in the context of the page
121
121
 
@@ -150,7 +150,7 @@ Execute script on the command line
150
150
  node get-dimensions.js
151
151
  ```
152
152
 
153
- See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#pageevaluatepagefunction-args) for more information on `evaluate` and related methods like `evaluateOnNewDocument` and `exposeFunction`.
153
+ See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#pageevaluatepagefunction-args) for more information on `evaluate` and related methods like `evaluateOnNewDocument` and `exposeFunction`.
154
154
 
155
155
  <!-- [END getstarted] -->
156
156
 
@@ -160,7 +160,7 @@ See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs
160
160
 
161
161
  **1. Uses Headless mode**
162
162
 
163
- Puppeteer launches Chromium in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). To launch a full version of Chromium, set the [`headless` option](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#puppeteerlaunchoptions) when launching a browser:
163
+ Puppeteer launches Chromium in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). To launch a full version of Chromium, set the [`headless` option](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#puppeteerlaunchoptions) when launching a browser:
164
164
 
165
165
  ```js
166
166
  const browser = await puppeteer.launch({ headless: false }); // default is true
@@ -176,7 +176,7 @@ pass in the executable's path when creating a `Browser` instance:
176
176
  const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome' });
177
177
  ```
178
178
 
179
- You can also use Puppeteer with Firefox Nightly (experimental support). See [`Puppeteer.launch()`](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#puppeteerlaunchoptions) for more information.
179
+ You can also use Puppeteer with Firefox Nightly (experimental support). See [`Puppeteer.launch()`](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#puppeteerlaunchoptions) for more information.
180
180
 
181
181
  See [`this article`](https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/) for a description of the differences between Chromium and Chrome. [`This article`](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/chromium_browser_vs_google_chrome.md) describes some differences for Linux users.
182
182
 
@@ -188,7 +188,7 @@ Puppeteer creates its own browser user profile which it **cleans up on every run
188
188
 
189
189
  ## Resources
190
190
 
191
- - [API Documentation](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md)
191
+ - [API Documentation](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md)
192
192
  - [Examples](https://github.com/puppeteer/puppeteer/tree/main/examples/)
193
193
  - [Community list of Puppeteer resources](https://github.com/transitive-bullshit/awesome-puppeteer)
194
194
 
@@ -330,7 +330,7 @@ See [Contributing](https://github.com/puppeteer/puppeteer/blob/main/CONTRIBUTING
330
330
 
331
331
  Official Firefox support is currently experimental. The ongoing collaboration with Mozilla aims to support common end-to-end testing use cases, for which developers expect cross-browser coverage. The Puppeteer team needs input from users to stabilize Firefox support and to bring missing APIs to our attention.
332
332
 
333
- From Puppeteer v2.1.0 onwards you can specify [`puppeteer.launch({product: 'firefox'})`](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#puppeteerlaunchoptions) to run your Puppeteer scripts in Firefox Nightly, without any additional custom patches. While [an older experiment](https://www.npmjs.com/package/puppeteer-firefox) required a patched version of Firefox, [the current approach](https://wiki.mozilla.org/Remote) works with “stock” Firefox.
333
+ From Puppeteer v2.1.0 onwards you can specify [`puppeteer.launch({product: 'firefox'})`](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#puppeteerlaunchoptions) to run your Puppeteer scripts in Firefox Nightly, without any additional custom patches. While [an older experiment](https://www.npmjs.com/package/puppeteer-firefox) required a patched version of Firefox, [the current approach](https://wiki.mozilla.org/Remote) works with “stock” Firefox.
334
334
 
335
335
  We will continue to collaborate with other browser vendors to bring Puppeteer support to browsers such as Safari.
336
336
  This effort includes exploration of a standard for executing cross-browser commands (instead of relying on the non-standard DevTools Protocol used by Chrome).
@@ -433,7 +433,7 @@ await page.evaluate(() => {
433
433
 
434
434
  You may find that Puppeteer does not behave as expected when controlling pages that incorporate audio and video. (For example, [video playback/screenshots is likely to fail](https://github.com/puppeteer/puppeteer/issues/291).) There are two reasons for this:
435
435
 
436
- - Puppeteer is bundled with Chromium — not Chrome — and so by default, it inherits all of [Chromium's media-related limitations](https://www.chromium.org/audio-video). This means that Puppeteer does not support licensed formats such as AAC or H.264. (However, it is possible to force Puppeteer to use a separately-installed version Chrome instead of Chromium via the [`executablePath` option to `puppeteer.launch`](https://github.com/puppeteer/puppeteer/blob/v13.7.0/docs/api.md#puppeteerlaunchoptions). You should only use this configuration if you need an official release of Chrome that supports these media formats.)
436
+ - Puppeteer is bundled with Chromium — not Chrome — and so by default, it inherits all of [Chromium's media-related limitations](https://www.chromium.org/audio-video). This means that Puppeteer does not support licensed formats such as AAC or H.264. (However, it is possible to force Puppeteer to use a separately-installed version Chrome instead of Chromium via the [`executablePath` option to `puppeteer.launch`](https://github.com/puppeteer/puppeteer/blob/v14.0.0/docs/api.md#puppeteerlaunchoptions). You should only use this configuration if you need an official release of Chrome that supports these media formats.)
437
437
  - Since Puppeteer (in all configurations) controls a desktop version of Chromium/Chrome, features that are only supported by the mobile version of Chrome are not supported. This means that Puppeteer [does not support HTTP Live Streaming (HLS)](https://caniuse.com/#feat=http-live-streaming).
438
438
 
439
439
  #### Q: I am having trouble installing / running Puppeteer in my test environment. Where should I look for help?
@@ -1 +1 @@
1
- {"version":3,"file":"Debug.d.ts","sourceRoot":"","sources":["../../../../src/common/Debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,KAAK,WAAY,MAAM,eAAc,OAAO,EAAE,KAAK,IA4B/D,CAAC"}
1
+ {"version":3,"file":"Debug.d.ts","sourceRoot":"","sources":["../../../../src/common/Debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,KAAK,WAAY,MAAM,eAAc,OAAO,EAAE,KAAK,IA6B/D,CAAC"}
@@ -14,6 +14,29 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
17
40
  Object.defineProperty(exports, "__esModule", { value: true });
18
41
  exports.debug = void 0;
19
42
  const environment_js_1 = require("../environment.js");
@@ -55,8 +78,9 @@ const environment_js_1 = require("../environment.js");
55
78
  */
56
79
  const debug = (prefix) => {
57
80
  if (environment_js_1.isNode) {
58
- // eslint-disable-next-line @typescript-eslint/no-var-requires
59
- return require('debug')(prefix);
81
+ return async (...logArgs) => {
82
+ (await Promise.resolve().then(() => __importStar(require('debug')))).default(prefix)(logArgs);
83
+ };
60
84
  }
61
85
  return (...logArgs) => {
62
86
  const debugLevel = globalThis.__PUPPETEER_DEBUG;
@@ -1 +1 @@
1
- {"version":3,"file":"Debug.js","sourceRoot":"","sources":["../../../../src/common/Debug.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,sDAA2C;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACI,MAAM,KAAK,GAAG,CAAC,MAAc,EAAkC,EAAE;IACtE,IAAI,uBAAM,EAAE;QACV,8DAA8D;QAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;KACjC;IAED,OAAO,CAAC,GAAG,OAAkB,EAAQ,EAAE;QACrC,MAAM,UAAU,GAAG,UAAU,CAAC,iBAA2B,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,wBAAwB,GAAG,UAAU,KAAK,GAAG,CAAC;QAEpD,MAAM,uBAAuB,GAC3B,wBAAwB;YACxB;;;;eAIG;YACH,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAE7B,IAAI,CAAC,uBAAuB;YAAE,OAAO;QAErC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,KAAK,SA4BhB"}
1
+ {"version":3,"file":"Debug.js","sourceRoot":"","sources":["../../../../src/common/Debug.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAA2C;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACI,MAAM,KAAK,GAAG,CAAC,MAAc,EAAkC,EAAE;IACtE,IAAI,uBAAM,EAAE;QACV,OAAO,KAAK,EAAE,GAAG,OAAkB,EAAE,EAAE;YACrC,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;KACH;IAED,OAAO,CAAC,GAAG,OAAkB,EAAQ,EAAE;QACrC,MAAM,UAAU,GAAG,UAAU,CAAC,iBAA2B,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,wBAAwB,GAAG,UAAU,KAAK,GAAG,CAAC;QAEpD,MAAM,uBAAuB,GAC3B,wBAAwB;YACxB;;;;eAIG;YACH,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAE7B,IAAI,CAAC,uBAAuB;YAAE,OAAO;QAErC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,KAAK,SA6BhB"}