chrome-devtools-frontend 1.0.1001419 → 1.0.1002867

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 (84) hide show
  1. package/config/gni/devtools_grd_files.gni +5 -6
  2. package/front_end/core/common/ParsedURL.ts +3 -3
  3. package/front_end/core/host/InspectorFrontendHost.ts +30 -1
  4. package/front_end/core/host/UserMetrics.ts +2 -1
  5. package/front_end/core/i18n/locales/en-US.json +155 -11
  6. package/front_end/core/i18n/locales/en-XL.json +155 -11
  7. package/front_end/core/protocol_client/InspectorBackend.ts +4 -0
  8. package/front_end/core/root/Runtime.ts +7 -3
  9. package/front_end/core/sdk/ServiceWorkerManager.ts +6 -5
  10. package/front_end/entrypoints/formatter_worker/FormatterActions.ts +14 -0
  11. package/front_end/entrypoints/formatter_worker/ScopeParser.ts +491 -0
  12. package/front_end/entrypoints/formatter_worker/Substitute.ts +4 -440
  13. package/front_end/entrypoints/formatter_worker/formatter_worker.ts +2 -0
  14. package/front_end/entrypoints/main/MainImpl.ts +1 -0
  15. package/front_end/generated/InspectorBackendCommands.js +42 -12
  16. package/front_end/generated/SupportedCSSProperties.js +3 -5
  17. package/front_end/generated/protocol-mapping.d.ts +5 -1
  18. package/front_end/generated/protocol-proxy-api.d.ts +4 -1
  19. package/front_end/generated/protocol.ts +68 -14
  20. package/front_end/models/bindings/BreakpointManager.ts +12 -11
  21. package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
  22. package/front_end/models/issues_manager/AttributionReportingIssue.ts +6 -34
  23. package/front_end/models/issues_manager/DeprecationIssue.ts +313 -399
  24. package/front_end/models/issues_manager/Issue.ts +8 -4
  25. package/front_end/models/issues_manager/descriptions/arInvalidHeader.md +3 -0
  26. package/front_end/models/persistence/PersistenceImpl.ts +2 -2
  27. package/front_end/models/timeline_model/TimelineModel.ts +0 -48
  28. package/front_end/panels/application/AppManifestView.ts +3 -3
  29. package/front_end/panels/application/ApplicationPanelCacheSection.ts +3 -1
  30. package/front_end/panels/application/ApplicationPanelSidebar.ts +11 -6
  31. package/front_end/panels/application/ApplicationPanelTreeElement.ts +2 -2
  32. package/front_end/panels/application/BackgroundServiceView.ts +5 -4
  33. package/front_end/panels/application/ResourcesPanel.ts +1 -1
  34. package/front_end/panels/console/ConsoleViewMessage.ts +6 -3
  35. package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +3 -2
  36. package/front_end/panels/elements/StylePropertyTreeElement.ts +19 -13
  37. package/front_end/panels/elements/StylesSidebarPane.ts +53 -0
  38. package/front_end/panels/elements/stylesSidebarPane.css +3 -0
  39. package/front_end/panels/issues/AffectedResourcesView.ts +4 -3
  40. package/front_end/panels/issues/AffectedSourcesView.ts +2 -1
  41. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +9 -38
  42. package/front_end/panels/issues/IssueView.ts +1 -1
  43. package/front_end/panels/lighthouse/LighthouseController.ts +6 -3
  44. package/front_end/panels/lighthouse/LighthouseReporterTypes.ts +2 -1
  45. package/front_end/panels/lighthouse/lighthousePanel.css +4 -0
  46. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +2 -2
  47. package/front_end/panels/profiler/HeapSnapshotView.ts +2 -1
  48. package/front_end/panels/profiler/ProfileDataGrid.ts +1 -1
  49. package/front_end/panels/security/SecurityPanel.ts +6 -5
  50. package/front_end/panels/settings/SettingsScreen.ts +2 -3
  51. package/front_end/panels/sources/DebuggerPlugin.ts +10 -9
  52. package/front_end/panels/sources/JavaScriptBreakpointsSidebarPane.ts +3 -3
  53. package/front_end/panels/timeline/PerformanceModel.ts +2 -6
  54. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -14
  55. package/front_end/panels/timeline/TimelineUIUtils.ts +14 -12
  56. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1036 -1088
  57. package/front_end/third_party/lighthouse/locales/en-US.json +244 -4
  58. package/front_end/third_party/lighthouse/locales/en-XL.json +244 -4
  59. package/front_end/third_party/lighthouse/report/bundle.d.ts +4 -22
  60. package/front_end/third_party/lighthouse/report/bundle.js +23 -366
  61. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  62. package/front_end/ui/components/docs/linkifier/simple-url.ts +2 -1
  63. package/front_end/ui/components/docs/panel_feedback/basic.ts +3 -2
  64. package/front_end/ui/components/docs/panel_feedback/button.ts +2 -1
  65. package/front_end/ui/components/linkifier/LinkifierImpl.ts +4 -3
  66. package/front_end/ui/components/linkifier/LinkifierUtils.ts +2 -3
  67. package/front_end/ui/components/panel_feedback/FeedbackButton.ts +4 -6
  68. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +5 -4
  69. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +3 -3
  70. package/front_end/ui/components/text_editor/javascript.ts +2 -2
  71. package/front_end/ui/legacy/EmptyWidget.ts +2 -1
  72. package/front_end/ui/legacy/UIUtils.ts +4 -4
  73. package/front_end/ui/legacy/XLink.ts +12 -13
  74. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +2 -4
  75. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
  76. package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +0 -2
  77. package/front_end/ui/legacy/components/utils/ImagePreview.ts +3 -7
  78. package/front_end/ui/legacy/components/utils/Linkifier.ts +23 -23
  79. package/front_end/ui/legacy/toolbar.css +1 -1
  80. package/package.json +1 -1
  81. package/scripts/whitespaces.txt +1 -0
  82. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md +0 -3
  83. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md +0 -4
  84. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md +0 -4
@@ -10,376 +10,300 @@ import {Issue, IssueCategory, IssueKind} from './Issue.js';
10
10
  import type {MarkdownIssueDescription} from './MarkdownIssueDescription.js';
11
11
  import {resolveLazyDescription} from './MarkdownIssueDescription.js';
12
12
 
