@nimbus21.ai/chrome-devtools-mcp 0.6.3 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/README.md +311 -26
  2. package/build/src/DevToolsConnectionAdapter.js +69 -0
  3. package/build/src/DevtoolsUtils.js +208 -0
  4. package/build/src/McpContext.js +247 -50
  5. package/build/src/McpResponse.js +211 -48
  6. package/build/src/PageCollector.js +247 -33
  7. package/build/src/WaitForHelper.js +5 -0
  8. package/build/src/browser.js +97 -33
  9. package/build/src/cli.js +139 -16
  10. package/build/src/formatters/consoleFormatter.js +108 -60
  11. package/build/src/formatters/networkFormatter.js +45 -2
  12. package/build/src/formatters/snapshotFormatter.js +57 -59
  13. package/build/src/issue-descriptions.js +39 -0
  14. package/build/src/logger.js +1 -1
  15. package/build/src/main.js +68 -68
  16. package/build/src/polyfill.js +2 -2
  17. package/build/src/third_party/THIRD_PARTY_NOTICES +2010 -0
  18. package/build/src/third_party/devtools.js +6 -0
  19. package/build/src/third_party/index.js +171065 -0
  20. package/build/src/third_party/issue-descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
  21. package/build/src/third_party/issue-descriptions/CoepCorpNotSameOrigin.md +8 -0
  22. package/build/src/third_party/issue-descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
  23. package/build/src/third_party/issue-descriptions/CoepCorpNotSameSite.md +7 -0
  24. package/build/src/third_party/issue-descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
  25. package/build/src/third_party/issue-descriptions/CompatibilityModeQuirks.md +5 -0
  26. package/build/src/third_party/issue-descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
  27. package/build/src/third_party/issue-descriptions/LowTextContrast.md +5 -0
  28. package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
  29. package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
  30. package/build/src/third_party/issue-descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
  31. package/build/src/third_party/issue-descriptions/SameSiteInvalidSameParty.md +8 -0
  32. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
  33. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
  34. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
  35. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
  36. package/build/src/third_party/issue-descriptions/SameSiteSamePartyCrossPartyContextSet.md +10 -0
  37. package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
  38. package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
  39. package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
  40. package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
  41. package/build/src/third_party/issue-descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
  42. package/build/src/third_party/issue-descriptions/arInsecureContext.md +7 -0
  43. package/build/src/third_party/issue-descriptions/arInvalidInfoHeader.md +5 -0
  44. package/build/src/third_party/issue-descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
  45. package/build/src/third_party/issue-descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
  46. package/build/src/third_party/issue-descriptions/arInvalidRegisterSourceHeader.md +5 -0
  47. package/build/src/third_party/issue-descriptions/arInvalidRegisterTriggerHeader.md +5 -0
  48. package/build/src/third_party/issue-descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
  49. package/build/src/third_party/issue-descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
  50. package/build/src/third_party/issue-descriptions/arNoRegisterOsSourceHeader.md +5 -0
  51. package/build/src/third_party/issue-descriptions/arNoRegisterOsTriggerHeader.md +5 -0
  52. package/build/src/third_party/issue-descriptions/arNoRegisterSourceHeader.md +5 -0
  53. package/build/src/third_party/issue-descriptions/arNoRegisterTriggerHeader.md +5 -0
  54. package/build/src/third_party/issue-descriptions/arNoWebOrOsSupport.md +4 -0
  55. package/build/src/third_party/issue-descriptions/arOsSourceIgnored.md +18 -0
  56. package/build/src/third_party/issue-descriptions/arOsTriggerIgnored.md +19 -0
  57. package/build/src/third_party/issue-descriptions/arPermissionPolicyDisabled.md +8 -0
  58. package/build/src/third_party/issue-descriptions/arSourceAndTriggerHeaders.md +9 -0
  59. package/build/src/third_party/issue-descriptions/arSourceIgnored.md +13 -0
  60. package/build/src/third_party/issue-descriptions/arTriggerIgnored.md +12 -0
  61. package/build/src/third_party/issue-descriptions/arUntrustworthyReportingOrigin.md +10 -0
  62. package/build/src/third_party/issue-descriptions/arWebAndOsHeaders.md +11 -0
  63. package/build/src/third_party/issue-descriptions/bounceTrackingMitigations.md +3 -0
  64. package/build/src/third_party/issue-descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
  65. package/build/src/third_party/issue-descriptions/clientHintMetaTagModifiedHTML.md +4 -0
  66. package/build/src/third_party/issue-descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
  67. package/build/src/third_party/issue-descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
  68. package/build/src/third_party/issue-descriptions/cookieExcludeDomainNonAscii.md +11 -0
  69. package/build/src/third_party/issue-descriptions/cookieExcludePortMismatch.md +8 -0
  70. package/build/src/third_party/issue-descriptions/cookieExcludeSchemeMismatch.md +7 -0
  71. package/build/src/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
  72. package/build/src/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
  73. package/build/src/third_party/issue-descriptions/cookieWarnDomainNonAscii.md +11 -0
  74. package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantRead.md +4 -0
  75. package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantSet.md +4 -0
  76. package/build/src/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
  77. package/build/src/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
  78. package/build/src/third_party/issue-descriptions/corsAllowCredentialsRequired.md +6 -0
  79. package/build/src/third_party/issue-descriptions/corsDisabledScheme.md +7 -0
  80. package/build/src/third_party/issue-descriptions/corsDisallowedByMode.md +7 -0
  81. package/build/src/third_party/issue-descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
  82. package/build/src/third_party/issue-descriptions/corsInsecurePrivateNetwork.md +10 -0
  83. package/build/src/third_party/issue-descriptions/corsInvalidHeaderValues.md +7 -0
  84. package/build/src/third_party/issue-descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
  85. package/build/src/third_party/issue-descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
  86. package/build/src/third_party/issue-descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
  87. package/build/src/third_party/issue-descriptions/corsOriginMismatch.md +6 -0
  88. package/build/src/third_party/issue-descriptions/corsPreflightAllowPrivateNetworkError.md +10 -0
  89. package/build/src/third_party/issue-descriptions/corsPreflightResponseInvalid.md +5 -0
  90. package/build/src/third_party/issue-descriptions/corsPrivateNetworkPermissionDenied.md +10 -0
  91. package/build/src/third_party/issue-descriptions/corsRedirectContainsCredentials.md +5 -0
  92. package/build/src/third_party/issue-descriptions/corsWildcardOriginNotAllowed.md +8 -0
  93. package/build/src/third_party/issue-descriptions/cspEvalViolation.md +9 -0
  94. package/build/src/third_party/issue-descriptions/cspInlineViolation.md +10 -0
  95. package/build/src/third_party/issue-descriptions/cspTrustedTypesPolicyViolation.md +5 -0
  96. package/build/src/third_party/issue-descriptions/cspTrustedTypesSinkViolation.md +8 -0
  97. package/build/src/third_party/issue-descriptions/cspURLViolation.md +10 -0
  98. package/build/src/third_party/issue-descriptions/deprecation.md +3 -0
  99. package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
  100. package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
  101. package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
  102. package/build/src/third_party/issue-descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
  103. package/build/src/third_party/issue-descriptions/federatedAuthRequestCanceled.md +1 -0
  104. package/build/src/third_party/issue-descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +1 -0
  105. package/build/src/third_party/issue-descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +1 -0
  106. package/build/src/third_party/issue-descriptions/federatedAuthRequestClientMetadataNoResponse.md +1 -0
  107. package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
  108. package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorIdToken.md +1 -0
  109. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
  110. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
  111. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
  112. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
  113. package/build/src/third_party/issue-descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
  114. package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
  115. package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
  116. package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
  117. package/build/src/third_party/issue-descriptions/federatedAuthRequestTooManyRequests.md +1 -0
  118. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
  119. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
  120. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
  121. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
  122. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
  123. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
  124. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
  125. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
  126. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
  127. package/build/src/third_party/issue-descriptions/fetchingPartitionedBlobURL.md +7 -0
  128. package/build/src/third_party/issue-descriptions/genericFormAriaLabelledByToNonExistingIdError.md +8 -0
  129. package/build/src/third_party/issue-descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
  130. package/build/src/third_party/issue-descriptions/genericFormDuplicateIdForInputError.md +5 -0
  131. package/build/src/third_party/issue-descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
  132. package/build/src/third_party/issue-descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
  133. package/build/src/third_party/issue-descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
  134. package/build/src/third_party/issue-descriptions/genericFormInputWithNoLabelError.md +5 -0
  135. package/build/src/third_party/issue-descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
  136. package/build/src/third_party/issue-descriptions/genericFormLabelForNameError.md +5 -0
  137. package/build/src/third_party/issue-descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +5 -0
  138. package/build/src/third_party/issue-descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
  139. package/build/src/third_party/issue-descriptions/genericResponseWasBlockedByORB.md +4 -0
  140. package/build/src/third_party/issue-descriptions/heavyAd.md +10 -0
  141. package/build/src/third_party/issue-descriptions/mixedContent.md +5 -0
  142. package/build/src/third_party/issue-descriptions/navigatingPartitionedBlobURL.md +5 -0
  143. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabled.md +7 -0
  144. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
  145. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
  146. package/build/src/third_party/issue-descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
  147. package/build/src/third_party/issue-descriptions/permissionElementFencedFrameDisallowed.md +5 -0
  148. package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooLarge.md +5 -0
  149. package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooSmall.md +5 -0
  150. package/build/src/third_party/issue-descriptions/permissionElementGeolocationDeprecated.md +5 -0
  151. package/build/src/third_party/issue-descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
  152. package/build/src/third_party/issue-descriptions/permissionElementInvalidDisplayStyle.md +5 -0
  153. package/build/src/third_party/issue-descriptions/permissionElementInvalidSizeValue.md +5 -0
  154. package/build/src/third_party/issue-descriptions/permissionElementInvalidType.md +5 -0
  155. package/build/src/third_party/issue-descriptions/permissionElementInvalidTypeActivation.md +5 -0
  156. package/build/src/third_party/issue-descriptions/permissionElementLowContrast.md +5 -0
  157. package/build/src/third_party/issue-descriptions/permissionElementNonOpaqueColor.md +5 -0
  158. package/build/src/third_party/issue-descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
  159. package/build/src/third_party/issue-descriptions/permissionElementPaddingRightUnsupported.md +6 -0
  160. package/build/src/third_party/issue-descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
  161. package/build/src/third_party/issue-descriptions/permissionElementRegistrationFailed.md +5 -0
  162. package/build/src/third_party/issue-descriptions/permissionElementRequestInProgress.md +5 -0
  163. package/build/src/third_party/issue-descriptions/permissionElementSecurityChecksFailed.md +5 -0
  164. package/build/src/third_party/issue-descriptions/permissionElementTypeNotSupported.md +5 -0
  165. package/build/src/third_party/issue-descriptions/permissionElementUntrustedEvent.md +7 -0
  166. package/build/src/third_party/issue-descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
  167. package/build/src/third_party/issue-descriptions/propertyRuleInvalidNameIssue.md +3 -0
  168. package/build/src/third_party/issue-descriptions/propertyRuleIssue.md +7 -0
  169. package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
  170. package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
  171. package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
  172. package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
  173. package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
  174. package/build/src/third_party/issue-descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
  175. package/build/src/third_party/issue-descriptions/sharedArrayBuffer.md +7 -0
  176. package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
  177. package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
  178. package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
  179. package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
  180. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
  181. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
  182. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
  183. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
  184. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
  185. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
  186. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
  187. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
  188. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
  189. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
  190. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
  191. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
  192. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
  193. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
  194. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
  195. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
  196. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
  197. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
  198. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
  199. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
  200. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
  201. package/build/src/third_party/issue-descriptions/sriInvalidSignatureHeader.md +14 -0
  202. package/build/src/third_party/issue-descriptions/sriInvalidSignatureInputHeader.md +15 -0
  203. package/build/src/third_party/issue-descriptions/sriMissingSignatureHeader.md +8 -0
  204. package/build/src/third_party/issue-descriptions/sriMissingSignatureInputHeader.md +7 -0
  205. package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
  206. package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
  207. package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
  208. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
  209. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
  210. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
  211. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
  212. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
  213. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
  214. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
  215. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
  216. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
  217. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
  218. package/build/src/third_party/issue-descriptions/sriValidationFailedIntegrityMismatch.md +10 -0
  219. package/build/src/third_party/issue-descriptions/sriValidationFailedInvalidLength.md +5 -0
  220. package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureExpired.md +6 -0
  221. package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureMismatch.md +11 -0
  222. package/build/src/third_party/issue-descriptions/stylesheetLateImport.md +4 -0
  223. package/build/src/third_party/issue-descriptions/stylesheetRequestFailed.md +3 -0
  224. package/build/src/third_party/issue-descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
  225. package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
  226. package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestType.md +17 -0
  227. package/build/src/third_party/issue-descriptions/unencodedDigestMalformedDictionary.md +14 -0
  228. package/build/src/third_party/issue-descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
  229. package/build/src/tools/ToolDefinition.js +2 -2
  230. package/build/src/tools/categories.js +17 -9
  231. package/build/src/tools/console.js +73 -7
  232. package/build/src/tools/emulation.js +64 -38
  233. package/build/src/tools/input.js +113 -46
  234. package/build/src/tools/network.js +44 -14
  235. package/build/src/tools/pages.js +84 -52
  236. package/build/src/tools/performance.js +14 -12
  237. package/build/src/tools/screenshot.js +14 -11
  238. package/build/src/tools/script.js +29 -15
  239. package/build/src/tools/snapshot.js +27 -23
  240. package/build/src/tools/tools.js +29 -0
  241. package/build/src/trace-processing/parse.js +17 -26
  242. package/build/src/utils/keyboard.js +296 -0
  243. package/build/src/utils/types.js +6 -0
  244. package/package.json +34 -25
  245. package/build/node_modules/chrome-devtools-frontend/LICENSE +0 -27
  246. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/App.js +0 -4
  247. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/AppProvider.js +0 -17
  248. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Base64.js +0 -43
  249. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/CharacterIdMap.js +0 -27
  250. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Color.js +0 -2029
  251. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorConverter.js +0 -330
  252. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorUtils.js +0 -221
  253. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Console.js +0 -86
  254. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Debouncer.js +0 -14
  255. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/EventTarget.js +0 -14
  256. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Gzip.js +0 -64
  257. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/JavaScriptMetaData.js +0 -4
  258. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Lazy.js +0 -29
  259. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Linkifier.js +0 -34
  260. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/MapWithDefault.js +0 -20
  261. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Mutex.js +0 -49
  262. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Object.js +0 -86
  263. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +0 -459
  264. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Progress.js +0 -144
  265. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/QueryParamHandler.js +0 -4
  266. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResolverBase.js +0 -69
  267. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResourceType.js +0 -506
  268. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ReturnToPanel.js +0 -13
  269. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +0 -159
  270. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Runnable.js +0 -24
  271. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SegmentedRange.js +0 -79
  272. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SettingRegistration.js +0 -164
  273. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +0 -1252
  274. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SimpleHistoryManager.js +0 -97
  275. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/StringOutputStream.js +0 -17
  276. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/TextDictionary.js +0 -40
  277. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +0 -71
  278. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Trie.js +0 -127
  279. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Worker.js +0 -44
  280. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +0 -44
  281. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +0 -415
  282. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +0 -186
  283. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +0 -513
  284. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostAPI.js +0 -66
  285. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/Platform.js +0 -59
  286. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +0 -232
  287. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +0 -957
  288. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/host.js +0 -12
  289. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +0 -60
  290. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +0 -199
  291. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Brand.js +0 -4
  292. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Constructor.js +0 -4
  293. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DOMUtilities.js +0 -122
  294. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DateUtilities.js +0 -13
  295. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DevToolsPath.js +0 -27
  296. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/KeyboardUtilities.js +0 -21
  297. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MapUtilities.js +0 -79
  298. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MimeType.js +0 -143
  299. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/NumberUtilities.js +0 -72
  300. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +0 -536
  301. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Timing.js +0 -9
  302. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypedArrayUtilities.js +0 -157
  303. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypescriptUtilities.js +0 -24
  304. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UIString.js +0 -4
  305. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UserVisibleError.js +0 -22
  306. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/platform.js +0 -26
  307. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +0 -802
  308. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/NodeURL.js +0 -31
  309. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +0 -13
  310. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/Runtime.js +0 -4
  311. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +0 -5
  312. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AccessibilityModel.js +0 -281
  313. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +0 -846
  314. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AutofillModel.js +0 -155
  315. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUProfilerModel.js +0 -99
  316. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +0 -220
  317. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSContainerQuery.js +0 -98
  318. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSFontFace.js +0 -31
  319. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSLayer.js +0 -22
  320. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +0 -1284
  321. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMedia.js +0 -100
  322. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +0 -1518
  323. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +0 -908
  324. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +0 -315
  325. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParser.js +0 -572
  326. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +0 -1336
  327. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSQuery.js +0 -53
  328. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +0 -365
  329. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSScope.js +0 -22
  330. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStartingStyle.js +0 -21
  331. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleDeclaration.js +0 -275
  332. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleSheetHeader.js +0 -166
  333. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSSupports.js +0 -24
  334. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CategorizedBreakpoint.js +0 -29
  335. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +0 -232
  336. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CompilerSourceMappingContentProvider.js +0 -47
  337. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Connections.js +0 -242
  338. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +0 -629
  339. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModelTypes.js +0 -14
  340. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +0 -241
  341. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +0 -198
  342. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieParser.js +0 -163
  343. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMDebuggerModel.js +0 -597
  344. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +0 -1628
  345. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +0 -1231
  346. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EmulationModel.js +0 -527
  347. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EnhancedTracesParser.js +0 -350
  348. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EventBreakpointsModel.js +0 -125
  349. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameAssociated.js +0 -4
  350. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameManager.js +0 -199
  351. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +0 -130
  352. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HttpReasonPhraseStrings.js +0 -73
  353. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +0 -83
  354. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IsolateManager.js +0 -208
  355. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IssuesModel.js +0 -41
  356. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LayerTreeBase.js +0 -95
  357. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LogModel.js +0 -34
  358. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +0 -1916
  359. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +0 -1668
  360. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayColorGenerator.js +0 -48
  361. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +0 -765
  362. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayPersistentHighlighter.js +0 -384
  363. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageLoad.js +0 -25
  364. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +0 -300
  365. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PaintProfiler.js +0 -67
  366. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PerformanceMetricsModel.js +0 -62
  367. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +0 -563
  368. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +0 -290
  369. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingObject.js +0 -4
  370. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +0 -905
  371. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Resource.js +0 -163
  372. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +0 -922
  373. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RuntimeModel.js +0 -535
  374. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SDKModel.js +0 -45
  375. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScreenCaptureModel.js +0 -174
  376. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Script.js +0 -395
  377. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SecurityOriginManager.js +0 -54
  378. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEvents.js +0 -67
  379. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +0 -110
  380. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerTiming.js +0 -216
  381. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerCacheModel.js +0 -271
  382. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerManager.js +0 -511
  383. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +0 -651
  384. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +0 -41
  385. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapFunctionRanges.js +0 -132
  386. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +0 -189
  387. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopeChainEntry.js +0 -156
  388. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +0 -276
  389. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageBucketsModel.js +0 -143
  390. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageKeyManager.js +0 -53
  391. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +0 -262
  392. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +0 -386
  393. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +0 -52
  394. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/WebAuthnModel.js +0 -66
  395. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +0 -1117
  396. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk.js +0 -90
  397. package/build/node_modules/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +0 -1513
  398. package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +0 -339
  399. package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +0 -1562
  400. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +0 -7514
  401. package/build/node_modules/chrome-devtools-frontend/front_end/generated/protocol.js +0 -4
  402. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +0 -262
  403. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +0 -979
  404. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +0 -613
  405. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +0 -139
  406. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +0 -372
  407. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js +0 -132
  408. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +0 -105
  409. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +0 -243
  410. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +0 -407
  411. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ContentProviderBasedProject.js +0 -130
  412. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +0 -992
  413. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +0 -574
  414. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DefaultScriptMapping.js +0 -112
  415. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/FileUtils.js +0 -186
  416. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/LiveLocation.js +0 -60
  417. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/NetworkProject.js +0 -107
  418. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/PresentationConsoleMessageHelper.js +0 -244
  419. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +0 -473
  420. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +0 -399
  421. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceUtils.js +0 -87
  422. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +0 -181
  423. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/StylesSourceMapping.js +0 -268
  424. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/TempFile.js +0 -55
  425. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/bindings.js +0 -20
  426. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +0 -514
  427. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +0 -90
  428. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +0 -6
  429. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +0 -283
  430. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/crux-manager.js +0 -4
  431. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +0 -775
  432. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +0 -1706
  433. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/emulation.js +0 -6
  434. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +0 -131
  435. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/ScriptFormatter.js +0 -77
  436. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/formatter.js +0 -6
  437. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/GeometryImpl.js +0 -347
  438. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/geometry.js +0 -4
  439. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/LogManager.js +0 -67
  440. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +0 -494
  441. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +0 -49
  442. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +0 -73
  443. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs.js +0 -7
  444. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +0 -4
  445. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +0 -256
  446. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +0 -120
  447. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +0 -6
  448. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +0 -626
  449. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeChainModel.js +0 -59
  450. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeTreeCache.js +0 -32
  451. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +0 -7
  452. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +0 -4
  453. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +0 -67
  454. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +0 -97
  455. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/Trie.js +0 -113
  456. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace.js +0 -5
  457. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace_impl.js +0 -7
  458. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +0 -32
  459. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +0 -173
  460. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +0 -30
  461. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +0 -32
  462. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +0 -79
  463. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/Text.js +0 -69
  464. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +0 -35
  465. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +0 -231
  466. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +0 -355
  467. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +0 -68
  468. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +0 -14
  469. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +0 -122
  470. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +0 -81
  471. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +0 -370
  472. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +0 -166
  473. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Name.js +0 -114
  474. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +0 -555
  475. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +0 -815
  476. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +0 -44
  477. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +0 -76
  478. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +0 -162
  479. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +0 -191
  480. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +0 -118
  481. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +0 -50
  482. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +0 -592
  483. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +0 -10
  484. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +0 -109
  485. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +0 -26
  486. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +0 -187
  487. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +0 -162
  488. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +0 -21
  489. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +0 -263
  490. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +0 -148
  491. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +0 -483
  492. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +0 -35
  493. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +0 -147
  494. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +0 -180
  495. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +0 -126
  496. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +0 -85
  497. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +0 -27
  498. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +0 -103
  499. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +0 -445
  500. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +0 -21
  501. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +0 -401
  502. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +0 -33
  503. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +0 -540
  504. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +0 -42
  505. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +0 -349
  506. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +0 -346
  507. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +0 -207
  508. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +0 -97
  509. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +0 -252
  510. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +0 -71
  511. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +0 -101
  512. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +0 -317
  513. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +0 -183
  514. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +0 -134
  515. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +0 -33
  516. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +0 -7
  517. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +0 -163
  518. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +0 -1
  519. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +0 -41
  520. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +0 -102
  521. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +0 -495
  522. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +0 -74
  523. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +0 -184
  524. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +0 -806
  525. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +0 -254
  526. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +0 -10
  527. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +0 -488
  528. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +0 -208
  529. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +0 -340
  530. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +0 -180
  531. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +0 -257
  532. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +0 -89
  533. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +0 -81
  534. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +0 -160
  535. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +0 -117
  536. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +0 -262
  537. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +0 -188
  538. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +0 -182
  539. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +0 -89
  540. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +0 -21
  541. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +0 -199
  542. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +0 -544
  543. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +0 -191
  544. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +0 -135
  545. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +0 -92
  546. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +0 -97
  547. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +0 -101
  548. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +0 -9
  549. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/types.js +0 -18
  550. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +0 -6
  551. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +0 -488
  552. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +0 -5
  553. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +0 -276
  554. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +0 -63
  555. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +0 -82
  556. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +0 -551
  557. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +0 -7
  558. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +0 -9
  559. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +0 -136
  560. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +0 -67
  561. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +0 -68
  562. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +0 -48
  563. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +0 -68
  564. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +0 -101
  565. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +0 -64
  566. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +0 -78
  567. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +0 -11
  568. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +0 -115
  569. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +0 -42
  570. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +0 -47
  571. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +0 -134
  572. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +0 -450
  573. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +0 -154
  574. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +0 -9
  575. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +0 -24
  576. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +0 -4
  577. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js +0 -17
  578. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +0 -18
  579. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +0 -37
  580. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/File.js +0 -57
  581. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +0 -4
  582. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +0 -15
  583. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +0 -574
  584. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/types.js +0 -9
  585. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/SourceMapsResolver.js +0 -201
  586. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.js +0 -4
  587. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/FileManager.js +0 -64
  588. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +0 -511
  589. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/SearchConfig.js +0 -113
  590. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +0 -563
  591. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +0 -204
  592. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace.js +0 -9
  593. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/codemirror.next/codemirror.next.js +0 -1
  594. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/LICENSE +0 -202
  595. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +0 -2
  596. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -940
  597. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/LICENSE +0 -26
  598. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
  599. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -226
  600. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -4
  601. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -394
  602. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -24
  603. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -283
  604. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -7
  605. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
  606. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -84
  607. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +0 -4
  608. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/LICENSE +0 -20
  609. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -146
  610. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -2
  611. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -2
  612. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -118
  613. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -40
  614. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -26
  615. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +0 -4
  616. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +0 -215
  617. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -4
  618. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -4
  619. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -4
  620. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +0 -2
  621. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +0 -2
