chrome-devtools-frontend 1.0.1001476 → 1.0.1003469
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.
- package/config/gni/devtools_grd_files.gni +5 -6
- package/front_end/core/common/ParsedURL.ts +3 -3
- package/front_end/core/host/InspectorFrontendHost.ts +30 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
- package/front_end/core/host/UserMetrics.ts +17 -1
- package/front_end/core/i18n/locales/en-US.json +24 -63
- package/front_end/core/i18n/locales/en-XL.json +24 -63
- package/front_end/core/protocol_client/InspectorBackend.ts +4 -0
- package/front_end/core/root/Runtime.ts +7 -3
- package/front_end/core/sdk/ServiceWorkerManager.ts +6 -5
- package/front_end/core/sdk/TracingModel.ts +5 -4
- package/front_end/devtools_compatibility.js +1 -0
- package/front_end/entrypoints/formatter_worker/FormatterActions.ts +14 -0
- package/front_end/entrypoints/formatter_worker/ScopeParser.ts +491 -0
- package/front_end/entrypoints/formatter_worker/Substitute.ts +4 -440
- package/front_end/entrypoints/formatter_worker/formatter_worker.ts +2 -0
- package/front_end/entrypoints/main/MainImpl.ts +1 -0
- package/front_end/generated/InspectorBackendCommands.js +42 -12
- package/front_end/generated/SupportedCSSProperties.js +3 -5
- package/front_end/generated/protocol-mapping.d.ts +5 -1
- package/front_end/generated/protocol-proxy-api.d.ts +4 -1
- package/front_end/generated/protocol.ts +68 -14
- package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +6 -34
- package/front_end/models/issues_manager/DeprecationIssue.ts +84 -172
- package/front_end/models/issues_manager/Issue.ts +8 -4
- package/front_end/models/issues_manager/descriptions/arInvalidHeader.md +3 -0
- package/front_end/models/persistence/NetworkPersistenceManager.ts +20 -0
- package/front_end/models/timeline_model/TimelineModel.ts +2 -49
- package/front_end/panels/application/AppManifestView.ts +3 -3
- package/front_end/panels/application/ApplicationPanelCacheSection.ts +3 -1
- package/front_end/panels/application/ApplicationPanelSidebar.ts +11 -6
- package/front_end/panels/application/ApplicationPanelTreeElement.ts +2 -2
- package/front_end/panels/application/BackgroundServiceView.ts +5 -4
- package/front_end/panels/application/ResourcesPanel.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +6 -3
- package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +3 -2
- package/front_end/panels/elements/StylePropertyTreeElement.ts +19 -13
- package/front_end/panels/elements/StylesSidebarPane.ts +74 -5
- package/front_end/panels/elements/stylesSidebarPane.css +3 -0
- package/front_end/panels/issues/AffectedResourcesView.ts +4 -3
- package/front_end/panels/issues/AffectedSourcesView.ts +2 -1
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +9 -38
- package/front_end/panels/issues/IssueView.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseController.ts +6 -3
- package/front_end/panels/lighthouse/LighthouseReporterTypes.ts +2 -1
- package/front_end/panels/lighthouse/lighthousePanel.css +4 -0
- package/front_end/panels/network/NetworkLogView.ts +32 -0
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +2 -2
- package/front_end/panels/profiler/HeapSnapshotView.ts +2 -1
- package/front_end/panels/profiler/ProfileDataGrid.ts +1 -1
- package/front_end/panels/security/SecurityPanel.ts +6 -5
- package/front_end/panels/settings/SettingsScreen.ts +2 -3
- package/front_end/panels/sources/SourcesNavigator.ts +1 -1
- package/front_end/panels/sources/SourcesPanel.ts +1 -1
- package/front_end/panels/timeline/PerformanceModel.ts +2 -6
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +5 -26
- package/front_end/panels/timeline/TimelineUIUtils.ts +14 -12
- package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1036 -1088
- package/front_end/third_party/lighthouse/locales/en-US.json +244 -4
- package/front_end/third_party/lighthouse/locales/en-XL.json +244 -4
- package/front_end/third_party/lighthouse/report/bundle.d.ts +4 -22
- package/front_end/third_party/lighthouse/report/bundle.js +23 -366
- package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
- package/front_end/ui/components/docs/linkifier/simple-url.ts +2 -1
- package/front_end/ui/components/docs/panel_feedback/basic.ts +3 -2
- package/front_end/ui/components/docs/panel_feedback/button.ts +2 -1
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +4 -3
- package/front_end/ui/components/linkifier/LinkifierUtils.ts +2 -3
- package/front_end/ui/components/panel_feedback/FeedbackButton.ts +4 -6
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +5 -4
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +3 -3
- package/front_end/ui/components/text_editor/javascript.ts +6 -15
- package/front_end/ui/legacy/EmptyWidget.ts +2 -1
- package/front_end/ui/legacy/InspectorView.ts +29 -0
- package/front_end/ui/legacy/UIUtils.ts +4 -4
- package/front_end/ui/legacy/XLink.ts +12 -13
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +2 -4
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +0 -2
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +3 -7
- package/front_end/ui/legacy/components/utils/Linkifier.ts +23 -23
- package/front_end/ui/legacy/toolbar.css +1 -1
- package/package.json +1 -1
- package/scripts/whitespaces.txt +1 -0
- package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md +0 -3
- package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md +0 -4
- package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md +0 -4
@@ -23,42 +23,42 @@ const UIStrings = {
|
|
23
23
|
*/
|
24
24
|
milestone: 'This change will go into effect with milestone {milestone}.',
|
25
25
|
/**
|
26
|
-
|
26
|
+
* @description Title of issue raised when a deprecated feature is used
|
27
27
|
*/
|
28
28
|
title: 'Deprecated Feature Used',
|
29
29
|
|
30
30
|
// Store alphabetized messages per DeprecationIssueType in this block.
|
31
31
|
/**
|
32
|
-
|
32
|
+
* @description TODO(crbug.com/1318846): Description needed for translation
|
33
33
|
*/
|
34
34
|
authorizationCoveredByWildcard:
|
35
35
|
'Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling.',
|
36
36
|
/**
|
37
|
-
|
37
|
+
* @description TODO(crbug.com/1320334): Description needed for translation
|
38
38
|
*/
|
39
39
|
canRequestURLHTTPContainingNewline:
|
40
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
41
|
/**
|
42
|
-
|
42
|
+
* @description TODO(crbug.com/1320335): Description needed for translation
|
43
43
|
*/
|
44
44
|
chromeLoadTimesConnectionInfo:
|
45
45
|
'`chrome.loadTimes()` is deprecated, instead use standardized API: Navigation Timing 2.',
|
46
46
|
/**
|
47
|
-
|
47
|
+
* @description TODO(crbug.com/1320336): Description needed for translation
|
48
48
|
*/
|
49
49
|
chromeLoadTimesFirstPaintAfterLoadTime:
|
50
50
|
'`chrome.loadTimes()` is deprecated, instead use standardized API: Paint Timing.',
|
51
51
|
/**
|
52
|
-
|
52
|
+
* @description TODO(crbug.com/1320337): Description needed for translation
|
53
53
|
*/
|
54
54
|
chromeLoadTimesWasAlternateProtocolAvailable:
|
55
55
|
'`chrome.loadTimes()` is deprecated, instead use standardized API: `nextHopProtocol` in Navigation Timing 2.',
|
56
56
|
/**
|
57
|
-
|
57
|
+
* @description TODO(crbug.com/1318847): Description needed for translation
|
58
58
|
*/
|
59
59
|
cookieWithTruncatingChar: 'Cookies containing a `\\(0|r|n)` character will be rejected instead of truncated.',
|
60
60
|
/**
|
61
|
-
|
61
|
+
* @description This warning occurs when a frame accesses another frame's
|
62
62
|
* data after having set `document.domain` without having set the
|
63
63
|
* `Origin-Agent-Cluster` http header. This is a companion warning to
|
64
64
|
* `documentDomainSettingWithoutOriginAgentClusterHeader`, where that
|
@@ -69,31 +69,27 @@ const UIStrings = {
|
|
69
69
|
crossOriginAccessBasedOnDocumentDomain:
|
70
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
71
|
/**
|
72
|
-
|
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
|
73
75
|
*/
|
74
|
-
|
75
|
-
'Triggering `window.alert` from cross origin iframes has been deprecated and will be removed in the future.',
|
76
|
+
crossOriginWindowApi: 'Triggering {PH1} from cross origin iframes has been deprecated and will be removed in the future.',
|
76
77
|
/**
|
77
|
-
|
78
|
-
*/
|
79
|
-
crossOriginWindowConfirm:
|
80
|
-
'Triggering `window.confirm` from cross origin iframes has been deprecated and will be removed in the future.',
|
81
|
-
/**
|
82
|
-
*@description TODO(crbug.com/1320339): Description needed for translation
|
78
|
+
* @description TODO(crbug.com/1320339): Description needed for translation
|
83
79
|
*/
|
84
80
|
cssSelectorInternalMediaControlsOverlayCastButton:
|
85
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.',
|
86
82
|
/**
|
87
|
-
|
83
|
+
* @description TODO(crbug.com/1320340): Description needed for translation
|
88
84
|
*/
|
89
85
|
customCursorIntersectsViewport:
|
90
86
|
'Custom cursors with size greater than 32x32 DIP intersecting native UI is deprecated and will be removed.',
|
91
87
|
/**
|
92
|
-
|
88
|
+
* @description This message is shown when the example deprecated feature is used
|
93
89
|
*/
|
94
90
|
deprecationExample: 'This is an example of a translated deprecation issue message.',
|
95
91
|
/**
|
96
|
-
|
92
|
+
* @description This warning occurs when a script modifies `document.domain`
|
97
93
|
* without having set on `Origin-Agent-Cluster` http header. In other
|
98
94
|
* words, when a script relies on the default behaviour of
|
99
95
|
* `Origin-Agent-Cluster` when setting document.domain.
|
@@ -101,175 +97,121 @@ const UIStrings = {
|
|
101
97
|
documentDomainSettingWithoutOriginAgentClusterHeader:
|
102
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.',
|
103
99
|
/**
|
104
|
-
|
100
|
+
* @description Warning displayed to developers when the non-standard `Event.path` API is used to notify them that this API is deprecated.
|
105
101
|
*/
|
106
102
|
eventPath: '`Event.path` is deprecated and will be removed. Please use `Event.composedPath()` instead.',
|
107
103
|
/**
|
108
|
-
|
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.
|
109
105
|
*/
|
110
106
|
geolocationInsecureOrigin:
|
111
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.',
|
112
108
|
/**
|
113
|
-
|
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.
|
114
110
|
*/
|
115
111
|
geolocationInsecureOriginDeprecatedNotRemoved:
|
116
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.',
|
117
113
|
/**
|
118
|
-
|
114
|
+
* @description TODO(crbug.com/1318858): Description needed for translation
|
119
115
|
*/
|
120
116
|
getUserMediaInsecureOrigin:
|
121
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.',
|
122
118
|
/**
|
123
|
-
|
119
|
+
* @description TODO(crbug.com/1320342): Description needed for translation
|
124
120
|
*/
|
125
121
|
hostCandidateAttributeGetter:
|
126
122
|
'`RTCPeerConnectionIceErrorEvent.hostCandidate` is deprecated. Please use `RTCPeerConnectionIceErrorEvent.address` or `RTCPeerConnectionIceErrorEvent.port` instead.',
|
127
123
|
/**
|
128
|
-
|
124
|
+
* @description TODO(crbug.com/1320343): Description needed for translation
|
129
125
|
*/
|
130
126
|
insecurePrivateNetworkSubresourceRequest:
|
131
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.',
|
132
128
|
/**
|
133
|
-
|
134
|
-
* It's shown when a video conferencing website attempts to turn off
|
135
|
-
* CPU overuse detection with a non-standard API. CPU overuse
|
136
|
-
* detection is used to adjust video quality based on available CPU
|
137
|
-
* resources.
|
138
|
-
*/
|
139
|
-
legacyConstraintGoogCpuOveruseDetection:
|
140
|
-
'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.',
|
141
|
-
/**
|
142
|
-
*@description A deprecation warning shown in the DevTools Issues tab.
|
129
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
143
130
|
* It's shown when a video conferencing website attempts to disable
|
144
131
|
* use of IPv6 addresses with a non-standard API.
|
145
132
|
*/
|
146
133
|
legacyConstraintGoogIPv6:
|
147
134
|
'IPv6 is enabled-by-default and the ability to disable it using `googIPv6` will soon be removed. Please stop using this legacy constraint.',
|
148
135
|
/**
|
149
|
-
|
150
|
-
* It's shown when a video conferencing website attempts to adjust
|
151
|
-
* bitrate settings for screeen sharing with a non-standard API.
|
152
|
-
*/
|
153
|
-
legacyConstraintGoogScreencastMinBitrate:
|
154
|
-
'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.',
|
155
|
-
/**
|
156
|
-
*@description A deprecation warning shown in the DevTools Issues tab.
|
157
|
-
* It's shown when a video conferencing website attempts to change the
|
158
|
-
* default settings for how the browser should act when bitrate is
|
159
|
-
* low.
|
160
|
-
*/
|
161
|
-
legacyConstraintGoogSuspendBelowMinBitrate:
|
162
|
-
'Support for the `googSuspendBelowMinBitrate` constraint is about to be removed. Please stop using this legacy constraint.',
|
163
|
-
/**
|
164
|
-
*@description TODO(crbug.com/1318865): Description needed for translation
|
136
|
+
* @description TODO(crbug.com/1318865): Description needed for translation
|
165
137
|
*/
|
166
138
|
localCSSFileExtensionRejected:
|
167
139
|
'CSS cannot be loaded from `file:` URLs unless they end in a `.css` file extension.',
|
168
140
|
/**
|
169
|
-
|
141
|
+
* @description TODO(crbug.com/1320344): Description needed for translation
|
170
142
|
*/
|
171
143
|
mediaElementAudioSourceNode:
|
172
144
|
'Creating a `MediaElementAudioSourceNode` on an `OfflineAudioContext` is deprecated and will be removed.',
|
173
145
|
/**
|
174
|
-
|
146
|
+
* @description TODO(crbug.com/1320345): Description needed for translation
|
175
147
|
*/
|
176
148
|
mediaSourceAbortRemove:
|
177
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.',
|
178
150
|
/**
|
179
|
-
|
151
|
+
* @description TODO(crbug.com/1320346): Description needed for translation
|
180
152
|
*/
|
181
153
|
mediaSourceDurationTruncatingBuffered:
|
182
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`.',
|
183
155
|
/**
|
184
|
-
|
156
|
+
* @description TODO(crbug.com/1320347): Description needed for translation
|
185
157
|
*/
|
186
158
|
noSysexWebMIDIWithoutPermission:
|
187
159
|
'Web MIDI will ask a permission to use even if the sysex is not specified in the `MIDIOptions`.',
|
188
160
|
/**
|
189
|
-
|
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.
|
190
162
|
*/
|
191
163
|
notificationInsecureOrigin:
|
192
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.',
|
193
165
|
/**
|
194
|
-
|
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.
|
195
167
|
*/
|
196
168
|
notificationPermissionRequestedIframe:
|
197
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.',
|
198
170
|
/**
|
199
|
-
|
171
|
+
* @description TODO(crbug.com/1318867): Description needed for translation
|
200
172
|
*/
|
201
173
|
obsoleteWebRtcCipherSuite:
|
202
174
|
'Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed.',
|
203
175
|
/**
|
204
|
-
|
176
|
+
* @description TODO(crbug.com/1320349): Description needed for translation
|
205
177
|
*/
|
206
178
|
paymentRequestBasicCard: 'The `basic-card` payment method is deprecated and will be removed.',
|
207
179
|
/**
|
208
|
-
|
180
|
+
* @description TODO(crbug.com/1320350): Description needed for translation
|
209
181
|
*/
|
210
182
|
paymentRequestShowWithoutGesture:
|
211
183
|
'Calling `PaymentRequest.show()` without user activation is deprecated and will be removed.',
|
212
184
|
/**
|
213
|
-
|
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.
|
214
186
|
*/
|
215
187
|
pictureSourceSrc:
|
216
188
|
'`<source src>` with a `<picture>` parent is invalid and therefore ignored. Please use `<source srcset>` instead.',
|
217
189
|
/**
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
/**
|
223
|
-
*@description Warning displayed to developers when the vendor-prefixed method is used rather than the equivalent unprefixed method.
|
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
|
224
194
|
*/
|
225
|
-
|
226
|
-
'`webkitRequestAnimationFrame` is vendor-specific. Please use the standard `requestAnimationFrame` instead.',
|
195
|
+
vendorSpecificApi: '{PH1} is vendor-specific. Please use the standard {PH2} instead.',
|
227
196
|
/**
|
228
|
-
|
197
|
+
* @description TODO(crbug.com/1320351): Description needed for translation
|
229
198
|
*/
|
230
199
|
prefixedStorageInfo:
|
231
200
|
'`window.webkitStorageInfo` is deprecated. Please use `navigator.webkitTemporaryStorage` or `navigator.webkitPersistentStorage` instead.',
|
232
201
|
/**
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
/**
|
238
|
-
*@description TODO(crbug.com/1320353): Description needed for translation
|
239
|
-
*/
|
240
|
-
prefixedVideoEnterFullScreen:
|
241
|
-
'`HTMLVideoElement.webkitEnterFullScreen()` is deprecated. Please use `Element.requestFullscreen()` instead.',
|
242
|
-
/**
|
243
|
-
*@description TODO(crbug.com/1320353): Description needed for translation
|
244
|
-
*/
|
245
|
-
prefixedVideoEnterFullscreen:
|
246
|
-
'`HTMLVideoElement.webkitEnterFullscreen()` is deprecated. Please use `Element.requestFullscreen()` instead.',
|
247
|
-
/**
|
248
|
-
*@description TODO(crbug.com/1320354): Description needed for translation
|
249
|
-
*/
|
250
|
-
prefixedVideoExitFullScreen:
|
251
|
-
'`HTMLVideoElement.webkitExitFullsSreen()` is deprecated. Please use `Document.exitFullscreen()` instead.',
|
252
|
-
/**
|
253
|
-
*@description TODO(crbug.com/1320354): Description needed for translation
|
254
|
-
*/
|
255
|
-
prefixedVideoExitFullscreen:
|
256
|
-
'`HTMLVideoElement.webkitExitFullscreen()` is deprecated. Please use `Document.exitFullscreen()` instead.',
|
257
|
-
/**
|
258
|
-
*@description TODO(crbug.com/1320355): Description needed for translation
|
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
|
259
206
|
*/
|
260
|
-
|
261
|
-
'`HTMLVideoElement.webkitSupportsFullscreen` is deprecated. Please use `Document.fullscreenEnabled` instead.',
|
207
|
+
deprecatedWithReplacement: '{PH1} is deprecated. Please use {PH2} instead.',
|
262
208
|
/**
|
263
|
-
|
264
|
-
*/
|
265
|
-
rangeExpand: '`Range.expand()` is deprecated. Please use `Selection.modify()` instead.',
|
266
|
-
/**
|
267
|
-
*@description TODO(crbug.com/1320357): Description needed for translation
|
209
|
+
* @description TODO(crbug.com/1320357): Description needed for translation
|
268
210
|
*/
|
269
211
|
requestedSubresourceWithEmbeddedCredentials:
|
270
212
|
'Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked.',
|
271
213
|
/**
|
272
|
-
|
214
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
273
215
|
* It's shown when a video conferencing website attempts to use a
|
274
216
|
* non-standard crypto method when performing a handshake to set up a
|
275
217
|
* connection with another endpoint.
|
@@ -277,7 +219,7 @@ const UIStrings = {
|
|
277
219
|
rtcConstraintEnableDtlsSrtpFalse:
|
278
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.',
|
279
221
|
/**
|
280
|
-
|
222
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
281
223
|
* It's shown when a video conferencing website uses a non-standard
|
282
224
|
* API for controlling the crypto method used, but is not having an
|
283
225
|
* effect because the desired behavior is already enabled-by-default.
|
@@ -285,7 +227,7 @@ const UIStrings = {
|
|
285
227
|
rtcConstraintEnableDtlsSrtpTrue:
|
286
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.',
|
287
229
|
/**
|
288
|
-
|
230
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
289
231
|
* The `Session Description Protocol`, or `SDP` for short, is a
|
290
232
|
* protocol used by video conferencing websites to establish the
|
291
233
|
* number of audio and/or video streams to send and/or receive. This
|
@@ -297,17 +239,7 @@ const UIStrings = {
|
|
297
239
|
rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics:
|
298
240
|
'`Complex Plan B SDP` detected. This dialect of the `Session Description Protocol` is no longer supported. Please use `Unified Plan SDP` instead.',
|
299
241
|
/**
|
300
|
-
|
301
|
-
* It's shown when a video conferencing website uses a non-standard
|
302
|
-
* version of an API to exchange an `offer` or an `answer`. `Offers`
|
303
|
-
* and `answers` are exchanged between endpoints in order to configure
|
304
|
-
* what media should be sent and/or received. The app should make use
|
305
|
-
* of the standard API instead, which will have the desired effect.
|
306
|
-
*/
|
307
|
-
rtcPeerConnectionLegacyCreateWithMediaConstraints:
|
308
|
-
'The `mediaConstraints` version of `RTCOfferOptions/RTCAnswerOptions` are deprecated and will soon be removed, please migrate to the promise-based `createOffer`/`createAnswer` instead.',
|
309
|
-
/**
|
310
|
-
*@description A deprecation warning shown in the DevTools Issues tab.
|
242
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
311
243
|
* The `Session Description Protocol`, or `SDP` for short, is a
|
312
244
|
* protocol used by video conferencing websites to establish the
|
313
245
|
* number of audio and/or video streams to send and/or receive. This
|
@@ -319,13 +251,13 @@ const UIStrings = {
|
|
319
251
|
rtcPeerConnectionSdpSemanticsPlanB:
|
320
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.',
|
321
253
|
/**
|
322
|
-
|
254
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
323
255
|
* It's shown then a video conferencing website attempts to use the
|
324
256
|
* `RTCP MUX` policy.
|
325
257
|
*/
|
326
258
|
rtcpMuxPolicyNegotiate: 'The `rtcpMuxPolicy` option is deprecated and will be removed.',
|
327
259
|
/**
|
328
|
-
|
260
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
329
261
|
* It's shown when a video conferencing website attempts to turn on or
|
330
262
|
* off a feature that has been removed, `RTP data channels`.
|
331
263
|
* `RTP data channels` are used to send and receive arbitrary data,
|
@@ -335,43 +267,33 @@ const UIStrings = {
|
|
335
267
|
rtpDataChannel:
|
336
268
|
'`RTP data channels` are no longer supported. The `RtpDataChannels` constraint is currently ignored, and may cause an error at a later date.',
|
337
269
|
/**
|
338
|
-
|
339
|
-
*/
|
340
|
-
selectionAddRangeIntersect:
|
341
|
-
'The behavior that `Selection.addRange()` merges existing Range and the specified Range was removed.',
|
342
|
-
/**
|
343
|
-
*@description TODO(crbug.com/1318878): Description needed for translation
|
270
|
+
* @description TODO(crbug.com/1318878): Description needed for translation
|
344
271
|
*/
|
345
272
|
sharedArrayBufferConstructedWithoutIsolation:
|
346
273
|
'`SharedArrayBuffer` will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.',
|
347
274
|
/**
|
348
|
-
|
275
|
+
* @description A deprecation warning shown in the DevTools Issues tab.
|
349
276
|
* It's shown when the speech synthesis API is called before the page
|
350
277
|
* receives a user activation.
|
351
278
|
*/
|
352
279
|
textToSpeech_DisallowedByAutoplay:
|
353
280
|
'`speechSynthesis.speak()` without user activation is deprecated and will be removed.',
|
354
281
|
/**
|
355
|
-
|
282
|
+
* @description TODO(crbug.com/1318879): Description needed for translation
|
356
283
|
*/
|
357
284
|
v8SharedArrayBufferConstructedInExtensionWithoutIsolation:
|
358
285
|
'Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.',
|
359
286
|
/**
|
360
|
-
|
361
|
-
*/
|
362
|
-
webCodecsVideoFrameDefaultTimestamp:
|
363
|
-
'Constructing a `VideoFrame` without a timestamp is deprecated and support will be removed. Please provide a timestamp via `VideoFrameInit`.',
|
364
|
-
/**
|
365
|
-
*@description TODO(crbug.com/1318881): Description needed for translation
|
287
|
+
* @description TODO(crbug.com/1318881): Description needed for translation
|
366
288
|
*/
|
367
289
|
xhrJSONEncodingDetection: 'UTF-16 is not supported by response json in `XMLHttpRequest`',
|
368
290
|
/**
|
369
|
-
|
291
|
+
* @description TODO(crbug.com/1318882): Description needed for translation
|
370
292
|
*/
|
371
293
|
xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload:
|
372
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/.',
|
373
295
|
/**
|
374
|
-
|
296
|
+
* @description Warning displayed to developers that instead of using
|
375
297
|
* `supportsSession()`, which returns a promise that resolves if
|
376
298
|
* the XR session can be supported and rejects if not, they should
|
377
299
|
* use `isSessionSupported()` which will return a promise which
|
@@ -440,10 +362,10 @@ export class DeprecationIssue extends Issue {
|
|
440
362
|
milestone = 106;
|
441
363
|
break;
|
442
364
|
case Protocol.Audits.DeprecationIssueType.CrossOriginWindowAlert:
|
443
|
-
messageFunction = i18nLazyString(UIStrings.
|
365
|
+
messageFunction = i18nLazyString(UIStrings.crossOriginWindowApi, {PH1: 'window.alert'});
|
444
366
|
break;
|
445
367
|
case Protocol.Audits.DeprecationIssueType.CrossOriginWindowConfirm:
|
446
|
-
messageFunction = i18nLazyString(UIStrings.
|
368
|
+
messageFunction = i18nLazyString(UIStrings.crossOriginWindowApi, {PH1: 'window.confirm'});
|
447
369
|
break;
|
448
370
|
case Protocol.Audits.DeprecationIssueType.CSSSelectorInternalMediaControlsOverlayCastButton:
|
449
371
|
messageFunction = i18nLazyString(UIStrings.cssSelectorInternalMediaControlsOverlayCastButton);
|
@@ -485,22 +407,10 @@ export class DeprecationIssue extends Issue {
|
|
485
407
|
feature = 5436853517811712;
|
486
408
|
milestone = 92;
|
487
409
|
break;
|
488
|
-
case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogCpuOveruseDetection:
|
489
|
-
messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogCpuOveruseDetection);
|
490
|
-
milestone = 103;
|
491
|
-
break;
|
492
410
|
case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogIPv6:
|
493
411
|
messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogIPv6);
|
494
412
|
milestone = 103;
|
495
413
|
break;
|
496
|
-
case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogScreencastMinBitrate:
|
497
|
-
messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogScreencastMinBitrate);
|
498
|
-
milestone = 103;
|
499
|
-
break;
|
500
|
-
case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogSuspendBelowMinBitrate:
|
501
|
-
messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogSuspendBelowMinBitrate);
|
502
|
-
milestone = 103;
|
503
|
-
break;
|
504
414
|
case Protocol.Audits.DeprecationIssueType.LocalCSSFileExtensionRejected:
|
505
415
|
messageFunction = i18nLazyString(UIStrings.localCSSFileExtensionRejected);
|
506
416
|
milestone = 64;
|
@@ -548,34 +458,49 @@ export class DeprecationIssue extends Issue {
|
|
548
458
|
messageFunction = i18nLazyString(UIStrings.pictureSourceSrc);
|
549
459
|
break;
|
550
460
|
case Protocol.Audits.DeprecationIssueType.PrefixedCancelAnimationFrame:
|
551
|
-
messageFunction = i18nLazyString(
|
461
|
+
messageFunction = i18nLazyString(
|
462
|
+
UIStrings.vendorSpecificApi, {PH1: 'webkitCancelAnimationFrame', PH2: 'cancelAnimationFrame'});
|
552
463
|
break;
|
553
464
|
case Protocol.Audits.DeprecationIssueType.PrefixedRequestAnimationFrame:
|
554
|
-
messageFunction = i18nLazyString(
|
465
|
+
messageFunction = i18nLazyString(
|
466
|
+
UIStrings.vendorSpecificApi, {PH1: 'webkitRequestAnimationFrame', PH2: 'requestAnimationFrame'});
|
555
467
|
break;
|
556
468
|
case Protocol.Audits.DeprecationIssueType.PrefixedStorageInfo:
|
557
469
|
messageFunction = i18nLazyString(UIStrings.prefixedStorageInfo);
|
558
470
|
break;
|
559
471
|
case Protocol.Audits.DeprecationIssueType.PrefixedVideoDisplayingFullscreen:
|
560
|
-
messageFunction = i18nLazyString(
|
472
|
+
messageFunction = i18nLazyString(
|
473
|
+
UIStrings.deprecatedWithReplacement,
|
474
|
+
{PH1: 'HTMLVideoElement.webkitDisplayingFullscreen', PH2: 'Document.fullscreenElement'});
|
561
475
|
break;
|
562
476
|
case Protocol.Audits.DeprecationIssueType.PrefixedVideoEnterFullScreen:
|
563
|
-
messageFunction = i18nLazyString(
|
477
|
+
messageFunction = i18nLazyString(
|
478
|
+
UIStrings.deprecatedWithReplacement,
|
479
|
+
{PH1: 'HTMLVideoElement.webkitEnterFullScreen()', PH2: 'Element.requestFullscreen()'});
|
564
480
|
break;
|
565
481
|
case Protocol.Audits.DeprecationIssueType.PrefixedVideoEnterFullscreen:
|
566
|
-
messageFunction = i18nLazyString(
|
482
|
+
messageFunction = i18nLazyString(
|
483
|
+
UIStrings.deprecatedWithReplacement,
|
484
|
+
{PH1: 'HTMLVideoElement.webkitEnterFullscreen()', PH2: 'Element.requestFullscreen()'});
|
567
485
|
break;
|
568
486
|
case Protocol.Audits.DeprecationIssueType.PrefixedVideoExitFullScreen:
|
569
|
-
messageFunction = i18nLazyString(
|
487
|
+
messageFunction = i18nLazyString(
|
488
|
+
UIStrings.deprecatedWithReplacement,
|
489
|
+
{PH1: 'HTMLVideoElement.webkitExitFullScreen()', PH2: 'Document.exitFullscreen()'});
|
570
490
|
break;
|
571
491
|
case Protocol.Audits.DeprecationIssueType.PrefixedVideoExitFullscreen:
|
572
|
-
messageFunction = i18nLazyString(
|
492
|
+
messageFunction = i18nLazyString(
|
493
|
+
UIStrings.deprecatedWithReplacement,
|
494
|
+
{PH1: 'HTMLVideoElement.webkitExitFullscreen()', PH2: 'Document.exitFullscreen()'});
|
573
495
|
break;
|
574
496
|
case Protocol.Audits.DeprecationIssueType.PrefixedVideoSupportsFullscreen:
|
575
|
-
messageFunction = i18nLazyString(
|
497
|
+
messageFunction = i18nLazyString(
|
498
|
+
UIStrings.deprecatedWithReplacement,
|
499
|
+
{PH1: 'HTMLVideoElement.webkitSupportsFullscreen', PH2: 'Document.fullscreenEnabled'});
|
576
500
|
break;
|
577
501
|
case Protocol.Audits.DeprecationIssueType.RangeExpand:
|
578
|
-
messageFunction =
|
502
|
+
messageFunction =
|
503
|
+
i18nLazyString(UIStrings.deprecatedWithReplacement, {PH1: 'Range.expand()', PH2: 'Selection.modify()'});
|
579
504
|
break;
|
580
505
|
case Protocol.Audits.DeprecationIssueType.RequestedSubresourceWithEmbeddedCredentials:
|
581
506
|
messageFunction = i18nLazyString(UIStrings.requestedSubresourceWithEmbeddedCredentials);
|
@@ -593,10 +518,6 @@ export class DeprecationIssue extends Issue {
|
|
593
518
|
messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics);
|
594
519
|
milestone = 72;
|
595
520
|
break;
|
596
|
-
case Protocol.Audits.DeprecationIssueType.RTCPeerConnectionLegacyCreateWithMediaConstraints:
|
597
|
-
messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionLegacyCreateWithMediaConstraints);
|
598
|
-
milestone = 103;
|
599
|
-
break;
|
600
521
|
case Protocol.Audits.DeprecationIssueType.RTCPeerConnectionSdpSemanticsPlanB:
|
601
522
|
messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionSdpSemanticsPlanB);
|
602
523
|
feature = 5823036655665152;
|
@@ -611,10 +532,6 @@ export class DeprecationIssue extends Issue {
|
|
611
532
|
messageFunction = i18nLazyString(UIStrings.rtpDataChannel);
|
612
533
|
milestone = 88;
|
613
534
|
break;
|
614
|
-
case Protocol.Audits.DeprecationIssueType.SelectionAddRangeIntersect:
|
615
|
-
messageFunction = i18nLazyString(UIStrings.selectionAddRangeIntersect);
|
616
|
-
feature = 6680566019653632;
|
617
|
-
break;
|
618
535
|
case Protocol.Audits.DeprecationIssueType.SharedArrayBufferConstructedWithoutIsolation:
|
619
536
|
messageFunction = i18nLazyString(UIStrings.sharedArrayBufferConstructedWithoutIsolation);
|
620
537
|
milestone = 106;
|
@@ -628,11 +545,6 @@ export class DeprecationIssue extends Issue {
|
|
628
545
|
messageFunction = i18nLazyString(UIStrings.v8SharedArrayBufferConstructedInExtensionWithoutIsolation);
|
629
546
|
milestone = 96;
|
630
547
|
break;
|
631
|
-
case Protocol.Audits.DeprecationIssueType.WebCodecsVideoFrameDefaultTimestamp:
|
632
|
-
messageFunction = i18nLazyString(UIStrings.webCodecsVideoFrameDefaultTimestamp);
|
633
|
-
feature = 5667793157488640;
|
634
|
-
milestone = 99;
|
635
|
-
break;
|
636
548
|
case Protocol.Audits.DeprecationIssueType.XHRJSONEncodingDetection:
|
637
549
|
messageFunction = i18nLazyString(UIStrings.xhrJSONEncodingDetection);
|
638
550
|
milestone = 93;
|
@@ -5,6 +5,7 @@
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
6
6
|
import * as Host from '../../core/host/host.js';
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
8
|
+
import type * as Platform from '../../core/platform/platform.js';
|
8
9
|
import type * as SDK from '../../core/sdk/sdk.js';
|
9
10
|
import type * as Protocol from '../../generated/protocol.js';
|
10
11
|
|
@@ -204,14 +205,17 @@ export abstract class Issue<IssueCode extends string = string> {
|
|
204
205
|
}
|
205
206
|
}
|
206
207
|
|
207
|
-
export function toZeroBasedLocation(location: Protocol.Audits.SourceCodeLocation|undefined):
|
208
|
-
|
209
|
-
|
208
|
+
export function toZeroBasedLocation(location: Protocol.Audits.SourceCodeLocation|undefined): {
|
209
|
+
url: Platform.DevToolsPath.UrlString,
|
210
|
+
scriptId: Protocol.Runtime.ScriptId|undefined,
|
211
|
+
lineNumber: number,
|
212
|
+
columnNumber: number|undefined,
|
213
|
+
}|undefined {
|
210
214
|
if (!location) {
|
211
215
|
return undefined;
|
212
216
|
}
|
213
217
|
return {
|
214
|
-
url: location.url,
|
218
|
+
url: location.url as Platform.DevToolsPath.UrlString,
|
215
219
|
scriptId: location.scriptId,
|
216
220
|
lineNumber: location.lineNumber,
|
217
221
|
columnNumber: location.columnNumber === 0 ? undefined : location.columnNumber - 1,
|
@@ -272,6 +272,26 @@ export class NetworkPersistenceManager extends Common.ObjectWrapper.ObjectWrappe
|
|
272
272
|
(this.projectInternal as FileSystem).fileSystemPath(), '/', this.encodedPathFromUrl(url, ignoreInactive));
|
273
273
|
}
|
274
274
|
|
275
|
+
private getHeadersUISourceCodeFromUrl(url: Platform.DevToolsPath.UrlString): Workspace.UISourceCode.UISourceCode
|
276
|
+
|null {
|
277
|
+
const fileUrlFromRequest = this.fileUrlFromNetworkUrl(url, /* ignoreNoActive */ true);
|
278
|
+
const folderUrlFromRequest =
|
279
|
+
Common.ParsedURL.ParsedURL.substring(fileUrlFromRequest, 0, fileUrlFromRequest.lastIndexOf('/'));
|
280
|
+
const headersFileUrl = Common.ParsedURL.ParsedURL.concatenate(folderUrlFromRequest, '/', HEADERS_FILENAME);
|
281
|
+
return Workspace.Workspace.WorkspaceImpl.instance().uiSourceCodeForURL(headersFileUrl);
|
282
|
+
}
|
283
|
+
|
284
|
+
async getOrCreateHeadersUISourceCodeFromUrl(url: Platform.DevToolsPath.UrlString):
|
285
|
+
Promise<Workspace.UISourceCode.UISourceCode|null> {
|
286
|
+
let uiSourceCode = this.getHeadersUISourceCodeFromUrl(url);
|
287
|
+
if (!uiSourceCode && this.projectInternal) {
|
288
|
+
const encodedFilePath = this.encodedPathFromUrl(url, /* ignoreNoActive */ true);
|
289
|
+
const encodedPath = Common.ParsedURL.ParsedURL.substring(encodedFilePath, 0, encodedFilePath.lastIndexOf('/'));
|
290
|
+
uiSourceCode = await this.projectInternal.createFile(encodedPath, HEADERS_FILENAME, '');
|
291
|
+
}
|
292
|
+
return uiSourceCode;
|
293
|
+
}
|
294
|
+
|
275
295
|
private decodeLocalPathToUrlPath(path: string): string {
|
276
296
|
try {
|
277
297
|
return unescape(path);
|