13
- const
14
- UIStrings =
15
- {
16
- // Store strings used across messages in this block.
17
- /**
13
+ // clang-format off
14
+ const UIStrings = {
15
+ // Store strings used across messages in this block.
16
+ /**
18
17
  * @description This links to the chrome feature status page when one exists.
19
18
  */
20
- feature: 'Check the feature status page for more details.',
21
- /**
19
+ feature: 'Check the feature status page for more details.',
20
+ /**
22
21
  * @description This links to the chromium dash schedule when a milestone is set.
23
22
  * @example {100} milestone
24
23
  */
25
- milestone: 'This change will go into effect with milestone {milestone}.',
26
- /**
27
- *@description Title of issue raised when a deprecated feature is used
24
+ milestone: 'This change will go into effect with milestone {milestone}.',
25
+ /**
26
+ * @description Title of issue raised when a deprecated feature is used
28
27
  */
29
- title: 'Deprecated Feature Used',
28
+ title: 'Deprecated Feature Used',
30
29
 
31
- // Store alphabetized messages per DeprecationIssueType in this block.
32
- /**
33
- *@description TODO(crbug.com/1318846): Description needed for translation
34
- */
35
- authorizationCoveredByWildcard:
36
- 'Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling.',
37
- /**
38
- *@description TODO(crbug.com/1320334): Description needed for translation
39
- */
40
- canRequestURLHTTPContainingNewline:
41
- 'Resource requests whose URLs contained both removed whitespace `\\(n|r|t)` characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources.',
42
- /**
43
- *@description TODO(crbug.com/1320335): Description needed for translation
44
- */
45
- chromeLoadTimesConnectionInfo:
46
- '`chrome.loadTimes()` is deprecated, instead use standardized API: Navigation Timing 2.',
47
- /**
48
- *@description TODO(crbug.com/1320336): Description needed for translation
49
- */
50
- chromeLoadTimesFirstPaintAfterLoadTime:
51
- '`chrome.loadTimes()` is deprecated, instead use standardized API: Paint Timing.',
52
- /**
53
- *@description TODO(crbug.com/1320337): Description needed for translation
54
- */
55
- chromeLoadTimesWasAlternateProtocolAvailable:
56
- '`chrome.loadTimes()` is deprecated, instead use standardized API: `nextHopProtocol` in Navigation Timing 2.',
57
- /**
58
- *@description TODO(crbug.com/1318847): Description needed for translation
59
- */
60
- cookieWithTruncatingChar: 'Cookies containing a `\\(0|r|n)` character will be rejected instead of truncated.',
61
- /**
62
- *@description This warning occurs when a frame accesses another frame's
63
- * data after having set `document.domain` without having set the
64
- * `Origin-Agent-Cluster` http header. This is a companion warning to
65
- * `documentDomainSettingWithoutOriginAgentClusterHeader`, where that
66
- * warning occurs when `document.domain` is set, and this warning
67
- * occurs when an access has been made, based on that previous
68
- * `document.domain` setting.
69
- */
70
- crossOriginAccessBasedOnDocumentDomain:
71
- 'Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting `document.domain`.',
72
- /**
73
- *@description TODO(crbug.com/1318850): Description needed for translation
74
- */
75
- crossOriginWindowAlert:
76
- 'Triggering `window.alert` from cross origin iframes has been deprecated and will be removed in the future.',
77
- /**
78
- *@description TODO(crbug.com/1318851): Description needed for translation
79
- */
80
- crossOriginWindowConfirm:
81
- 'Triggering `window.confirm` from cross origin iframes has been deprecated and will be removed in the future.',
82
- /**
83
- *@description TODO(crbug.com/1320339): Description needed for translation
84
- */
85
- cssSelectorInternalMediaControlsOverlayCastButton:
86
- 'The `disableRemotePlayback` attribute should be used in order to disable the default Cast integration instead of using `-internal-media-controls-overlay-cast-button` selector.',
87
- /**
88
- *@description TODO(crbug.com/1320340): Description needed for translation
89
- */
90
- customCursorIntersectsViewport:
91
- 'Custom cursors with size greater than 32x32 DIP intersecting native UI is deprecated and will be removed.',
92
- /**
93
- *@description This message is shown when the example deprecated feature is used
94
- */
95
- deprecationExample: 'This is an example of a translated deprecation issue message.',
96
- /**
97
- *@description This warning occurs when a script modifies `document.domain`
98
- * without having set on `Origin-Agent-Cluster` http header. In other
99
- * words, when a script relies on the default behaviour of
100
- * `Origin-Agent-Cluster` when setting document.domain.
101
- */
102
- documentDomainSettingWithoutOriginAgentClusterHeader:
103
- 'Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. To continue using this feature, please opt-out of origin-keyed agent clusters by sending an `Origin-Agent-Cluster: ?0` header along with the HTTP response for the document and frames. See https://developer.chrome.com/blog/immutable-document-domain/ for more details.',
104
- /**
105
- *@description Warning displayed to developers when the non-standard `Event.path` API is used to notify them that this API is deprecated.
106
- */
107
- eventPath: '`Event.path` is deprecated and will be removed. Please use `Event.composedPath()` instead.',
108
- /**
109
- *@description Warning displayed to developers when the Geolocation API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is no longer supported.
110
- */
111
- geolocationInsecureOrigin:
112
- '`getCurrentPosition()` and `watchPosition()` no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
113
- /**
114
- *@description Warning displayed to developers when the Geolocation API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is deprecated.
115
- */
116
- geolocationInsecureOriginDeprecatedNotRemoved:
117
- '`getCurrentPosition()` and `watchPosition()` are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
118
- /**
119
- *@description TODO(crbug.com/1318858): Description needed for translation
120
- */
121
- getUserMediaInsecureOrigin:
122
- '`getUserMedia()` no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
123
- /**
124
- *@description TODO(crbug.com/1320342): Description needed for translation
125
- */
126
- hostCandidateAttributeGetter:
127
- '`RTCPeerConnectionIceErrorEvent.hostCandidate` is deprecated. Please use `RTCPeerConnectionIceErrorEvent.address` or `RTCPeerConnectionIceErrorEvent.port` instead.',
128
- /**
129
- *@description TODO(crbug.com/1320343): Description needed for translation
130
- */
131
- insecurePrivateNetworkSubresourceRequest:
132
- 'The website requested a subresource from a network that it could only access because of its users\' privileged network position. These requests expose non-public devices and servers to the internet, increasing the risk of a cross-site request forgery (CSRF) attack, and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them.',
133
- /**
134
- *@description A deprecation warning shown in the DevTools Issues tab.
135
- * It's shown when a video conferencing website attempts to turn off
136
- * CPU overuse detection with a non-standard API. CPU overuse
137
- * detection is used to adjust video quality based on available CPU
138
- * resources.
139
- */
140
- legacyConstraintGoogCpuOveruseDetection:
141
- 'CPU overuse detection is enabled-by-default and the ability to disable it using `googCpuOveruseDetection` will soon be removed. Please stop using this legacy constraint.',
142
- /**
143
- *@description A deprecation warning shown in the DevTools Issues tab.
144
- * It's shown when a video conferencing website attempts to disable
145
- * use of IPv6 addresses with a non-standard API.
146
- */
147
- legacyConstraintGoogIPv6:
148
- 'IPv6 is enabled-by-default and the ability to disable it using `googIPv6` will soon be removed. Please stop using this legacy constraint.',
149
- /**
150
- *@description A deprecation warning shown in the DevTools Issues tab.
151
- * It's shown when a video conferencing website attempts to adjust
152
- * bitrate settings for screeen sharing with a non-standard API.
153
- */
154
- legacyConstraintGoogScreencastMinBitrate:
155
- 'Screencast min bitrate is now set to 100 kbps by default and `googScreencastMinBitrate` will soon be ignored in favor of this new default. Please stop using this legacy constraint.',
156
- /**
157
- *@description A deprecation warning shown in the DevTools Issues tab.
158
- * It's shown when a video conferencing website attempts to change the
159
- * default settings for how the browser should act when bitrate is
160
- * low.
161
- */
162
- legacyConstraintGoogSuspendBelowMinBitrate:
163
- 'Support for the `googSuspendBelowMinBitrate` constraint is about to be removed. Please stop using this legacy constraint.',
164
- /**
165
- *@description TODO(crbug.com/1318865): Description needed for translation
166
- */
167
- localCSSFileExtensionRejected:
168
- 'CSS cannot be loaded from `file:` URLs unless they end in a `.css` file extension.',
169
- /**
170
- *@description TODO(crbug.com/1320344): Description needed for translation
171
- */
172
- mediaElementAudioSourceNode:
173
- 'Creating a `MediaElementAudioSourceNode` on an `OfflineAudioContext` is deprecated and will be removed.',
174
- /**
175
- *@description TODO(crbug.com/1320345): Description needed for translation
176
- */
177
- mediaSourceAbortRemove:
178
- 'Using `SourceBuffer.abort()` to abort `remove()`\'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should instead await `updateend`. `abort()` is intended to only abort an asynchronous media append or reset parser state.',
179
- /**
180
- *@description TODO(crbug.com/1320346): Description needed for translation
181
- */
182
- mediaSourceDurationTruncatingBuffered:
183
- 'Setting `MediaSource.duration` below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit `remove(newDuration, oldDuration)` on all `sourceBuffers`, where `newDuration < oldDuration`.',
184
- /**
185
- *@description TODO(crbug.com/1320347): Description needed for translation
186
- */
187
- noSysexWebMIDIWithoutPermission:
188
- 'Web MIDI will ask a permission to use even if the sysex is not specified in the `MIDIOptions`.',
189
- /**
190
- *@description Warning displayed to developers when the Notification API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is no longer supported.
191
- */
192
- notificationInsecureOrigin:
193
- 'The Notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
194
- /**
195
- *@description Warning displayed to developers when permission to use notifications has been requested by a cross-origin iframe, to notify them that this use is no longer supported.
196
- */
197
- notificationPermissionRequestedIframe:
198
- 'Permission for the Notification API may no longer be requested from a cross-origin iframe. You should consider requesting permission from a top-level frame or opening a new window instead.',
199
- /**
200
- *@description TODO(crbug.com/1318867): Description needed for translation
201
- */
202
- obsoleteWebRtcCipherSuite:
203
- 'Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed.',
204
- /**
205
- *@description TODO(crbug.com/1320349): Description needed for translation
206
- */
207
- paymentRequestBasicCard: 'The `basic-card` payment method is deprecated and will be removed.',
208
- /**
209
- *@description TODO(crbug.com/1320350): Description needed for translation
210
- */
211
- paymentRequestShowWithoutGesture:
212
- 'Calling `PaymentRequest.show()` without user activation is deprecated and will be removed.',
213
- /**
214
- *@description This issue indicates that a `<source>` element with a `<picture>` parent was using an `src` attribute, which is not valid and is ignored by the browser. The `srcset` attribute should be used instead.
215
- */
216
- pictureSourceSrc:
217
- '`<source src>` with a `<picture>` parent is invalid and therefore ignored. Please use `<source srcset>` instead.',
218
- /**
219
- *@description Warning displayed to developers when the vendor-prefixed method is used rather than the equivalent unprefixed method.
220
- */
221
- prefixedCancelAnimationFrame:
222
- '`webkitCancelAnimationFrame` is vendor-specific. Please use the standard `cancelAnimationFrame` instead.',
223
- /**
224
- *@description Warning displayed to developers when the vendor-prefixed method is used rather than the equivalent unprefixed method.
225
- */
226
- prefixedRequestAnimationFrame:
227
- '`webkitRequestAnimationFrame` is vendor-specific. Please use the standard `requestAnimationFrame` instead.',
228
- /**
229
- *@description TODO(crbug.com/1320351): Description needed for translation
230
- */
231
- prefixedStorageInfo:
232
- '`window.webkitStorageInfo` is deprecated. Please use `navigator.webkitTemporaryStorage` or `navigator.webkitPersistentStorage` instead.',
233
- /**
234
- *@description TODO(crbug.com/1320352): Description needed for translation
235
- */
236
- prefixedVideoDisplayingFullscreen:
237
- '`HTMLVideoElement.webkitDisplayingFullscreen` is deprecated. Please use `Document.fullscreenElement` instead.',
238
- /**
239
- *@description TODO(crbug.com/1320353): Description needed for translation
240
- */
241
- prefixedVideoEnterFullScreen:
242
- '`HTMLVideoElement.webkitEnterFullScreen()` is deprecated. Please use `Element.requestFullscreen()` instead.',
243
- /**
244
- *@description TODO(crbug.com/1320353): Description needed for translation
245
- */
246
- prefixedVideoEnterFullscreen:
247
- '`HTMLVideoElement.webkitEnterFullscreen()` is deprecated. Please use `Element.requestFullscreen()` instead.',
248
- /**
249
- *@description TODO(crbug.com/1320354): Description needed for translation
250
- */
251
- prefixedVideoExitFullScreen:
252
- '`HTMLVideoElement.webkitExitFullsSreen()` is deprecated. Please use `Document.exitFullscreen()` instead.',
253
- /**
254
- *@description TODO(crbug.com/1320354): Description needed for translation
255
- */
256
- prefixedVideoExitFullscreen:
257
- '`HTMLVideoElement.webkitExitFullscreen()` is deprecated. Please use `Document.exitFullscreen()` instead.',
258
- /**
259
- *@description TODO(crbug.com/1320355): Description needed for translation
260
- */
261
- prefixedVideoSupportsFullscreen:
262
- '`HTMLVideoElement.webkitSupportsFullscreen` is deprecated. Please use `Document.fullscreenEnabled` instead.',
263
- /**
264
- *@description TODO(crbug.com/1320356): Description needed for translation
265
- */
266
- rangeExpand: '`Range.expand()` is deprecated. Please use `Selection.modify()` instead.',
267
- /**
268
- *@description TODO(crbug.com/1320357): Description needed for translation
269
- */
270
- requestedSubresourceWithEmbeddedCredentials:
271
- 'Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked.',
272
- /**
273
- *@description A deprecation warning shown in the DevTools Issues tab.
274
- * It's shown when a video conferencing website attempts to use a
275
- * non-standard crypto method when performing a handshake to set up a
276
- * connection with another endpoint.
277
- */
278
- rtcConstraintEnableDtlsSrtpFalse:
279
- 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES key negotiation` method. This functionality is removed; use a service that supports `DTLS key negotiation` instead.',
280
- /**
281
- *@description A deprecation warning shown in the DevTools Issues tab.
282
- * It's shown when a video conferencing website uses a non-standard
283
- * API for controlling the crypto method used, but is not having an
284
- * effect because the desired behavior is already enabled-by-default.
285
- */
286
- rtcConstraintEnableDtlsSrtpTrue:
287
- 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `true` value for this constraint, which had no effect, but you can remove this constraint for tidiness.',
288
- /**
289
- *@description A deprecation warning shown in the DevTools Issues tab.
290
- * The `Session Description Protocol`, or `SDP` for short, is a
291
- * protocol used by video conferencing websites to establish the
292
- * number of audio and/or video streams to send and/or receive. This
293
- * warning is emitted when a web site attempts to use a deprecated
294
- * version of the protocol, called `Plan B`, that is no longer
295
- * supported. The spec compliant version of the protocol is called
296
- * `Unified Plan`.
297
- */
298
- rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics:
299
- '`Complex Plan B SDP` detected. This dialect of the `Session Description Protocol` is no longer supported. Please use `Unified Plan SDP` instead.',
300
- /**
301
- *@description A deprecation warning shown in the DevTools Issues tab.
302
- * It's shown when a video conferencing website uses a non-standard
303
- * version of an API to exchange an `offer` or an `answer`. `Offers`
304
- * and `answers` are exchanged between endpoints in order to configure
305
- * what media should be sent and/or received. The app should make use
306
- * of the standard API instead, which will have the desired effect.
307
- */
308
- rtcPeerConnectionLegacyCreateWithMediaConstraints:
309
- 'The `mediaConstraints` version of `RTCOfferOptions/RTCAnswerOptions` are deprecated and will soon be removed, please migrate to the promise-based `createOffer`/`createAnswer` instead.',
310
- /**
311
- *@description A deprecation warning shown in the DevTools Issues tab.
312
- * The `Session Description Protocol`, or `SDP` for short, is a
313
- * protocol used by video conferencing websites to establish the
314
- * number of audio and/or video streams to send and/or receive. This
315
- * warning is emitted when a web site attempts to use a deprecated
316
- * version of the protocol, called `Plan B`, that is no longer
317
- * supported. The spec compliant version of the protocol is called
318
- * `Unified Plan`.
319
- */
320
- rtcPeerConnectionSdpSemanticsPlanB:
321
- '`Plan B SDP semantics`, which is used when constructing an `RTCPeerConnection` with `{sdpSemantics:\'plan-b\'}`, is a legacy non-standard version of the `Session Description Protocol` that has been permanently deleted from the Web Platform. It is still available when building with `IS_FUCHSIA`, but we intend to delete it as soon as possible. Stop depending on it. See https://crbug.com/1302249 for status.',
322
- /**
323
- *@description A deprecation warning shown in the DevTools Issues tab.
324
- * It's shown then a video conferencing website attempts to use the
325
- * `RTCP MUX` policy.
326
- */
327
- rtcpMuxPolicyNegotiate: 'The `rtcpMuxPolicy` option is deprecated and will be removed.',
328
- /**
329
- *@description A deprecation warning shown in the DevTools Issues tab.
330
- * It's shown when a video conferencing website attempts to turn on or
331
- * off a feature that has been removed, `RTP data channels`.
332
- * `RTP data channels` are used to send and receive arbitrary data,
333
- * but have been removed in favor of standardized versions of
334
- * `data channels`: `SCTP data channels`.
335
- */
336
- rtpDataChannel:
337
- '`RTP data channels` are no longer supported. The `RtpDataChannels` constraint is currently ignored, and may cause an error at a later date.',
338
- /**
339
- *@description TODO(crbug.com/1320361): Description needed for translation
340
- */
341
- selectionAddRangeIntersect:
342
- 'The behavior that `Selection.addRange()` merges existing Range and the specified Range was removed.',
343
- /**
344
- *@description TODO(crbug.com/1318878): Description needed for translation
345
- */
346
- sharedArrayBufferConstructedWithoutIsolation:
347
- '`SharedArrayBuffer` will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.',
348
- /**
349
- *@description TODO(crbug.com/1320363): Description needed for translation
350
- */
351
- textToSpeech_DisallowedByAutoplay:
352
- '`speechSynthesis.speak()` without user activation is deprecated and will be removed.',
353
- /**
354
- *@description TODO(crbug.com/1318879): Description needed for translation
355
- */
356
- v8SharedArrayBufferConstructedInExtensionWithoutIsolation:
357
- 'Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.',
358
- /**
359
- *@description TODO(crbug.com/1318880): Description needed for translation
360
- */
361
- webCodecsVideoFrameDefaultTimestamp:
362
- 'Constructing a `VideoFrame` without a timestamp is deprecated and support will be removed. Please provide a timestamp via `VideoFrameInit`.',
363
- /**
364
- *@description TODO(crbug.com/1318881): Description needed for translation
365
- */
366
- xhrJSONEncodingDetection: 'UTF-16 is not supported by response json in `XMLHttpRequest`',
367
- /**
368
- *@description TODO(crbug.com/1318882): Description needed for translation
369
- */
370
- xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload:
371
- 'Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user\u2019s experience. For more help, check https://xhr.spec.whatwg.org/.',
372
- /**
373
- *@description Warning displayed to developers that instead of using
374
- * `supportsSession()`, which returns a promise that resolves if
375
- * the XR session can be supported and rejects if not, they should
376
- * use `isSessionSupported()` which will return a promise which
377
- * resolves to a boolean indicating if the XR session can be
378
- * supported or not, but may reject to throw an exception.
379
- */
380
- xrSupportsSession:
381
- '`supportsSession()` is deprecated. Please use `isSessionSupported()` and check the resolved boolean value instead.',
382
- };
30
+ // Store alphabetized messages per DeprecationIssueType in this block.
31
+ /**
32
+ * @description TODO(crbug.com/1318846): Description needed for translation
33
+ */
34
+ authorizationCoveredByWildcard:
35
+ 'Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling.',
36
+ /**
37
+ * @description TODO(crbug.com/1320334): Description needed for translation
38
+ */
39
+ canRequestURLHTTPContainingNewline:
40
+ 'Resource requests whose URLs contained both removed whitespace `\\(n|r|t)` characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources.',
41
+ /**
42
+ * @description TODO(crbug.com/1320335): Description needed for translation
43
+ */
44
+ chromeLoadTimesConnectionInfo:
45
+ '`chrome.loadTimes()` is deprecated, instead use standardized API: Navigation Timing 2.',
46
+ /**
47
+ * @description TODO(crbug.com/1320336): Description needed for translation
48
+ */
49
+ chromeLoadTimesFirstPaintAfterLoadTime:
50
+ '`chrome.loadTimes()` is deprecated, instead use standardized API: Paint Timing.',
51
+ /**
52
+ * @description TODO(crbug.com/1320337): Description needed for translation
53
+ */
54
+ chromeLoadTimesWasAlternateProtocolAvailable:
55
+ '`chrome.loadTimes()` is deprecated, instead use standardized API: `nextHopProtocol` in Navigation Timing 2.',
56
+ /**
57
+ * @description TODO(crbug.com/1318847): Description needed for translation
58
+ */
59
+ cookieWithTruncatingChar: 'Cookies containing a `\\(0|r|n)` character will be rejected instead of truncated.',
60
+ /**
61
+ * @description This warning occurs when a frame accesses another frame's
62
+ * data after having set `document.domain` without having set the
63
+ * `Origin-Agent-Cluster` http header. This is a companion warning to
64
+ * `documentDomainSettingWithoutOriginAgentClusterHeader`, where that
65
+ * warning occurs when `document.domain` is set, and this warning
66
+ * occurs when an access has been made, based on that previous
67
+ * `document.domain` setting.
68
+ */
69
+ crossOriginAccessBasedOnDocumentDomain:
70
+ 'Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting `document.domain`.',
71
+ /**
72
+ * @description Issue text shown when the web page uses a deprecated web API. The placeholder is
73
+ * the deprecated web API function.
74
+ * @example {window.alert} PH1
75
+ */
76
+ crossOriginWindowApi: 'Triggering {PH1} from cross origin iframes has been deprecated and will be removed in the future.',
77
+ /**
78
+ * @description TODO(crbug.com/1320339): Description needed for translation
79
+ */
80
+ cssSelectorInternalMediaControlsOverlayCastButton:
81
+ 'The `disableRemotePlayback` attribute should be used in order to disable the default Cast integration instead of using `-internal-media-controls-overlay-cast-button` selector.',
82
+ /**
83
+ * @description TODO(crbug.com/1320340): Description needed for translation
84
+ */
85
+ customCursorIntersectsViewport:
86
+ 'Custom cursors with size greater than 32x32 DIP intersecting native UI is deprecated and will be removed.',
87
+ /**
88
+ * @description This message is shown when the example deprecated feature is used
89
+ */
90
+ deprecationExample: 'This is an example of a translated deprecation issue message.',
91
+ /**
92
+ * @description This warning occurs when a script modifies `document.domain`
93
+ * without having set on `Origin-Agent-Cluster` http header. In other
94
+ * words, when a script relies on the default behaviour of
95
+ * `Origin-Agent-Cluster` when setting document.domain.
96
+ */
97
+ documentDomainSettingWithoutOriginAgentClusterHeader:
98
+ 'Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. To continue using this feature, please opt-out of origin-keyed agent clusters by sending an `Origin-Agent-Cluster: ?0` header along with the HTTP response for the document and frames. See https://developer.chrome.com/blog/immutable-document-domain/ for more details.',
99
+ /**
100
+ * @description Warning displayed to developers when the non-standard `Event.path` API is used to notify them that this API is deprecated.
101
+ */
102
+ eventPath: '`Event.path` is deprecated and will be removed. Please use `Event.composedPath()` instead.',
103
+ /**
104
+ * @description Warning displayed to developers when the Geolocation API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is no longer supported.
105
+ */
106
+ geolocationInsecureOrigin:
107
+ '`getCurrentPosition()` and `watchPosition()` no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
108
+ /**
109
+ * @description Warning displayed to developers when the Geolocation API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is deprecated.
110
+ */
111
+ geolocationInsecureOriginDeprecatedNotRemoved:
112
+ '`getCurrentPosition()` and `watchPosition()` are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
113
+ /**
114
+ * @description TODO(crbug.com/1318858): Description needed for translation
115
+ */
116
+ getUserMediaInsecureOrigin:
117
+ '`getUserMedia()` no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
118
+ /**
119
+ * @description TODO(crbug.com/1320342): Description needed for translation
120
+ */
121
+ hostCandidateAttributeGetter:
122
+ '`RTCPeerConnectionIceErrorEvent.hostCandidate` is deprecated. Please use `RTCPeerConnectionIceErrorEvent.address` or `RTCPeerConnectionIceErrorEvent.port` instead.',
123
+ /**
124
+ * @description TODO(crbug.com/1320343): Description needed for translation
125
+ */
126
+ insecurePrivateNetworkSubresourceRequest:
127
+ 'The website requested a subresource from a network that it could only access because of its users\' privileged network position. These requests expose non-public devices and servers to the internet, increasing the risk of a cross-site request forgery (CSRF) attack, and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them.',
128
+ /**
129
+ * @description A deprecation warning shown in the DevTools Issues tab.
130
+ * It's shown when a video conferencing website attempts to disable
131
+ * use of IPv6 addresses with a non-standard API.
132
+ */
133
+ legacyConstraintGoogIPv6:
134
+ 'IPv6 is enabled-by-default and the ability to disable it using `googIPv6` will soon be removed. Please stop using this legacy constraint.',
135
+ /**
136
+ * @description TODO(crbug.com/1318865): Description needed for translation
137
+ */
138
+ localCSSFileExtensionRejected:
139
+ 'CSS cannot be loaded from `file:` URLs unless they end in a `.css` file extension.',
140
+ /**
141
+ * @description TODO(crbug.com/1320344): Description needed for translation
142
+ */
143
+ mediaElementAudioSourceNode:
144
+ 'Creating a `MediaElementAudioSourceNode` on an `OfflineAudioContext` is deprecated and will be removed.',
145
+ /**
146
+ * @description TODO(crbug.com/1320345): Description needed for translation
147
+ */
148
+ mediaSourceAbortRemove:
149
+ 'Using `SourceBuffer.abort()` to abort `remove()`\'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should instead await `updateend`. `abort()` is intended to only abort an asynchronous media append or reset parser state.',
150
+ /**
151
+ * @description TODO(crbug.com/1320346): Description needed for translation
152
+ */
153
+ mediaSourceDurationTruncatingBuffered:
154
+ 'Setting `MediaSource.duration` below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit `remove(newDuration, oldDuration)` on all `sourceBuffers`, where `newDuration < oldDuration`.',
155
+ /**
156
+ * @description TODO(crbug.com/1320347): Description needed for translation
157
+ */
158
+ noSysexWebMIDIWithoutPermission:
159
+ 'Web MIDI will ask a permission to use even if the sysex is not specified in the `MIDIOptions`.',
160
+ /**
161
+ * @description Warning displayed to developers when the Notification API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is no longer supported.
162
+ */
163
+ notificationInsecureOrigin:
164
+ 'The Notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details.',
165
+ /**
166
+ * @description Warning displayed to developers when permission to use notifications has been requested by a cross-origin iframe, to notify them that this use is no longer supported.
167
+ */
168
+ notificationPermissionRequestedIframe:
169
+ 'Permission for the Notification API may no longer be requested from a cross-origin iframe. You should consider requesting permission from a top-level frame or opening a new window instead.',
170
+ /**
171
+ * @description TODO(crbug.com/1318867): Description needed for translation
172
+ */
173
+ obsoleteWebRtcCipherSuite:
174
+ 'Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed.',
175
+ /**
176
+ * @description TODO(crbug.com/1320349): Description needed for translation
177
+ */
178
+ paymentRequestBasicCard: 'The `basic-card` payment method is deprecated and will be removed.',
179
+ /**
180
+ * @description TODO(crbug.com/1320350): Description needed for translation
181
+ */
182
+ paymentRequestShowWithoutGesture:
183
+ 'Calling `PaymentRequest.show()` without user activation is deprecated and will be removed.',
184
+ /**
185
+ * @description This issue indicates that a `<source>` element with a `<picture>` parent was using an `src` attribute, which is not valid and is ignored by the browser. The `srcset` attribute should be used instead.
186
+ */
187
+ pictureSourceSrc:
188
+ '`<source src>` with a `<picture>` parent is invalid and therefore ignored. Please use `<source srcset>` instead.',
189
+ /**
190
+ * @description Warning displayed to developers when the vendor-prefixed method is used rather than the equivalent unprefixed method.
191
+ * Both placeholders are Web API functions (single words).
192
+ * @example {webkitCancelAnimationFrame} PH1
193
+ * @example {cancelAnimationFrame} PH2
194
+ */
195
+ vendorSpecificApi: '{PH1} is vendor-specific. Please use the standard {PH2} instead.',
196
+ /**
197
+ * @description TODO(crbug.com/1320351): Description needed for translation
198
+ */
199
+ prefixedStorageInfo:
200
+ '`window.webkitStorageInfo` is deprecated. Please use `navigator.webkitTemporaryStorage` or `navigator.webkitPersistentStorage` instead.',
201
+ /**
202
+ * @description Standard message when one web API is deprecated in favor of another. Both
203
+ * placeholders are always web API functions.
204
+ * @example {HTMLVideoElement.webkitDisplayingFullscreen} PH1
205
+ * @example {Document.fullscreenElement} PH2
206
+ */
207
+ deprecatedWithReplacement: '{PH1} is deprecated. Please use {PH2} instead.',
208
+ /**
209
+ * @description TODO(crbug.com/1320357): Description needed for translation
210
+ */
211
+ requestedSubresourceWithEmbeddedCredentials:
212
+ 'Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked.',
213
+ /**
214
+ * @description A deprecation warning shown in the DevTools Issues tab.
215
+ * It's shown when a video conferencing website attempts to use a
216
+ * non-standard crypto method when performing a handshake to set up a
217
+ * connection with another endpoint.
218
+ */
219
+ rtcConstraintEnableDtlsSrtpFalse:
220
+ 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES key negotiation` method. This functionality is removed; use a service that supports `DTLS key negotiation` instead.',
221
+ /**
222
+ * @description A deprecation warning shown in the DevTools Issues tab.
223
+ * It's shown when a video conferencing website uses a non-standard
224
+ * API for controlling the crypto method used, but is not having an
225
+ * effect because the desired behavior is already enabled-by-default.
226
+ */
227
+ rtcConstraintEnableDtlsSrtpTrue:
228
+ 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `true` value for this constraint, which had no effect, but you can remove this constraint for tidiness.',
229
+ /**
230
+ * @description A deprecation warning shown in the DevTools Issues tab.
231
+ * The `Session Description Protocol`, or `SDP` for short, is a
232
+ * protocol used by video conferencing websites to establish the
233
+ * number of audio and/or video streams to send and/or receive. This
234
+ * warning is emitted when a web site attempts to use a deprecated
235
+ * version of the protocol, called `Plan B`, that is no longer
236
+ * supported. The spec compliant version of the protocol is called
237
+ * `Unified Plan`.
238
+ */
239
+ rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics:
240
+ '`Complex Plan B SDP` detected. This dialect of the `Session Description Protocol` is no longer supported. Please use `Unified Plan SDP` instead.',
241
+ /**
242
+ * @description A deprecation warning shown in the DevTools Issues tab.
243
+ * The `Session Description Protocol`, or `SDP` for short, is a
244
+ * protocol used by video conferencing websites to establish the
245
+ * number of audio and/or video streams to send and/or receive. This
246
+ * warning is emitted when a web site attempts to use a deprecated
247
+ * version of the protocol, called `Plan B`, that is no longer
248
+ * supported. The spec compliant version of the protocol is called
249
+ * `Unified Plan`.
250
+ */
251
+ rtcPeerConnectionSdpSemanticsPlanB:
252
+ '`Plan B SDP semantics`, which is used when constructing an `RTCPeerConnection` with `{sdpSemantics:\'plan-b\'}`, is a legacy non-standard version of the `Session Description Protocol` that has been permanently deleted from the Web Platform. It is still available when building with `IS_FUCHSIA`, but we intend to delete it as soon as possible. Stop depending on it. See https://crbug.com/1302249 for status.',
253
+ /**
254
+ * @description A deprecation warning shown in the DevTools Issues tab.
255
+ * It's shown then a video conferencing website attempts to use the
256
+ * `RTCP MUX` policy.
257
+ */
258
+ rtcpMuxPolicyNegotiate: 'The `rtcpMuxPolicy` option is deprecated and will be removed.',
259
+ /**
260
+ * @description A deprecation warning shown in the DevTools Issues tab.
261
+ * It's shown when a video conferencing website attempts to turn on or
262
+ * off a feature that has been removed, `RTP data channels`.
263
+ * `RTP data channels` are used to send and receive arbitrary data,
264
+ * but have been removed in favor of standardized versions of
265
+ * `data channels`: `SCTP data channels`.
266
+ */
267
+ rtpDataChannel:
268
+ '`RTP data channels` are no longer supported. The `RtpDataChannels` constraint is currently ignored, and may cause an error at a later date.',
269
+ /**
270
+ * @description TODO(crbug.com/1318878): Description needed for translation
271
+ */
272
+ sharedArrayBufferConstructedWithoutIsolation:
273
+ '`SharedArrayBuffer` will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.',
274
+ /**
275
+ * @description A deprecation warning shown in the DevTools Issues tab.
276
+ * It's shown when the speech synthesis API is called before the page
277
+ * receives a user activation.
278
+ */
279
+ textToSpeech_DisallowedByAutoplay:
280
+ '`speechSynthesis.speak()` without user activation is deprecated and will be removed.',
281
+ /**
282
+ * @description TODO(crbug.com/1318879): Description needed for translation
283
+ */
284
+ v8SharedArrayBufferConstructedInExtensionWithoutIsolation:
285
+ 'Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.',
286
+ /**
287
+ * @description TODO(crbug.com/1318881): Description needed for translation
288
+ */
289
+ xhrJSONEncodingDetection: 'UTF-16 is not supported by response json in `XMLHttpRequest`',
290
+ /**
291
+ * @description TODO(crbug.com/1318882): Description needed for translation
292
+ */
293
+ xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload:
294
+ 'Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user\u2019s experience. For more help, check https://xhr.spec.whatwg.org/.',
295
+ /**
296
+ * @description Warning displayed to developers that instead of using
297
+ * `supportsSession()`, which returns a promise that resolves if
298
+ * the XR session can be supported and rejects if not, they should
299
+ * use `isSessionSupported()` which will return a promise which
300
+ * resolves to a boolean indicating if the XR session can be
301
+ * supported or not, but may reject to throw an exception.
302
+ */
303
+ xrSupportsSession:
304
+ '`supportsSession()` is deprecated. Please use `isSessionSupported()` and check the resolved boolean value instead.',
305
+ };
306
+ // clang-format on
383
307
  const str_ = i18n.i18n.registerUIStrings('models/issues_manager/DeprecationIssue.ts', UIStrings);
384
308
  const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
385
309
 
@@ -438,10 +362,10 @@ export class DeprecationIssue extends Issue {
438
362
  milestone = 106;
439
363
  break;
440
364
  case Protocol.Audits.DeprecationIssueType.CrossOriginWindowAlert:
441
- messageFunction = i18nLazyString(UIStrings.crossOriginWindowAlert);
365
+ messageFunction = i18nLazyString(UIStrings.crossOriginWindowApi, {PH1: 'window.alert'});
442
366
  break;
443
367
  case Protocol.Audits.DeprecationIssueType.CrossOriginWindowConfirm:
444
- messageFunction = i18nLazyString(UIStrings.crossOriginWindowConfirm);
368
+ messageFunction = i18nLazyString(UIStrings.crossOriginWindowApi, {PH1: 'window.confirm'});
445
369
  break;
446
370
  case Protocol.Audits.DeprecationIssueType.CSSSelectorInternalMediaControlsOverlayCastButton:
447
371
  messageFunction = i18nLazyString(UIStrings.cssSelectorInternalMediaControlsOverlayCastButton);
@@ -483,22 +407,10 @@ export class DeprecationIssue extends Issue {
483
407
  feature = 5436853517811712;
484
408
  milestone = 92;
485
409
  break;
486
- case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogCpuOveruseDetection:
487
- messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogCpuOveruseDetection);
488
- milestone = 103;
489
- break;
490
410
  case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogIPv6:
491
411
  messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogIPv6);
492
412
  milestone = 103;
493
413
  break;
494
- case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogScreencastMinBitrate:
495
- messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogScreencastMinBitrate);
496
- milestone = 103;
497
- break;
498
- case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogSuspendBelowMinBitrate:
499
- messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogSuspendBelowMinBitrate);
500
- milestone = 103;
501
- break;
502
414
  case Protocol.Audits.DeprecationIssueType.LocalCSSFileExtensionRejected:
