chrome-devtools-frontend 1.0.1006211 → 1.0.1007307
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 +2 -0
- package/config/gni/devtools_image_files.gni +2 -0
- package/front_end/Images/src/ic_sources_authored.svg +5 -0
- package/front_end/Images/src/ic_sources_deployed.svg +5 -0
- package/front_end/core/i18n/locales/af.json +202 -43
- package/front_end/core/i18n/locales/am.json +201 -42
- package/front_end/core/i18n/locales/ar.json +201 -42
- package/front_end/core/i18n/locales/as.json +201 -42
- package/front_end/core/i18n/locales/az.json +201 -42
- package/front_end/core/i18n/locales/be.json +201 -42
- package/front_end/core/i18n/locales/bg.json +201 -42
- package/front_end/core/i18n/locales/bn.json +201 -42
- package/front_end/core/i18n/locales/bs.json +201 -42
- package/front_end/core/i18n/locales/ca.json +204 -45
- package/front_end/core/i18n/locales/cs.json +201 -42
- package/front_end/core/i18n/locales/cy.json +201 -42
- package/front_end/core/i18n/locales/da.json +201 -42
- package/front_end/core/i18n/locales/de.json +201 -42
- package/front_end/core/i18n/locales/el.json +201 -42
- package/front_end/core/i18n/locales/en-GB.json +199 -40
- package/front_end/core/i18n/locales/en-US.json +43 -1
- package/front_end/core/i18n/locales/en-XL.json +43 -1
- package/front_end/core/i18n/locales/es-419.json +201 -42
- package/front_end/core/i18n/locales/es.json +201 -42
- package/front_end/core/i18n/locales/et.json +201 -42
- package/front_end/core/i18n/locales/eu.json +202 -43
- package/front_end/core/i18n/locales/fa.json +201 -42
- package/front_end/core/i18n/locales/fi.json +201 -42
- package/front_end/core/i18n/locales/fil.json +201 -42
- package/front_end/core/i18n/locales/fr-CA.json +201 -42
- package/front_end/core/i18n/locales/fr.json +203 -44
- package/front_end/core/i18n/locales/gl.json +203 -44
- package/front_end/core/i18n/locales/gu.json +201 -42
- package/front_end/core/i18n/locales/he.json +201 -42
- package/front_end/core/i18n/locales/hi.json +201 -42
- package/front_end/core/i18n/locales/hr.json +201 -42
- package/front_end/core/i18n/locales/hu.json +201 -42
- package/front_end/core/i18n/locales/hy.json +201 -42
- package/front_end/core/i18n/locales/id.json +201 -42
- package/front_end/core/i18n/locales/is.json +201 -42
- package/front_end/core/i18n/locales/it.json +203 -44
- package/front_end/core/i18n/locales/ja.json +203 -44
- package/front_end/core/i18n/locales/ka.json +201 -42
- package/front_end/core/i18n/locales/kk.json +201 -42
- package/front_end/core/i18n/locales/km.json +201 -42
- package/front_end/core/i18n/locales/kn.json +201 -42
- package/front_end/core/i18n/locales/ko.json +201 -42
- package/front_end/core/i18n/locales/ky.json +201 -42
- package/front_end/core/i18n/locales/lo.json +201 -42
- package/front_end/core/i18n/locales/lt.json +201 -42
- package/front_end/core/i18n/locales/lv.json +201 -42
- package/front_end/core/i18n/locales/mk.json +201 -42
- package/front_end/core/i18n/locales/ml.json +201 -42
- package/front_end/core/i18n/locales/mn.json +201 -42
- package/front_end/core/i18n/locales/mr.json +201 -42
- package/front_end/core/i18n/locales/ms.json +201 -42
- package/front_end/core/i18n/locales/my.json +201 -42
- package/front_end/core/i18n/locales/ne.json +201 -42
- package/front_end/core/i18n/locales/nl.json +201 -42
- package/front_end/core/i18n/locales/no.json +201 -42
- package/front_end/core/i18n/locales/or.json +201 -42
- package/front_end/core/i18n/locales/pa.json +201 -42
- package/front_end/core/i18n/locales/pl.json +201 -42
- package/front_end/core/i18n/locales/pt-PT.json +201 -42
- package/front_end/core/i18n/locales/pt.json +201 -42
- package/front_end/core/i18n/locales/ro.json +201 -42
- package/front_end/core/i18n/locales/ru.json +203 -44
- package/front_end/core/i18n/locales/si.json +201 -42
- package/front_end/core/i18n/locales/sk.json +201 -42
- package/front_end/core/i18n/locales/sl.json +201 -42
- package/front_end/core/i18n/locales/sq.json +201 -42
- package/front_end/core/i18n/locales/sr-Latn.json +201 -42
- package/front_end/core/i18n/locales/sr.json +201 -42
- package/front_end/core/i18n/locales/sv.json +201 -42
- package/front_end/core/i18n/locales/sw.json +201 -42
- package/front_end/core/i18n/locales/ta.json +201 -42
- package/front_end/core/i18n/locales/te.json +202 -43
- package/front_end/core/i18n/locales/th.json +201 -42
- package/front_end/core/i18n/locales/tr.json +201 -42
- package/front_end/core/i18n/locales/uk.json +201 -42
- package/front_end/core/i18n/locales/ur.json +201 -42
- package/front_end/core/i18n/locales/uz.json +201 -42
- package/front_end/core/i18n/locales/vi.json +201 -42
- package/front_end/core/i18n/locales/zh-HK.json +201 -42
- package/front_end/core/i18n/locales/zh-TW.json +201 -42
- package/front_end/core/i18n/locales/zh.json +201 -42
- package/front_end/core/i18n/locales/zu.json +201 -42
- package/front_end/core/sdk/CPUThrottlingManager.ts +54 -0
- package/front_end/core/sdk/DebuggerModel.ts +12 -3
- package/front_end/core/sdk/EmulationModel.ts +7 -0
- package/front_end/core/sdk/NetworkManager.ts +6 -2
- package/front_end/devtools_compatibility.js +1 -0
- package/front_end/entrypoints/formatter_worker/FormatterActions.ts +1 -0
- package/front_end/entrypoints/formatter_worker/ScopeParser.ts +12 -10
- package/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.ts +4 -0
- package/front_end/generated/InspectorBackendCommands.js +3 -0
- package/front_end/generated/protocol-mapping.d.ts +2 -0
- package/front_end/generated/protocol-proxy-api.d.ts +3 -0
- package/front_end/generated/protocol.ts +7 -0
- package/front_end/models/formatter/FormatterWorkerPool.ts +6 -0
- package/front_end/models/issues_manager/DeprecationIssue.ts +1 -1
- package/front_end/models/javascript_metadata/JavaScriptMetadata.ts +13 -20
- package/front_end/models/javascript_metadata/NativeFunctions.js +1237 -3962
- package/front_end/models/source_map_scopes/NamesResolver.ts +206 -73
- package/front_end/models/workspace/UISourceCode.ts +7 -0
- package/front_end/panels/accessibility/axBreadcrumbs.css +2 -2
- package/front_end/panels/application/components/BackForwardCacheView.ts +16 -0
- package/front_end/panels/lighthouse/LighthouseStartView.ts +7 -5
- package/front_end/panels/lighthouse/LighthouseStartViewFR.ts +70 -49
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +113 -4
- package/front_end/panels/network/components/RequestHeadersView.css +31 -3
- package/front_end/panels/network/components/RequestHeadersView.ts +126 -3
- package/front_end/panels/sources/NavigatorView.ts +141 -40
- package/front_end/panels/sources/SourcesPanel.ts +8 -0
- package/front_end/panels/sources/TabbedEditorContainer.ts +2 -2
- package/front_end/panels/sources/sources-meta.ts +6 -0
- package/front_end/panels/timeline/TimelinePanel.ts +27 -4
- package/front_end/panels/timeline/timelinePanel.css +8 -0
- package/front_end/ui/components/text_editor/javascript.ts +12 -14
- package/front_end/ui/legacy/Treeoutline.ts +5 -2
- package/package.json +1 -1
- package/scripts/hosted_mode/server.js +14 -1
- package/scripts/javascript_natives/helpers.js +26 -7
- package/scripts/javascript_natives/index.js +4 -3
- package/scripts/javascript_natives/tests.js +2 -2
@@ -1004,6 +1004,9 @@
|
|
1004
1004
|
"entrypoints/inspector_main/inspector_main-meta.ts | showRendering": {
|
1005
1005
|
"message": "Bonisa Ukunikezela"
|
1006
1006
|
},
|
1007
|
+
"entrypoints/inspector_main/inspector_main-meta.ts | toggleCssPrefersColorSchemeMedia": {
|
1008
|
+
"message": "Toggle forces CSS prefers-color-scheme color"
|
1009
|
+
},
|
1007
1010
|
"entrypoints/inspector_main/inspector_main-meta.ts | visionDeficiency": {
|
1008
1011
|
"message": "ukungaboni kahle"
|
1009
1012
|
},
|
@@ -1352,12 +1355,153 @@
|
|
1352
1355
|
"models/issues_manager/CrossOriginEmbedderPolicyIssue.ts | samesiteAndSameorigin": {
|
1353
1356
|
"message": "Indawo efanayo kanye Nomthombo ofanayo"
|
1354
1357
|
},
|
1358
|
+
"models/issues_manager/DeprecationIssue.ts | authorizationCoveredByWildcard": {
|
1359
|
+
"message": "Authorization will not be covered by the wildcard symbol (*) in CORS Access-Control-Allow-Headers handling."
|
1360
|
+
},
|
1361
|
+
"models/issues_manager/DeprecationIssue.ts | canRequestURLHTTPContainingNewline": {
|
1362
|
+
"message": "Resource requests whose URLs contained both removed whitespace \\(n|r|t) characters and less-than characters (<) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources."
|
1363
|
+
},
|
1364
|
+
"models/issues_manager/DeprecationIssue.ts | chromeLoadTimesConnectionInfo": {
|
1365
|
+
"message": "chrome.loadTimes() is deprecated, instead use standardized API: Navigation Timing 2."
|
1366
|
+
},
|
1367
|
+
"models/issues_manager/DeprecationIssue.ts | chromeLoadTimesFirstPaintAfterLoadTime": {
|
1368
|
+
"message": "chrome.loadTimes() is deprecated, instead use standardized API: Paint Timing."
|
1369
|
+
},
|
1370
|
+
"models/issues_manager/DeprecationIssue.ts | chromeLoadTimesWasAlternateProtocolAvailable": {
|
1371
|
+
"message": "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2."
|
1372
|
+
},
|
1373
|
+
"models/issues_manager/DeprecationIssue.ts | cookieWithTruncatingChar": {
|
1374
|
+
"message": "Cookies containing a \\(0|r|n) character will be rejected instead of truncated."
|
1375
|
+
},
|
1376
|
+
"models/issues_manager/DeprecationIssue.ts | crossOriginAccessBasedOnDocumentDomain": {
|
1377
|
+
"message": "Relaxing the same-origin policy by setting document.domain is deprecated, and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting document.domain."
|
1378
|
+
},
|
1379
|
+
"models/issues_manager/DeprecationIssue.ts | crossOriginWindowApi": {
|
1380
|
+
"message": "Triggering {PH1} from cross origin iframes has been deprecated and will be removed in the future."
|
1381
|
+
},
|
1382
|
+
"models/issues_manager/DeprecationIssue.ts | cssSelectorInternalMediaControlsOverlayCastButton": {
|
1383
|
+
"message": "The disableRemotePlayback attribute should be used in order to disable the default Cast integration instead of using -internal-media-controls-overlay-cast-button selector."
|
1384
|
+
},
|
1385
|
+
"models/issues_manager/DeprecationIssue.ts | customCursorIntersectsViewport": {
|
1386
|
+
"message": "Custom cursors with size greater than 32x32 DIP intersecting native UI is deprecated and will be removed."
|
1387
|
+
},
|
1388
|
+
"models/issues_manager/DeprecationIssue.ts | deprecatedWithReplacement": {
|
1389
|
+
"message": "{PH1} is deprecated. Please use {PH2} instead."
|
1390
|
+
},
|
1355
1391
|
"models/issues_manager/DeprecationIssue.ts | deprecationExample": {
|
1356
1392
|
"message": "Lesi yisibonelo somlayezo ohunyushiwe wenkinga yokuhoxisa."
|
1357
1393
|
},
|
1394
|
+
"models/issues_manager/DeprecationIssue.ts | documentDomainSettingWithoutOriginAgentClusterHeader": {
|
1395
|
+
"message": "Relaxing the same-origin policy by setting document.domain is deprecated, and will be disabled by default. To continue using this feature, please opt-out of origin-keyed agent clusters by sending an Origin-Agent-Cluster: ?0 header along with the HTTP response for the document and frames. See https://developer.chrome.com/blog/immutable-document-domain/ for more details."
|
1396
|
+
},
|
1397
|
+
"models/issues_manager/DeprecationIssue.ts | eventPath": {
|
1398
|
+
"message": "Event.path is deprecated and will be removed. Please use Event.composedPath() instead."
|
1399
|
+
},
|
1400
|
+
"models/issues_manager/DeprecationIssue.ts | feature": {
|
1401
|
+
"message": "Hlola ikhasi lesimo sesakhi ukuze uthole imininingwane eyengeziwe."
|
1402
|
+
},
|
1403
|
+
"models/issues_manager/DeprecationIssue.ts | geolocationInsecureOrigin": {
|
1404
|
+
"message": "getCurrentPosition() and watchPosition() no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
|
1405
|
+
},
|
1406
|
+
"models/issues_manager/DeprecationIssue.ts | geolocationInsecureOriginDeprecatedNotRemoved": {
|
1407
|
+
"message": "getCurrentPosition() and watchPosition() are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
|
1408
|
+
},
|
1409
|
+
"models/issues_manager/DeprecationIssue.ts | getUserMediaInsecureOrigin": {
|
1410
|
+
"message": "getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
|
1411
|
+
},
|
1412
|
+
"models/issues_manager/DeprecationIssue.ts | hostCandidateAttributeGetter": {
|
1413
|
+
"message": "RTCPeerConnectionIceErrorEvent.hostCandidate is deprecated. Please use RTCPeerConnectionIceErrorEvent.address or RTCPeerConnectionIceErrorEvent.port instead."
|
1414
|
+
},
|
1415
|
+
"models/issues_manager/DeprecationIssue.ts | insecurePrivateNetworkSubresourceRequest": {
|
1416
|
+
"message": "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."
|
1417
|
+
},
|
1418
|
+
"models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogIPv6": {
|
1419
|
+
"message": "IPv6 is enabled-by-default and the ability to disable it using googIPv6 will soon be removed. Please stop using this legacy constraint."
|
1420
|
+
},
|
1421
|
+
"models/issues_manager/DeprecationIssue.ts | localCSSFileExtensionRejected": {
|
1422
|
+
"message": "CSS cannot be loaded from file: URLs unless they end in a .css file extension."
|
1423
|
+
},
|
1424
|
+
"models/issues_manager/DeprecationIssue.ts | mediaElementAudioSourceNode": {
|
1425
|
+
"message": "Creating a MediaElementAudioSourceNode on an OfflineAudioContext is deprecated and will be removed."
|
1426
|
+
},
|
1427
|
+
"models/issues_manager/DeprecationIssue.ts | mediaSourceAbortRemove": {
|
1428
|
+
"message": "Using SourceBuffer.abort() to abort remove()'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should instead await updateend. abort() is intended to only abort an asynchronous media append or reset parser state."
|
1429
|
+
},
|
1430
|
+
"models/issues_manager/DeprecationIssue.ts | mediaSourceDurationTruncatingBuffered": {
|
1431
|
+
"message": "Setting MediaSource.duration below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit remove(newDuration, oldDuration) on all sourceBuffers, where newDuration < oldDuration."
|
1432
|
+
},
|
1433
|
+
"models/issues_manager/DeprecationIssue.ts | milestone": {
|
1434
|
+
"message": "Lolu shintsho luzoqala ukusebenza ngengqophamlando engu-{milestone}."
|
1435
|
+
},
|
1436
|
+
"models/issues_manager/DeprecationIssue.ts | noSysexWebMIDIWithoutPermission": {
|
1437
|
+
"message": "Web MIDI will ask a permission to use even if the sysex is not specified in the MIDIOptions."
|
1438
|
+
},
|
1439
|
+
"models/issues_manager/DeprecationIssue.ts | notificationInsecureOrigin": {
|
1440
|
+
"message": "The Notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
|
1441
|
+
},
|
1442
|
+
"models/issues_manager/DeprecationIssue.ts | notificationPermissionRequestedIframe": {
|
1443
|
+
"message": "Permission for the Notification API may no longer be requested from a cross-origin iframe. You should consider requesting permission from a top-level frame or opening a new window instead."
|
1444
|
+
},
|
1445
|
+
"models/issues_manager/DeprecationIssue.ts | obsoleteWebRtcCipherSuite": {
|
1446
|
+
"message": "Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed."
|
1447
|
+
},
|
1448
|
+
"models/issues_manager/DeprecationIssue.ts | paymentRequestBasicCard": {
|
1449
|
+
"message": "The basic-card payment method is deprecated and will be removed."
|
1450
|
+
},
|
1451
|
+
"models/issues_manager/DeprecationIssue.ts | paymentRequestShowWithoutGesture": {
|
1452
|
+
"message": "Calling PaymentRequest.show() without user activation is deprecated and will be removed."
|
1453
|
+
},
|
1454
|
+
"models/issues_manager/DeprecationIssue.ts | pictureSourceSrc": {
|
1455
|
+
"message": "<source src> with a <picture> parent is invalid and therefore ignored. Please use <source srcset> instead."
|
1456
|
+
},
|
1457
|
+
"models/issues_manager/DeprecationIssue.ts | prefixedStorageInfo": {
|
1458
|
+
"message": "window.webkitStorageInfo is deprecated. Please use navigator.webkitTemporaryStorage or navigator.webkitPersistentStorage instead."
|
1459
|
+
},
|
1460
|
+
"models/issues_manager/DeprecationIssue.ts | requestedSubresourceWithEmbeddedCredentials": {
|
1461
|
+
"message": "Subresource requests whose URLs contain embedded credentials (e.g. https://user:pass@host/) are blocked."
|
1462
|
+
},
|
1463
|
+
"models/issues_manager/DeprecationIssue.ts | rtcConstraintEnableDtlsSrtpFalse": {
|
1464
|
+
"message": "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."
|
1465
|
+
},
|
1466
|
+
"models/issues_manager/DeprecationIssue.ts | rtcConstraintEnableDtlsSrtpTrue": {
|
1467
|
+
"message": "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."
|
1468
|
+
},
|
1469
|
+
"models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics": {
|
1470
|
+
"message": "Complex Plan B SDP detected. This dialect of the Session Description Protocol is no longer supported. Please use Unified Plan SDP instead."
|
1471
|
+
},
|
1472
|
+
"models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionSdpSemanticsPlanB": {
|
1473
|
+
"message": "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."
|
1474
|
+
},
|
1475
|
+
"models/issues_manager/DeprecationIssue.ts | rtcpMuxPolicyNegotiate": {
|
1476
|
+
"message": "The rtcpMuxPolicy option is deprecated and will be removed."
|
1477
|
+
},
|
1478
|
+
"models/issues_manager/DeprecationIssue.ts | rtpDataChannel": {
|
1479
|
+
"message": "RTP data channels are no longer supported. The RtpDataChannels constraint is currently ignored, and may cause an error at a later date."
|
1480
|
+
},
|
1481
|
+
"models/issues_manager/DeprecationIssue.ts | sharedArrayBufferConstructedWithoutIsolation": {
|
1482
|
+
"message": "SharedArrayBuffer will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details."
|
1483
|
+
},
|
1484
|
+
"models/issues_manager/DeprecationIssue.ts | textToSpeech_DisallowedByAutoplay": {
|
1485
|
+
"message": "speechSynthesis.speak() without user activation is deprecated and will be removed."
|
1486
|
+
},
|
1358
1487
|
"models/issues_manager/DeprecationIssue.ts | title": {
|
1359
1488
|
"message": "Isici Esihoxisiwe Esisetshenzisiwe"
|
1360
1489
|
},
|
1490
|
+
"models/issues_manager/DeprecationIssue.ts | v8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
|
1491
|
+
"message": "Extensions should opt into cross-origin isolation to continue using SharedArrayBuffer. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
|
1492
|
+
},
|
1493
|
+
"models/issues_manager/DeprecationIssue.ts | vendorSpecificApi": {
|
1494
|
+
"message": "{PH1} is vendor-specific. Please use the standard {PH2} instead."
|
1495
|
+
},
|
1496
|
+
"models/issues_manager/DeprecationIssue.ts | xhrJSONEncodingDetection": {
|
1497
|
+
"message": "UTF-16 is not supported by response json in XMLHttpRequest"
|
1498
|
+
},
|
1499
|
+
"models/issues_manager/DeprecationIssue.ts | xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
|
1500
|
+
"message": "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/."
|
1501
|
+
},
|
1502
|
+
"models/issues_manager/DeprecationIssue.ts | xrSupportsSession": {
|
1503
|
+
"message": "supportsSession() is deprecated. Please use isSessionSupported() and check the resolved boolean value instead."
|
1504
|
+
},
|
1361
1505
|
"models/issues_manager/FederatedAuthRequestIssue.ts | fedCm": {
|
1362
1506
|
"message": "I-Federated Credential Management API"
|
1363
1507
|
},
|
@@ -3248,6 +3392,9 @@
|
|
3248
3392
|
"panels/application/components/BackForwardCacheView.ts | backForwardCacheTitle": {
|
3249
3393
|
"message": "Inqolobane yasemuva/phambili"
|
3250
3394
|
},
|
3395
|
+
"panels/application/components/BackForwardCacheView.ts | blankURLTitle": {
|
3396
|
+
"message": "I-URL engenalutho [{PH1}]"
|
3397
|
+
},
|
3251
3398
|
"panels/application/components/BackForwardCacheView.ts | blockingExtensionId": {
|
3252
3399
|
"message": "Isandiso se-id: "
|
3253
3400
|
},
|
@@ -3263,8 +3410,11 @@
|
|
3263
3410
|
"panels/application/components/BackForwardCacheView.ts | framesTitle": {
|
3264
3411
|
"message": "Izinhlaka"
|
3265
3412
|
},
|
3266
|
-
"panels/application/components/BackForwardCacheView.ts |
|
3267
|
-
"message": "{
|
3413
|
+
"panels/application/components/BackForwardCacheView.ts | issuesInMultipleFrames": {
|
3414
|
+
"message": "{n,plural, =1{inkinga engu-# etholwe ohlakeni {m}.}one{izinkinga ezingu-# ezitholwe ezinhlakeni {m}.}other{izinkinga ezingu-# ezitholwe ezinhlakeni {m}.}}"
|
3415
|
+
},
|
3416
|
+
"panels/application/components/BackForwardCacheView.ts | issuesInSingleFrame": {
|
3417
|
+
"message": "{n,plural, =1{inkinga engu-# etholwe ohlakeni olu-1.}one{izinkinga ezingu-# ezitholwe ohlakeni olu-1.}other{izinkinga ezingu-# ezitholwe ohlakeni olu-1.}}"
|
3268
3418
|
},
|
3269
3419
|
"panels/application/components/BackForwardCacheView.ts | learnMore": {
|
3270
3420
|
"message": "Funda kabanzi: ukufaneleka kwenqolobane yokuya emuva/phambili"
|
@@ -4796,6 +4946,12 @@
|
|
4796
4946
|
"panels/elements/StylesSidebarPane.ts | clickToRevealLayer": {
|
4797
4947
|
"message": "Chofoza ukuze wembule isendlalelo esihlahleni sesendlalelo"
|
4798
4948
|
},
|
4949
|
+
"panels/elements/StylesSidebarPane.ts | copiedToClipboard": {
|
4950
|
+
"message": "Kukopishelwe kubhodi lokunamathisela"
|
4951
|
+
},
|
4952
|
+
"panels/elements/StylesSidebarPane.ts | copyAllCSSChanges": {
|
4953
|
+
"message": "Kopisha zonke izinguquko ze-CSS"
|
4954
|
+
},
|
4799
4955
|
"panels/elements/StylesSidebarPane.ts | cssPropertyName": {
|
4800
4956
|
"message": "CSS igama lempahla: {PH1}"
|
4801
4957
|
},
|
@@ -5357,26 +5513,8 @@
|
|
5357
5513
|
"panels/issues/AttributionReportingIssueDetailsView.ts | frame": {
|
5358
5514
|
"message": "Uhlaka"
|
5359
5515
|
},
|
5360
|
-
"panels/issues/AttributionReportingIssueDetailsView.ts |
|
5361
|
-
"message": "
|
5362
|
-
},
|
5363
|
-
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceEventId": {
|
5364
|
-
"message": "Okungavumelekile attributionsourceeventid"
|
5365
|
-
},
|
5366
|
-
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceExpiry": {
|
5367
|
-
"message": "Okungavumelekile attributionexpiry"
|
5368
|
-
},
|
5369
|
-
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourcePriority": {
|
5370
|
-
"message": "Okungavumelekile attributionsourcepriority"
|
5371
|
-
},
|
5372
|
-
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerData": {
|
5373
|
-
"message": "Okungavumelekile trigger-data"
|
5374
|
-
},
|
5375
|
-
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerDedupKey": {
|
5376
|
-
"message": "Okungavumelekile dedup-key"
|
5377
|
-
},
|
5378
|
-
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerPriority": {
|
5379
|
-
"message": "Okungavumelekile priority"
|
5516
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidHeaderValue": {
|
5517
|
+
"message": "Invalid Header Value"
|
5380
5518
|
},
|
5381
5519
|
"panels/issues/AttributionReportingIssueDetailsView.ts | nViolations": {
|
5382
5520
|
"message": "{n,plural, =1{ukuphula okungu-#}one{ukuphulwa okungu-#}other{ukuphulwa okungu-#}}"
|
@@ -5828,6 +5966,9 @@
|
|
5828
5966
|
"panels/lighthouse/LighthouseController.ts | isThisPageUsableByPeopleWith": {
|
5829
5967
|
"message": "Ingabe leli khasi lingasetshenziswa abantu abakhubazekile"
|
5830
5968
|
},
|
5969
|
+
"panels/lighthouse/LighthouseController.ts | javaScriptDisabled": {
|
5970
|
+
"message": "JavaScript is disabled. You need to enable JavaScript to audit this page. Open the Command Menu and run the Enable JavaScript command to enable JavaScript."
|
5971
|
+
},
|
5831
5972
|
"panels/lighthouse/LighthouseController.ts | legacyNavigation": {
|
5832
5973
|
"message": "Ukufuna ifa"
|
5833
5974
|
},
|
@@ -5844,7 +5985,10 @@
|
|
5844
5985
|
"message": "Amathebhu amaningi alawulwa nge-service worker efanayo. Vala amanaye amathebhu wakho kokoqobo okufanayo ukuhlola leli khasi."
|
5845
5986
|
},
|
5846
5987
|
"panels/lighthouse/LighthouseController.ts | navigation": {
|
5847
|
-
"message": "
|
5988
|
+
"message": "Navigation (Default)"
|
5989
|
+
},
|
5990
|
+
"panels/lighthouse/LighthouseController.ts | navigationTooltip": {
|
5991
|
+
"message": "Navigation mode analyzes a page load, exactly like the original Lighthouse reports."
|
5848
5992
|
},
|
5849
5993
|
"panels/lighthouse/LighthouseController.ts | performance": {
|
5850
5994
|
"message": "Ukusebenza"
|
@@ -5873,6 +6017,9 @@
|
|
5873
6017
|
"panels/lighthouse/LighthouseController.ts | snapshot": {
|
5874
6018
|
"message": "Isifinyezo"
|
5875
6019
|
},
|
6020
|
+
"panels/lighthouse/LighthouseController.ts | snapshotTooltip": {
|
6021
|
+
"message": "Snapshot mode analyzes the page in a particular state, typically after user interactions."
|
6022
|
+
},
|
5876
6023
|
"panels/lighthouse/LighthouseController.ts | thereMayBeStoredDataAffectingLoadingPlural": {
|
5877
6024
|
"message": "Kungase kube khona idatha egciniwe ethinta ukusebenza kokulayisha kulezi zindawo: {PH1}. Hlola leli khasi kwiwindi le-incognito ukugwema lezo zinsiza ekuthinteni imiphumela yakho."
|
5878
6025
|
},
|
@@ -5882,6 +6029,9 @@
|
|
5882
6029
|
"panels/lighthouse/LighthouseController.ts | timespan": {
|
5883
6030
|
"message": "Isikhathi"
|
5884
6031
|
},
|
6032
|
+
"panels/lighthouse/LighthouseController.ts | timespanTooltip": {
|
6033
|
+
"message": "Timespan mode analyzes an arbitrary period of time, typically containing user interactions."
|
6034
|
+
},
|
5885
6035
|
"panels/lighthouse/LighthouseController.ts | useLegacyNavigation": {
|
5886
6036
|
"message": "Hlaziya ikhasi usebenzisa i-Lighthouse yakudala uma ukumodi yokufuna."
|
5887
6037
|
},
|
@@ -5925,7 +6075,7 @@
|
|
5925
6075
|
"message": "Imibiko"
|
5926
6076
|
},
|
5927
6077
|
"panels/lighthouse/LighthouseStartView.ts | categories": {
|
5928
|
-
"message": "
|
6078
|
+
"message": "Categories"
|
5929
6079
|
},
|
5930
6080
|
"panels/lighthouse/LighthouseStartView.ts | communityPluginsBeta": {
|
5931
6081
|
"message": "Ama-plugin womphakathi (beta)"
|
@@ -5943,14 +6093,23 @@
|
|
5943
6093
|
"message": "Funda kabanzi"
|
5944
6094
|
},
|
5945
6095
|
"panels/lighthouse/LighthouseStartViewFR.ts | analyzeNavigation": {
|
5946
|
-
"message": "
|
6096
|
+
"message": "Analyze page load"
|
5947
6097
|
},
|
5948
6098
|
"panels/lighthouse/LighthouseStartViewFR.ts | analyzeSnapshot": {
|
5949
|
-
"message": "
|
6099
|
+
"message": "Analyze page state"
|
6100
|
+
},
|
6101
|
+
"panels/lighthouse/LighthouseStartViewFR.ts | categories": {
|
6102
|
+
"message": "Categories"
|
6103
|
+
},
|
6104
|
+
"panels/lighthouse/LighthouseStartViewFR.ts | generateLighthouseReport": {
|
6105
|
+
"message": "Generate a Lighthouse report"
|
5950
6106
|
},
|
5951
6107
|
"panels/lighthouse/LighthouseStartViewFR.ts | mode": {
|
5952
6108
|
"message": "Imodi"
|
5953
6109
|
},
|
6110
|
+
"panels/lighthouse/LighthouseStartViewFR.ts | plugins": {
|
6111
|
+
"message": "Plugins"
|
6112
|
+
},
|
5954
6113
|
"panels/lighthouse/LighthouseStartViewFR.ts | startTimespan": {
|
5955
6114
|
"message": "Qalisa isikhathi"
|
5956
6115
|
},
|
@@ -7347,7 +7506,7 @@
|
|
7347
7506
|
"message": "Akwaziwa"
|
7348
7507
|
},
|
7349
7508
|
"panels/network/RequestTimingView.ts | waitingTtfb": {
|
7350
|
-
"message": "
|
7509
|
+
"message": "Waiting for server response"
|
7351
7510
|
},
|
7352
7511
|
"panels/network/RequestTimingView.ts | waterfall": {
|
7353
7512
|
"message": "Impophoma"
|
@@ -8463,10 +8622,10 @@
|
|
8463
8622
|
"message": "Fihla imininingwane egcwele"
|
8464
8623
|
},
|
8465
8624
|
"panels/security/SecurityPanel.ts | ifYouBelieveThisIsShownIn": {
|
8466
|
-
"message": "
|
8625
|
+
"message": "If you believe this is shown in error please visit https://g.co/chrome/lookalike-warnings."
|
8467
8626
|
},
|
8468
8627
|
"panels/security/SecurityPanel.ts | ifYouBelieveThisIsShownInErrorSafety": {
|
8469
|
-
"message": "
|
8628
|
+
"message": "If you believe this is shown in error please visit https://g.co/chrome/lookalike-warnings."
|
8470
8629
|
},
|
8471
8630
|
"panels/security/SecurityPanel.ts | info": {
|
8472
8631
|
"message": "Ulwazi"
|
@@ -10064,6 +10223,12 @@
|
|
10064
10223
|
"panels/sources/sources-meta.ts | toggleBreakpointInputWindow": {
|
10065
10224
|
"message": "Guqula iwindi lokufaka i-breakpoint"
|
10066
10225
|
},
|
10226
|
+
"panels/sources/sources-meta.ts | toggleDebuggerSidebar": {
|
10227
|
+
"message": "Toggle debugger sidebar"
|
10228
|
+
},
|
10229
|
+
"panels/sources/sources-meta.ts | toggleNavigatorSidebar": {
|
10230
|
+
"message": "Toggle navigator sidebar"
|
10231
|
+
},
|
10067
10232
|
"panels/sources/sources-meta.ts | trailing": {
|
10068
10233
|
"message": "Kuyalandela"
|
10069
10234
|
},
|
@@ -10145,9 +10310,6 @@
|
|
10145
10310
|
"panels/timeline/TimelineEventOverview.ts | cpu": {
|
10146
10311
|
"message": "I-CPU"
|
10147
10312
|
},
|
10148
|
-
"panels/timeline/TimelineEventOverview.ts | fps": {
|
10149
|
-
"message": "I-FPS"
|
10150
|
-
},
|
10151
10313
|
"panels/timeline/TimelineEventOverview.ts | heap": {
|
10152
10314
|
"message": "I-HEAP"
|
10153
10315
|
},
|
@@ -10184,9 +10346,6 @@
|
|
10184
10346
|
"panels/timeline/TimelineFlameChartDataProvider.ts | idleFrame": {
|
10185
10347
|
"message": "Uhlaka Olungenzi lutho"
|
10186
10348
|
},
|
10187
|
-
"panels/timeline/TimelineFlameChartDataProvider.ts | input": {
|
10188
|
-
"message": "Okokufaka"
|
10189
|
-
},
|
10190
10349
|
"panels/timeline/TimelineFlameChartDataProvider.ts | interactions": {
|
10191
10350
|
"message": "Ukusebenzisana"
|
10192
10351
|
},
|
@@ -10214,9 +10373,6 @@
|
|
10214
10373
|
"panels/timeline/TimelineFlameChartDataProvider.ts | rasterizerThreadS": {
|
10215
10374
|
"message": "Uchungechunge Lwamacashazi {PH1}"
|
10216
10375
|
},
|
10217
|
-
"panels/timeline/TimelineFlameChartDataProvider.ts | sFfps": {
|
10218
|
-
"message": "{PH1} ~ {PH2} fps"
|
10219
|
-
},
|
10220
10376
|
"panels/timeline/TimelineFlameChartDataProvider.ts | sSelfS": {
|
10221
10377
|
"message": "{PH1} (okwami {PH2})"
|
10222
10378
|
},
|
@@ -10748,9 +10904,6 @@
|
|
10748
10904
|
"panels/timeline/TimelineUIUtils.ts | forcedReflow": {
|
10749
10905
|
"message": "I-reflow ephoqelelwe"
|
10750
10906
|
},
|
10751
|
-
"panels/timeline/TimelineUIUtils.ts | fps": {
|
10752
|
-
"message": "I-FPS"
|
10753
|
-
},
|
10754
10907
|
"panels/timeline/TimelineUIUtils.ts | frame": {
|
10755
10908
|
"message": "Uhlaka"
|
10756
10909
|
},
|
@@ -11516,6 +11669,9 @@
|
|
11516
11669
|
"panels/webauthn/WebauthnPane.ts | signCount": {
|
11517
11670
|
"message": "Isibalo Sesignesha"
|
11518
11671
|
},
|
11672
|
+
"panels/webauthn/WebauthnPane.ts | supportsLargeBlob": {
|
11673
|
+
"message": "Supports large blob"
|
11674
|
+
},
|
11519
11675
|
"panels/webauthn/WebauthnPane.ts | supportsResidentKeys": {
|
11520
11676
|
"message": "Isekela okhiye bomhlali"
|
11521
11677
|
},
|
@@ -11700,7 +11856,7 @@
|
|
11700
11856
|
"message": "Konke"
|
11701
11857
|
},
|
11702
11858
|
"ui/legacy/FilterBar.ts | clearFilter": {
|
11703
|
-
"message": "
|
11859
|
+
"message": "Clear input"
|
11704
11860
|
},
|
11705
11861
|
"ui/legacy/FilterBar.ts | egSmalldUrlacomb": {
|
11706
11862
|
"message": "isb./small[d]+/ url:a.com/b"
|
@@ -11870,6 +12026,9 @@
|
|
11870
12026
|
"ui/legacy/TargetCrashedScreen.ts | oncePageIsReloadedDevtoolsWill": {
|
11871
12027
|
"message": "Lapho ikhasi selilayishwe kabusha, i-DevTools izoxhuma kabusha ngokuzenzakalela."
|
11872
12028
|
},
|
12029
|
+
"ui/legacy/Toolbar.ts | clearInput": {
|
12030
|
+
"message": "Clear input"
|
12031
|
+
},
|
11873
12032
|
"ui/legacy/Toolbar.ts | notPressed": {
|
11874
12033
|
"message": "akucindezelwe"
|
11875
12034
|
},
|
@@ -13,6 +13,8 @@ let throttlingManagerInstance: CPUThrottlingManager;
|
|
13
13
|
export class CPUThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes> implements
|
14
14
|
SDKModelObserver<EmulationModel> {
|
15
15
|
#cpuThrottlingRateInternal: number;
|
16
|
+
#hardwareConcurrencyInternal?: number;
|
17
|
+
#pendingMainTargetPromise?: (r: number) => void;
|
16
18
|
|
17
19
|
private constructor() {
|
18
20
|
super();
|
@@ -41,10 +43,60 @@ export class CPUThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<Eve
|
|
41
43
|
this.dispatchEventToListeners(Events.RateChanged, this.#cpuThrottlingRateInternal);
|
42
44
|
}
|
43
45
|
|
46
|
+
setHardwareConcurrency(concurrency: number): void {
|
47
|
+
this.#hardwareConcurrencyInternal = concurrency;
|
48
|
+
for (const emulationModel of TargetManager.instance().models(EmulationModel)) {
|
49
|
+
void emulationModel.setHardwareConcurrency(concurrency);
|
50
|
+
}
|
51
|
+
this.dispatchEventToListeners(Events.HardwareConcurrencyChanged, this.#hardwareConcurrencyInternal);
|
52
|
+
}
|
53
|
+
|
54
|
+
async getHardwareConcurrency(): Promise<number> {
|
55
|
+
const target = TargetManager.instance().mainTarget();
|
56
|
+
const existingCallback = this.#pendingMainTargetPromise;
|
57
|
+
|
58
|
+
// If the main target hasn't attached yet, block callers until it appears.
|
59
|
+
if (!target) {
|
60
|
+
if (existingCallback) {
|
61
|
+
return new Promise(r => {
|
62
|
+
this.#pendingMainTargetPromise = (result: number): void => {
|
63
|
+
r(result);
|
64
|
+
existingCallback(result);
|
65
|
+
};
|
66
|
+
});
|
67
|
+
}
|
68
|
+
return new Promise(r => {
|
69
|
+
this.#pendingMainTargetPromise = r;
|
70
|
+
});
|
71
|
+
}
|
72
|
+
|
73
|
+
const evalResult = await target.runtimeAgent().invoke_evaluate(
|
74
|
+
{expression: 'navigator.hardwareConcurrency', returnByValue: true, silent: true, throwOnSideEffect: true});
|
75
|
+
const error = evalResult.getError();
|
76
|
+
if (error) {
|
77
|
+
throw new Error(error);
|
78
|
+
}
|
79
|
+
const {result, exceptionDetails} = evalResult;
|
80
|
+
if (exceptionDetails) {
|
81
|
+
throw new Error(exceptionDetails.text);
|
82
|
+
}
|
83
|
+
return result.value;
|
84
|
+
}
|
85
|
+
|
44
86
|
modelAdded(emulationModel: EmulationModel): void {
|
45
87
|
if (this.#cpuThrottlingRateInternal !== CPUThrottlingRates.NoThrottling) {
|
46
88
|
void emulationModel.setCPUThrottlingRate(this.#cpuThrottlingRateInternal);
|
47
89
|
}
|
90
|
+
if (this.#hardwareConcurrencyInternal !== undefined) {
|
91
|
+
void emulationModel.setHardwareConcurrency(this.#hardwareConcurrencyInternal);
|
92
|
+
}
|
93
|
+
|
94
|
+
// If there are any callers blocked on a getHardwareConcurrency call, let's wake them now.
|
95
|
+
if (this.#pendingMainTargetPromise) {
|
96
|
+
const existingCallback = this.#pendingMainTargetPromise;
|
97
|
+
this.#pendingMainTargetPromise = undefined;
|
98
|
+
void this.getHardwareConcurrency().then(existingCallback);
|
99
|
+
}
|
48
100
|
}
|
49
101
|
|
50
102
|
modelRemoved(_emulationModel: EmulationModel): void {
|
@@ -56,10 +108,12 @@ export class CPUThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<Eve
|
|
56
108
|
// eslint-disable-next-line rulesdir/const_enum
|
57
109
|
export enum Events {
|
58
110
|
RateChanged = 'RateChanged',
|
111
|
+
HardwareConcurrencyChanged = 'HardwareConcurrencyChanged',
|
59
112
|
}
|
60
113
|
|
61
114
|
export type EventTypes = {
|
62
115
|
[Events.RateChanged]: number,
|
116
|
+
[Events.HardwareConcurrencyChanged]: number,
|
63
117
|
};
|
64
118
|
|
65
119
|
export function throttlingManager(): CPUThrottlingManager {
|
@@ -70,9 +70,16 @@ const UIStrings = {
|
|
70
70
|
script: 'Script',
|
71
71
|
/**
|
72
72
|
*@description Title of a section in the debugger showing JavaScript variables from the a 'with'
|
73
|
-
*block. Block here means section of code, 'with' refers to a JavaScript programming concept
|
73
|
+
*block. Block here means section of code, 'with' refers to a JavaScript programming concept and
|
74
|
+
*is a fixed term.
|
74
75
|
*/
|
75
|
-
withBlock: '`With`
|
76
|
+
withBlock: '`With` block',
|
77
|
+
/**
|
78
|
+
*@description Title of a section in the debugger showing JavaScript variables from the a 'catch'
|
79
|
+
*block. Block here means section of code, 'catch' refers to a JavaScript programming concept and
|
80
|
+
*is a fixed term.
|
81
|
+
*/
|
82
|
+
catchBlock: '`Catch` block',
|
76
83
|
/**
|
77
84
|
*@description Title of a section in the debugger showing JavaScript variables from the global scope.
|
78
85
|
*/
|
@@ -1464,7 +1471,9 @@ export class Scope implements ScopeChainEntry {
|
|
1464
1471
|
case Protocol.Debugger.ScopeType.Closure:
|
1465
1472
|
return i18nString(UIStrings.closure);
|
1466
1473
|
case Protocol.Debugger.ScopeType.Catch:
|
1467
|
-
return
|
1474
|
+
return i18nString(UIStrings.catchBlock);
|
1475
|
+
case Protocol.Debugger.ScopeType.Eval:
|
1476
|
+
return i18n.i18n.lockedString('Eval');
|
1468
1477
|
case Protocol.Debugger.ScopeType.Block:
|
1469
1478
|
return i18nString(UIStrings.block);
|
1470
1479
|
case Protocol.Debugger.ScopeType.Script:
|
@@ -314,6 +314,13 @@ export class EmulationModel extends SDKModel<void> {
|
|
314
314
|
await this.#emulationAgent.invoke_setCPUThrottlingRate({rate});
|
315
315
|
}
|
316
316
|
|
317
|
+
async setHardwareConcurrency(hardwareConcurrency: number): Promise<void> {
|
318
|
+
if (hardwareConcurrency < 1) {
|
319
|
+
throw new Error('hardwareConcurrency must be a positive value');
|
320
|
+
}
|
321
|
+
await this.#emulationAgent.invoke_setHardwareConcurrencyOverride({hardwareConcurrency});
|
322
|
+
}
|
323
|
+
|
317
324
|
async emulateTouch(enabled: boolean, mobile: boolean): Promise<void> {
|
318
325
|
this.#touchEnabled = enabled;
|
319
326
|
this.#touchMobile = mobile;
|
@@ -255,6 +255,10 @@ export class NetworkManager extends SDKModel<EventTypes> {
|
|
255
255
|
return this.dispatcher.requestForURL(url);
|
256
256
|
}
|
257
257
|
|
258
|
+
requestforId(id: string): NetworkRequest|null {
|
259
|
+
return this.dispatcher.requestForId(id);
|
260
|
+
}
|
261
|
+
|
258
262
|
private cacheDisabledSettingChanged({data: enabled}: Common.EventTarget.EventTargetEvent<boolean>): void {
|
259
263
|
void this.#networkAgent.invoke_setCacheDisabled({cacheDisabled: enabled});
|
260
264
|
}
|
@@ -520,8 +524,8 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
520
524
|
}
|
521
525
|
}
|
522
526
|
|
523
|
-
requestForId(
|
524
|
-
return this.#requestsById.get(
|
527
|
+
requestForId(id: string): NetworkRequest|null {
|
528
|
+
return this.#requestsById.get(id) || null;
|
525
529
|
}
|
526
530
|
|
527
531
|
requestForURL(url: Platform.DevToolsPath.UrlString): NetworkRequest|null {
|
@@ -9,6 +9,7 @@ export const enum FormatterActions {
|
|
9
9
|
JAVASCRIPT_OUTLINE = 'javaScriptOutline',
|
10
10
|
JAVASCRIPT_IDENTIFIERS = 'javaScriptIdentifiers',
|
11
11
|
JAVASCRIPT_SUBSTITUTE = 'javaScriptSubstitute',
|
12
|
+
JAVASCRIPT_SCOPE_TREE = 'javaScriptScopeTree',
|
12
13
|
EVALUATE_JAVASCRIPT_SUBSTRING = 'evaluatableJavaScriptSubstring',
|
13
14
|
ARGUMENTS_LIST = 'argumentsList',
|
14
15
|
}
|
@@ -171,7 +171,12 @@ export class ScopeVariableAnalysis {
|
|
171
171
|
case 'ArrowFunctionExpression': {
|
172
172
|
this.#pushScope(node.start, node.end);
|
173
173
|
node.params.forEach(this.#processNodeAsDefinition.bind(this, DefinitionKind.Var));
|
174
|
-
|
174
|
+
if (node.body.type === 'BlockStatement') {
|
175
|
+
// Include the body of the arrow function in the same scope as the arguments.
|
176
|
+
node.body.body.forEach(this.#processNode.bind(this));
|
177
|
+
} else {
|
178
|
+
this.#processNode(node.body);
|
179
|
+
}
|
175
180
|
this.#popScope(true);
|
176
181
|
break;
|
177
182
|
}
|
@@ -199,7 +204,7 @@ export class ScopeVariableAnalysis {
|
|
199
204
|
case 'CatchClause':
|
200
205
|
this.#pushScope(node.start, node.end);
|
201
206
|
this.#processNodeAsDefinition(DefinitionKind.Let, node.param);
|
202
|
-
|
207
|
+
this.#processNode(node.body);
|
203
208
|
this.#popScope(false);
|
204
209
|
break;
|
205
210
|
case 'ClassBody':
|
@@ -207,17 +212,13 @@ export class ScopeVariableAnalysis {
|
|
207
212
|
break;
|
208
213
|
case 'ClassDeclaration':
|
209
214
|
this.#processNodeAsDefinition(DefinitionKind.Let, node.id);
|
210
|
-
this.#pushScope(node.start, node.end);
|
211
215
|
this.#processNode(node.superClass ?? null);
|
212
216
|
this.#processNode(node.body);
|
213
|
-
this.#popScope(false);
|
214
217
|
break;
|
215
218
|
case 'ClassExpression':
|
216
|
-
this.#pushScope(node.start, node.end);
|
217
219
|
// Intentionally ignore the id.
|
218
220
|
this.#processNode(node.superClass ?? null);
|
219
221
|
this.#processNode(node.body);
|
220
|
-
this.#popScope(false);
|
221
222
|
break;
|
222
223
|
case 'ChainExpression':
|
223
224
|
this.#processNode(node.expression);
|
@@ -253,16 +254,17 @@ export class ScopeVariableAnalysis {
|
|
253
254
|
this.#addVariable('this', node.start, DefinitionKind.Fixed);
|
254
255
|
this.#addVariable('arguments', node.start, DefinitionKind.Fixed);
|
255
256
|
node.params.forEach(this.#processNodeAsDefinition.bind(this, DefinitionKind.Let));
|
256
|
-
|
257
|
+
// Process the body of the block statement directly to avoid creating new scope.
|
258
|
+
node.body.body.forEach(this.#processNode.bind(this));
|
257
259
|
this.#popScope(true);
|
258
260
|
break;
|
259
261
|
case 'FunctionExpression':
|
260
|
-
|
261
|
-
this.#pushScope(node.start, node.end);
|
262
|
+
this.#pushScope(node.id?.end ?? node.start, node.end);
|
262
263
|
this.#addVariable('this', node.start, DefinitionKind.Fixed);
|
263
264
|
this.#addVariable('arguments', node.start, DefinitionKind.Fixed);
|
264
265
|
node.params.forEach(this.#processNodeAsDefinition.bind(this, DefinitionKind.Let));
|
265
|
-
|
266
|
+
// Process the body of the block statement directly to avoid creating new scope.
|
267
|
+
node.body.body.forEach(this.#processNode.bind(this));
|
266
268
|
this.#popScope(true);
|
267
269
|
break;
|
268
270
|
case 'Identifier':
|
@@ -37,6 +37,10 @@ self.onmessage = function(event: MessageEvent): void {
|
|
37
37
|
self.postMessage(FormatterWorker.Substitute.substituteExpression(params.content, mapping));
|
38
38
|
break;
|
39
39
|
}
|
40
|
+
case FormatterActions.JAVASCRIPT_SCOPE_TREE: {
|
41
|
+
self.postMessage(FormatterWorker.ScopeParser.parseScopes(params.content)?.export());
|
42
|
+
break;
|
43
|
+
}
|
40
44
|
case FormatterActions.EVALUATE_JAVASCRIPT_SUBSTRING:
|
41
45
|
self.postMessage(FormatterWorker.FormatterWorker.evaluatableJavaScriptSubstring(params.content));
|
42
46
|
break;
|