chrome-devtools-frontend 1.0.1550444 → 1.0.1553956

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 (455) hide show
  1. package/docs/styleguide/ux/components.md +34 -8
  2. package/eslint.config.mjs +7 -0
  3. package/front_end/Images/generate-css-vars.js +8 -4
  4. package/front_end/core/common/Settings.ts +20 -8
  5. package/front_end/core/host/UserMetrics.ts +3 -1
  6. package/front_end/core/i18n/collect-ui-strings.js +19 -10
  7. package/front_end/core/i18n/generate-locales-js.js +4 -4
  8. package/front_end/core/protocol_client/CDPConnection.ts +1 -0
  9. package/front_end/core/protocol_client/InspectorBackend.ts +5 -1
  10. package/front_end/core/root/Runtime.ts +0 -12
  11. package/front_end/core/sdk/DOMModel.ts +38 -3
  12. package/front_end/core/sdk/DebuggerModel.ts +9 -4
  13. package/front_end/core/sdk/IsolateManager.ts +7 -0
  14. package/front_end/core/sdk/PageResourceLoader.ts +3 -3
  15. package/front_end/core/sdk/RehydratingConnection.ts +5 -2
  16. package/front_end/entrypoints/main/MainImpl.ts +28 -10
  17. package/front_end/generated/SupportedCSSProperties.js +14 -0
  18. package/front_end/models/ai_assistance/AiConversation.ts +94 -4
  19. package/front_end/models/ai_assistance/agents/AiAgent.ts +30 -15
  20. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +179 -41
  21. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +5 -0
  22. package/front_end/models/ai_assistance/agents/StylingAgent.ts +62 -0
  23. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +2 -1
  24. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +1 -7
  25. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +124 -12
  26. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +125 -30
  27. package/front_end/models/ai_assistance/performance/AICallTree.ts +42 -0
  28. package/front_end/models/ai_code_generation/AiCodeGeneration.ts +12 -0
  29. package/front_end/models/issues_manager/Issue.ts +1 -0
  30. package/front_end/models/issues_manager/IssueAggregator.ts +9 -0
  31. package/front_end/models/issues_manager/IssuesManager.ts +5 -0
  32. package/front_end/models/issues_manager/PermissionElementIssue.ts +262 -0
  33. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabled.md +7 -0
  34. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
  35. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
  36. package/front_end/models/issues_manager/descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
  37. package/front_end/models/issues_manager/descriptions/permissionElementFencedFrameDisallowed.md +5 -0
  38. package/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooLarge.md +5 -0
  39. package/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooSmall.md +5 -0
  40. package/front_end/models/issues_manager/descriptions/permissionElementGeolocationDeprecated.md +5 -0
  41. package/front_end/models/issues_manager/descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
  42. package/front_end/models/issues_manager/descriptions/permissionElementInvalidDisplayStyle.md +5 -0
  43. package/front_end/models/issues_manager/descriptions/permissionElementInvalidSizeValue.md +5 -0
  44. package/front_end/models/issues_manager/descriptions/permissionElementInvalidType.md +5 -0
  45. package/front_end/models/issues_manager/descriptions/permissionElementInvalidTypeActivation.md +5 -0
  46. package/front_end/models/issues_manager/descriptions/permissionElementLowContrast.md +5 -0
  47. package/front_end/models/issues_manager/descriptions/permissionElementNonOpaqueColor.md +5 -0
  48. package/front_end/models/issues_manager/descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
  49. package/front_end/models/issues_manager/descriptions/permissionElementPaddingRightUnsupported.md +6 -0
  50. package/front_end/models/issues_manager/descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
  51. package/front_end/models/issues_manager/descriptions/permissionElementRegistrationFailed.md +5 -0
  52. package/front_end/models/issues_manager/descriptions/permissionElementRequestInProgress.md +5 -0
  53. package/front_end/models/issues_manager/descriptions/permissionElementSecurityChecksFailed.md +5 -0
  54. package/front_end/models/issues_manager/descriptions/permissionElementTypeNotSupported.md +5 -0
  55. package/front_end/models/issues_manager/descriptions/permissionElementUntrustedEvent.md +7 -0
  56. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  57. package/front_end/models/javascript_metadata/NativeFunctions.js +8 -0
  58. package/front_end/models/stack_trace/StackTraceModel.ts +37 -18
  59. package/front_end/models/trace/Processor.ts +14 -15
  60. package/front_end/models/trace/insights/Common.ts +2 -8
  61. package/front_end/models/trace/insights/types.ts +12 -2
  62. package/front_end/models/trace/types/TraceEvents.ts +4 -1
  63. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +28 -6
  64. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +9 -23
  65. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
  66. package/front_end/panels/ai_assistance/components/ChatView.ts +78 -2
  67. package/front_end/panels/ai_assistance/components/CollapsibleAssistanceContentWidget.ts +71 -0
  68. package/front_end/panels/ai_assistance/components/PerformanceAgentFlameChart.ts +126 -0
  69. package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +131 -2
  70. package/front_end/panels/ai_assistance/components/chatView.css +28 -0
  71. package/front_end/panels/ai_assistance/components/collapsibleAssistanceContentWidget.css +33 -0
  72. package/front_end/panels/application/AppManifestView.ts +1007 -521
  73. package/front_end/panels/application/ApplicationPanelSidebar.ts +1 -17
  74. package/front_end/panels/application/ExtensionStorageItemsView.ts +3 -5
  75. package/front_end/panels/application/KeyValueStorageItemsView.ts +3 -2
  76. package/front_end/panels/application/components/BackForwardCacheView.ts +2 -2
  77. package/front_end/panels/application/preloading/PreloadingView.ts +46 -45
  78. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +80 -75
  79. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +169 -133
  80. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +74 -93
  81. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +142 -117
  82. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +51 -11
  83. package/front_end/panels/application/preloading/components/components.ts +0 -2
  84. package/front_end/panels/common/Annotation.ts +184 -0
  85. package/front_end/panels/common/AnnotationManager.ts +148 -11
  86. package/front_end/panels/common/ExtensionView.ts +47 -0
  87. package/front_end/panels/common/PersistenceUtils.ts +22 -25
  88. package/front_end/panels/common/annotation.css +40 -0
  89. package/front_end/panels/common/common.ts +1 -0
  90. package/front_end/panels/console/ConsoleInsightTeaser.ts +187 -5
  91. package/front_end/panels/console/ConsolePinPane.ts +437 -217
  92. package/front_end/panels/console/ConsolePrompt.ts +32 -223
  93. package/front_end/panels/console/ConsoleView.ts +67 -66
  94. package/front_end/panels/console/ConsoleViewMessage.ts +8 -3
  95. package/front_end/panels/console/consoleInsightTeaser.css +23 -0
  96. package/front_end/panels/console/consoleView.css +1 -1
  97. package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +89 -0
  98. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +2 -2
  99. package/front_end/panels/elements/ComputedStyleWidget.ts +16 -5
  100. package/front_end/panels/elements/ElementsPanel.ts +38 -12
  101. package/front_end/panels/elements/ElementsSidebarPane.ts +1 -3
  102. package/front_end/panels/elements/ElementsTreeElement.ts +313 -353
  103. package/front_end/panels/elements/ElementsTreeOutline.ts +39 -13
  104. package/front_end/panels/elements/StylePropertyTreeElement.ts +15 -14
  105. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  106. package/front_end/panels/emulation/MediaQueryInspector.ts +171 -125
  107. package/front_end/panels/explain/components/ConsoleInsight.ts +175 -150
  108. package/front_end/panels/explain/components/consoleInsight.css +348 -347
  109. package/front_end/panels/issues/AffectedPermissionElementsView.ts +46 -0
  110. package/front_end/panels/issues/IssueView.ts +2 -0
  111. package/front_end/panels/issues/IssuesPane.ts +6 -0
  112. package/front_end/panels/layer_viewer/LayerDetailsView.ts +165 -149
  113. package/front_end/panels/layer_viewer/Layers3DView.ts +131 -78
  114. package/front_end/panels/lighthouse/LighthouseStatusView.ts +149 -100
  115. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +90 -64
  116. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +25 -34
  117. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +60 -44
  118. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +170 -151
  119. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +50 -51
  120. package/front_end/panels/linear_memory_inspector/components/valueInterpreterDisplay.css +0 -13
  121. package/front_end/panels/linear_memory_inspector/components/valueInterpreterSettings.css +20 -18
  122. package/front_end/panels/mobile_throttling/CalibrationController.ts +3 -1
  123. package/front_end/panels/network/NetworkDataGridNode.ts +14 -6
  124. package/front_end/panels/network/NetworkItemView.ts +42 -3
  125. package/front_end/panels/network/NetworkLogView.ts +10 -11
  126. package/front_end/panels/network/NetworkPanel.ts +63 -1
  127. package/front_end/panels/network/RequestInitiatorView.ts +146 -113
  128. package/front_end/panels/network/components/RequestHeaderSection.css +51 -50
  129. package/front_end/panels/network/components/RequestHeaderSection.ts +81 -71
  130. package/front_end/panels/network/components/RequestHeadersView.css +1 -1
  131. package/front_end/panels/network/components/RequestHeadersView.ts +26 -11
  132. package/front_end/panels/network/components/RequestTrustTokensView.css +24 -14
  133. package/front_end/panels/network/components/RequestTrustTokensView.ts +144 -140
  134. package/front_end/panels/profiler/IsolateSelector.ts +2 -1
  135. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +49 -33
  136. package/front_end/panels/recorder/RecorderController.ts +2 -3
  137. package/front_end/panels/recorder/components/ControlButton.ts +68 -34
  138. package/front_end/panels/recorder/components/CreateRecordingView.ts +9 -6
  139. package/front_end/panels/recorder/components/RecordingView.ts +81 -88
  140. package/front_end/panels/recorder/components/ReplaySection.ts +226 -145
  141. package/front_end/panels/recorder/{controllers → components}/SelectorPicker.ts +129 -52
  142. package/front_end/panels/recorder/components/StepEditor.ts +21 -67
  143. package/front_end/panels/recorder/components/StepView.ts +222 -180
  144. package/front_end/panels/recorder/components/TimelineSection.ts +69 -48
  145. package/front_end/panels/recorder/components/components.ts +2 -2
  146. package/front_end/panels/recorder/components/selectorPicker.css +14 -0
  147. package/front_end/panels/recorder/components/stepEditor.css +0 -5
  148. package/front_end/panels/recorder/components/stepView.css +196 -198
  149. package/front_end/panels/recorder/extensions/ExtensionManager.ts +4 -48
  150. package/front_end/panels/recorder/models/ScreenshotUtils.ts +17 -11
  151. package/front_end/panels/security/CookieControlsView.ts +9 -16
  152. package/front_end/panels/settings/components/SyncSection.ts +0 -1
  153. package/front_end/panels/sources/CSSPlugin.ts +3 -3
  154. package/front_end/panels/sources/CallStackSidebarPane.ts +60 -75
  155. package/front_end/panels/sources/SourcesPanel.ts +1 -11
  156. package/front_end/panels/sources/TabbedEditorContainer.ts +11 -8
  157. package/front_end/panels/sources/ThreadsSidebarPane.ts +96 -101
  158. package/front_end/panels/sources/threadsSidebarPane.css +6 -5
  159. package/front_end/panels/timeline/InteractionsTrackAppender.ts +2 -3
  160. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +23 -33
  161. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +4 -3
  162. package/front_end/panels/timeline/TimelineFlameChartView.ts +12 -0
  163. package/front_end/panels/timeline/TimelinePanel.ts +3 -5
  164. package/front_end/panels/timeline/components/IgnoreListSetting.ts +164 -142
  165. package/front_end/panels/timeline/components/InteractionBreakdown.ts +48 -28
  166. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +18 -23
  167. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +98 -73
  168. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +9 -12
  169. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +262 -291
  170. package/front_end/panels/timeline/components/Utils.ts +25 -0
  171. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +210 -146
  172. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +8 -20
  173. package/front_end/panels/timeline/components/insights/Cache.ts +0 -9
  174. package/front_end/panels/timeline/components/insights/DOMSize.ts +11 -33
  175. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +0 -9
  176. package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +0 -9
  177. package/front_end/panels/timeline/components/insights/EventRef.ts +47 -109
  178. package/front_end/panels/timeline/components/insights/FontDisplay.ts +0 -9
  179. package/front_end/panels/timeline/components/insights/ForcedReflow.ts +0 -9
  180. package/front_end/panels/timeline/components/insights/INPBreakdown.ts +0 -9
  181. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +1 -10
  182. package/front_end/panels/timeline/components/insights/ImageRef.ts +112 -0
  183. package/front_end/panels/timeline/components/insights/InsightRenderer.ts +91 -0
  184. package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +0 -9
  185. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +4 -11
  186. package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +0 -9
  187. package/front_end/panels/timeline/components/insights/ModernHTTP.ts +0 -9
  188. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +6 -21
  189. package/front_end/panels/timeline/components/insights/NodeLink.ts +68 -43
  190. package/front_end/panels/timeline/components/insights/README.md +2 -3
  191. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +0 -9
  192. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +0 -9
  193. package/front_end/panels/timeline/components/insights/ThirdParties.ts +0 -9
  194. package/front_end/panels/timeline/components/insights/Viewport.ts +7 -19
  195. package/front_end/panels/timeline/components/insights/baseInsightComponent.css +5 -0
  196. package/front_end/panels/timeline/components/insights/insights.ts +2 -0
  197. package/front_end/panels/timeline/components/interactionBreakdown.css +15 -13
  198. package/front_end/panels/timeline/enable-easter-egg.js +7 -3
  199. package/front_end/third_party/chromium/README.chromium +1 -1
  200. package/front_end/third_party/puppeteer/README.chromium +2 -2
  201. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.d.ts +96 -0
  202. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.d.ts.map +1 -0
  203. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.js +8 -0
  204. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.js.map +1 -0
  205. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +87 -0
  206. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  207. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  208. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.d.ts +2 -6
  209. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.d.ts.map +1 -1
  210. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.js +5 -24
  211. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.js.map +1 -1
  212. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +5 -0
  213. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  214. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  215. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts +1 -0
  216. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts.map +1 -1
  217. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js.map +1 -1
  218. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.d.ts +18 -0
  219. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.d.ts.map +1 -0
  220. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.js +42 -0
  221. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.js.map +1 -0
  222. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts +4 -1
  223. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
  224. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +10 -0
  225. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
  226. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.d.ts +27 -0
  227. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.d.ts.map +1 -0
  228. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.js +90 -0
  229. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.js.map +1 -0
  230. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts +3 -1
  231. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  232. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +3 -2
  233. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  234. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +4 -1
  235. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  236. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +5 -2
  237. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  238. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts +4 -0
  239. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  240. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +14 -2
  241. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  242. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.d.ts.map +1 -1
  243. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js +7 -0
  244. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js.map +1 -1
  245. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +1 -1
  246. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  247. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.d.ts +18 -0
  248. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.d.ts.map +1 -0
  249. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.js +30 -0
  250. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.js.map +1 -0
  251. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +5 -2
  252. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +22 -3
  254. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.d.ts +1 -1
  256. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.d.ts.map +1 -1
  257. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.d.ts +2 -3
  258. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.d.ts.map +1 -1
  259. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.js +4 -6
  260. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.js.map +1 -1
  261. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts +2 -2
  262. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  263. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js +1 -1
  264. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js.map +1 -1
  265. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +2 -0
  266. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  267. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +8 -0
  268. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.d.ts.map +1 -1
  270. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js +8 -3
  271. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js.map +1 -1
  272. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts +1 -0
  273. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts.map +1 -1
  274. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js +1 -0
  275. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js.map +1 -1
  276. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +30 -0
  277. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  278. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +15 -0
  279. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  280. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  281. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts +1 -1
  282. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  283. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +2 -13
  284. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  285. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +5 -3
  286. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  287. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.js +17 -0
  288. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.js.map +1 -1
  289. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  290. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  291. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  292. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  293. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  294. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  295. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +221 -4
  296. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +182 -95
  297. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.d.ts +96 -0
  298. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.d.ts.map +1 -0
  299. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.js +7 -0
  300. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.js.map +1 -0
  301. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +87 -0
  302. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  303. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  304. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.d.ts +2 -6
  305. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.d.ts.map +1 -1
  306. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.js +4 -22
  307. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.js.map +1 -1
  308. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +5 -0
  309. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  310. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  311. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts +1 -0
  312. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts.map +1 -1
  313. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js.map +1 -1
  314. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.d.ts +18 -0
  315. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.d.ts.map +1 -0
  316. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.js +38 -0
  317. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.js.map +1 -0
  318. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts +4 -1
  319. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
  320. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +10 -0
  321. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
  322. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.d.ts +27 -0
  323. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.d.ts.map +1 -0
  324. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.js +85 -0
  325. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.js.map +1 -0
  326. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts +3 -1
  327. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  328. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +3 -2
  329. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  330. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +4 -1
  331. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  332. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +5 -2
  333. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  334. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts +4 -0
  335. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  336. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +14 -2
  337. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  338. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.d.ts.map +1 -1
  339. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js +7 -0
  340. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js.map +1 -1
  341. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +1 -1
  342. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  343. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.d.ts +18 -0
  344. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.d.ts.map +1 -0
  345. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.js +26 -0
  346. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.js.map +1 -0
  347. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +5 -2
  348. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  349. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +22 -3
  350. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  351. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.d.ts +1 -1
  352. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.d.ts.map +1 -1
  353. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.d.ts +2 -3
  354. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.d.ts.map +1 -1
  355. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js +2 -4
  356. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js.map +1 -1
  357. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts +2 -2
  358. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  359. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js +2 -2
  360. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js.map +1 -1
  361. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +2 -0
  362. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  363. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +8 -0
  364. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  365. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.d.ts.map +1 -1
  366. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js +8 -3
  367. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js.map +1 -1
  368. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts +1 -0
  369. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts.map +1 -1
  370. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js +1 -0
  371. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js.map +1 -1
  372. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +31 -1
  373. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
  374. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +15 -0
  375. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  376. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts +1 -1
  377. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  378. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +2 -13
  379. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  380. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +5 -3
  381. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  382. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js +16 -1
  383. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js.map +1 -1
  384. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  385. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  386. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  387. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  388. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  389. package/front_end/third_party/puppeteer/package/lib/types.d.ts +221 -4
  390. package/front_end/third_party/puppeteer/package/package.json +4 -4
  391. package/front_end/third_party/puppeteer/package/src/api/BluetoothEmulation.ts +103 -0
  392. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +96 -1
  393. package/front_end/third_party/puppeteer/package/src/api/DeviceRequestPrompt.ts +2 -10
  394. package/front_end/third_party/puppeteer/package/src/api/Page.ts +6 -0
  395. package/front_end/third_party/puppeteer/package/src/api/api.ts +1 -0
  396. package/front_end/third_party/puppeteer/package/src/bidi/BluetoothEmulation.ts +52 -0
  397. package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +15 -0
  398. package/front_end/third_party/puppeteer/package/src/bidi/DeviceRequestPrompt.ts +138 -0
  399. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +7 -3
  400. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +10 -2
  401. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +30 -2
  402. package/front_end/third_party/puppeteer/package/src/bidi/util.ts +8 -0
  403. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +1 -1
  404. package/front_end/third_party/puppeteer/package/src/cdp/BluetoothEmulation.ts +47 -0
  405. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +33 -3
  406. package/front_end/third_party/puppeteer/package/src/cdp/CdpSession.ts +1 -1
  407. package/front_end/third_party/puppeteer/package/src/cdp/DeviceRequestPrompt.ts +3 -8
  408. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +2 -2
  409. package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +9 -4
  410. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +13 -0
  411. package/front_end/third_party/puppeteer/package/src/cdp/WebWorker.ts +8 -3
  412. package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +1 -0
  413. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +45 -1
  414. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +20 -0
  415. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +5 -17
  416. package/front_end/third_party/puppeteer/package/src/node/LaunchOptions.ts +23 -7
  417. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  418. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  419. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +4 -0
  420. package/front_end/ui/components/annotations/AnnotationRepository.ts +153 -13
  421. package/front_end/ui/components/snackbars/Snackbars.docs.ts +0 -1
  422. package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.ts +12 -3
  423. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +182 -0
  424. package/front_end/ui/components/text_editor/text_editor.ts +1 -0
  425. package/front_end/ui/helpers/OpenInNewTab.ts +5 -1
  426. package/front_end/ui/i18n/i18n.ts +9 -9
  427. package/front_end/ui/kit/icons/Icon.docs.ts +22 -65
  428. package/front_end/ui/kit/kit.ts +1 -0
  429. package/front_end/ui/kit/link/Link.docs.ts +15 -0
  430. package/front_end/ui/kit/link/Link.ts +151 -0
  431. package/front_end/ui/kit/link/link.css +27 -0
  432. package/front_end/ui/legacy/EmptyWidget.ts +6 -0
  433. package/front_end/ui/legacy/Floaty.ts +442 -0
  434. package/front_end/ui/legacy/InspectorView.ts +12 -0
  435. package/front_end/ui/legacy/ReportView.ts +1 -1
  436. package/front_end/ui/legacy/SelectMenu.docs.ts +0 -1
  437. package/front_end/ui/legacy/TabbedPane.ts +131 -53
  438. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +1 -1
  439. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +36 -36
  440. package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.ts +22 -37
  441. package/front_end/ui/legacy/components/object_ui/RemoteObjectPreviewFormatter.ts +31 -1
  442. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +2 -2
  443. package/front_end/ui/legacy/components/utils/Linkifier.ts +7 -11
  444. package/front_end/ui/legacy/floaty.css +77 -0
  445. package/front_end/ui/legacy/legacy.ts +2 -0
  446. package/front_end/ui/visual_logging/KnownContextValues.ts +6 -0
  447. package/inspector_overlay/loadCSS.rollup.js +5 -4
  448. package/package.json +2 -2
  449. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +0 -99
  450. package/front_end/panels/recorder/components/SelectButton.ts +0 -304
  451. package/front_end/panels/recorder/controllers/controllers.ts +0 -7
  452. package/front_end/ui/components/chrome_link/ChromeLink.ts +0 -76
  453. package/front_end/ui/components/chrome_link/chromeLink.css +0 -12
  454. package/front_end/ui/components/chrome_link/chrome_link.ts +0 -9
  455. /package/front_end/panels/recorder/components/{selectButton.css → replaySection.css} +0 -0