503
415
  messageFunction = i18nLazyString(UIStrings.localCSSFileExtensionRejected);
504
416
  milestone = 64;
@@ -546,34 +458,49 @@ export class DeprecationIssue extends Issue {
546
458
  messageFunction = i18nLazyString(UIStrings.pictureSourceSrc);
547
459
  break;
548
460
  case Protocol.Audits.DeprecationIssueType.PrefixedCancelAnimationFrame:
549
- messageFunction = i18nLazyString(UIStrings.prefixedCancelAnimationFrame);
461
+ messageFunction = i18nLazyString(
462
+ UIStrings.vendorSpecificApi, {PH1: 'webkitCancelAnimationFrame', PH2: 'cancelAnimationFrame'});
550
463
  break;
551
464
  case Protocol.Audits.DeprecationIssueType.PrefixedRequestAnimationFrame:
552
- messageFunction = i18nLazyString(UIStrings.prefixedRequestAnimationFrame);
465
+ messageFunction = i18nLazyString(
466
+ UIStrings.vendorSpecificApi, {PH1: 'webkitRequestAnimationFrame', PH2: 'requestAnimationFrame'});
553
467
  break;
554
468
  case Protocol.Audits.DeprecationIssueType.PrefixedStorageInfo:
555
469
  messageFunction = i18nLazyString(UIStrings.prefixedStorageInfo);
556
470
  break;
557
471
  case Protocol.Audits.DeprecationIssueType.PrefixedVideoDisplayingFullscreen:
558
- messageFunction = i18nLazyString(UIStrings.prefixedVideoDisplayingFullscreen);
472
+ messageFunction = i18nLazyString(
473
+ UIStrings.deprecatedWithReplacement,
474
+ {PH1: 'HTMLVideoElement.webkitDisplayingFullscreen', PH2: 'Document.fullscreenElement'});
559
475
  break;
560
476
  case Protocol.Audits.DeprecationIssueType.PrefixedVideoEnterFullScreen:
561
- messageFunction = i18nLazyString(UIStrings.prefixedVideoEnterFullScreen);
477
+ messageFunction = i18nLazyString(
478
+ UIStrings.deprecatedWithReplacement,
479
+ {PH1: 'HTMLVideoElement.webkitEnterFullScreen()', PH2: 'Element.requestFullscreen()'});
562
480
  break;
563
481
  case Protocol.Audits.DeprecationIssueType.PrefixedVideoEnterFullscreen:
564
- messageFunction = i18nLazyString(UIStrings.prefixedVideoEnterFullscreen);
482
+ messageFunction = i18nLazyString(
483
+ UIStrings.deprecatedWithReplacement,
484
+ {PH1: 'HTMLVideoElement.webkitEnterFullscreen()', PH2: 'Element.requestFullscreen()'});
565
485
  break;
566
486
  case Protocol.Audits.DeprecationIssueType.PrefixedVideoExitFullScreen:
567
- messageFunction = i18nLazyString(UIStrings.prefixedVideoExitFullScreen);
487
+ messageFunction = i18nLazyString(
488
+ UIStrings.deprecatedWithReplacement,
489
+ {PH1: 'HTMLVideoElement.webkitExitFullScreen()', PH2: 'Document.exitFullscreen()'});
568
490
  break;
569
491
  case Protocol.Audits.DeprecationIssueType.PrefixedVideoExitFullscreen:
570
- messageFunction = i18nLazyString(UIStrings.prefixedVideoExitFullscreen);
492
+ messageFunction = i18nLazyString(
493
+ UIStrings.deprecatedWithReplacement,
494
+ {PH1: 'HTMLVideoElement.webkitExitFullscreen()', PH2: 'Document.exitFullscreen()'});
571
495
  break;
572
496
  case Protocol.Audits.DeprecationIssueType.PrefixedVideoSupportsFullscreen:
573
- messageFunction = i18nLazyString(UIStrings.prefixedVideoSupportsFullscreen);
497
+ messageFunction = i18nLazyString(
498
+ UIStrings.deprecatedWithReplacement,
499
+ {PH1: 'HTMLVideoElement.webkitSupportsFullscreen', PH2: 'Document.fullscreenEnabled'});
574
500
  break;
575
501
  case Protocol.Audits.DeprecationIssueType.RangeExpand:
576
- messageFunction = i18nLazyString(UIStrings.rangeExpand);
502
+ messageFunction =
503
+ i18nLazyString(UIStrings.deprecatedWithReplacement, {PH1: 'Range.expand()', PH2: 'Selection.modify()'});
577
504
  break;
578
505
  case Protocol.Audits.DeprecationIssueType.RequestedSubresourceWithEmbeddedCredentials:
579
506
  messageFunction = i18nLazyString(UIStrings.requestedSubresourceWithEmbeddedCredentials);
@@ -591,10 +518,6 @@ export class DeprecationIssue extends Issue {
591
518
  messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics);
592
519
  milestone = 72;
593
520
  break;
594
- case Protocol.Audits.DeprecationIssueType.RTCPeerConnectionLegacyCreateWithMediaConstraints:
595
- messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionLegacyCreateWithMediaConstraints);
596
- milestone = 103;
597
- break;
598
521
  case Protocol.Audits.DeprecationIssueType.RTCPeerConnectionSdpSemanticsPlanB:
