@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,922 +0,0 @@
1
- // Copyright 2011 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 '../common/common.js';
5
- import * as i18n from '../i18n/i18n.js';
6
- import * as Platform from '../platform/platform.js';
7
- import { DOMModel } from './DOMModel.js';
8
- import { FrameManager } from './FrameManager.js';
9
- import { Events as NetworkManagerEvents, NetworkManager } from './NetworkManager.js';
10
- import { Resource } from './Resource.js';
11
- import { ExecutionContext, RuntimeModel } from './RuntimeModel.js';
12
- import { SDKModel } from './SDKModel.js';
13
- import { SecurityOriginManager } from './SecurityOriginManager.js';
14
- import { StorageKeyManager } from './StorageKeyManager.js';
15
- import { Type } from './Target.js';
16
- import { TargetManager } from './TargetManager.js';
17
- export class ResourceTreeModel extends SDKModel {
18
- agent;
19
- storageAgent;
20
- #securityOriginManager;
21
- #storageKeyManager;
22
- framesInternal = new Map();
23
- #cachedResourcesProcessed = false;
24
- #pendingReloadOptions = null;
25
- #reloadSuspensionCount = 0;
26
- isInterstitialShowing = false;
27
- mainFrame = null;
28
- #pendingBackForwardCacheNotUsedEvents = new Set();
29
- constructor(target) {
30
- super(target);
31
- const networkManager = target.model(NetworkManager);
32
- if (networkManager) {
33
- networkManager.addEventListener(NetworkManagerEvents.RequestFinished, this.onRequestFinished, this);
34
- networkManager.addEventListener(NetworkManagerEvents.RequestUpdateDropped, this.onRequestUpdateDropped, this);
35
- }
36
- this.agent = target.pageAgent();
37
- this.storageAgent = target.storageAgent();
38
- void this.agent.invoke_enable({});
39
- this.#securityOriginManager = target.model(SecurityOriginManager);
40
- this.#storageKeyManager = target.model(StorageKeyManager);
41
- target.registerPageDispatcher(new PageDispatcher(this));
42
- void this.#buildResourceTree();
43
- }
44
- async #buildResourceTree() {
45
- return await this.agent.invoke_getResourceTree().then(event => {
46
- this.processCachedResources(event.getError() ? null : event.frameTree);
47
- if (this.mainFrame) {
48
- this.processPendingEvents(this.mainFrame);
49
- }
50
- });
51
- }
52
- static frameForRequest(request) {
53
- const networkManager = NetworkManager.forRequest(request);
54
- const resourceTreeModel = networkManager ? networkManager.target().model(ResourceTreeModel) : null;
55
- if (!resourceTreeModel) {
56
- return null;
57
- }
58
- return request.frameId ? resourceTreeModel.frameForId(request.frameId) : null;
59
- }
60
- static frames() {
61
- const result = [];
62
- for (const resourceTreeModel of TargetManager.instance().models(ResourceTreeModel)) {
63
- result.push(...resourceTreeModel.frames());
64
- }
65
- return result;
66
- }
67
- static resourceForURL(url) {
68
- for (const resourceTreeModel of TargetManager.instance().models(ResourceTreeModel)) {
69
- const mainFrame = resourceTreeModel.mainFrame;
70
- // Workers call into this with no #frames available.
71
- const result = mainFrame ? mainFrame.resourceForURL(url) : null;
72
- if (result) {
73
- return result;
74
- }
75
- }
76
- return null;
77
- }
78
- static reloadAllPages(bypassCache, scriptToEvaluateOnLoad) {
79
- for (const resourceTreeModel of TargetManager.instance().models(ResourceTreeModel)) {
80
- if (resourceTreeModel.target().parentTarget()?.type() !== Type.FRAME) {
81
- resourceTreeModel.reloadPage(bypassCache, scriptToEvaluateOnLoad);
82
- }
83
- }
84
- }
85
- async storageKeyForFrame(frameId) {
86
- if (!this.framesInternal.has(frameId)) {
87
- return null;
88
- }
89
- const response = await this.storageAgent.invoke_getStorageKeyForFrame({ frameId });
90
- if (response.getError() === 'Frame tree node for given frame not found') {
91
- return null;
92
- }
93
- return response.storageKey;
94
- }
95
- domModel() {
96
- return this.target().model(DOMModel);
97
- }
98
- processCachedResources(mainFramePayload) {
99
- // TODO(caseq): the url check below is a mergeable, conservative
100
- // workaround for a problem caused by us requesting resources from a
101
- // subtarget frame before it has committed. The proper fix is likely
102
- // to be too complicated to be safely merged.
103
- // See https://crbug.com/1081270 for details.
104
- if (mainFramePayload && mainFramePayload.frame.url !== ':') {
105
- this.dispatchEventToListeners(Events.WillLoadCachedResources);
106
- this.addFramesRecursively(null, mainFramePayload);
107
- this.target().setInspectedURL(mainFramePayload.frame.url);
108
- }
109
- this.#cachedResourcesProcessed = true;
110
- const runtimeModel = this.target().model(RuntimeModel);
111
- if (runtimeModel) {
112
- runtimeModel.setExecutionContextComparator(this.executionContextComparator.bind(this));
113
- runtimeModel.fireExecutionContextOrderChanged();
114
- }
115
- this.dispatchEventToListeners(Events.CachedResourcesLoaded, this);
116
- }
117
- cachedResourcesLoaded() {
118
- return this.#cachedResourcesProcessed;
119
- }
120
- addFrame(frame, _aboutToNavigate) {
121
- this.framesInternal.set(frame.id, frame);
122
- if (frame.isMainFrame()) {
123
- this.mainFrame = frame;
124
- }
125
- this.dispatchEventToListeners(Events.FrameAdded, frame);
126
- this.updateSecurityOrigins();
127
- void this.updateStorageKeys();
128
- }
129
- frameAttached(frameId, parentFrameId, stackTrace) {
130
- const sameTargetParentFrame = parentFrameId ? (this.framesInternal.get(parentFrameId) || null) : null;
131
- // Do nothing unless cached resource tree is processed - it will overwrite everything.
132
- if (!this.#cachedResourcesProcessed && sameTargetParentFrame) {
133
- return null;
134
- }
135
- if (this.framesInternal.has(frameId)) {
136
- return null;
137
- }
138
- const frame = new ResourceTreeFrame(this, sameTargetParentFrame, frameId, null, stackTrace || null);
139
- if (parentFrameId && !sameTargetParentFrame) {
140
- frame.crossTargetParentFrameId = parentFrameId;
141
- }
142
- if (frame.isMainFrame() && this.mainFrame) {
143
- // Navigation to the new backend process.
144
- this.frameDetached(this.mainFrame.id, false);
145
- }
146
- this.addFrame(frame, true);
147
- return frame;
148
- }
149
- frameNavigated(framePayload, type) {
150
- const sameTargetParentFrame = framePayload.parentId ? (this.framesInternal.get(framePayload.parentId) || null) : null;
151
- // Do nothing unless cached resource tree is processed - it will overwrite everything.
152
- if (!this.#cachedResourcesProcessed && sameTargetParentFrame) {
153
- return;
154
- }
155
- let frame = this.framesInternal.get(framePayload.id) || null;
156
- if (!frame) {
157
- // Simulate missed "frameAttached" for a main frame navigation to the new backend process.
158
- frame = this.frameAttached(framePayload.id, framePayload.parentId || null);
159
- console.assert(Boolean(frame));
160
- if (!frame) {
161
- return;
162
- }
163
- }
164
- this.dispatchEventToListeners(Events.FrameWillNavigate, frame);
165
- frame.navigate(framePayload);
166
- if (type) {
167
- frame.backForwardCacheDetails.restoredFromCache = type === "BackForwardCacheRestore" /* Protocol.Page.NavigationType.BackForwardCacheRestore */;
168
- }
169
- if (frame.isMainFrame()) {
170
- this.target().setInspectedURL(frame.url);
171
- }
172
- this.dispatchEventToListeners(Events.FrameNavigated, frame);
173
- if (frame.isPrimaryFrame()) {
174
- this.primaryPageChanged(frame, "Navigation" /* PrimaryPageChangeType.NAVIGATION */);
175
- }
176
- // Fill frame with retained resources (the ones loaded using new loader).
177
- const resources = frame.resources();
178
- for (let i = 0; i < resources.length; ++i) {
179
- this.dispatchEventToListeners(Events.ResourceAdded, resources[i]);
180
- }
181
- this.updateSecurityOrigins();
182
- void this.updateStorageKeys();
183
- if (frame.backForwardCacheDetails.restoredFromCache) {
184
- FrameManager.instance().modelRemoved(this);
185
- FrameManager.instance().modelAdded(this);
186
- void this.#buildResourceTree();
187
- }
188
- }
189
- primaryPageChanged(frame, type) {
190
- this.processPendingEvents(frame);
191
- this.dispatchEventToListeners(Events.PrimaryPageChanged, { frame, type });
192
- const networkManager = this.target().model(NetworkManager);
193
- if (networkManager && frame.isOutermostFrame()) {
194
- networkManager.clearRequests();
195
- }
196
- }
197
- documentOpened(framePayload) {
198
- this.frameNavigated(framePayload, undefined);
199
- const frame = this.framesInternal.get(framePayload.id);
200
- if (frame && !frame.getResourcesMap().get(framePayload.url)) {
201
- const frameResource = this.createResourceFromFramePayload(framePayload, framePayload.url, Common.ResourceType.resourceTypes.Document, framePayload.mimeType, null, null);
202
- frameResource.isGenerated = true;
203
- frame.addResource(frameResource);
204
- }
205
- }
206
- frameDetached(frameId, isSwap) {
207
- // Do nothing unless cached resource tree is processed - it will overwrite everything.
208
- if (!this.#cachedResourcesProcessed) {
209
- return;
210
- }
211
- const frame = this.framesInternal.get(frameId);
212
- if (!frame) {
213
- return;
214
- }
215
- const sameTargetParentFrame = frame.sameTargetParentFrame();
216
- if (sameTargetParentFrame) {
217
- sameTargetParentFrame.removeChildFrame(frame, isSwap);
218
- }
219
- else {
220
- frame.remove(isSwap);
221
- }
222
- this.updateSecurityOrigins();
223
- void this.updateStorageKeys();
224
- }
225
- onRequestFinished(event) {
226
- if (!this.#cachedResourcesProcessed) {
227
- return;
228
- }
229
- const request = event.data;
230
- if (request.failed) {
231
- return;
232
- }
233
- const frame = request.frameId ? this.framesInternal.get(request.frameId) : null;
234
- if (frame) {
235
- frame.addRequest(request);
236
- }
237
- }
238
- onRequestUpdateDropped(event) {
239
- if (!this.#cachedResourcesProcessed) {
240
- return;
241
- }
242
- const data = event.data;
243
- const frameId = data.frameId;
244
- if (!frameId) {
245
- return;
246
- }
247
- const frame = this.framesInternal.get(frameId);
248
- if (!frame) {
249
- return;
250
- }
251
- const url = data.url;
252
- if (frame.getResourcesMap().get(url)) {
253
- return;
254
- }
255
- const resource = new Resource(this, null, url, frame.url, frameId, data.loaderId, Common.ResourceType.resourceTypes[data.resourceType], data.mimeType, data.lastModified, null);
256
- frame.addResource(resource);
257
- }
258
- frameForId(frameId) {
259
- return this.framesInternal.get(frameId) || null;
260
- }
261
- forAllResources(callback) {
262
- if (this.mainFrame) {
263
- return this.mainFrame.callForFrameResources(callback);
264
- }
265
- return false;
266
- }
267
- frames() {
268
- return [...this.framesInternal.values()];
269
- }
270
- addFramesRecursively(sameTargetParentFrame, frameTreePayload) {
271
- const framePayload = frameTreePayload.frame;
272
- let frame = this.framesInternal.get(framePayload.id);
273
- if (!frame) {
274
- frame = new ResourceTreeFrame(this, sameTargetParentFrame, framePayload.id, framePayload, null);
275
- }
276
- if (!sameTargetParentFrame && framePayload.parentId) {
277
- frame.crossTargetParentFrameId = framePayload.parentId;
278
- }
279
- this.addFrame(frame);
280
- for (const childFrame of frameTreePayload.childFrames || []) {
281
- this.addFramesRecursively(frame, childFrame);
282
- }
283
- for (let i = 0; i < frameTreePayload.resources.length; ++i) {
284
- const subresource = frameTreePayload.resources[i];
285
- const resource = this.createResourceFromFramePayload(framePayload, subresource.url, Common.ResourceType.resourceTypes[subresource.type], subresource.mimeType, subresource.lastModified || null, subresource.contentSize || null);
286
- frame.addResource(resource);
287
- }
288
- if (!frame.getResourcesMap().get(framePayload.url)) {
289
- const frameResource = this.createResourceFromFramePayload(framePayload, framePayload.url, Common.ResourceType.resourceTypes.Document, framePayload.mimeType, null, null);
290
- frame.addResource(frameResource);
291
- }
292
- }
293
- createResourceFromFramePayload(frame, url, type, mimeType, lastModifiedTime, contentSize) {
294
- const lastModified = typeof lastModifiedTime === 'number' ? new Date(lastModifiedTime * 1000) : null;
295
- return new Resource(this, null, url, frame.url, frame.id, frame.loaderId, type, mimeType, lastModified, contentSize);
296
- }
297
- suspendReload() {
298
- this.#reloadSuspensionCount++;
299
- }
300
- resumeReload() {
301
- this.#reloadSuspensionCount--;
302
- console.assert(this.#reloadSuspensionCount >= 0, 'Unbalanced call to ResourceTreeModel.resumeReload()');
303
- if (!this.#reloadSuspensionCount && this.#pendingReloadOptions) {
304
- const { ignoreCache, scriptToEvaluateOnLoad } = this.#pendingReloadOptions;
305
- this.reloadPage(ignoreCache, scriptToEvaluateOnLoad);
306
- }
307
- }
308
- reloadPage(ignoreCache, scriptToEvaluateOnLoad) {
309
- const loaderId = this.mainFrame?.loaderId;
310
- if (!loaderId) {
311
- return;
312
- }
313
- // Only dispatch PageReloadRequested upon first reload request to simplify client logic.
314
- if (!this.#pendingReloadOptions) {
315
- this.dispatchEventToListeners(Events.PageReloadRequested, this);
316
- }
317
- if (this.#reloadSuspensionCount) {
318
- this.#pendingReloadOptions = { ignoreCache, scriptToEvaluateOnLoad };
319
- return;
320
- }
321
- this.#pendingReloadOptions = null;
322
- const networkManager = this.target().model(NetworkManager);
323
- if (networkManager) {
324
- networkManager.clearRequests();
325
- }
326
- this.dispatchEventToListeners(Events.WillReloadPage);
327
- void this.agent.invoke_reload({ ignoreCache, scriptToEvaluateOnLoad, loaderId });
328
- }
329
- navigate(url) {
330
- return this.agent.invoke_navigate({ url });
331
- }
332
- async navigationHistory() {
333
- const response = await this.agent.invoke_getNavigationHistory();
334
- if (response.getError()) {
335
- return null;
336
- }
337
- return { currentIndex: response.currentIndex, entries: response.entries };
338
- }
339
- navigateToHistoryEntry(entry) {
340
- void this.agent.invoke_navigateToHistoryEntry({ entryId: entry.id });
341
- }
342
- setLifecycleEventsEnabled(enabled) {
343
- return this.agent.invoke_setLifecycleEventsEnabled({ enabled });
344
- }
345
- async fetchAppManifest() {
346
- const response = await this.agent.invoke_getAppManifest({});
347
- if (response.getError()) {
348
- return { url: response.url, data: null, errors: [] };
349
- }
350
- return { url: response.url, data: response.data || null, errors: response.errors };
351
- }
352
- async getInstallabilityErrors() {
353
- const response = await this.agent.invoke_getInstallabilityErrors();
354
- return response.installabilityErrors || [];
355
- }
356
- async getAppId() {
357
- return await this.agent.invoke_getAppId();
358
- }
359
- executionContextComparator(a, b) {
360
- function framePath(frame) {
361
- let currentFrame = frame;
362
- const parents = [];
363
- while (currentFrame) {
364
- parents.push(currentFrame);
365
- currentFrame = currentFrame.sameTargetParentFrame();
366
- }
367
- return parents.reverse();
368
- }
369
- if (a.target() !== b.target()) {
370
- return ExecutionContext.comparator(a, b);
371
- }
372
- const framesA = a.frameId ? framePath(this.frameForId(a.frameId)) : [];
373
- const framesB = b.frameId ? framePath(this.frameForId(b.frameId)) : [];
374
- let frameA;
375
- let frameB;
376
- for (let i = 0;; i++) {
377
- if (!framesA[i] || !framesB[i] || (framesA[i] !== framesB[i])) {
378
- frameA = framesA[i];
379
- frameB = framesB[i];
380
- break;
381
- }
382
- }
383
- if (!frameA && frameB) {
384
- return -1;
385
- }
386
- if (!frameB && frameA) {
387
- return 1;
388
- }
389
- if (frameA && frameB) {
390
- return frameA.id.localeCompare(frameB.id);
391
- }
392
- return ExecutionContext.comparator(a, b);
393
- }
394
- getSecurityOriginData() {
395
- const securityOrigins = new Set();
396
- let mainSecurityOrigin = null;
397
- let unreachableMainSecurityOrigin = null;
398
- for (const frame of this.framesInternal.values()) {
399
- const origin = frame.securityOrigin;
400
- if (!origin) {
401
- continue;
402
- }
403
- securityOrigins.add(origin);
404
- if (frame.isMainFrame()) {
405
- mainSecurityOrigin = origin;
406
- if (frame.unreachableUrl()) {
407
- const unreachableParsed = new Common.ParsedURL.ParsedURL(frame.unreachableUrl());
408
- unreachableMainSecurityOrigin = unreachableParsed.securityOrigin();
409
- }
410
- }
411
- }
412
- return {
413
- securityOrigins,
414
- mainSecurityOrigin,
415
- unreachableMainSecurityOrigin,
416
- };
417
- }
418
- async getStorageKeyData() {
419
- const storageKeys = new Set();
420
- let mainStorageKey = null;
421
- for (const { isMainFrame, storageKey } of await Promise.all([...this.framesInternal.values()].map(f => f.getStorageKey(/* forceFetch */ false).then(k => ({
422
- isMainFrame: f.isMainFrame(),
423
- storageKey: k,
424
- }))))) {
425
- if (isMainFrame) {
426
- mainStorageKey = storageKey;
427
- }
428
- if (storageKey) {
429
- storageKeys.add(storageKey);
430
- }
431
- }
432
- return { storageKeys, mainStorageKey };
433
- }
434
- updateSecurityOrigins() {
435
- const data = this.getSecurityOriginData();
436
- this.#securityOriginManager.setMainSecurityOrigin(data.mainSecurityOrigin || '', data.unreachableMainSecurityOrigin || '');
437
- this.#securityOriginManager.updateSecurityOrigins(data.securityOrigins);
438
- }
439
- async updateStorageKeys() {
440
- const data = await this.getStorageKeyData();
441
- this.#storageKeyManager.setMainStorageKey(data.mainStorageKey || '');
442
- this.#storageKeyManager.updateStorageKeys(data.storageKeys);
443
- }
444
- async getMainStorageKey() {
445
- return this.mainFrame ? await this.mainFrame.getStorageKey(/* forceFetch */ false) : null;
446
- }
447
- getMainSecurityOrigin() {
448
- const data = this.getSecurityOriginData();
449
- return data.mainSecurityOrigin || data.unreachableMainSecurityOrigin;
450
- }
451
- onBackForwardCacheNotUsed(event) {
452
- if (this.mainFrame && this.mainFrame.id === event.frameId && this.mainFrame.loaderId === event.loaderId) {
453
- this.mainFrame.setBackForwardCacheDetails(event);
454
- this.dispatchEventToListeners(Events.BackForwardCacheDetailsUpdated, this.mainFrame);
455
- }
456
- else {
457
- this.#pendingBackForwardCacheNotUsedEvents.add(event);
458
- }
459
- }
460
- processPendingEvents(frame) {
461
- if (!frame.isMainFrame()) {
462
- return;
463
- }
464
- for (const event of this.#pendingBackForwardCacheNotUsedEvents) {
465
- if (frame.id === event.frameId && frame.loaderId === event.loaderId) {
466
- frame.setBackForwardCacheDetails(event);
467
- this.#pendingBackForwardCacheNotUsedEvents.delete(event);
468
- break;
469
- }
470
- }
471
- // No need to dispatch events here as this method call is followed by a `PrimaryPageChanged` event.
472
- }
473
- }
474
- export var Events;
475
- (function (Events) {
476
- /* eslint-disable @typescript-eslint/naming-convention -- Used by web_tests. */
477
- Events["FrameAdded"] = "FrameAdded";
478
- Events["FrameNavigated"] = "FrameNavigated";
479
- Events["FrameDetached"] = "FrameDetached";
480
- Events["FrameResized"] = "FrameResized";
481
- Events["FrameWillNavigate"] = "FrameWillNavigate";
482
- Events["PrimaryPageChanged"] = "PrimaryPageChanged";
483
- Events["ResourceAdded"] = "ResourceAdded";
484
- Events["WillLoadCachedResources"] = "WillLoadCachedResources";
485
- Events["CachedResourcesLoaded"] = "CachedResourcesLoaded";
486
- Events["DOMContentLoaded"] = "DOMContentLoaded";
487
- Events["LifecycleEvent"] = "LifecycleEvent";
488
- Events["Load"] = "Load";
489
- Events["PageReloadRequested"] = "PageReloadRequested";
490
- Events["WillReloadPage"] = "WillReloadPage";
491
- Events["InterstitialShown"] = "InterstitialShown";
492
- Events["InterstitialHidden"] = "InterstitialHidden";
493
- Events["BackForwardCacheDetailsUpdated"] = "BackForwardCacheDetailsUpdated";
494
- Events["JavaScriptDialogOpening"] = "JavaScriptDialogOpening";
495
- /* eslint-enable @typescript-eslint/naming-convention */
496
- })(Events || (Events = {}));
497
- export class ResourceTreeFrame {
498
- #model;
499
- #sameTargetParentFrame;
500
- #id;
501
- crossTargetParentFrameId = null;
502
- #loaderId;
503
- #name;
504
- #url;
505
- #domainAndRegistry;
506
- #securityOrigin;
507
- #securityOriginDetails;
508
- #storageKey;
509
- #unreachableUrl;
510
- #adFrameStatus;
511
- #secureContextType;
512
- #crossOriginIsolatedContextType;
513
- #gatedAPIFeatures;
514
- #creationStackTrace;
515
- #creationStackTraceTarget = null;
516
- #childFrames = new Set();
517
- resourcesMap = new Map();
518
- backForwardCacheDetails = {
519
- restoredFromCache: undefined,
520
- explanations: [],
521
- explanationsTree: undefined,
522
- };
523
- constructor(model, parentFrame, frameId, payload, creationStackTrace) {
524
- this.#model = model;
525
- this.#sameTargetParentFrame = parentFrame;
526
- this.#id = frameId;
527
- this.#loaderId = payload?.loaderId ?? '';
528
- this.#name = payload?.name;
529
- this.#url = payload && payload.url || Platform.DevToolsPath.EmptyUrlString;
530
- this.#domainAndRegistry = (payload?.domainAndRegistry) || '';
531
- this.#securityOrigin = payload?.securityOrigin ?? null;
532
- this.#securityOriginDetails = payload?.securityOriginDetails;
533
- this.#unreachableUrl =
534
- (payload && payload.unreachableUrl) || Platform.DevToolsPath.EmptyUrlString;
535
- this.#adFrameStatus = payload?.adFrameStatus;
536
- this.#secureContextType = payload?.secureContextType ?? null;
537
- this.#crossOriginIsolatedContextType = payload?.crossOriginIsolatedContextType ?? null;
538
- this.#gatedAPIFeatures = payload?.gatedAPIFeatures ?? null;
539
- this.#creationStackTrace = creationStackTrace;
540
- if (this.#sameTargetParentFrame) {
541
- this.#sameTargetParentFrame.#childFrames.add(this);
542
- }
543
- }
544
- isSecureContext() {
545
- return this.#secureContextType !== null && this.#secureContextType.startsWith('Secure');
546
- }
547
- getSecureContextType() {
548
- return this.#secureContextType;
549
- }
550
- isCrossOriginIsolated() {
551
- return this.#crossOriginIsolatedContextType !== null && this.#crossOriginIsolatedContextType.startsWith('Isolated');
552
- }
553
- getCrossOriginIsolatedContextType() {
554
- return this.#crossOriginIsolatedContextType;
555
- }
556
- getGatedAPIFeatures() {
557
- return this.#gatedAPIFeatures;
558
- }
559
- getCreationStackTraceData() {
560
- return {
561
- creationStackTrace: this.#creationStackTrace,
562
- creationStackTraceTarget: this.#creationStackTraceTarget || this.resourceTreeModel().target(),
563
- };
564
- }
565
- navigate(framePayload) {
566
- this.#loaderId = framePayload.loaderId;
567
- this.#name = framePayload.name;
568
- this.#url = framePayload.url;
569
- this.#domainAndRegistry = framePayload.domainAndRegistry;
570
- this.#securityOrigin = framePayload.securityOrigin;
571
- this.#securityOriginDetails = framePayload.securityOriginDetails;
572
- void this.getStorageKey(/* forceFetch */ true);
573
- this.#unreachableUrl =
574
- framePayload.unreachableUrl || Platform.DevToolsPath.EmptyUrlString;
575
- this.#adFrameStatus = framePayload?.adFrameStatus;
576
- this.#secureContextType = framePayload.secureContextType;
577
- this.#crossOriginIsolatedContextType = framePayload.crossOriginIsolatedContextType;
578
- this.#gatedAPIFeatures = framePayload.gatedAPIFeatures;
579
- this.backForwardCacheDetails = {
580
- restoredFromCache: undefined,
581
- explanations: [],
582
- explanationsTree: undefined,
583
- };
584
- const mainResource = this.resourcesMap.get(this.#url);
585
- this.resourcesMap.clear();
586
- this.removeChildFrames();
587
- if (mainResource && mainResource.loaderId === this.#loaderId) {
588
- this.addResource(mainResource);
589
- }
590
- }
591
- resourceTreeModel() {
592
- return this.#model;
593
- }
594
- get id() {
595
- return this.#id;
596
- }
597
- get name() {
598
- return this.#name || '';
599
- }
600
- get url() {
601
- return this.#url;
602
- }
603
- domainAndRegistry() {
604
- return this.#domainAndRegistry;
605
- }
606
- async getAdScriptAncestry(frameId) {
607
- const res = await this.#model.agent.invoke_getAdScriptAncestry({ frameId });
608
- return res.adScriptAncestry || null;
609
- }
610
- get securityOrigin() {
611
- return this.#securityOrigin;
612
- }
613
- get securityOriginDetails() {
614
- return this.#securityOriginDetails ?? null;
615
- }
616
- getStorageKey(forceFetch) {
617
- if (!this.#storageKey || forceFetch) {
618
- this.#storageKey = this.#model.storageKeyForFrame(this.#id);
619
- }
620
- return this.#storageKey;
621
- }
622
- unreachableUrl() {
623
- return this.#unreachableUrl;
624
- }
625
- get loaderId() {
626
- return this.#loaderId;
627
- }
628
- adFrameType() {
629
- return this.#adFrameStatus?.adFrameType || "none" /* Protocol.Page.AdFrameType.None */;
630
- }
631
- adFrameStatus() {
632
- return this.#adFrameStatus;
633
- }
634
- get childFrames() {
635
- return [...this.#childFrames];
636
- }
637
- /**
638
- * Returns the parent frame if both #frames are part of the same process/target.
639
- */
640
- sameTargetParentFrame() {
641
- return this.#sameTargetParentFrame;
642
- }
643
- /**
644
- * Returns the parent frame if both #frames are part of different processes/targets (child is an OOPIF).
645
- */
646
- crossTargetParentFrame() {
647
- if (!this.crossTargetParentFrameId) {
648
- return null;
649
- }
650
- const parentTarget = this.#model.target().parentTarget();
651
- if (parentTarget?.type() !== Type.FRAME) {
652
- return null;
653
- }
654
- const parentModel = parentTarget.model(ResourceTreeModel);
655
- if (!parentModel) {
656
- return null;
657
- }
658
- // Note that parent #model has already processed cached resources:
659
- // - when parent target was created, we issued getResourceTree call;
660
- // - strictly after we issued setAutoAttach call;
661
- // - both of them were handled in renderer in the same order;
662
- // - cached resource tree got processed on parent #model;
663
- // - child target was created as a result of setAutoAttach call.
664
- return parentModel.framesInternal.get(this.crossTargetParentFrameId) || null;
665
- }
666
- /**
667
- * Returns the parent frame. There is only 1 parent and it's either in the
668
- * same target or it's cross-target.
669
- */
670
- parentFrame() {
671
- return this.sameTargetParentFrame() || this.crossTargetParentFrame();
672
- }
673
- /**
674
- * Returns true if this is the main frame of its target. A main frame is the root of the frame tree i.e. a frame without
675
- * a parent, but the whole frame tree could be embedded in another frame tree (e.g. OOPIFs, fenced frames, portals).
676
- * https://chromium.googlesource.com/chromium/src/+/HEAD/docs/frame_trees.md
677
- */
678
- isMainFrame() {
679
- return !this.#sameTargetParentFrame;
680
- }
681
- /**
682
- * Returns true if this is a main frame which is not embedded in another frame tree. With MPArch features such as
683
- * back/forward cache or prerender there can be multiple outermost frames.
684
- * https://chromium.googlesource.com/chromium/src/+/HEAD/docs/frame_trees.md
685
- */
686
- isOutermostFrame() {
687
- return this.#model.target().parentTarget()?.type() !== Type.FRAME && !this.#sameTargetParentFrame &&
688
- !this.crossTargetParentFrameId;
689
- }
690
- /**
691
- * Returns true if this is the primary frame of the browser tab. There can only be one primary frame for each
692
- * browser tab. It is the outermost frame being actively displayed in the browser tab.
693
- * https://chromium.googlesource.com/chromium/src/+/HEAD/docs/frame_trees.md
694
- */
695
- isPrimaryFrame() {
696
- return !this.#sameTargetParentFrame && this.#model.target() === TargetManager.instance().primaryPageTarget();
697
- }
698
- removeChildFrame(frame, isSwap) {
699
- this.#childFrames.delete(frame);
700
- frame.remove(isSwap);
701
- }
702
- removeChildFrames() {
703
- const frames = this.#childFrames;
704
- this.#childFrames = new Set();
705
- for (const frame of frames) {
706
- frame.remove(false);
707
- }
708
- }
709
- remove(isSwap) {
710
- this.removeChildFrames();
711
- this.#model.framesInternal.delete(this.id);
712
- this.#model.dispatchEventToListeners(Events.FrameDetached, { frame: this, isSwap });
713
- }
714
- addResource(resource) {
715
- if (this.resourcesMap.get(resource.url) === resource) {
716
- // Already in the tree, we just got an extra update.
717
- return;
718
- }
719
- this.resourcesMap.set(resource.url, resource);
720
- this.#model.dispatchEventToListeners(Events.ResourceAdded, resource);
721
- }
722
- addRequest(request) {
723
- let resource = this.resourcesMap.get(request.url());
724
- if (resource && resource.request === request) {
725
- // Already in the tree, we just got an extra update.
726
- return;
727
- }
728
- resource = new Resource(this.#model, request, request.url(), request.documentURL, request.frameId, request.loaderId, request.resourceType(), request.mimeType, null, null);
729
- this.resourcesMap.set(resource.url, resource);
730
- this.#model.dispatchEventToListeners(Events.ResourceAdded, resource);
731
- }
732
- resources() {
733
- return Array.from(this.resourcesMap.values());
734
- }
735
- resourceForURL(url) {
736
- const resource = this.resourcesMap.get(url);
737
- if (resource) {
738
- return resource;
739
- }
740
- for (const frame of this.#childFrames) {
741
- const resource = frame.resourceForURL(url);
742
- if (resource) {
743
- return resource;
744
- }
745
- }
746
- return null;
747
- }
748
- callForFrameResources(callback) {
749
- for (const resource of this.resourcesMap.values()) {
750
- if (callback(resource)) {
751
- return true;
752
- }
753
- }
754
- for (const frame of this.#childFrames) {
755
- if (frame.callForFrameResources(callback)) {
756
- return true;
757
- }
758
- }
759
- return false;
760
- }
761
- displayName() {
762
- if (this.isOutermostFrame()) {
763
- return i18n.i18n.lockedString('top');
764
- }
765
- const subtitle = new Common.ParsedURL.ParsedURL(this.#url).displayName;
766
- if (subtitle) {
767
- if (!this.#name) {
768
- return subtitle;
769
- }
770
- return this.#name + ' (' + subtitle + ')';
771
- }
772
- return i18n.i18n.lockedString('iframe');
773
- }
774
- async getOwnerDeferredDOMNode() {
775
- const parentFrame = this.parentFrame();
776
- if (!parentFrame) {
777
- return null;
778
- }
779
- return await parentFrame.resourceTreeModel().domModel().getOwnerNodeForFrame(this.#id);
780
- }
781
- async getOwnerDOMNodeOrDocument() {
782
- const deferredNode = await this.getOwnerDeferredDOMNode();
783
- if (deferredNode) {
784
- return await deferredNode.resolvePromise();
785
- }
786
- if (this.isOutermostFrame()) {
787
- return await this.resourceTreeModel().domModel().requestDocument();
788
- }
789
- return null;
790
- }
791
- async highlight() {
792
- const parentFrame = this.parentFrame();
793
- const parentTarget = this.resourceTreeModel().target().parentTarget();
794
- const highlightFrameOwner = async (domModel) => {
795
- const deferredNode = await domModel.getOwnerNodeForFrame(this.#id);
796
- if (deferredNode) {
797
- domModel.overlayModel().highlightInOverlay({ deferredNode, selectorList: '' }, 'all', true);
798
- }
799
- };
800
- if (parentFrame) {
801
- return await highlightFrameOwner(parentFrame.resourceTreeModel().domModel());
802
- }
803
- // Fenced frames.
804
- if (parentTarget?.type() === Type.FRAME) {
805
- const domModel = parentTarget.model(DOMModel);
806
- if (domModel) {
807
- return await highlightFrameOwner(domModel);
808
- }
809
- }
810
- // For the outermost frame there is no owner node. Highlight the whole #document instead.
811
- const document = await this.resourceTreeModel().domModel().requestDocument();
812
- if (document) {
813
- this.resourceTreeModel().domModel().overlayModel().highlightInOverlay({ node: document, selectorList: '' }, 'all', true);
814
- }
815
- }
816
- async getPermissionsPolicyState() {
817
- const response = await this.resourceTreeModel().target().pageAgent().invoke_getPermissionsPolicyState({ frameId: this.#id });
818
- if (response.getError()) {
819
- return null;
820
- }
821
- return response.states;
822
- }
823
- async getOriginTrials() {
824
- const response = await this.resourceTreeModel().target().pageAgent().invoke_getOriginTrials({ frameId: this.#id });
825
- if (response.getError()) {
826
- return [];
827
- }
828
- return response.originTrials;
829
- }
830
- setCreationStackTrace(creationStackTraceData) {
831
- this.#creationStackTrace = creationStackTraceData.creationStackTrace;
832
- this.#creationStackTraceTarget = creationStackTraceData.creationStackTraceTarget;
833
- }
834
- setBackForwardCacheDetails(event) {
835
- this.backForwardCacheDetails.restoredFromCache = false;
836
- this.backForwardCacheDetails.explanations = event.notRestoredExplanations;
837
- this.backForwardCacheDetails.explanationsTree = event.notRestoredExplanationsTree;
838
- }
839
- getResourcesMap() {
840
- return this.resourcesMap;
841
- }
842
- }
843
- export class PageDispatcher {
844
- #resourceTreeModel;
845
- constructor(resourceTreeModel) {
846
- this.#resourceTreeModel = resourceTreeModel;
847
- }
848
- backForwardCacheNotUsed(params) {
849
- this.#resourceTreeModel.onBackForwardCacheNotUsed(params);
850
- }
851
- domContentEventFired({ timestamp }) {
852
- this.#resourceTreeModel.dispatchEventToListeners(Events.DOMContentLoaded, timestamp);
853
- }
854
- loadEventFired({ timestamp }) {
855
- this.#resourceTreeModel.dispatchEventToListeners(Events.Load, { resourceTreeModel: this.#resourceTreeModel, loadTime: timestamp });
856
- }
857
- lifecycleEvent({ frameId, name }) {
858
- this.#resourceTreeModel.dispatchEventToListeners(Events.LifecycleEvent, { frameId, name });
859
- }
860
- frameAttached({ frameId, parentFrameId, stack }) {
861
- this.#resourceTreeModel.frameAttached(frameId, parentFrameId, stack);
862
- }
863
- frameNavigated({ frame, type }) {
864
- this.#resourceTreeModel.frameNavigated(frame, type);
865
- }
866
- documentOpened({ frame }) {
867
- this.#resourceTreeModel.documentOpened(frame);
868
- }
869
- frameDetached({ frameId, reason }) {
870
- this.#resourceTreeModel.frameDetached(frameId, reason === "swap" /* Protocol.Page.FrameDetachedEventReason.Swap */);
871
- }
872
- frameSubtreeWillBeDetached(_params) {
873
- }
874
- frameStartedLoading({}) {
875
- }
876
- frameStoppedLoading({}) {
877
- }
878
- frameRequestedNavigation({}) {
879
- }
880
- frameScheduledNavigation({}) {
881
- }
882
- frameClearedScheduledNavigation({}) {
883
- }
884
- frameStartedNavigating({}) {
885
- }
886
- navigatedWithinDocument({}) {
887
- }
888
- frameResized() {
889
- this.#resourceTreeModel.dispatchEventToListeners(Events.FrameResized);
890
- }
891
- javascriptDialogOpening(event) {
892
- this.#resourceTreeModel.dispatchEventToListeners(Events.JavaScriptDialogOpening, event);
893
- if (!event.hasBrowserHandler) {
894
- void this.#resourceTreeModel.agent.invoke_handleJavaScriptDialog({ accept: false });
895
- }
896
- }
897
- javascriptDialogClosed({}) {
898
- }
899
- screencastFrame({}) {
900
- }
901
- screencastVisibilityChanged({}) {
902
- }
903
- interstitialShown() {
904
- this.#resourceTreeModel.isInterstitialShowing = true;
905
- this.#resourceTreeModel.dispatchEventToListeners(Events.InterstitialShown);
906
- }
907
- interstitialHidden() {
908
- this.#resourceTreeModel.isInterstitialShowing = false;
909
- this.#resourceTreeModel.dispatchEventToListeners(Events.InterstitialHidden);
910
- }
911
- windowOpen({}) {
912
- }
913
- compilationCacheProduced({}) {
914
- }
915
- fileChooserOpened({}) {
916
- }
917
- downloadWillBegin({}) {
918
- }
919
- downloadProgress() {
920
- }
921
- }
922
- SDKModel.register(ResourceTreeModel, { capabilities: 2 /* Capability.DOM */, autostart: true, early: true });