@@ -2,6 +2,7 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
+ import type * as Protocol from '../../../generated/protocol.js';
5
6
  import * as Trace from '../../../models/trace/trace.js';
6
7
  import * as SourceMapsResolver from '../../../models/trace_source_maps_resolver/trace_source_maps_resolver.js';
7
8
 
@@ -375,6 +376,47 @@ export class AICallTree {
375
376
  return line;
376
377
  }
377
378
 
379
+ topCallFramesBySelfTime(limit: number): Protocol.Runtime.CallFrame[] {
380
+ const functionNodesByCallFrame = new Map<string, Trace.Extras.TraceTree.Node[]>();
381
+
382
+ this.breadthFirstWalk(this.rootNode.children().values(), node => {
383
+ if (Trace.Types.Events.isProfileCall(node.event)) {
384
+ const callFrame = node.event.callFrame;
385
+ const callFrameKey = `${callFrame.scriptId}:${callFrame.lineNumber}:${callFrame.columnNumber}`;
386
+ const array = functionNodesByCallFrame.get(callFrameKey) ?? [];
387
+ array.push(node);
388
+ functionNodesByCallFrame.set(callFrameKey, array);
389
+ }
390
+ });
391
+
392
+ return [...functionNodesByCallFrame.values()]
393
+ .map(nodes => {
394
+ return {
395
+ callFrame: (nodes[0].event as Trace.Types.Events.SyntheticProfileCall).callFrame,
396
+ selfTime: nodes.reduce((total, cur) => total + cur.selfTime, 0),
397
+ };
398
+ })
399
+ .sort((a, b) => b.selfTime - a.selfTime)
400
+ .slice(0, limit)
401
+ .map(({callFrame}) => callFrame);
402
+ }
403
+
404
+ topCallFrameByTotalTime(): Protocol.Runtime.CallFrame|null {
405
+ let topChild: Trace.Extras.TraceTree.Node|null = null;
406
+ let topProfileCallEvent: Trace.Types.Events.SyntheticProfileCall|null = null;
407
+
408
+ for (const child of this.rootNode.children().values()) {
409
+ if (Trace.Types.Events.isProfileCall(child.event)) {
410
+ if (!topChild || child.totalTime > topChild.totalTime) {
411
+ topChild = child;
412
+ topProfileCallEvent = child.event;
413
+ }
414
+ }
415
+ }
416
+
417
+ return topProfileCallEvent?.callFrame ?? null;
418
+ }
419
+
378
420
  // Only used for debugging.