599
522
  messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionSdpSemanticsPlanB);
600
523
  feature = 5823036655665152;
@@ -609,10 +532,6 @@ export class DeprecationIssue extends Issue {
609
532
  messageFunction = i18nLazyString(UIStrings.rtpDataChannel);
610
533
  milestone = 88;
611
534
  break;
612
- case Protocol.Audits.DeprecationIssueType.SelectionAddRangeIntersect:
613
- messageFunction = i18nLazyString(UIStrings.selectionAddRangeIntersect);
614
- feature = 6680566019653632;
615
- break;
616
535
  case Protocol.Audits.DeprecationIssueType.SharedArrayBufferConstructedWithoutIsolation:
617
536
  messageFunction = i18nLazyString(UIStrings.sharedArrayBufferConstructedWithoutIsolation);
618
537
  milestone = 106;
@@ -626,11 +545,6 @@ export class DeprecationIssue extends Issue {
626
545
  messageFunction = i18nLazyString(UIStrings.v8SharedArrayBufferConstructedInExtensionWithoutIsolation);
627
546
  milestone = 96;
628
547
  break;
629
- case Protocol.Audits.DeprecationIssueType.WebCodecsVideoFrameDefaultTimestamp:
630
- messageFunction = i18nLazyString(UIStrings.webCodecsVideoFrameDefaultTimestamp);
631
- feature = 5667793157488640;
632
- milestone = 99;
633
- break;
634
548
  case Protocol.Audits.DeprecationIssueType.XHRJSONEncodingDetection:
635
549
  messageFunction = i18nLazyString(UIStrings.xhrJSONEncodingDetection);
636
550
  milestone = 93;