@@ -1,806 +0,0 @@
1
- // Copyright 2022 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
- import * as Common from '../../../core/common/common.js';
5
- import * as Platform from '../../../core/platform/platform.js';
6
- import * as Types from '../types/types.js';
7
- import { SyntheticEventsManager } from './SyntheticEvents.js';
8
- import { eventTimingsMicroSeconds } from './Timing.js';
9
- /**
10
- * Extracts the raw stack trace in known trace events. Most likely than
11
- * not you want to use `getZeroIndexedStackTraceForEvent`, which returns
12
- * the stack with zero based numbering. Since some trace events are
13
- * one based this function can yield unexpected results when used
14
- * indiscriminately.
15
- *
16
- * Note: this only returns the stack trace contained in the payload of
17
- * an event, which only contains the synchronous portion of the call
18
- * stack. If you want to obtain the whole stack trace you might need to
19
- * use the @see Trace.Extras.StackTraceForEvent util.
20
- */
21
- export function stackTraceInEvent(event) {
22
- if (event.args?.data?.stackTrace) {
23
- return event.args.data.stackTrace;
24
- }
25
- if (event.args?.stackTrace) {
26
- return event.args.stackTrace;
27
- }
28
- if (Types.Events.isRecalcStyle(event)) {
29
- return event.args.beginData?.stackTrace || null;
30
- }
31
- if (Types.Events.isLayout(event)) {
32
- return event.args.beginData.stackTrace ?? null;
33
- }
34
- if (Types.Events.isFunctionCall(event)) {
35
- const data = event.args.data;
36
- if (!data) {
37
- return null;
38
- }
39
- const { columnNumber, lineNumber, url, scriptId, functionName } = data;
40
- if (lineNumber === undefined || functionName === undefined || columnNumber === undefined ||
41
- scriptId === undefined || url === undefined) {
42
- return null;
43
- }
44
- return [{ columnNumber, lineNumber, url, scriptId, functionName }];
45
- }
46
- if (Types.Events.isProfileCall(event)) {
47
- // Of type Protocol.Runtime.CallFrame, handle accordingly.
48
- const callFrame = event.callFrame;
49
- if (!callFrame) {
50
- return null;
51
- }
52
- const { columnNumber, lineNumber, url, scriptId, functionName } = callFrame;
53
- if (lineNumber === undefined || functionName === undefined || columnNumber === undefined ||
54
- scriptId === undefined || url === undefined) {
55
- return null;
56
- }
57
- return [{ columnNumber, lineNumber, url, scriptId, functionName }];
58
- }
59
- return null;
60
- }
61
- export function extractOriginFromTrace(firstNavigationURL) {
62
- const url = Common.ParsedURL.ParsedURL.fromString(firstNavigationURL);
63
- if (url) {
64
- // We do this to save some space in the toolbar - seeing the `www` is less
65
- // useful than seeing `foo.com` if it's truncated at narrow widths
66
- if (url.host.startsWith('www.')) {
67
- return url.host.slice(4);
68
- }
69
- return url.host;
70
- }
71
- return null;
72
- }
73
- // Each thread contains events. Events indicate the thread and process IDs, which are
74
- // used to store the event in the correct process thread entry below.
75
- export function addEventToProcessThread(event, eventsInProcessThread) {
76
- const { tid, pid } = event;
77
- let eventsInThread = eventsInProcessThread.get(pid);
78
- if (!eventsInThread) {
79
- eventsInThread = new Map();
80
- }
81
- let events = eventsInThread.get(tid);
82
- if (!events) {
83
- events = [];
84
- }
85
- events.push(event);
86
- eventsInThread.set(event.tid, events);
87
- eventsInProcessThread.set(event.pid, eventsInThread);
88
- }
89
- export function compareBeginAndEnd(aBeginTime, bBeginTime, aEndTime, bEndTime) {
90
- if (aBeginTime < bBeginTime) {
91
- return -1;
92
- }
93
- if (aBeginTime > bBeginTime) {
94
- return 1;
95
- }
96
- if (aEndTime > bEndTime) {
97
- return -1;
98
- }
99
- if (aEndTime < bEndTime) {
100
- return 1;
101
- }
102
- return 0;
103
- }
104
- export function eventTimeComparator(a, b) {
105
- const aBeginTime = a.ts;
106
- const bBeginTime = b.ts;
107
- const aDuration = a.dur ?? 0;
108
- const bDuration = b.dur ?? 0;
109
- const aEndTime = aBeginTime + aDuration;
110
- const bEndTime = bBeginTime + bDuration;
111
- const timeDifference = compareBeginAndEnd(aBeginTime, bBeginTime, aEndTime, bEndTime);
112
- if (timeDifference) {
113
- return timeDifference;
114
- }
115
- // If times are equal, prioritize profile calls over trace events,
116
- // since an exactly equal timestamp with a trace event is likely
117
- // indicates that the SamplesIntegrator meant to parent the trace
118
- // event with the profile call.
119
- if (Types.Events.isProfileCall(a) && !Types.Events.isProfileCall(b)) {
120
- return -1;
121
- }
122
- if (Types.Events.isProfileCall(b) && !Types.Events.isProfileCall(a)) {
123
- return 1;
124
- }
125
- return 0;
126
- }
127
- /**
128
- * Sorts all the events in place, in order, by their start time. If they have
129
- * the same start time, orders them by longest first.
130
- */
131
- export function sortTraceEventsInPlace(events) {
132
- events.sort(eventTimeComparator);
133
- }
134
- /**
135
- * Returns an array of ordered events that results after merging the two
136
- * ordered input arrays.
137
- */
138
- export function mergeEventsInOrder(eventsArray1, eventsArray2) {
139
- const result = [];
140
- let i = 0;
141
- let j = 0;
142
- while (i < eventsArray1.length && j < eventsArray2.length) {
143
- const event1 = eventsArray1[i];
144
- const event2 = eventsArray2[j];
145
- const compareValue = eventTimeComparator(event1, event2);
146
- if (compareValue <= 0) {
147
- result.push(event1);
148
- i++;
149
- }
150
- if (compareValue === 1) {
151
- result.push(event2);
152
- j++;
153
- }
154
- }
155
- while (i < eventsArray1.length) {
156
- result.push(eventsArray1[i++]);
157
- }
158
- while (j < eventsArray2.length) {
159
- result.push(eventsArray2[j++]);
160
- }
161
- return result;
162
- }
163
- export function parseDevtoolsDetails(timingDetail, key) {
164
- try {
165
- // Attempt to parse the detail as an object that might be coming from a
166
- // DevTools Perf extension.
167
- // Wrapped in a try-catch because timingDetail might either:
168
- // 1. Not be `json.parse`-able (it should, but just in case...)
169
- // 2. Not be an object - in which case the `in` check will error.
170
- // If we hit either of these cases, we just ignore this mark and move on.
171
- const detailObj = JSON.parse(timingDetail);
172
- if (!(key in detailObj)) {
173
- return null;
174
- }
175
- if (!Types.Extensions.isValidExtensionPayload(detailObj[key])) {
176
- return null;
177
- }
178
- return detailObj[key];
179
- }
180
- catch {
181
- // No need to worry about this error, just discard this event and don't
182
- // treat it as having any useful information for the purposes of extensions.
183
- return null;
184
- }
185
- }
186
- export function getNavigationForTraceEvent(event, eventFrameId, navigationsByFrameId) {
187
- const navigations = navigationsByFrameId.get(eventFrameId);
188
- if (!navigations || eventFrameId === '') {
189
- // This event's navigation has been filtered out by the meta handler as a noise event
190
- // or contains an empty frameId.
191
- return null;
192
- }
193
- const eventNavigationIndex = Platform.ArrayUtilities.nearestIndexFromEnd(navigations, navigation => navigation.ts <= event.ts);
194
- if (eventNavigationIndex === null) {
195
- // This event's navigation has been filtered out by the meta handler as a noise event.
196
- return null;
197
- }
198
- return navigations[eventNavigationIndex];
199
- }
200
- export function extractId(event) {
201
- return event.id ?? event.id2?.global ?? event.id2?.local;
202
- }
203
- export function activeURLForFrameAtTime(frameId, time, rendererProcessesByFrame) {
204
- const processData = rendererProcessesByFrame.get(frameId);
205
- if (!processData) {
206
- return null;
207
- }
208
- for (const processes of processData.values()) {
209
- for (const processInfo of processes) {
210
- if (processInfo.window.min > time || processInfo.window.max < time) {
211
- continue;
212
- }
213
- return processInfo.frame.url;
214
- }
215
- }
216
- return null;
217
- }
218
- /**
219
- * @param node the node attached to the profile call. Here a node represents a function in the call tree.
220
- * @param profileId the profile ID that the sample came from that backs this call.
221
- * @param sampleIndex the index of the sample in the given profile that this call was created from
222
- * @param ts the timestamp of the profile call
223
- * @param pid the process ID of the profile call
224
- * @param tid the thread ID of the profile call
225
- *
226
- * See `panels/timeline/docs/profile_calls.md` for more context on how these events are created.
227
- */
228
- export function makeProfileCall(node, profileId, sampleIndex, ts, pid, tid) {
229
- return {
230
- cat: '',
231
- name: 'ProfileCall',
232
- nodeId: node.id,
233
- args: {},
234
- ph: "X" /* Types.Events.Phase.COMPLETE */,
235
- pid,
236
- tid,
237
- ts,
238
- dur: Types.Timing.Micro(0),
239
- callFrame: node.callFrame,
240
- sampleIndex,
241
- profileId,
242
- };
243
- }
244
- /**
245
- * Matches beginning events with PairableAsyncEnd and PairableAsyncInstant
246
- * if provided. Traces may contain multiple instant events so we need to
247
- * account for that. Additionally we have seen cases where we might only have a
248
- * begin event & instant event(s), with no end event. So we account for that
249
- * situation also.
250
- *
251
- * You might also like to read the models/trace/README.md which has some
252
- * documentation on trace IDs. This is important as Perfetto will reuse trace
253
- * IDs when emitting events (if they do not overlap). This means it's not as
254
- * simple as grouping events by IDs. Instead, we group begin & instant events
255
- * by ID as we find them. When we find end events, we then pop any matching
256
- * begin/instant events off the stack and group those. That way, if we meet the
257
- * same ID later on it doesn't cause us collisions.
258
- *
259
- * @returns An array of all the matched event groups, along with their ID. Note
260
- * that two event groups can have the same ID if they were non-overlapping
261
- * events. You cannot rely on ID being unique across a trace. The returned set
262
- * of groups are NOT SORTED in any order.
263
- */
264
- function matchEvents(unpairedEvents) {
265
- sortTraceEventsInPlace(unpairedEvents);
266
- // map to store begin and end of the event
267
- const matches = [];
268
- const beginEventsById = new Map();
269
- const instantEventsById = new Map();
270
- for (const event of unpairedEvents) {
271
- const id = getSyntheticId(event);
272
- if (id === undefined) {
273
- continue;
274
- }
275
- if (Types.Events.isPairableAsyncBegin(event)) {
276
- const existingEvents = beginEventsById.get(id) ?? [];
277
- existingEvents.push(event);
278
- beginEventsById.set(id, existingEvents);
279
- }
280
- else if (Types.Events.isPairableAsyncInstant(event)) {
281
- const existingEvents = instantEventsById.get(id) ?? [];
282
- existingEvents.push(event);
283
- instantEventsById.set(id, existingEvents);
284
- }
285
- else if (Types.Events.isPairableAsyncEnd(event)) {
286
- // Find matching begin event by ID
287
- const beginEventsWithMatchingId = beginEventsById.get(id) ?? [];
288
- const beginEvent = beginEventsWithMatchingId.pop();
289
- if (!beginEvent) {
290
- continue;
291
- }
292
- const instantEventsWithMatchingId = instantEventsById.get(id) ?? [];
293
- // Find all instant events after the begin event ts.
294
- const instantEventsForThisGroup = [];
295
- while (instantEventsWithMatchingId.length > 0) {
296
- if (instantEventsWithMatchingId[0].ts >= beginEvent.ts) {
297
- const event = instantEventsWithMatchingId.pop();
298
- if (event) {
299
- instantEventsForThisGroup.push(event);
300
- }
301
- }
302
- else {
303
- break;
304
- }
305
- }
306
- const matchingGroup = {
307
- begin: beginEvent,
308
- end: event,
309
- instant: instantEventsForThisGroup,
310
- syntheticId: id,
311
- };
312
- matches.push(matchingGroup);
313
- }
314
- }
315
- // At this point we know we have paired up all the Begin & End & Instant
316
- // events. But it is possible to see only begin & instant events with the
317
- // same ID, and no end event. So now we do a second pass through our begin
318
- // events to find any that did not have an end event. If we find some
319
- // instant events for the begin event, we create a new group.
320
- // Also, because there were no end events, we know that the IDs will be
321
- // unique now; e.g. each key in the map should have no more than one item in
322
- // it.
323
- for (const [id, beginEvents] of beginEventsById) {
324
- const beginEvent = beginEvents.pop();
325
- if (!beginEvent) {
326
- continue;
327
- }
328
- const matchingInstantEvents = instantEventsById.get(id);
329
- if (matchingInstantEvents?.length) {
330
- matches.push({
331
- syntheticId: id,
332
- begin: beginEvent,
333
- end: null,
334
- instant: matchingInstantEvents,
335
- });
336
- }
337
- }
338
- return matches;
339
- }
340
- export function getSyntheticId(event) {
341
- const id = extractId(event);
342
- return id && `${event.cat}:${id}:${event.name}`;
343
- }
344
- function createSortedSyntheticEvents(matchedPairs) {
345
- const syntheticEvents = [];
346
- for (const eventsTriplet of matchedPairs) {
347
- const id = eventsTriplet.syntheticId;
348
- const beginEvent = eventsTriplet.begin;
349
- const endEvent = eventsTriplet.end;
350
- const instantEvents = eventsTriplet.instant;
351
- if (!beginEvent || !(endEvent || instantEvents)) {
352
- // This should never happen, the backend only creates the events once it
353
- // has them both (beginEvent & endEvent/instantEvents), so we should never get into this state.
354
- // If we do, something is very wrong, so let's just drop that problematic event.
355
- continue;
356
- }
357
- const triplet = { beginEvent, endEvent, instantEvents };
358
- /**
359
- * When trying to pair events with instant events present, there are times when these
360
- * ASYNC_NESTABLE_INSTANT ('n') don't have a corresponding ASYNC_NESTABLE_END ('e') event.
361
- * In these cases, pair without needing the endEvent.
362
- */
363
- function eventsArePairable(data) {
364
- const instantEventsMatch = data.instantEvents ? data.instantEvents.some(e => id === getSyntheticId(e)) : false;
365
- const endEventMatch = data.endEvent ? id === getSyntheticId(data.endEvent) : false;
366
- return Boolean(id) && (instantEventsMatch || endEventMatch);
367
- }
368
- if (!eventsArePairable(triplet)) {
369
- continue;
370
- }
371
- const targetEvent = endEvent || beginEvent;
372
- const event = SyntheticEventsManager.registerSyntheticEvent({
373
- rawSourceEvent: triplet.beginEvent,
374
- cat: targetEvent.cat,
375
- ph: targetEvent.ph,
376
- pid: targetEvent.pid,
377
- tid: targetEvent.tid,
378
- id,
379
- // Both events have the same name, so it doesn't matter which we pick to
380
- // use as the description
381
- name: beginEvent.name,
382
- dur: Types.Timing.Micro(targetEvent.ts - beginEvent.ts),
383
- ts: beginEvent.ts,
384
- args: {
385
- data: triplet,
386
- },
387
- });
388
- if (event.dur < 0) {
389
- // We have seen in the backend that sometimes animation events get
390
- // generated with multiple begin entries, or multiple end entries, and this
391
- // can cause invalid data on the performance panel, so we drop them.
392
- // crbug.com/1472375
393
- continue;
394
- }
395
- syntheticEvents.push(event);
396
- }
397
- sortTraceEventsInPlace(syntheticEvents);
398
- return syntheticEvents;
399
- }
400
- /**
401
- * Groups up sets of async events into synthetic events.
402
- * @param unpairedAsyncEvents the raw array of begin, end and async instant
403
- * events. These MUST be sorted in timestamp ASC order.
404
- */
405
- export function createMatchedSortedSyntheticEvents(unpairedAsyncEvents) {
406
- const matchedPairs = matchEvents(unpairedAsyncEvents);
407
- const syntheticEvents = createSortedSyntheticEvents(matchedPairs);
408
- return syntheticEvents;
409
- }
410
- /**
411
- * Different trace events return line/column numbers that are 1 or 0 indexed.
412
- * This function knows which events return 1 indexed numbers and normalizes
413
- * them. The UI expects 0 indexed line numbers, so that is what we return.
414
- */
415
- export function getZeroIndexedLineAndColumnForEvent(event) {
416
- // Some events emit line numbers that are 1 indexed, but the UI layer expects
417
- // numbers to be 0 indexed. So here, if the event matches a known 1-indexed
418
- // number event, we subtract one from the line and column numbers.
419
- // Otherwise, if the event has args.data.lineNumber/colNumber, we return it
420
- // as is.
421
- const numbers = getRawLineAndColumnNumbersForEvent(event);
422
- const { lineNumber, columnNumber } = numbers;
423
- switch (event.name) {
424
- // All these events have line/column numbers which are 1 indexed; so we
425
- // subtract to make them 0 indexed.
426
- case "FunctionCall" /* Types.Events.Name.FUNCTION_CALL */:
427
- case "EvaluateScript" /* Types.Events.Name.EVALUATE_SCRIPT */:
428
- case "v8.compile" /* Types.Events.Name.COMPILE */:
429
- case "v8.produceCache" /* Types.Events.Name.CACHE_SCRIPT */: {
430
- return {
431
- lineNumber: typeof lineNumber === 'number' ? lineNumber - 1 : undefined,
432
- columnNumber: typeof columnNumber === 'number' ? columnNumber - 1 : undefined,
433
- };
434
- }
435
- case "ProfileCall" /* Types.Events.Name.PROFILE_CALL */: {
436
- const callFrame = event.callFrame;
437
- return {
438
- lineNumber: typeof lineNumber === 'number' ? callFrame.lineNumber - 1 : undefined,
439
- columnNumber: typeof columnNumber === 'number' ? callFrame.columnNumber - 1 : undefined,
440
- };
441
- }
442
- default: {
443
- return numbers;
444
- }
445
- }
446
- }
447
- /**
448
- * Different trace events contain stack traces with line/column numbers
449
- * that are 1 or 0 indexed.
450
- * This function knows which events return 1 indexed numbers and normalizes
451
- * them. The UI expects 0 indexed line numbers, so that is what we return.
452
- *
453
- * Note: this only returns the stack trace contained in the payload of
454
- * an event, which only contains the synchronous portion of the call
455
- * stack. If you want to obtain the whole stack trace you might need to
456
- * use the @see Trace.Extras.StackTraceForEvent util.
457
- */
458
- export function getZeroIndexedStackTraceInEventPayload(event) {
459
- const stack = stackTraceInEvent(event);
460
- if (!stack) {
461
- return null;
462
- }
463
- switch (event.name) {
464
- case "ScheduleStyleRecalculation" /* Types.Events.Name.SCHEDULE_STYLE_RECALCULATION */:
465
- case "InvalidateLayout" /* Types.Events.Name.INVALIDATE_LAYOUT */:
466
- case "FunctionCall" /* Types.Events.Name.FUNCTION_CALL */:
467
- case "Layout" /* Types.Events.Name.LAYOUT */:
468
- case "UpdateLayoutTree" /* Types.Events.Name.RECALC_STYLE */: {
469
- return stack.map(makeZeroBasedCallFrame);
470
- }
471
- default: {
472
- if (Types.Events.isUserTiming(event) || Types.Extensions.isSyntheticExtensionEntry(event)) {
473
- return stack.map(makeZeroBasedCallFrame);
474
- }
475
- return stack;
476
- }
477
- }
478
- }
479
- /**
480
- * Same as getZeroIndexedStackTraceInEventPayload, but only returns the top call frame.
481
- */
482
- export function getStackTraceTopCallFrameInEventPayload(event) {
483
- const stack = stackTraceInEvent(event);
484
- if (!stack || stack.length === 0) {
485
- return null;
486
- }
487
- switch (event.name) {
488
- case "ScheduleStyleRecalculation" /* Types.Events.Name.SCHEDULE_STYLE_RECALCULATION */:
489
- case "InvalidateLayout" /* Types.Events.Name.INVALIDATE_LAYOUT */:
490
- case "FunctionCall" /* Types.Events.Name.FUNCTION_CALL */:
491
- case "Layout" /* Types.Events.Name.LAYOUT */:
492
- case "UpdateLayoutTree" /* Types.Events.Name.RECALC_STYLE */: {
493
- return makeZeroBasedCallFrame(stack[0]);
494
- }
495
- default: {
496
- if (Types.Events.isUserTiming(event) || Types.Extensions.isSyntheticExtensionEntry(event)) {
497
- return makeZeroBasedCallFrame(stack[0]);
498
- }
499
- return stack[0];
500
- }
501
- }
502
- }
503
- /**
504
- * Given a 1-based call frame creates a 0-based one.
505
- */
506
- export function makeZeroBasedCallFrame(callFrame) {
507
- const normalizedCallFrame = { ...callFrame };
508
- normalizedCallFrame.lineNumber = callFrame.lineNumber && callFrame.lineNumber - 1;
509
- normalizedCallFrame.columnNumber = callFrame.columnNumber && callFrame.columnNumber - 1;
510
- return normalizedCallFrame;
511
- }
512
- /**
513
- * NOTE: you probably do not want this function! (Which is why it is not exported).
514
- *
515
- * Some trace events have 0 indexed line/column numbers, and others have 1
516
- * indexed. This function does NOT normalize them, but
517
- * `getZeroIndexedLineAndColumnNumbersForEvent` does. It is best to use that!
518
- *
519
- * @see {@link getZeroIndexedLineAndColumnForEvent}
520
- **/
521
- function getRawLineAndColumnNumbersForEvent(event) {
522
- if (!event.args?.data) {
523
- return {
524
- lineNumber: undefined,
525
- columnNumber: undefined,
526
- };
527
- }
528
- let lineNumber = undefined;
529
- let columnNumber = undefined;
530
- if ('lineNumber' in event.args.data && typeof event.args.data.lineNumber === 'number') {
531
- lineNumber = event.args.data.lineNumber;
532
- }
533
- if ('columnNumber' in event.args.data && typeof event.args.data.columnNumber === 'number') {
534
- columnNumber = event.args.data.columnNumber;
535
- }
536
- return { lineNumber, columnNumber };
537
- }
538
- export function frameIDForEvent(event) {
539
- // There are a few events (for example RecalcStyle, ParseHTML) that have
540
- // the frame stored in args.beginData
541
- // Rather than list them all we just check for the presence of the field, so
542
- // we are robust against future trace events also doing this.
543
- // This check seems very robust, but it also helps satisfy TypeScript and
544
- // prevents us against unexpected data.
545
- if (event.args && 'beginData' in event.args && typeof event.args.beginData === 'object' &&
546
- event.args.beginData !== null && 'frame' in event.args.beginData &&
547
- typeof event.args.beginData.frame === 'string') {
548
- return event.args.beginData.frame;
549
- }
550
- // Otherwise, we expect frame to be in args.data
551
- if (event.args?.data?.frame) {
552
- return event.args.data.frame;
553
- }
554
- // No known frame for this event.
555
- return null;
556
- }
557
- const DevToolsTimelineEventCategory = 'disabled-by-default-devtools.timeline';
558
- export function isTopLevelEvent(event) {
559
- return event.cat.includes(DevToolsTimelineEventCategory) && event.name === "RunTask" /* Types.Events.Name.RUN_TASK */;
560
- }
561
- export function isExtensionUrl(url) {
562
- return url.startsWith('extensions:') || url.startsWith('chrome-extension:');
563
- }
564
- function topLevelEventIndexEndingAfter(events, time) {
565
- let index = Platform.ArrayUtilities.upperBound(events, time, (time, event) => time - event.ts) - 1;
566
- while (index > 0 && !isTopLevelEvent(events[index])) {
567
- index--;
568
- }
569
- return Math.max(index, 0);
570
- }
571
- export function findRecalcStyleEvents(events, startTime, endTime) {
572
- const foundEvents = [];
573
- const startEventIndex = topLevelEventIndexEndingAfter(events, startTime);
574
- for (let i = startEventIndex; i < events.length; i++) {
575
- const event = events[i];
576
- if (!Types.Events.isRecalcStyle(event)) {
577
- continue;
578
- }
579
- if (event.ts >= (endTime || Infinity)) {
580
- continue;
581
- }
582
- foundEvents.push(event);
583
- }
584
- return foundEvents;
585
- }
586
- export function findNextEventAfterTimestamp(candidates, ts) {
587
- const index = Platform.ArrayUtilities.nearestIndexFromBeginning(candidates, candidate => ts < candidate.ts);
588
- return index === null ? null : candidates[index];
589
- }
590
- export function findPreviousEventBeforeTimestamp(candidates, ts) {
591
- const index = Platform.ArrayUtilities.nearestIndexFromEnd(candidates, candidate => candidate.ts < ts);
592
- return index === null ? null : candidates[index];
593
- }
594
- /**
595
- * Iterates events in a tree hierarchically, from top to bottom,
596
- * calling back on every event's start and end in the order
597
- * dictated by the corresponding timestamp.
598
- *
599
- * Events are assumed to be in ascendent order by timestamp.
600
- *
601
- * Events with 0 duration are treated as instant events. These do not have a
602
- * begin and end, but will be passed to the config.onInstantEvent callback as
603
- * they are discovered. Do not provide this callback if you are not interested
604
- * in them.
605
- *
606
- * For example, given this tree, the following callbacks
607
- * are expected to be made in the following order
608
- * |---------------A---------------|
609
- * |------B------||-------D------|
610
- * |---C---|
611
- *
612
- * 1. Start A
613
- * 3. Start B
614
- * 4. Start C
615
- * 5. End C
616
- * 6. End B
617
- * 7. Start D
618
- * 8. End D
619
- * 9. End A
620
- *
621
- * By default, async events are skipped. This behaviour can be
622
- * overridden making use of the config.ignoreAsyncEvents parameter.
623
- */
624
- export function forEachEvent(events, config) {
625
- const globalStartTime = config.startTime ?? Types.Timing.Micro(0);
626
- const globalEndTime = config.endTime || Types.Timing.Micro(Infinity);
627
- const ignoreAsyncEvents = config.ignoreAsyncEvents === false ? false : true;
628
- const stack = [];
629
- const startEventIndex = topLevelEventIndexEndingAfter(events, globalStartTime);
630
- for (let i = startEventIndex; i < events.length; i++) {
631
- const currentEvent = events[i];
632
- const currentEventTimings = eventTimingsMicroSeconds(currentEvent);
633
- if (currentEventTimings.endTime < globalStartTime) {
634
- continue;
635
- }
636
- if (currentEventTimings.startTime > globalEndTime) {
637
- break;
638
- }
639
- const isIgnoredAsyncEvent = ignoreAsyncEvents && Types.Events.isPhaseAsync(currentEvent.ph);
640
- if (isIgnoredAsyncEvent || Types.Events.isFlowPhase(currentEvent.ph)) {
641
- continue;
642
- }
643
- // If we have now reached an event that is after a bunch of events, we need
644
- // to call the onEndEvent callback for those events before moving on.
645
- let lastEventOnStack = stack.at(-1);
646
- let lastEventEndTime = lastEventOnStack ? eventTimingsMicroSeconds(lastEventOnStack).endTime : null;
647
- while (lastEventOnStack && lastEventEndTime && lastEventEndTime <= currentEventTimings.startTime) {
648
- stack.pop();
649
- config.onEndEvent(lastEventOnStack);
650
- lastEventOnStack = stack.at(-1);
651
- lastEventEndTime = lastEventOnStack ? eventTimingsMicroSeconds(lastEventOnStack).endTime : null;
652
- }
653
- // Now we have dealt with all events prior to this one, see if we need to care about this one.
654
- if (config.eventFilter && !config.eventFilter(currentEvent)) {
655
- // The user has chosen to filter this event out, so continue on and do nothing
656
- continue;
657
- }
658
- if (currentEventTimings.duration) {
659
- config.onStartEvent(currentEvent);
660
- stack.push(currentEvent);
661
- }
662
- else if (config.onInstantEvent) {
663
- // An event with 0 duration is an instant event.
664
- config.onInstantEvent(currentEvent);
665
- }
666
- }
667
- // Now we have finished looping over all events; any events remaining on the
668
- // stack need to have their onEndEvent called.
669
- while (stack.length) {
670
- const last = stack.pop();
671
- if (last) {
672
- config.onEndEvent(last);
673
- }
674
- }
675
- }
676
- // Parsed categories are cached to prevent calling cat.split()
677
- // multiple times on the same categories string.
678
- const parsedCategories = new Map();
679
- export function eventHasCategory(event, category) {
680
- let parsedCategoriesForEvent = parsedCategories.get(event.cat);
681
- if (!parsedCategoriesForEvent) {
682
- parsedCategoriesForEvent = new Set(event.cat.split(',') || []);
683
- }
684
- return parsedCategoriesForEvent.has(category);
685
- }
686
- /**
687
- * This compares Types.Events.CallFrame with Protocol.Runtime.CallFrame and checks for equality.
688
- */
689
- export function isMatchingCallFrame(eventFrame, nodeFrame) {
690
- return eventFrame.columnNumber === nodeFrame.columnNumber && eventFrame.lineNumber === nodeFrame.lineNumber &&
691
- String(eventFrame.scriptId) === nodeFrame.scriptId && eventFrame.url === nodeFrame.url &&
692
- eventFrame.functionName === nodeFrame.functionName;
693
- }
694
- export function eventContainsTimestamp(event, ts) {
695
- return event.ts <= ts && event.ts + (event.dur || 0) >= ts;
696
- }
697
- export function extractSampleTraceId(event) {
698
- if (!event.args) {
699
- return null;
700
- }
701
- if ('beginData' in event.args) {
702
- const beginData = event.args['beginData'];
703
- return beginData.sampleTraceId ?? null;
704
- }
705
- return event.args?.sampleTraceId ?? event.args?.data?.sampleTraceId ?? null;
706
- }
707
- // This exactly matches Trace.Styles.visibleTypes. See the runtime verification in maybeInitStylesMap.
708
- // TODO(crbug.com/410884528)
709
- export const VISIBLE_TRACE_EVENT_TYPES = new Set([
710
- "AbortPostTaskCallback" /* Types.Events.Name.ABORT_POST_TASK_CALLBACK */,
711
- "Animation" /* Types.Events.Name.ANIMATION */,
712
- "AsyncTask" /* Types.Events.Name.ASYNC_TASK */,
713
- "v8.deserializeOnBackground" /* Types.Events.Name.BACKGROUND_DESERIALIZE */,
714
- "v8.produceModuleCache" /* Types.Events.Name.CACHE_MODULE */,
715
- "v8.produceCache" /* Types.Events.Name.CACHE_SCRIPT */,
716
- "CancelAnimationFrame" /* Types.Events.Name.CANCEL_ANIMATION_FRAME */,
717
- "CancelIdleCallback" /* Types.Events.Name.CANCEL_IDLE_CALLBACK */,
718
- "Commit" /* Types.Events.Name.COMMIT */,
719
- "V8.CompileCode" /* Types.Events.Name.COMPILE_CODE */,
720
- "V8.CompileModule" /* Types.Events.Name.COMPILE_MODULE */,
721
- "v8.compile" /* Types.Events.Name.COMPILE */,
722
- "CompositeLayers" /* Types.Events.Name.COMPOSITE_LAYERS */,
723
- "ComputeIntersections" /* Types.Events.Name.COMPUTE_INTERSECTION */,
724
- "ConsoleTime" /* Types.Events.Name.CONSOLE_TIME */,
725
- "CppGC.IncrementalSweep" /* Types.Events.Name.CPPGC_SWEEP */,
726
- "DoDecryptReply" /* Types.Events.Name.CRYPTO_DO_DECRYPT_REPLY */,
727
- "DoDecrypt" /* Types.Events.Name.CRYPTO_DO_DECRYPT */,
728
- "DoDigestReply" /* Types.Events.Name.CRYPTO_DO_DIGEST_REPLY */,
729
- "DoDigest" /* Types.Events.Name.CRYPTO_DO_DIGEST */,
730
- "DoEncryptReply" /* Types.Events.Name.CRYPTO_DO_ENCRYPT_REPLY */,
731
- "DoEncrypt" /* Types.Events.Name.CRYPTO_DO_ENCRYPT */,
732
- "DoSignReply" /* Types.Events.Name.CRYPTO_DO_SIGN_REPLY */,
733
- "DoSign" /* Types.Events.Name.CRYPTO_DO_SIGN */,
734
- "DoVerifyReply" /* Types.Events.Name.CRYPTO_DO_VERIFY_REPLY */,
735
- "DoVerify" /* Types.Events.Name.CRYPTO_DO_VERIFY */,
736
- "Decode Image" /* Types.Events.Name.DECODE_IMAGE */,
737
- "EmbedderCallback" /* Types.Events.Name.EMBEDDER_CALLBACK */,
738
- "v8.evaluateModule" /* Types.Events.Name.EVALUATE_MODULE */,
739
- "EvaluateScript" /* Types.Events.Name.EVALUATE_SCRIPT */,
740
- "EventDispatch" /* Types.Events.Name.EVENT_DISPATCH */,
741
- "EventTiming" /* Types.Events.Name.EVENT_TIMING */,
742
- "V8.FinalizeDeserialization" /* Types.Events.Name.FINALIZE_DESERIALIZATION */,
743
- "FireAnimationFrame" /* Types.Events.Name.FIRE_ANIMATION_FRAME */,
744
- "FireIdleCallback" /* Types.Events.Name.FIRE_IDLE_CALLBACK */,
745
- "FunctionCall" /* Types.Events.Name.FUNCTION_CALL */,
746
- "BlinkGC.AtomicPhase" /* Types.Events.Name.GC_COLLECT_GARBARGE */,
747
- "GCEvent" /* Types.Events.Name.GC */,
748
- "GPUTask" /* Types.Events.Name.GPU_TASK */,
749
- "HandlePostMessage" /* Types.Events.Name.HANDLE_POST_MESSAGE */,
750
- "HitTest" /* Types.Events.Name.HIT_TEST */,
751
- "JSSample" /* Types.Events.Name.JS_SAMPLE */,
752
- "Layerize" /* Types.Events.Name.LAYERIZE */,
753
- "Layout" /* Types.Events.Name.LAYOUT */,
754
- "MajorGC" /* Types.Events.Name.MAJOR_GC */,
755
- "MinorGC" /* Types.Events.Name.MINOR_GC */,
756
- "V8.OptimizeCode" /* Types.Events.Name.OPTIMIZE_CODE */,
757
- "PaintSetup" /* Types.Events.Name.PAINT_SETUP */,
758
- "Paint" /* Types.Events.Name.PAINT */,
759
- "ParseAuthorStyleSheet" /* Types.Events.Name.PARSE_AUTHOR_STYLE_SHEET */,
760
- "ParseHTML" /* Types.Events.Name.PARSE_HTML */,
761
- "PrePaint" /* Types.Events.Name.PRE_PAINT */,
762
- "ProfileCall" /* Types.Events.Name.PROFILE_CALL */,
763
- "Program" /* Types.Events.Name.PROGRAM */,
764
- "RasterTask" /* Types.Events.Name.RASTER_TASK */,
765
- "RequestAnimationFrame" /* Types.Events.Name.REQUEST_ANIMATION_FRAME */,
766
- "RequestIdleCallback" /* Types.Events.Name.REQUEST_IDLE_CALLBACK */,
767
- "ResourceFinish" /* Types.Events.Name.RESOURCE_FINISH */,
768
- "ResourceReceivedData" /* Types.Events.Name.RESOURCE_RECEIVE_DATA */,
769
- "ResourceReceiveResponse" /* Types.Events.Name.RESOURCE_RECEIVE_RESPONSE */,
770
- "ResourceSendRequest" /* Types.Events.Name.RESOURCE_SEND_REQUEST */,
771
- "ResourceWillSendRequest" /* Types.Events.Name.RESOURCE_WILL_SEND_REQUEST */,
772
- "RunMicrotasks" /* Types.Events.Name.RUN_MICROTASKS */,
773
- "RunPostTaskCallback" /* Types.Events.Name.RUN_POST_TASK_CALLBACK */,
774
- "RunTask" /* Types.Events.Name.RUN_TASK */,
775
- "SchedulePostMessage" /* Types.Events.Name.SCHEDULE_POST_MESSAGE */,
776
- "SchedulePostTaskCallback" /* Types.Events.Name.SCHEDULE_POST_TASK_CALLBACK */,
777
- "ScheduleStyleRecalculation" /* Types.Events.Name.SCHEDULE_STYLE_RECALCULATION */,
778
- "ScrollLayer" /* Types.Events.Name.SCROLL_LAYER */,
779
- "CpuProfiler::StartProfiling" /* Types.Events.Name.START_PROFILING */,
780
- "v8.parseOnBackgroundParsing" /* Types.Events.Name.STREAMING_COMPILE_SCRIPT_PARSING */,
781
- "v8.parseOnBackgroundWaiting" /* Types.Events.Name.STREAMING_COMPILE_SCRIPT_WAITING */,
782
- "v8.parseOnBackground" /* Types.Events.Name.STREAMING_COMPILE_SCRIPT */,
783
- "SyntheticLayoutShiftCluster" /* Types.Events.Name.SYNTHETIC_LAYOUT_SHIFT_CLUSTER */,
784
- "SyntheticLayoutShift" /* Types.Events.Name.SYNTHETIC_LAYOUT_SHIFT */,
785
- "TimeStamp" /* Types.Events.Name.TIME_STAMP */,
786
- "TimerFire" /* Types.Events.Name.TIMER_FIRE */,
787
- "TimerInstall" /* Types.Events.Name.TIMER_INSTALL */,
788
- "TimerRemove" /* Types.Events.Name.TIMER_REMOVE */,
789
- "UpdateLayerTree" /* Types.Events.Name.UPDATE_LAYER_TREE */,
790
- "UpdateLayoutTree" /* Types.Events.Name.RECALC_STYLE */,
791
- "UserTiming" /* Types.Events.Name.USER_TIMING */,
792
- "V8Console::runTask" /* Types.Events.Name.V8_CONSOLE_RUN_TASK */,
793
- "v8.wasm.cachedModule" /* Types.Events.Name.WASM_CACHED_MODULE */,
794
- "v8.wasm.compiledModule" /* Types.Events.Name.WASM_COMPILED_MODULE */,
795
- "v8.wasm.moduleCacheHit" /* Types.Events.Name.WASM_MODULE_CACHE_HIT */,
796
- "v8.wasm.moduleCacheInvalid" /* Types.Events.Name.WASM_MODULE_CACHE_INVALID */,
797
- "v8.wasm.streamFromResponseCallback" /* Types.Events.Name.WASM_STREAM_FROM_RESPONSE_CALLBACK */,
798
- "WebSocketCreate" /* Types.Events.Name.WEB_SOCKET_CREATE */,
799
- "WebSocketDestroy" /* Types.Events.Name.WEB_SOCKET_DESTROY */,
800
- "WebSocketReceiveHandshakeResponse" /* Types.Events.Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST */,
801
- "WebSocketReceive" /* Types.Events.Name.WEB_SOCKET_RECEIVE */,
802
- "WebSocketSendHandshakeRequest" /* Types.Events.Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST */,
803
- "WebSocketSend" /* Types.Events.Name.WEB_SOCKET_SEND */,
804
- "XHRLoad" /* Types.Events.Name.XHR_LOAD */,
805
- "XHRReadyStateChange" /* Types.Events.Name.XHR_READY_STATE_CHANGED */,
806
- ]);