lighthouse 13.3.0 → 13.4.0-dev.20260626

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 (205) hide show
  1. package/.agents/skills/lighthouse-verification/SKILL.md +23 -0
  2. package/cli/cli-flags.d.ts +8 -9
  3. package/cli/test/smokehouse/config/exclusions.js +2 -0
  4. package/cli/test/smokehouse/version-check.d.ts +1 -1
  5. package/core/audits/accessibility/accesskeys.js +1 -1
  6. package/core/audits/accessibility/aria-allowed-attr.js +1 -1
  7. package/core/audits/accessibility/aria-allowed-role.js +1 -1
  8. package/core/audits/accessibility/aria-command-name.js +1 -1
  9. package/core/audits/accessibility/aria-conditional-attr.js +1 -1
  10. package/core/audits/accessibility/aria-deprecated-role.js +1 -1
  11. package/core/audits/accessibility/aria-dialog-name.js +1 -1
  12. package/core/audits/accessibility/aria-hidden-body.js +1 -1
  13. package/core/audits/accessibility/aria-hidden-focus.js +1 -1
  14. package/core/audits/accessibility/aria-input-field-name.js +1 -1
  15. package/core/audits/accessibility/aria-meter-name.js +1 -1
  16. package/core/audits/accessibility/aria-progressbar-name.js +1 -1
  17. package/core/audits/accessibility/aria-prohibited-attr.js +1 -1
  18. package/core/audits/accessibility/aria-required-attr.js +1 -1
  19. package/core/audits/accessibility/aria-required-children.js +1 -1
  20. package/core/audits/accessibility/aria-required-parent.js +1 -1
  21. package/core/audits/accessibility/aria-roles.js +1 -1
  22. package/core/audits/accessibility/aria-text.js +1 -1
  23. package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
  24. package/core/audits/accessibility/aria-tooltip-name.js +1 -1
  25. package/core/audits/accessibility/aria-treeitem-name.js +1 -1
  26. package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
  27. package/core/audits/accessibility/aria-valid-attr.js +1 -1
  28. package/core/audits/accessibility/autocomplete-valid.js +1 -1
  29. package/core/audits/accessibility/button-name.js +1 -1
  30. package/core/audits/accessibility/bypass.js +1 -1
  31. package/core/audits/accessibility/color-contrast.js +1 -1
  32. package/core/audits/accessibility/definition-list.js +1 -1
  33. package/core/audits/accessibility/dlitem.js +1 -1
  34. package/core/audits/accessibility/document-title.js +1 -1
  35. package/core/audits/accessibility/duplicate-id-aria.js +1 -1
  36. package/core/audits/accessibility/empty-heading.js +1 -1
  37. package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
  38. package/core/audits/accessibility/frame-title.js +1 -1
  39. package/core/audits/accessibility/heading-order.js +1 -1
  40. package/core/audits/accessibility/html-has-lang.js +1 -1
  41. package/core/audits/accessibility/html-lang-valid.js +1 -1
  42. package/core/audits/accessibility/html-xml-lang-mismatch.js +1 -1
  43. package/core/audits/accessibility/identical-links-same-purpose.js +1 -1
  44. package/core/audits/accessibility/image-alt.js +1 -1
  45. package/core/audits/accessibility/image-redundant-alt.js +1 -1
  46. package/core/audits/accessibility/input-button-name.js +1 -1
  47. package/core/audits/accessibility/input-image-alt.js +1 -1
  48. package/core/audits/accessibility/label-content-name-mismatch.js +1 -1
  49. package/core/audits/accessibility/label.js +1 -1
  50. package/core/audits/accessibility/landmark-one-main.js +1 -1
  51. package/core/audits/accessibility/link-in-text-block.js +1 -1
  52. package/core/audits/accessibility/link-name.js +1 -1
  53. package/core/audits/accessibility/list.js +1 -1
  54. package/core/audits/accessibility/listitem.js +1 -1
  55. package/core/audits/accessibility/meta-refresh.js +1 -1
  56. package/core/audits/accessibility/meta-viewport.js +1 -1
  57. package/core/audits/accessibility/object-alt.js +1 -1
  58. package/core/audits/accessibility/presentation-role-conflict.js +1 -1
  59. package/core/audits/accessibility/select-name.js +1 -1
  60. package/core/audits/accessibility/skip-link.js +1 -1
  61. package/core/audits/accessibility/svg-img-alt.js +1 -1
  62. package/core/audits/accessibility/tabindex.js +1 -1
  63. package/core/audits/accessibility/table-duplicate-name.js +1 -1
  64. package/core/audits/accessibility/table-fake-caption.js +1 -1
  65. package/core/audits/accessibility/target-size.js +1 -1
  66. package/core/audits/accessibility/td-has-header.js +1 -1
  67. package/core/audits/accessibility/td-headers-attr.js +1 -1
  68. package/core/audits/accessibility/th-has-data-cells.js +1 -1
  69. package/core/audits/accessibility/valid-lang.js +1 -1
  70. package/core/audits/accessibility/video-caption.js +1 -1
  71. package/core/audits/agentic/llms-txt.d.ts +1 -0
  72. package/core/audits/agentic/llms-txt.js +14 -1
  73. package/core/audits/baseline.js +10 -12
  74. package/core/audits/dobetterweb/geolocation-on-start.js +2 -1
  75. package/core/audits/network-requests.js +2 -0
  76. package/core/audits/seo/canonical.js +19 -7
  77. package/core/audits/seo/robots-txt.d.ts +1 -0
  78. package/core/audits/seo/robots-txt.js +22 -8
  79. package/core/computed/js-bundles.d.ts +1 -1
  80. package/core/computed/load-simulator.d.ts +1 -1
  81. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +1 -1
  82. package/core/computed/metrics/first-contentful-paint.d.ts +1 -1
  83. package/core/computed/metrics/interactive.d.ts +1 -1
  84. package/core/computed/metrics/lantern-metric.d.ts +6 -6
  85. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +1 -1
  86. package/core/computed/metrics/largest-contentful-paint.d.ts +1 -1
  87. package/core/computed/metrics/max-potential-fid.d.ts +1 -1
  88. package/core/computed/metrics/speed-index.d.ts +1 -1
  89. package/core/computed/metrics/time-to-first-byte.d.ts +1 -1
  90. package/core/computed/metrics/total-blocking-time.d.ts +1 -1
  91. package/core/computed/module-duplication.d.ts +1 -1
  92. package/core/computed/page-dependency-graph.d.ts +1 -1
  93. package/core/computed/unused-css.d.ts +1 -1
  94. package/core/config/agentic-browsing-config.d.ts +1 -0
  95. package/core/config/agentic-browsing-config.js +1 -0
  96. package/core/config/config-helpers.d.ts +1 -0
  97. package/core/config/config-helpers.js +1 -1
  98. package/core/config/config-plugin.d.ts +1 -0
  99. package/core/config/config-plugin.js +1 -0
  100. package/core/config/config.d.ts +1 -0
  101. package/core/config/config.js +1 -0
  102. package/core/config/constants.d.ts +1 -0
  103. package/core/config/constants.js +1 -0
  104. package/core/config/experimental-config.d.ts +1 -9
  105. package/core/config/experimental-config.js +2 -0
  106. package/core/config/filters.d.ts +1 -0
  107. package/core/config/filters.js +1 -0
  108. package/core/config/full-config.d.ts +1 -5
  109. package/core/config/full-config.js +2 -0
  110. package/core/config/lr-desktop-config.d.ts +1 -0
  111. package/core/config/lr-desktop-config.js +1 -0
  112. package/core/config/lr-mobile-config.d.ts +1 -5
  113. package/core/config/lr-mobile-config.js +2 -0
  114. package/core/config/perf-config.d.ts +1 -5
  115. package/core/config/perf-config.js +2 -0
  116. package/core/config/validation.d.ts +1 -0
  117. package/core/config/validation.js +1 -0
  118. package/core/gather/driver/execution-context.d.ts +23 -0
  119. package/core/gather/driver/execution-context.js +86 -1
  120. package/core/gather/driver/storage.js +13 -0
  121. package/core/gather/driver.d.ts +1 -1
  122. package/core/gather/gatherers/accessibility.js +1 -0
  123. package/core/gather/gatherers/agentic/llms-txt.js +5 -1
  124. package/core/gather/gatherers/seo/robots-txt.js +6 -1
  125. package/core/gather/gatherers/trace-elements.d.ts +4 -1
  126. package/core/gather/gatherers/trace-elements.js +24 -28
  127. package/core/gather/gatherers/webmcp-schema.js +9 -16
  128. package/core/gather/gatherers/webmcp.d.ts +5 -0
  129. package/core/gather/gatherers/webmcp.js +34 -27
  130. package/core/lib/baseline/web-features-data.json +1179 -0
  131. package/core/lib/baseline/web-features-metadata.json +1 -1
  132. package/core/lib/deprecations-strings.d.ts +113 -89
  133. package/core/lib/deprecations-strings.js +24 -0
  134. package/core/lib/script-helpers.js +13 -1
  135. package/core/scoring.d.ts +58 -58
  136. package/dist/report/bundle.esm.js +4 -7
  137. package/dist/report/flow.js +6 -9
  138. package/dist/report/standalone.js +20 -12
  139. package/flow-report/types/flow-report.d.ts +2 -2
  140. package/package.json +28 -28
  141. package/report/assets/styles.css +1 -4
  142. package/report/renderer/components.js +1 -1
  143. package/report/renderer/details-renderer.d.ts +6 -1
  144. package/report/renderer/details-renderer.js +11 -3
  145. package/report/renderer/explodey-gauge.js +9 -7
  146. package/report/renderer/i18n-formatter.d.ts +1 -1
  147. package/report/renderer/logger.js +18 -4
  148. package/report/renderer/text-encoding.js +1 -1
  149. package/report/types/html-renderer.d.ts +2 -2
  150. package/shared/localization/locales/ar-XB.json +290 -65
  151. package/shared/localization/locales/ar.json +290 -65
  152. package/shared/localization/locales/bg.json +290 -65
  153. package/shared/localization/locales/ca.json +295 -70
  154. package/shared/localization/locales/cs.json +290 -65
  155. package/shared/localization/locales/da.json +294 -69
  156. package/shared/localization/locales/de.json +295 -70
  157. package/shared/localization/locales/el.json +290 -65
  158. package/shared/localization/locales/en-GB.json +290 -65
  159. package/shared/localization/locales/en-US.json +86 -68
  160. package/shared/localization/locales/en-XA.json +253 -64
  161. package/shared/localization/locales/en-XL.json +86 -68
  162. package/shared/localization/locales/es-419.json +290 -65
  163. package/shared/localization/locales/es.json +298 -73
  164. package/shared/localization/locales/fi.json +290 -65
  165. package/shared/localization/locales/fil.json +290 -65
  166. package/shared/localization/locales/fr.json +294 -69
  167. package/shared/localization/locales/he.json +293 -68
  168. package/shared/localization/locales/hi.json +291 -66
  169. package/shared/localization/locales/hr.json +290 -65
  170. package/shared/localization/locales/hu.json +290 -65
  171. package/shared/localization/locales/id.json +290 -65
  172. package/shared/localization/locales/it.json +294 -69
  173. package/shared/localization/locales/ja.json +290 -65
  174. package/shared/localization/locales/ko.json +290 -65
  175. package/shared/localization/locales/lt.json +290 -65
  176. package/shared/localization/locales/lv.json +290 -65
  177. package/shared/localization/locales/nl.json +290 -65
  178. package/shared/localization/locales/no.json +290 -65
  179. package/shared/localization/locales/pl.json +290 -65
  180. package/shared/localization/locales/pt-PT.json +291 -66
  181. package/shared/localization/locales/pt.json +290 -65
  182. package/shared/localization/locales/ro.json +290 -65
  183. package/shared/localization/locales/ru.json +301 -76
  184. package/shared/localization/locales/sk.json +291 -66
  185. package/shared/localization/locales/sl.json +290 -65
  186. package/shared/localization/locales/sr-Latn.json +290 -65
  187. package/shared/localization/locales/sr.json +290 -65
  188. package/shared/localization/locales/sv.json +297 -72
  189. package/shared/localization/locales/ta.json +291 -66
  190. package/shared/localization/locales/te.json +293 -68
  191. package/shared/localization/locales/th.json +291 -66
  192. package/shared/localization/locales/tr.json +290 -65
  193. package/shared/localization/locales/uk.json +290 -65
  194. package/shared/localization/locales/vi.json +291 -66
  195. package/shared/localization/locales/zh-HK.json +292 -67
  196. package/shared/localization/locales/zh-TW.json +291 -66
  197. package/shared/localization/locales/zh.json +291 -66
  198. package/shared/types/shared.d.ts +1 -1
  199. package/tsconfig-base.json +2 -1
  200. package/tsconfig.json +2 -0
  201. package/types/artifacts.d.ts +1 -1
  202. package/types/internal/rxjs.d.ts +1 -1
  203. package/types/internal/smokehouse.d.ts +1 -1
  204. package/types.d.ts +2 -0
  205. package/types.js +11 -0