379
421
  logDebug(): void {
380
422
  const str = this.serialize();
@@ -150,4 +150,16 @@ export class AiCodeGeneration {
150
150
 
151
151
  return response;
152
152
  }
153
+
154
+ static isAiCodeGenerationEnabled(locale: string): boolean {
155
+ if (!locale.startsWith('en-')) {
156
+ return false;
157
+ }
158
+ const aidaAvailability = Root.Runtime.hostConfig.aidaAvailability;
159
+ if (!aidaAvailability || aidaAvailability.blockedByGeo || aidaAvailability.blockedByAge ||
160
+ aidaAvailability.blockedByEnterprisePolicy) {
161
+ return false;
162
+ }
163
+ return Boolean(aidaAvailability.enabled && Root.Runtime.hostConfig.devToolsAiCodeGeneration?.enabled);
164
+ }
153
165
  }
@@ -51,6 +51,7 @@ export const enum IssueCategory {
51
51
  CORS = 'Cors',
52
52
  ATTRIBUTION_REPORTING = 'AttributionReporting',
53
53
  QUIRKS_MODE = 'QuirksMode',
54
+ PERMISSION_ELEMENT = 'PermissionElement',
54
55
  OTHER = 'Other',
55
56
  }
56
57
 
@@ -21,6 +21,7 @@ import {LowTextContrastIssue} from './LowTextContrastIssue.js';
21
21
  import type {MarkdownIssueDescription} from './MarkdownIssueDescription.js';
