chrome-devtools-frontend 1.0.1000679 → 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.
- package/config/gni/devtools_grd_files.gni +3 -0
- package/front_end/.eslintrc.js +1 -0
- package/front_end/models/issues_manager/DeprecationIssue.ts +70 -27
- package/front_end/panels/application/components/BackForwardCacheView.ts +4 -5
- package/front_end/panels/application/components/FrameDetailsView.ts +19 -19
- package/front_end/panels/application/components/PermissionsPolicySection.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
- package/front_end/panels/css_overview/cssOverviewCompletedView.css +4 -0
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/network/components/RequestTrustTokensView.ts +7 -7
- package/front_end/third_party/puppeteer/package/README.md +11 -11
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +26 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +19 -11
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js +6 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.js +18 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.js +2 -15
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +23 -15
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +17 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js +1 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/package.json +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +19 -11
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +6 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js +17 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +2 -15
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +21 -13
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +17 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +1 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +6 -6
- package/front_end/third_party/puppeteer/package/package.json +33 -18
- package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +4 -1
- package/front_end/ui/components/data_grid/DataGrid.ts +1 -1
- package/front_end/ui/components/data_grid/DataGridUtils.ts +1 -1
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +1 -1
- package/front_end/ui/lit-html/lit-html.ts +3 -0
- package/package.json +1 -1
- package/scripts/eslint_rules/lib/lit_template_result_or_nothing.js +4 -0
- 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",
|
package/front_end/.eslintrc.js
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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
|
276
|
-
/**
|
277
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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 =>
|
1077
|
+
button.onclick = (): Promise<void> => frontendNode.scrollIntoView();
|
1078
1078
|
cell.appendChild(button);
|
1079
1079
|
});
|
1080
1080
|
return cell;
|
@@ -104,7 +104,7 @@ export class QueryContainer extends HTMLElement {
|
|
104
104
|
// clang-format on
|
105
105
|
}
|
106
106
|
|
107
|
-
#renderQueriedSizeDetails(): LitHtml.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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,
|
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
|
-
|
59
|
-
|
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
|
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"}
|