@@ -1,3 +1,3 @@
1
1
  {
2
- "date": "2026-05-01"
2
+ "date": "2026-06-19"
3
3
  }
@@ -11,6 +11,7 @@ export namespace UIStrings {
11
11
  let CSSSelectorInternalMediaControlsOverlayCastButton: string;
12
12
  let CSSValueAppearanceSliderVertical: string;
13
13
  let DataUrlInSvgUse: string;
14
+ let DigitalCredentialsUnknownProtocol: string;
14
15
  let DocumentCreateEventKeyboardEvents: string;
15
16
  let DocumentCreateEventTransitionEvent: string;
16
17
  let ExampleBrowserProcessDeprecation: string;
@@ -66,6 +67,8 @@ export namespace UIStrings {
66
67
  let UnloadHandler: string;
67
68
  let V8SharedArrayBufferConstructedInExtensionWithoutIsolation: string;
68
69
  let WebBluetoothRemoteCharacteristicWriteValue: string;
70
+ let WebTransportDatagramDuplexStreamIncomingHighWaterMark: string;
71
+ let WebTransportDatagramDuplexStreamOutgoingHighWaterMark: string;
69
72
  let XHRJSONEncodingDetection: string;
70
73
  let XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: string;
71
74
  let XSLT: string;
@@ -121,210 +124,231 @@ export namespace DEPRECATIONS_METADATA {
121
124
  export { milestone_2 as milestone };
122
125
  }
123
126
  export { DataUrlInSvgUse_1 as DataUrlInSvgUse };
124
- export namespace DocumentCreateEventKeyboardEvents_1 {
127
+ export namespace DigitalCredentialsUnknownProtocol_1 {
125
128
  let chromeStatusFeature_8: number;
126
129
  export { chromeStatusFeature_8 as chromeStatusFeature };
127
130
  let milestone_3: number;
128
131
  export { milestone_3 as milestone };
129
132
  }
130
- export { DocumentCreateEventKeyboardEvents_1 as DocumentCreateEventKeyboardEvents };
131
- export namespace DocumentCreateEventTransitionEvent_1 {
133
+ export { DigitalCredentialsUnknownProtocol_1 as DigitalCredentialsUnknownProtocol };
134
+ export namespace DocumentCreateEventKeyboardEvents_1 {
132
135
  let chromeStatusFeature_9: number;
133
136
  export { chromeStatusFeature_9 as chromeStatusFeature };
134
137
  let milestone_4: number;
135
138
  export { milestone_4 as milestone };
136
139
  }
137
- export { DocumentCreateEventTransitionEvent_1 as DocumentCreateEventTransitionEvent };
138
- export namespace IdentityInCanMakePaymentEvent_1 {
140
+ export { DocumentCreateEventKeyboardEvents_1 as DocumentCreateEventKeyboardEvents };
141
+ export namespace DocumentCreateEventTransitionEvent_1 {
139
142
  let chromeStatusFeature_10: number;
140
143
  export { chromeStatusFeature_10 as chromeStatusFeature };
144
+ let milestone_5: number;
145
+ export { milestone_5 as milestone };
141
146
  }
142
- export { IdentityInCanMakePaymentEvent_1 as IdentityInCanMakePaymentEvent };
143
- export namespace InsecurePrivateNetworkSubresourceRequest_1 {
147
+ export { DocumentCreateEventTransitionEvent_1 as DocumentCreateEventTransitionEvent };
148
+ export namespace IdentityInCanMakePaymentEvent_1 {
144
149
  let chromeStatusFeature_11: number;
145
150
  export { chromeStatusFeature_11 as chromeStatusFeature };
146
- let milestone_5: number;
147
- export { milestone_5 as milestone };
148
151
  }
149
- export { InsecurePrivateNetworkSubresourceRequest_1 as InsecurePrivateNetworkSubresourceRequest };
150
- export namespace LanguageModelParams_1 {
152
+ export { IdentityInCanMakePaymentEvent_1 as IdentityInCanMakePaymentEvent };
153
+ export namespace InsecurePrivateNetworkSubresourceRequest_1 {
151
154
  let chromeStatusFeature_12: number;
152
155
  export { chromeStatusFeature_12 as chromeStatusFeature };
156
+ let milestone_6: number;
157
+ export { milestone_6 as milestone };
153
158
  }
154
- export { LanguageModelParams_1 as LanguageModelParams };
155
- export namespace LanguageModelTemperature_1 {
159
+ export { InsecurePrivateNetworkSubresourceRequest_1 as InsecurePrivateNetworkSubresourceRequest };
160
+ export namespace LanguageModelParams_1 {
156
161
  let chromeStatusFeature_13: number;
157
162
  export { chromeStatusFeature_13 as chromeStatusFeature };
158
163
  }
159
- export { LanguageModelTemperature_1 as LanguageModelTemperature };
160
- export namespace LanguageModelTopK_1 {
164
+ export { LanguageModelParams_1 as LanguageModelParams };
165
+ export namespace LanguageModelTemperature_1 {
161
166
  let chromeStatusFeature_14: number;
162
167
  export { chromeStatusFeature_14 as chromeStatusFeature };
163
168
  }
164
- export { LanguageModelTopK_1 as LanguageModelTopK };
165
- export namespace LanguageModel_InputQuota_1 {
169
+ export { LanguageModelTemperature_1 as LanguageModelTemperature };
170
+ export namespace LanguageModelTopK_1 {
166
171
  let chromeStatusFeature_15: number;
167
172
  export { chromeStatusFeature_15 as chromeStatusFeature };
168
173
  }
169
- export { LanguageModel_InputQuota_1 as LanguageModel_InputQuota };
170
- export namespace LanguageModel_InputUsage_1 {
174
+ export { LanguageModelTopK_1 as LanguageModelTopK };
175
+ export namespace LanguageModel_InputQuota_1 {
171
176
  let chromeStatusFeature_16: number;
172
177
  export { chromeStatusFeature_16 as chromeStatusFeature };
173
178
  }
174
- export { LanguageModel_InputUsage_1 as LanguageModel_InputUsage };
175
- export namespace LanguageModel_MeasureInputUsage_1 {
179
+ export { LanguageModel_InputQuota_1 as LanguageModel_InputQuota };
180
+ export namespace LanguageModel_InputUsage_1 {
176
181
  let chromeStatusFeature_17: number;
177
182
  export { chromeStatusFeature_17 as chromeStatusFeature };
178
183
  }
179
- export { LanguageModel_MeasureInputUsage_1 as LanguageModel_MeasureInputUsage };
180
- export namespace LanguageModel_OnQuotaOverflow_1 {
184
+ export { LanguageModel_InputUsage_1 as LanguageModel_InputUsage };
185
+ export namespace LanguageModel_MeasureInputUsage_1 {
181
186
  let chromeStatusFeature_18: number;
182
187
  export { chromeStatusFeature_18 as chromeStatusFeature };
183
188
  }
189
+ export { LanguageModel_MeasureInputUsage_1 as LanguageModel_MeasureInputUsage };
190
+ export namespace LanguageModel_OnQuotaOverflow_1 {
191
+ let chromeStatusFeature_19: number;
192
+ export { chromeStatusFeature_19 as chromeStatusFeature };
193
+ }
184
194
  export { LanguageModel_OnQuotaOverflow_1 as LanguageModel_OnQuotaOverflow };
185
195
  export namespace LocalCSSFileExtensionRejected_1 {
186
- let milestone_6: number;
187
- export { milestone_6 as milestone };
196
+ let milestone_7: number;
197
+ export { milestone_7 as milestone };
188
198
  }
189
199
  export { LocalCSSFileExtensionRejected_1 as LocalCSSFileExtensionRejected };
190
200
  export namespace NoSysexWebMIDIWithoutPermission_1 {
191
- let chromeStatusFeature_19: number;
192
- export { chromeStatusFeature_19 as chromeStatusFeature };
193
- let milestone_7: number;
194
- export { milestone_7 as milestone };
201
+ let chromeStatusFeature_20: number;
202
+ export { chromeStatusFeature_20 as chromeStatusFeature };
203
+ let milestone_8: number;
204
+ export { milestone_8 as milestone };
195
205
  }
196
206
  export { NoSysexWebMIDIWithoutPermission_1 as NoSysexWebMIDIWithoutPermission };
197
207
  export namespace NotificationPermissionRequestedIframe_1 {
198
- let chromeStatusFeature_20: number;
199
- export { chromeStatusFeature_20 as chromeStatusFeature };
208
+ let chromeStatusFeature_21: number;
209
+ export { chromeStatusFeature_21 as chromeStatusFeature };
200
210
  }
201
211
  export { NotificationPermissionRequestedIframe_1 as NotificationPermissionRequestedIframe };
202
212
  export namespace ObsoleteCreateImageBitmapImageOrientationNone_1 {
203
- let milestone_8: number;
204
- export { milestone_8 as milestone };
213
+ let milestone_9: number;
214
+ export { milestone_9 as milestone };
205
215
  }
206
216
  export { ObsoleteCreateImageBitmapImageOrientationNone_1 as ObsoleteCreateImageBitmapImageOrientationNone };
207
217
  export namespace ObsoleteWebRtcCipherSuite_1 {
208
- let milestone_9: number;
209
- export { milestone_9 as milestone };
218
+ let milestone_10: number;
219
+ export { milestone_10 as milestone };
210
220
  }
211
221
  export { ObsoleteWebRtcCipherSuite_1 as ObsoleteWebRtcCipherSuite };
212
222
  export namespace OverflowVisibleOnReplacedElement_1 {
213
- let chromeStatusFeature_21: number;
214
- export { chromeStatusFeature_21 as chromeStatusFeature };
215
- let milestone_10: number;
216
- export { milestone_10 as milestone };
223
+ let chromeStatusFeature_22: number;
224
+ export { chromeStatusFeature_22 as chromeStatusFeature };
225
+ let milestone_11: number;
226
+ export { milestone_11 as milestone };
217
227
  }
218
228
  export { OverflowVisibleOnReplacedElement_1 as OverflowVisibleOnReplacedElement };
219
229
  export namespace OverrideFlashEmbedwithHTML_1 {
220
- let milestone_11: number;
221
- export { milestone_11 as milestone };
230
+ let milestone_12: number;
231
+ export { milestone_12 as milestone };
222
232
  }
223
233
  export { OverrideFlashEmbedwithHTML_1 as OverrideFlashEmbedwithHTML };
224
234
  export namespace PaymentInstruments_1 {
225
- let chromeStatusFeature_22: number;
226
- export { chromeStatusFeature_22 as chromeStatusFeature };
235
+ let chromeStatusFeature_23: number;
236
+ export { chromeStatusFeature_23 as chromeStatusFeature };
227
237
  }
228
238
  export { PaymentInstruments_1 as PaymentInstruments };
229
239
  export namespace PaymentRequestCSPViolation_1 {
230
- let chromeStatusFeature_23: number;
231
- export { chromeStatusFeature_23 as chromeStatusFeature };
240
+ let chromeStatusFeature_24: number;
241
+ export { chromeStatusFeature_24 as chromeStatusFeature };
232
242
  }
233
243
  export { PaymentRequestCSPViolation_1 as PaymentRequestCSPViolation };
234
244
  export namespace PersistentQuotaType_1 {
235
- let chromeStatusFeature_24: number;
236
- export { chromeStatusFeature_24 as chromeStatusFeature };
237
- let milestone_12: number;
238
- export { milestone_12 as milestone };
245
+ let chromeStatusFeature_25: number;
246
+ export { chromeStatusFeature_25 as chromeStatusFeature };
247
+ let milestone_13: number;
248
+ export { milestone_13 as milestone };
239
249
  }
240
250
  export { PersistentQuotaType_1 as PersistentQuotaType };
241
251
  export namespace PreventSvgFilterPaint_1 {
242
- let chromeStatusFeature_25: number;
243
- export { chromeStatusFeature_25 as chromeStatusFeature };
252
+ let chromeStatusFeature_26: number;
253
+ export { chromeStatusFeature_26 as chromeStatusFeature };
244
254
  }
245
255
  export { PreventSvgFilterPaint_1 as PreventSvgFilterPaint };
246
256
  export namespace RTCConstraintEnableDtlsSrtpFalse_1 {
247
- let milestone_13: number;
248
- export { milestone_13 as milestone };
257
+ let milestone_14: number;
258
+ export { milestone_14 as milestone };
249
259
  }
250
260
  export { RTCConstraintEnableDtlsSrtpFalse_1 as RTCConstraintEnableDtlsSrtpFalse };
251
261
  export namespace RTCConstraintEnableDtlsSrtpTrue_1 {
252
- let milestone_14: number;
253
- export { milestone_14 as milestone };
262
+ let milestone_15: number;
263
+ export { milestone_15 as milestone };
254
264
  }
255
265
  export { RTCConstraintEnableDtlsSrtpTrue_1 as RTCConstraintEnableDtlsSrtpTrue };
256
266
  export namespace RTCPeerConnectionGetStatsLegacyNonCompliant_1 {
257
- let chromeStatusFeature_26: number;
258
- export { chromeStatusFeature_26 as chromeStatusFeature };
259
- let milestone_15: number;
260
- export { milestone_15 as milestone };
267
+ let chromeStatusFeature_27: number;
268
+ export { chromeStatusFeature_27 as chromeStatusFeature };
269
+ let milestone_16: number;
270
+ export { milestone_16 as milestone };
261
271
  }
262
272
  export { RTCPeerConnectionGetStatsLegacyNonCompliant_1 as RTCPeerConnectionGetStatsLegacyNonCompliant };
263
273
  export namespace RelatedWebsiteSets_1 {
264
- let chromeStatusFeature_27: number;
265
- export { chromeStatusFeature_27 as chromeStatusFeature };
274
+ let chromeStatusFeature_28: number;
275
+ export { chromeStatusFeature_28 as chromeStatusFeature };
266
276
  }
267
277
  export { RelatedWebsiteSets_1 as RelatedWebsiteSets };
268
278
  export namespace RequestedSubresourceWithEmbeddedCredentials_1 {
269
- let chromeStatusFeature_28: number;
270
- export { chromeStatusFeature_28 as chromeStatusFeature };
279
+ let chromeStatusFeature_29: number;
280
+ export { chromeStatusFeature_29 as chromeStatusFeature };
271
281
  }
272
282
  export { RequestedSubresourceWithEmbeddedCredentials_1 as RequestedSubresourceWithEmbeddedCredentials };
273
283
  export namespace RtcpMuxPolicyNegotiate_1 {
274
- let chromeStatusFeature_29: number;
275
- export { chromeStatusFeature_29 as chromeStatusFeature };
276
- let milestone_16: number;
277
- export { milestone_16 as milestone };
284
+ let chromeStatusFeature_30: number;
285
+ export { chromeStatusFeature_30 as chromeStatusFeature };
286
+ let milestone_17: number;
287
+ export { milestone_17 as milestone };
278
288
  }
279
289
  export { RtcpMuxPolicyNegotiate_1 as RtcpMuxPolicyNegotiate };
280
290
  export namespace SharedArrayBufferConstructedWithoutIsolation_1 {
281
- let milestone_17: number;
282
- export { milestone_17 as milestone };
291
+ let milestone_18: number;
292
+ export { milestone_18 as milestone };
283
293
  }
284
294
  export { SharedArrayBufferConstructedWithoutIsolation_1 as SharedArrayBufferConstructedWithoutIsolation };
285
295
  export namespace SharedStorage_1 {
286
- let chromeStatusFeature_30: number;
287
- export { chromeStatusFeature_30 as chromeStatusFeature };
288
- }
289
- export { SharedStorage_1 as SharedStorage };
290
- export namespace StorageAccessAPI_requestStorageAccessFor_Method_1 {
291
296
  let chromeStatusFeature_31: number;
292
297
  export { chromeStatusFeature_31 as chromeStatusFeature };
293
298
  }
294
- export { StorageAccessAPI_requestStorageAccessFor_Method_1 as StorageAccessAPI_requestStorageAccessFor_Method };
295
- export namespace TextToSpeech_DisallowedByAutoplay_1 {
299
+ export { SharedStorage_1 as SharedStorage };
300
+ export namespace StorageAccessAPI_requestStorageAccessFor_Method_1 {
296
301
  let chromeStatusFeature_32: number;
297
302
  export { chromeStatusFeature_32 as chromeStatusFeature };
298
- let milestone_18: number;
299
- export { milestone_18 as milestone };
300
303
  }
301
- export { TextToSpeech_DisallowedByAutoplay_1 as TextToSpeech_DisallowedByAutoplay };
302
- export namespace UnloadHandler_1 {
304
+ export { StorageAccessAPI_requestStorageAccessFor_Method_1 as StorageAccessAPI_requestStorageAccessFor_Method };
305
+ export namespace TextToSpeech_DisallowedByAutoplay_1 {
303
306
  let chromeStatusFeature_33: number;
304
307
  export { chromeStatusFeature_33 as chromeStatusFeature };
305
- }
306
- export { UnloadHandler_1 as UnloadHandler };
307
- export namespace V8SharedArrayBufferConstructedInExtensionWithoutIsolation_1 {
308
308
  let milestone_19: number;
309
309
  export { milestone_19 as milestone };
310
310
  }
311
- export { V8SharedArrayBufferConstructedInExtensionWithoutIsolation_1 as V8SharedArrayBufferConstructedInExtensionWithoutIsolation };
312
- export namespace WebBluetoothRemoteCharacteristicWriteValue_1 {
311
+ export { TextToSpeech_DisallowedByAutoplay_1 as TextToSpeech_DisallowedByAutoplay };
312
+ export namespace UnloadHandler_1 {
313
313
  let chromeStatusFeature_34: number;
314
314
  export { chromeStatusFeature_34 as chromeStatusFeature };
315
315
  }
316
- export { WebBluetoothRemoteCharacteristicWriteValue_1 as WebBluetoothRemoteCharacteristicWriteValue };
317
- export namespace XHRJSONEncodingDetection_1 {
316
+ export { UnloadHandler_1 as UnloadHandler };
317
+ export namespace V8SharedArrayBufferConstructedInExtensionWithoutIsolation_1 {
318
318
  let milestone_20: number;
319
319
  export { milestone_20 as milestone };
320
320
  }
321
- export { XHRJSONEncodingDetection_1 as XHRJSONEncodingDetection };
322
- export namespace XSLT_1 {
321
+ export { V8SharedArrayBufferConstructedInExtensionWithoutIsolation_1 as V8SharedArrayBufferConstructedInExtensionWithoutIsolation };
322
+ export namespace WebBluetoothRemoteCharacteristicWriteValue_1 {
323
323
  let chromeStatusFeature_35: number;
324
324
  export { chromeStatusFeature_35 as chromeStatusFeature };
325
+ }
326
+ export { WebBluetoothRemoteCharacteristicWriteValue_1 as WebBluetoothRemoteCharacteristicWriteValue };
327
+ export namespace WebTransportDatagramDuplexStreamIncomingHighWaterMark_1 {
328
+ let chromeStatusFeature_36: number;
329
+ export { chromeStatusFeature_36 as chromeStatusFeature };
325
330
  let milestone_21: number;
326
331
  export { milestone_21 as milestone };
327
332
  }
333
+ export { WebTransportDatagramDuplexStreamIncomingHighWaterMark_1 as WebTransportDatagramDuplexStreamIncomingHighWaterMark };
334
+ export namespace WebTransportDatagramDuplexStreamOutgoingHighWaterMark_1 {
335
+ let chromeStatusFeature_37: number;
336
+ export { chromeStatusFeature_37 as chromeStatusFeature };
337
+ let milestone_22: number;
338
+ export { milestone_22 as milestone };
339
+ }
340
+ export { WebTransportDatagramDuplexStreamOutgoingHighWaterMark_1 as WebTransportDatagramDuplexStreamOutgoingHighWaterMark };
341
+ export namespace XHRJSONEncodingDetection_1 {
342
+ let milestone_23: number;
343
+ export { milestone_23 as milestone };
344
+ }
345
+ export { XHRJSONEncodingDetection_1 as XHRJSONEncodingDetection };
346
+ export namespace XSLT_1 {
347
+ let chromeStatusFeature_38: number;
348
+ export { chromeStatusFeature_38 as chromeStatusFeature };
349
+ let milestone_24: number;
350
+ export { milestone_24 as milestone };
351
+ }
328
352
  export { XSLT_1 as XSLT };
329
353
  }
330
354
  //# sourceMappingURL=deprecations-strings.d.ts.map
@@ -56,6 +56,10 @@ export const UIStrings = {
56
56
  * @description Warning displayed to developers when a data: URL is assigned to SVGUseElement to let them know that the support is deprecated.
57
57
  */
58
58
  DataUrlInSvgUse: "Support for data: URLs in SVGUseElement is deprecated and it will be removed in the future.",
59
+ /**
60
+ * @description Warning displayed to developers when an unknown protocol string is used in a call to navigator.credentials.get() or create() with the 'digital' option.
61
+ */
62
+ DigitalCredentialsUnknownProtocol: "An unknown Digital Credentials protocol was requested in navigator.credentials.get() or create(). In a future release, unrecognized protocols will be blocked.",
59
63
  /**
60
64
  * @description Warning displayed to developers when document.createEvent() is called with 'KeyboardEvents', which is a non-standard event interface that will be removed.
61
65
  */
@@ -276,6 +280,14 @@ export const UIStrings = {
276
280
  * @description This warning occurs when the deprecated `BluetoothRemoteGATTCharacteristic.writeValue()` method is used. Developers should use `writeValueWithResponse()` or `writeValueWithoutResponse()` instead.
277
281
  */
278
282
  WebBluetoothRemoteCharacteristicWriteValue: "`BluetoothRemoteGATTCharacteristic.writeValue()` is deprecated. Use `writeValueWithResponse()` or `writeValueWithoutResponse()` instead.",
283
+ /**
284
+ * @description Warning for using the deprecated 'incomingHighWaterMark' attribute on WebTransportDatagramDuplexStream. Developers should use 'incomingMaxBufferedDatagrams' instead.
285
+ */
286
+ WebTransportDatagramDuplexStreamIncomingHighWaterMark: "WebTransportDatagramDuplexStream.incomingHighWaterMark has been renamed to incomingMaxBufferedDatagrams. incomingHighWaterMark will be removed in a future version of Chrome.",
287
+ /**
288
+ * @description Warning for using the deprecated 'outgoingHighWaterMark' attribute on WebTransportDatagramDuplexStream. Developers should use 'outgoingMaxBufferedDatagrams' instead.
289
+ */
290
+ WebTransportDatagramDuplexStreamOutgoingHighWaterMark: "WebTransportDatagramDuplexStream.outgoingHighWaterMark has been renamed to outgoingMaxBufferedDatagrams. outgoingHighWaterMark will be removed in a future version of Chrome.",
279
291
  /**
280
292
  * @description Warning displayed to developers that they are using `XMLHttpRequest` API in a way that they expect an unsupported character encoding `UTF-16` could be used in the server reply.
281
293
  */
@@ -326,6 +338,10 @@ export const DEPRECATIONS_METADATA = {
326
338
  "chromeStatusFeature": 5128825141198848,
327
339
  "milestone": 119
328
340
  },
341
+ "DigitalCredentialsUnknownProtocol": {
342
+ "chromeStatusFeature": 6492906882990080,
343
+ "milestone": 160
344
+ },
329
345
  "DocumentCreateEventKeyboardEvents": {
330
346
  "chromeStatusFeature": 5095987863486464,
331
347
  "milestone": 151
@@ -440,6 +456,14 @@ export const DEPRECATIONS_METADATA = {
440
456
  "WebBluetoothRemoteCharacteristicWriteValue": {
441
457
  "chromeStatusFeature": 5088568590598144
442
458
  },
459
+ "WebTransportDatagramDuplexStreamIncomingHighWaterMark": {
460
+ "chromeStatusFeature": 5143839699501056,
461
+ "milestone": 156
462
+ },
463
+ "WebTransportDatagramDuplexStreamOutgoingHighWaterMark": {
464
+ "chromeStatusFeature": 5143839699501056,
465
+ "milestone": 156
466
+ },
443
467
  "XHRJSONEncodingDetection": {
444
468
  "milestone": 93
445
469
  },
@@ -20,7 +20,19 @@ function isInline(script) {
20
20
  * @return {LH.Artifacts.NetworkRequest|undefined}
21
21
  */
22
22
  function getRequestForScript(networkRecords, script) {
23
- let networkRequest = networkRecords.find(request => request.url === script.url);
23
+ const frameId = script.executionContextAuxData?.frameId;
24
+ let networkRequest;
25
+
26
+ if (frameId) {
27
+ networkRequest = networkRecords.find(
28
+ request => request.url === script.url && request.frameId === frameId
29
+ );
30
+ }
31
+
32
+ if (!networkRequest) {
33
+ networkRequest = networkRecords.find(request => request.url === script.url);
34
+ }
35
+
24
36
  while (networkRequest?.redirectDestination) {
25
37
  networkRequest = networkRequest.redirectDestination;
26
38
  }
package/core/scoring.d.ts CHANGED
@@ -173,9 +173,6 @@ export class ReportScoring {
173
173
  } | {
174
174
  type: "text";
175
175
  value: import("./index.js").IcuMessage | string;
176
- } | {
177
- type: "subitems";
178
- items: /*elided*/ any[];
179
176
  } | {
180
177
  type: "source-location";
181
178
  url: string | import("./index.js").IcuMessage;
@@ -202,6 +199,9 @@ export class ReportScoring {
202
199
  type: "numeric";
203
200
  value: number;
204
201
  granularity?: number | undefined;
202
+ } | {
203
+ type: "subitems";
204
+ items: /*elided*/ any[];
205
205
  } | {
206
206
  type: "baseline-status";
207
207
  status: string | import("./index.js").IcuMessage;
@@ -227,25 +227,6 @@ export class ReportScoring {
227
227
  [x: string]: any;
228
228
  type: "debugdata";
229
229
  } | undefined;
230
- } | {
231
- type: "node";
232
- lhId?: string | import("./index.js").IcuMessage | undefined;
233
- path?: string | import("./index.js").IcuMessage | undefined;
234
- selector?: string | import("./index.js").IcuMessage | undefined;
235
- boundingRect?: {
236
- width: number;
237
- height: number;
238
- top: number;
239
- right: number;
240
- bottom: number;
241
- left: number;
242
- } | undefined;
243
- snippet?: string | import("./index.js").IcuMessage | undefined;
244
- nodeLabel?: string | import("./index.js").IcuMessage | undefined;
245
- explanation?: string | import("./index.js").IcuMessage | undefined;
246
- } | {
247
- type: "text";
248
- value: import("./index.js").IcuMessage | string;
249
230
  } | {
250
231
  type: "list-section";
251
232
  title?: (import("./index.js").IcuMessage | string) | undefined;
@@ -321,9 +302,6 @@ export class ReportScoring {
321
302
  } | {
322
303
  type: "text";
323
304
  value: import("./index.js").IcuMessage | string;
324
- } | {
325
- type: "subitems";
326
- items: /*elided*/ any[];
327
305
  } | {
328
306
  type: "source-location";
329
307
  url: string | import("./index.js").IcuMessage;
@@ -350,6 +328,9 @@ export class ReportScoring {
350
328
  type: "numeric";
351
329
  value: number;
352
330
  granularity?: number | undefined;
331
+ } | {
332
+ type: "subitems";
333
+ items: /*elided*/ any[];
353
334
  } | {
354
335
  type: "baseline-status";
355
336
  status: string | import("./index.js").IcuMessage;
@@ -395,6 +376,25 @@ export class ReportScoring {
395
376
  type: "text";
396
377
  value: import("./index.js").IcuMessage | string;
397
378
  };
379
+ } | {
380
+ type: "node";
381
+ lhId?: string | import("./index.js").IcuMessage | undefined;
382
+ path?: string | import("./index.js").IcuMessage | undefined;
383
+ selector?: string | import("./index.js").IcuMessage | undefined;
384
+ boundingRect?: {
385
+ width: number;
386
+ height: number;
387
+ top: number;
388
+ right: number;
389
+ bottom: number;
390
+ left: number;
391
+ } | undefined;
392
+ snippet?: string | import("./index.js").IcuMessage | undefined;
393
+ nodeLabel?: string | import("./index.js").IcuMessage | undefined;
394
+ explanation?: string | import("./index.js").IcuMessage | undefined;
395
+ } | {
396
+ type: "text";
397
+ value: import("./index.js").IcuMessage | string;
398
398
  })[];
399
399
  debugData?: {
400
400
  [x: string]: any;
@@ -438,6 +438,32 @@ export class ReportScoring {
438
438
  } | {
439
439
  type: "text";
440
440
  value: import("./index.js").IcuMessage | string;
441
+ } | {
442
+ type: "source-location";
443
+ url: string | import("./index.js").IcuMessage;
444
+ urlProvider: "network" | "comment";
445
+ line: number;
446
+ column: number;
447
+ original?: {
448
+ file: string | import("./index.js").IcuMessage;
449
+ line: number;
450
+ column: number;
451
+ } | undefined;
452
+ functionName?: string | import("./index.js").IcuMessage | undefined;
453
+ } | {
454
+ type: "link";
455
+ text: string | import("./index.js").IcuMessage;
456
+ url: string | import("./index.js").IcuMessage;
457
+ } | {
458
+ type: "url";
459
+ value: string | import("./index.js").IcuMessage;
460
+ } | {
461
+ type: "code";
462
+ value: import("./index.js").IcuMessage | string;
463
+ } | {
464
+ type: "numeric";
465
+ value: number;
466
+ granularity?: number | undefined;
441
467
  } | {
442
468
  type: "subitems";
443
469
  items: {
@@ -463,7 +489,7 @@ export class ReportScoring {
463
489
  } | {
464
490
  type: "text";
465
491
  value: import("./index.js").IcuMessage | string;
466
- } | /*elided*/ any | {
492
+ } | {
467
493
  type: "source-location";
468
494
  url: string | import("./index.js").IcuMessage;
469
495
  urlProvider: "network" | "comment";
@@ -489,7 +515,7 @@ export class ReportScoring {
489
515
  type: "numeric";
490
516
  value: number;
491
517
  granularity?: number | undefined;
492
- } | {
518
+ } | /*elided*/ any | {
493
519
  type: "baseline-status";
494
520
  status: string | import("./index.js").IcuMessage;
495
521
  displayString: import("./index.js").IcuMessage | string;
@@ -500,32 +526,6 @@ export class ReportScoring {
500
526
  } | undefined;
501
527
  subItems?: /*elided*/ any | undefined;
502
528
  }[];
503
- } | {
504
- type: "source-location";
505
- url: string | import("./index.js").IcuMessage;
506
- urlProvider: "network" | "comment";
507
- line: number;
508
- column: number;
509
- original?: {
510
- file: string | import("./index.js").IcuMessage;
511
- line: number;
512
- column: number;
513
- } | undefined;
514
- functionName?: string | import("./index.js").IcuMessage | undefined;
515
- } | {
516
- type: "link";
517
- text: string | import("./index.js").IcuMessage;
518
- url: string | import("./index.js").IcuMessage;
519
- } | {
520
- type: "url";
521
- value: string | import("./index.js").IcuMessage;
522
- } | {
523
- type: "code";
524
- value: import("./index.js").IcuMessage | string;
525
- } | {
526
- type: "numeric";
527
- value: number;
528
- granularity?: number | undefined;
529
529
  } | {
530
530
  type: "baseline-status";
531
531
  status: string | import("./index.js").IcuMessage;
@@ -564,7 +564,7 @@ export class ReportScoring {
564
564
  } | {
565
565
  type: "text";
566
566
  value: import("./index.js").IcuMessage | string;
567
- } | /*elided*/ any | {
567
+ } | {
568
568
  type: "source-location";
569
569
  url: string | import("./index.js").IcuMessage;
570
570
  urlProvider: "network" | "comment";
@@ -590,7 +590,7 @@ export class ReportScoring {
590
590
  type: "numeric";
591
591
  value: number;
592
592
  granularity?: number | undefined;
593
- } | {
593
+ } | /*elided*/ any | {
594
594
  type: "baseline-status";
595
595
  status: string | import("./index.js").IcuMessage;
596
596
  displayString: import("./index.js").IcuMessage | string;
@@ -671,9 +671,6 @@ export class ReportScoring {
671
671
  } | {
672
672
  type: "text";
673
673
  value: import("./index.js").IcuMessage | string;
674
- } | {
675
- type: "subitems";
676
- items: /*elided*/ any[];
677
674
  } | {
678
675
  type: "source-location";
679
676
  url: string | import("./index.js").IcuMessage;
@@ -700,6 +697,9 @@ export class ReportScoring {
700
697
  type: "numeric";
701
698
  value: number;
702
699
  granularity?: number | undefined;
700
+ } | {
701
+ type: "subitems";
702
+ items: /*elided*/ any[];
703
703
  } | {
704
704
  type: "baseline-status";
705
705
  status: string | import("./index.js").IcuMessage;