22
22
  import {MixedContentIssue} from './MixedContentIssue.js';
23
23
  import {PartitioningBlobURLIssue} from './PartitioningBlobURLIssue.js';
24
+ import {PermissionElementIssue} from './PermissionElementIssue.js';
24
25
  import {QuirksModeIssue} from './QuirksModeIssue.js';
25
26
  import {SharedArrayBufferIssue} from './SharedArrayBufferIssue.js';
26
27
 
@@ -67,6 +68,7 @@ export class AggregatedIssue extends Issue {
67
68
  #cookieDeprecationMetadataIssues = new Set<CookieDeprecationMetadataIssue>();
68
69
  #mixedContentIssues = new Set<MixedContentIssue>();
69
70
  #partitioningBlobURLIssues = new Set<PartitioningBlobURLIssue>();
71
+ #permissionElementIssues = new Set<PermissionElementIssue>();
70
72
  #sharedArrayBufferIssues = new Set<SharedArrayBufferIssue>();
71
73
  #quirksModeIssues = new Set<QuirksModeIssue>();
72
74
  #attributionReportingIssues = new Set<AttributionReportingIssue>();
@@ -190,6 +192,10 @@ export class AggregatedIssue extends Issue {
190
192
  return this.#partitioningBlobURLIssues;
191
193
  }
192
194
 
195
+ getPermissionElementIssues(): Iterable<PermissionElementIssue> {
196
+ return this.#permissionElementIssues;
197
+ }
198
+
193
199
  /**
194
200
  * Produces a primary key for a cookie. Use this instead of `JSON.stringify` in
195
201
  * case new fields are added to `AffectedCookie`.
@@ -282,6 +288,9 @@ export class AggregatedIssue extends Issue {
282
288
  if (issue instanceof PartitioningBlobURLIssue) {
283
289
  this.#partitioningBlobURLIssues.add(issue);
284
290
  }
291
+ if (issue instanceof PermissionElementIssue) {
292
+ this.#permissionElementIssues.add(issue);
293
+ }
285
294
  }
286
295
 
287
296
  getKind(): IssueKind {
@@ -25,6 +25,7 @@ import {Events} from './IssuesManagerEvents.js';
25
25
  import {LowTextContrastIssue} from './LowTextContrastIssue.js';
26
26
  import {MixedContentIssue} from './MixedContentIssue.js';
27
27
  import {PartitioningBlobURLIssue} from './PartitioningBlobURLIssue.js';
28
+ import {PermissionElementIssue} from './PermissionElementIssue.js';
28
29
  import {PropertyRuleIssue} from './PropertyRuleIssue.js';
29
30
  import {QuirksModeIssue} from './QuirksModeIssue.js';
30
31
  import {SharedArrayBufferIssue} from './SharedArrayBufferIssue.js';
@@ -144,6 +145,10 @@ const issueCodeHandlers = new Map<
144
145
  Protocol.Audits.InspectorIssueCode.UnencodedDigestIssue,
145
146
  UnencodedDigestIssue.fromInspectorIssue,
146
147
  ],
148
+ [
149
+ Protocol.Audits.InspectorIssueCode.PermissionElementIssue,
150
+ PermissionElementIssue.fromInspectorIssue,
151
+ ],
147
152
  ]);
148
153
 
149
154
  /**
@@ -0,0 +1,262 @@
1
+ // Copyright 2025 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
+
5
+ import type * as SDK from '../../core/sdk/sdk.js';
6
+ import * as Protocol from '../../generated/protocol.js';
7
+
8
+ import {type AffectedElement, Issue, IssueCategory, IssueKind} from './Issue.js';
9
+ import type {MarkdownIssueDescription} from './MarkdownIssueDescription.js';
10
+
11
+ export class PermissionElementIssue extends Issue<Protocol.Audits.PermissionElementIssueDetails> {
12
+ #issueDetails: Protocol.Audits.PermissionElementIssueDetails;
13
+
14
+ constructor(
15
+ issueDetails: Protocol.Audits.PermissionElementIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
16
+ const issueCode = [
17
+ Protocol.Audits.InspectorIssueCode.PermissionElementIssue,
18
+ issueDetails.issueType,
19
+ ].join('::');
20
+ super(issueCode, issueDetails, issuesModel);
21
+ this.#issueDetails = issueDetails;
22
+ }
23
+
24
+ getCategory(): IssueCategory {
25
+ return IssueCategory.PERMISSION_ELEMENT;
26
+ }
27
+
28
+ getDescription(): MarkdownIssueDescription|null {
29
+ const issueType = this.#issueDetails.issueType;
30
+
31
+ switch (issueType) {
32
+ case Protocol.Audits.PermissionElementIssueType.InvalidType:
33
+ return {
34
+ file: 'permissionElementInvalidType.md',
35
+ substitutions: new Map([
36
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
37
+ ]),
38
+ links: [],
39
+ };
40
+ case Protocol.Audits.PermissionElementIssueType.FencedFrameDisallowed:
41
+ return {
42
+ file: 'permissionElementFencedFrameDisallowed.md',
43
+ substitutions: new Map([
44
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
45
+ ]),
46
+ links: [],
47
+ };
48
+ case Protocol.Audits.PermissionElementIssueType.CspFrameAncestorsMissing:
49
+ return {
50
+ file: 'permissionElementCspFrameAncestorsMissing.md',
51
+ substitutions: new Map([
52
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
53
+ ]),
54
+ links: [],
55
+ };
56
+ case Protocol.Audits.PermissionElementIssueType.PermissionsPolicyBlocked:
57
+ return {
58
+ file: 'permissionElementPermissionsPolicyBlocked.md',
59
+ substitutions: new Map([
60
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
61
+ ['PLACEHOLDER_PermissionName', this.#issueDetails.permissionName || ''],
62
+ ]),
63
+ links: [],
64
+ };
65
+ case Protocol.Audits.PermissionElementIssueType.PaddingRightUnsupported:
66
+ return {
67
+ file: 'permissionElementPaddingRightUnsupported.md',
68
+ substitutions: new Map([
69
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
70
+ ]),
71
+ links: [],
72
+ };
73
+ case Protocol.Audits.PermissionElementIssueType.PaddingBottomUnsupported:
74
+ return {
75
+ file: 'permissionElementPaddingBottomUnsupported.md',
76
+ substitutions: new Map([
77
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
78
+ ]),
79
+ links: [],
80
+ };
81
+ case Protocol.Audits.PermissionElementIssueType.InsetBoxShadowUnsupported:
82
+ return {
83
+ file: 'permissionElementInsetBoxShadowUnsupported.md',
84
+ substitutions: new Map([
85
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
86
+ ]),
87
+ links: [],
88
+ };
89
+ case Protocol.Audits.PermissionElementIssueType.RequestInProgress:
90
+ return {
91
+ file: 'permissionElementRequestInProgress.md',
92
+ substitutions: new Map([
93
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
94
+ ]),
95
+ links: [],
96
+ };
97
+ case Protocol.Audits.PermissionElementIssueType.UntrustedEvent:
98
+ return {
99
+ file: 'permissionElementUntrustedEvent.md',
100
+ substitutions: new Map([
101
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
102
+ ]),
103
+ links: [],
104
+ };
105
+ case Protocol.Audits.PermissionElementIssueType.RegistrationFailed:
106
+ return {
107
+ file: 'permissionElementRegistrationFailed.md',
108
+ substitutions: new Map([
109
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
110
+ ]),
111
+ links: [],
112
+ };
113
+ case Protocol.Audits.PermissionElementIssueType.TypeNotSupported:
114
+ return {
115
+ file: 'permissionElementTypeNotSupported.md',
116
+ substitutions: new Map([
117
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
118
+ ]),
119
+ links: [],
120
+ };
121
+ case Protocol.Audits.PermissionElementIssueType.InvalidTypeActivation:
122
+ return {
123
+ file: 'permissionElementInvalidTypeActivation.md',
124
+ substitutions: new Map([
125
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
126
+ ]),
127
+ links: [],
128
+ };
129
+ case Protocol.Audits.PermissionElementIssueType.SecurityChecksFailed:
130
+ return {
131
+ file: 'permissionElementSecurityChecksFailed.md',
132
+ substitutions: new Map([
133
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
134
+ ]),
135
+ links: [],
136
+ };
137
+ case Protocol.Audits.PermissionElementIssueType.ActivationDisabled: {
138
+ if (this.#issueDetails.occluderNodeInfo && this.#issueDetails.occluderParentNodeInfo) {
139
+ return {
140
+ file: 'permissionElementActivationDisabledWithOccluderParent.md',
141
+ substitutions: new Map([
142
+ ['PLACEHOLDER_DisableReason', this.#issueDetails.disableReason || ''],
143
+ ['PLACEHOLDER_OccluderInfo', this.#issueDetails.occluderNodeInfo || ''],
144
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
145
+ ['PLACEHOLDER_OccluderParentInfo', this.#issueDetails.occluderParentNodeInfo || ''],
146
+ ]),
147
+ links: [],
148
+ };
149
+ }
150
+
151
+ if (this.#issueDetails.occluderNodeInfo) {
152
+ return {
153
+ file: 'permissionElementActivationDisabledWithOccluder.md',
154
+ substitutions: new Map([
155
+ ['PLACEHOLDER_DisableReason', this.#issueDetails.disableReason || ''],
156
+ ['PLACEHOLDER_OccluderInfo', this.#issueDetails.occluderNodeInfo || ''],
157
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
158
+ ]),
159
+ links: [],
160
+ };
161
+ }
162
+
163
+ return {
164
+ file: 'permissionElementActivationDisabled.md',
165
+ substitutions: new Map([
166
+ ['PLACEHOLDER_DisableReason', this.#issueDetails.disableReason || ''],
167
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
168
+ ]),
169
+ links: [],
170
+ };
171
+ }
172
+ case Protocol.Audits.PermissionElementIssueType.GeolocationDeprecated:
173
+ return {
174
+ file: 'permissionElementGeolocationDeprecated.md',
175
+ links: [],
176
+ };
177
+ case Protocol.Audits.PermissionElementIssueType.InvalidDisplayStyle:
178
+ return {
179
+ file: 'permissionElementInvalidDisplayStyle.md',
180
+ substitutions: new Map([
181
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
182
+ ]),
183
+ links: [],
184
+ };
185
+ case Protocol.Audits.PermissionElementIssueType.NonOpaqueColor:
186
+ return {
187
+ file: 'permissionElementNonOpaqueColor.md',
188
+ substitutions: new Map([
189
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
190
+ ]),
191
+ links: [],
192
+ };
193
+ case Protocol.Audits.PermissionElementIssueType.LowContrast:
194
+ return {
195
+ file: 'permissionElementLowContrast.md',
196
+ substitutions: new Map([
197
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
198
+ ]),
199
+ links: [],
200
+ };
201
+ case Protocol.Audits.PermissionElementIssueType.FontSizeTooSmall:
202
+ return {
203
+ file: 'permissionElementFontSizeTooSmall.md',
204
+ substitutions: new Map([
205
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
206
+ ]),
207
+ links: [],
208
+ };
209
+ case Protocol.Audits.PermissionElementIssueType.FontSizeTooLarge:
210
+ return {
211
+ file: 'permissionElementFontSizeTooLarge.md',
212
+ substitutions: new Map([
213
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
214
+ ]),
215
+ links: [],
216
+ };
217
+ case Protocol.Audits.PermissionElementIssueType.InvalidSizeValue:
218
+ return {
219
+ file: 'permissionElementInvalidSizeValue.md',
220
+ substitutions: new Map([
221
+ ['PLACEHOLDER_Type', this.#issueDetails.type || ''],
222
+ ]),
223
+ links: [],
224
+ };
225
+ default:
226
+ console.warn('Unknown PermissionElementIssueType:', issueType);
227
+ return null;
228
+ }
229
+ }
230
+
231
+ override elements(): Iterable<AffectedElement> {
232
+ if (this.#issueDetails.nodeId) {
233
+ const target = this.model()?.target();
234
+ const result = [{
235
+ backendNodeId: this.#issueDetails.nodeId,
236
+ nodeName: this.#issueDetails.type || 'Affected element',
237
+ target: target || null,
238
+ }];
239
+ return result;
240
+ }
241
+ return [];
242
+ }
243
+
244
+ getKind(): IssueKind {
245
+ return this.#issueDetails.isWarning ? IssueKind.IMPROVEMENT : IssueKind.PAGE_ERROR;
246
+ }
247
+
248
+ primaryKey(): string {
249
+ return `${Protocol.Audits.InspectorIssueCode.PermissionElementIssue}-${JSON.stringify(this.#issueDetails)}`;
250
+ }
251
+
252
+ static fromInspectorIssue(
253
+ issuesModel: SDK.IssuesModel.IssuesModel|null,
254
+ inspectorIssue: Protocol.Audits.InspectorIssue): PermissionElementIssue[] {
255
+ const permissionElementIssueDetails = inspectorIssue.details.permissionElementIssueDetails;
256
+ if (!permissionElementIssueDetails) {
257
+ console.warn('Permission element issue without details received.');
258
+ return [];
259
+ }
260
+ return [new PermissionElementIssue(permissionElementIssueDetails, issuesModel)];
261
+ }
262
+ }
@@ -0,0 +1,7 @@
1
+ # Activation disabled
2
+
3
+ The "{PLACEHOLDER_Type}" element could not be activated for the following reason: {PLACEHOLDER_DisableReason}.
4
+
5
+ To resolve this issue, ensure that the element follows all styling restrictions and is fully visible to the user.
6
+
7
+ You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
@@ -0,0 +1,9 @@
1
+ # Activation disabled
2
+
3
+ The "{PLACEHOLDER_Type}" element could not be activated for the following reason: {PLACEHOLDER_DisableReason}.
4
+
5
+ The element is occluded by: "{PLACEHOLDER_OccluderInfo}"
6
+
7
+ To resolve this issue, ensure that the element follows all styling restrictions and is fully visible to the user.
8
+
9
+ You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
@@ -0,0 +1,9 @@
1
+ # Activation disabled
2
+
3
+ The "{PLACEHOLDER_Type}" element could not be activated for the following reason: {PLACEHOLDER_DisableReason}.
4
+
5
+ The element is occluded by: "{PLACEHOLDER_OccluderInfo}" (parent element: "{PLACEHOLDER_OccluderParentInfo}")
6
+
7
+ To resolve this issue, ensure that the element follows all styling restrictions and is fully visible to the user.
8
+
9
+ You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
@@ -0,0 +1,5 @@
1
+ # CSP `frame-ancestors` missing
2
+
3
+ The "{PLACEHOLDER_Type}" element is used in a cross-origin iframe, but the required `frame-ancestors` Content Security Policy directive is missing.
4
+
5
+ To resolve this issue, add a `frame-ancestors` Content Security Policy directive to the iframe.
@@ -0,0 +1,5 @@
1
+ # Fenced frame disallowed
2
+
3
+ The "{PLACEHOLDER_Type}" element is not allowed in a fenced frame.
4
+
5
+ To resolve this issue, ensure the element is not used in a fenced frame.
@@ -0,0 +1,5 @@
1
+ # Font size too large
2
+
3
+ The "{PLACEHOLDER_Type}" element's font size is too large.
4
+
5
+ To resolve this issue, ensure that the element's font is at most 'xx-large'.
@@ -0,0 +1,5 @@
1
+ # Font size too small
2
+
3
+ The "{PLACEHOLDER_Type}" element's font size is too small.
4
+
5
+ To resolve this issue, ensure that the element's font is at least 'small'.
@@ -0,0 +1,5 @@
1
+ # Geolocation deprecated
2
+
3
+ Using `<permission type="geolocation">` is deprecated.
4
+
5
+ To resolve this issue, use the `<geolocation>` element instead.
@@ -0,0 +1,5 @@
1
+ # Unsupported inset box shadow
2
+
3
+ The "{PLACEHOLDER_Type}" element does not support `inset` box shadows.
4
+
5
+ To resolve this issue, remove the `inset` keyword from the relevant stylesheet.
@@ -0,0 +1,5 @@
1
+ # Invalid display style
2
+
3
+ The "{PLACEHOLDER_Type}" element has an invalid display style. Values that result in an unsupported layout are not allowed.
4
+
5
+ To resolve this issue, consider using 'inline-block', 'block', or 'flex' instead.
@@ -0,0 +1,5 @@
1
+ # Invalid size value
2
+
3
+ Content, intrinsic, or stretch sizes are not supported as values for the min/max width and height of the "{PLACEHOLDER_Type}" element.
4
+
5
+ To resolve this issue, use absolute or relative lengths for the element's width and height.
@@ -0,0 +1,5 @@
1
+ # Invalid type attribute
2
+
3
+ The "{PLACEHOLDER_Type}" type is not supported.
4
+
5
+ To resolve this issue, ensure the element's type is one of the supported values: "camera", "microphone", "geolocation", "camera microphone".
@@ -0,0 +1,5 @@
1
+ # Invalid type activation
2
+
3
+ An element with the "{PLACEHOLDER_Type}" type was attempted to be activated. However this type is not supported.
4
+
5
+ To resolve this issue, ensure the element's type is one of the supported values: "camera", "microphone", "geolocation", "camera microphone".
@@ -0,0 +1,5 @@
1
+ # Low contrast
2
+
3
+ The contrast between the text color and background color of the "{PLACEHOLDER_Type}" element is too low.
4
+
5
+ To resolve this issue, ensure that your text/background colors have more contrast between them.
@@ -0,0 +1,5 @@
1
+ # Non-opaque color
2
+
3
+ The text color or background color of the "{PLACEHOLDER_Type}" element is non-opaque.
4
+
5
+ To resolve this issue, ensure the element's text and background colors have their alpha channel value at 100%.
@@ -0,0 +1,6 @@
1
+ # Unsupported bottom padding
2
+
3
+ The "{PLACEHOLDER_Type}" element does not support `padding-bottom`.
4
+ `padding-bottom` is always set to be identical to `padding-top`.
5
+
6
+ To resolve this issue, ensure the element's `padding-bottom` is unset or identical to `padding-top`.
@@ -0,0 +1,6 @@
1
+ # Unsupported right padding
2
+
3
+ The "{PLACEHOLDER_Type}" element does not support `padding-right`.
4
+ `padding-right` is always set to be identical to `padding-left`.
5
+
6
+ To resolve this issue, ensure the element's `padding-right` is unset or identical to `padding-left`.
@@ -0,0 +1,5 @@
1
+ # Permissions policy blocked
2
+
3
+ The "{PLACEHOLDER_Type}" element is blocked by the "{PLACEHOLDER_PermissionName}" permission policy.
4
+
5
+ To resolve this issue, ensure the frame which contains the element is loaded with the appropriate permission policy by its embedder.
@@ -0,0 +1,5 @@
1
+ # Quota exceeded
2
+
3
+ The "{PLACEHOLDER_Type}" element has surpassed the maximum instances quota per page.
4
+
5
+ To resolve this issue, ensure that you have no more than 3 elements of the same type per page.
@@ -0,0 +1,5 @@
1
+ # Request in progress
2
+
3
+ A permission request on the "{PLACEHOLDER_Type}" element was prevented because a previous request is still in progress.
4
+
5
+ To resolve this issue, ensure that the site does not allow users to interact with the element behind the current content scrim (for example by moving the element to a document in a new window, which is not covered by the scrim).
@@ -0,0 +1,5 @@
1
+ # Activation disabled (quota)
2
+
3
+ The "{PLACEHOLDER_Type}" element could not be activated because the page's quota has been exceeded.
4
+
5
+ To resolve this issue, ensure that you have no more than 3 elements of the same type per page.
@@ -0,0 +1,5 @@
1
+ # Permission not supported
2
+
3
+ The permission type "{PLACEHOLDER_Type}" is not supported by this browser and therefore the element will not be functional.
4
+
5
+ To resolve this issue, ensure the element's type is one of the supported values: "camera", "microphone", "geolocation", "camera microphone".
@@ -0,0 +1,7 @@
1
+ # Untrusted event
2
+
3
+ The "{PLACEHOLDER_Type}" element can only be activated by actual user clicks, not simulated ones.
4
+
5
+ To resolve this issue, do not use frameworks which simulate click events, (e.g. via `click()`) and do not prevent the `DOMActivate` event.
6
+
7
+ You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
@@ -24,6 +24,7 @@ import * as LowTextContrastIssue from './LowTextContrastIssue.js';
24
24
  import * as MarkdownIssueDescription from './MarkdownIssueDescription.js';
25
25
  import * as MixedContentIssue from './MixedContentIssue.js';
26
26
  import * as PartitioningBlobURLIssue from './PartitioningBlobURLIssue.js';
27
+ import * as PermissionElementIssue from './PermissionElementIssue.js';
27
28
  import * as PropertyRuleIssue from './PropertyRuleIssue.js';
28
29
  import * as QuirksModeIssue from './QuirksModeIssue.js';
29
30
  import * as RelatedIssue from './RelatedIssue.js';
@@ -57,6 +58,7 @@ export {
57
58
  MarkdownIssueDescription,
58
59
  MixedContentIssue,
59
60
  PartitioningBlobURLIssue,
61
+ PermissionElementIssue,
60
62
  PropertyRuleIssue,
61
63
  QuirksModeIssue,
62
64
  RelatedIssue,
@@ -6203,6 +6203,10 @@ export const NativeFunctions = [
6203
6203
  name: "CSSMathProduct",
6204
6204
  signatures: [["...args"]]
6205
6205
  },
6206
+ {
6207
+ name: "CSSMathRandom",
6208
+ signatures: [["baseValue","min","max","?step"]]
6209
+ },
6206
6210
  {
6207
6211
  name: "CSSMathSum",
6208
6212
  signatures: [["...args"]]
@@ -7802,6 +7806,10 @@ export const NativeFunctions = [
7802
7806
  name: "GamepadEvent",
7803
7807
  signatures: [["type","?eventInitDict"]]
7804
7808
  },
7809
+ {
7810
+ name: "GamepadRawInputChangeEvent",
7811
+ signatures: [["type","?eventInitDict"]]
7812
+ },
7805
7813
  {
7806
7814
  name: "addStroke",
7807
7815
  signatures: [["stroke"]]