chrome-devtools-frontend 1.0.1698733 → 1.0.1700561

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 (164) hide show
  1. package/.agents/skills/devtools-verification/SKILL.md +19 -0
  2. package/.agents/skills/{repro-flaky-tests → fix-tests}/SKILL.md +2 -2
  3. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +2 -2
  4. package/front_end/core/sdk/DOMModel.ts +3 -5
  5. package/front_end/core/sdk/NetworkManager.ts +2 -2
  6. package/front_end/core/sdk/OverlayModel.ts +11 -12
  7. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +3 -0
  8. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +84 -32
  9. package/front_end/core/sdk/StorageBucketsModel.ts +2 -0
  10. package/front_end/entrypoints/main/GlobalAiButton.ts +2 -6
  11. package/front_end/entrypoints/main/MainImpl.ts +8 -1
  12. package/front_end/generated/InspectorBackendCommands.ts +12 -2
  13. package/front_end/generated/SupportedCSSProperties.ts +14 -0
  14. package/front_end/generated/protocol-mapping.d.ts +48 -1
  15. package/front_end/generated/protocol-proxy-api.d.ts +37 -1
  16. package/front_end/generated/protocol.ts +131 -0
  17. package/front_end/models/bindings/NetworkProject.ts +30 -0
  18. package/front_end/models/bindings/ResourceScriptMapping.ts +62 -0
  19. package/front_end/models/change_tracker/ChangeTracker.ts +1 -1
  20. package/front_end/models/comment_manager/CD4ABridge.ts +2 -2
  21. package/front_end/models/comment_manager/CommentManager.ts +18 -0
  22. package/front_end/models/emulation/DeviceModeModel.ts +1 -1
  23. package/front_end/models/extensions/ExtensionAPI.ts +4 -2
  24. package/front_end/models/issues_manager/CookieIssue.ts +0 -15
  25. package/front_end/models/persistence/NetworkPersistenceManager.ts +29 -4
  26. package/front_end/models/source_map_scopes/NamesResolver.ts +34 -4
  27. package/front_end/models/source_map_scopes/ScopeChainModel.ts +31 -7
  28. package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingView.ts +281 -3
  29. package/front_end/panels/accessibility/accessibilityAnnouncementRecordingView.css +85 -0
  30. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +1 -2
  31. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +5 -8
  32. package/front_end/panels/animation/AnimationTimeline.ts +1 -1
  33. package/front_end/panels/application/AppManifestView.ts +128 -134
  34. package/front_end/panels/application/CrashReportContextView.ts +6 -6
  35. package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +17 -17
  36. package/front_end/panels/application/DeviceBoundSessionsView.ts +136 -137
  37. package/front_end/panels/application/IndexedDBModel.ts +3 -0
  38. package/front_end/panels/application/IndexedDBViews.ts +1 -1
  39. package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -0
  40. package/front_end/panels/application/OriginTrialTreeView.ts +18 -23
  41. package/front_end/panels/application/ReportingApiTreeElement.ts +3 -3
  42. package/front_end/panels/application/ReportingApiView.ts +6 -14
  43. package/front_end/panels/application/application-meta.ts +7 -7
  44. package/front_end/panels/application/components/AdsView.ts +63 -1
  45. package/front_end/panels/application/components/adsView.css +11 -1
  46. package/front_end/panels/common/CommentThreadWidget.ts +20 -22
  47. package/front_end/panels/common/CommentsOverlayWidget.ts +115 -9
  48. package/front_end/panels/common/CommentsStatusBarPill.ts +13 -1
  49. package/front_end/panels/common/ExtensionServer.ts +43 -34
  50. package/front_end/panels/common/GeminiRebrandPromoDialog.ts +1 -1
  51. package/front_end/panels/common/commentThreadWidget.css +6 -0
  52. package/front_end/panels/common/common-meta.ts +4 -1
  53. package/front_end/panels/elements/CSSRuleValidator.ts +1 -1
  54. package/front_end/panels/elements/ElementsPanel.ts +4 -4
  55. package/front_end/panels/elements/ElementsTreeElement.ts +9 -2
  56. package/front_end/panels/elements/ElementsTreeOutline.ts +25 -33
  57. package/front_end/panels/elements/elementsTreeOutline.css +8 -4
  58. package/front_end/panels/event_listeners/EventListenersView.ts +9 -4
  59. package/front_end/panels/issues/IssuesPane.ts +34 -22
  60. package/front_end/panels/lighthouse/LighthouseController.ts +1 -1
  61. package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +1 -1
  62. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -1
  63. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
  64. package/front_end/panels/network/RequestPayloadView.ts +17 -15
  65. package/front_end/panels/recorder/RecordingView.ts +32 -53
  66. package/front_end/panels/recorder/StepView.ts +19 -4
  67. package/front_end/panels/recorder/TimelineSection.ts +1 -1
  68. package/front_end/panels/recorder/controlButton.css +6 -0
  69. package/front_end/panels/recorder/recordingView.css +11 -2
  70. package/front_end/panels/settings/BackendLinkingSettingsTab.ts +2 -1
  71. package/front_end/panels/settings/EditFileSystemView.ts +1 -1
  72. package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
  73. package/front_end/panels/sources/DebuggerPlugin.ts +137 -56
  74. package/front_end/panels/sources/ScopeChainSidebarPane.ts +17 -15
  75. package/front_end/panels/timeline/components/DetailsView.ts +3 -3
  76. package/front_end/panels/timeline/components/IgnoreListSetting.ts +0 -2
  77. package/front_end/panels/timeline/components/LiveMetricsView.ts +59 -64
  78. package/front_end/panels/timeline/components/OriginMap.ts +1 -1
  79. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +2 -3
  80. package/front_end/panels/timeline/components/liveMetricsView.css +1 -0
  81. package/front_end/third_party/chromium/README.chromium +1 -1
  82. package/front_end/third_party/lighthouse/README.chromium +2 -2
  83. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1580 -1524
  84. package/front_end/third_party/lighthouse/locales/ar-XB.json +111 -72
  85. package/front_end/third_party/lighthouse/locales/ar.json +113 -74
  86. package/front_end/third_party/lighthouse/locales/bg.json +112 -73
  87. package/front_end/third_party/lighthouse/locales/ca.json +112 -73
  88. package/front_end/third_party/lighthouse/locales/cs.json +112 -73
  89. package/front_end/third_party/lighthouse/locales/da.json +112 -73
  90. package/front_end/third_party/lighthouse/locales/de.json +112 -73
  91. package/front_end/third_party/lighthouse/locales/el.json +112 -73
  92. package/front_end/third_party/lighthouse/locales/en-GB.json +111 -72
  93. package/front_end/third_party/lighthouse/locales/en-US.json +102 -66
  94. package/front_end/third_party/lighthouse/locales/en-XA.json +111 -72
  95. package/front_end/third_party/lighthouse/locales/en-XL.json +102 -66
  96. package/front_end/third_party/lighthouse/locales/es-419.json +112 -73
  97. package/front_end/third_party/lighthouse/locales/es.json +112 -73
  98. package/front_end/third_party/lighthouse/locales/fi.json +112 -73
  99. package/front_end/third_party/lighthouse/locales/fil.json +112 -73
  100. package/front_end/third_party/lighthouse/locales/fr.json +112 -73
  101. package/front_end/third_party/lighthouse/locales/he.json +112 -73
  102. package/front_end/third_party/lighthouse/locales/hi.json +112 -73
  103. package/front_end/third_party/lighthouse/locales/hr.json +112 -73
  104. package/front_end/third_party/lighthouse/locales/hu.json +112 -73
  105. package/front_end/third_party/lighthouse/locales/id.json +112 -73
  106. package/front_end/third_party/lighthouse/locales/it.json +113 -74
  107. package/front_end/third_party/lighthouse/locales/ja.json +112 -73
  108. package/front_end/third_party/lighthouse/locales/ko.json +112 -73
  109. package/front_end/third_party/lighthouse/locales/lt.json +112 -73
  110. package/front_end/third_party/lighthouse/locales/lv.json +112 -73
  111. package/front_end/third_party/lighthouse/locales/nl.json +112 -73
  112. package/front_end/third_party/lighthouse/locales/no.json +112 -73
  113. package/front_end/third_party/lighthouse/locales/pl.json +112 -73
  114. package/front_end/third_party/lighthouse/locales/pt-PT.json +112 -73
  115. package/front_end/third_party/lighthouse/locales/pt.json +112 -73
  116. package/front_end/third_party/lighthouse/locales/ro.json +112 -73
  117. package/front_end/third_party/lighthouse/locales/ru.json +112 -73
  118. package/front_end/third_party/lighthouse/locales/sk.json +112 -73
  119. package/front_end/third_party/lighthouse/locales/sl.json +112 -73
  120. package/front_end/third_party/lighthouse/locales/sr-Latn.json +112 -73
  121. package/front_end/third_party/lighthouse/locales/sr.json +112 -73
  122. package/front_end/third_party/lighthouse/locales/sv.json +124 -85
  123. package/front_end/third_party/lighthouse/locales/ta.json +112 -73
  124. package/front_end/third_party/lighthouse/locales/te.json +112 -73
  125. package/front_end/third_party/lighthouse/locales/th.json +112 -73
  126. package/front_end/third_party/lighthouse/locales/tr.json +113 -74
  127. package/front_end/third_party/lighthouse/locales/uk.json +112 -73
  128. package/front_end/third_party/lighthouse/locales/vi.json +112 -73
  129. package/front_end/third_party/lighthouse/locales/zh-HK.json +112 -73
  130. package/front_end/third_party/lighthouse/locales/zh-TW.json +113 -74
  131. package/front_end/third_party/lighthouse/locales/zh.json +113 -74
  132. package/front_end/third_party/lighthouse/report/bundle.d.ts +4 -4
  133. package/front_end/third_party/lighthouse/report/bundle.js +10 -3
  134. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +2 -2
  135. package/front_end/third_party/lit/lit.ts +3 -0
  136. package/front_end/third_party/lit/package.json +3 -0
  137. package/front_end/third_party/lit/rebuild.sh +3 -2
  138. package/front_end/ui/comments/CommentAnchorResolver.ts +8 -2
  139. package/front_end/ui/comments/CommentOverlayManager.ts +2 -1
  140. package/front_end/ui/components/buttons/Button.ts +19 -1
  141. package/front_end/ui/legacy/ContextMenu.ts +16 -1
  142. package/front_end/ui/legacy/InspectorView.ts +4 -3
  143. package/front_end/ui/legacy/PlusButton.ts +5 -6
  144. package/front_end/ui/legacy/TabbedPane.ts +121 -80
  145. package/front_end/ui/legacy/Treeoutline.ts +37 -6
  146. package/front_end/ui/legacy/UIUtils.ts +7 -0
  147. package/front_end/ui/legacy/Widget.ts +33 -0
  148. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +3 -0
  149. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +14 -4
  150. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +157 -171
  151. package/front_end/ui/lit/lit.ts +1 -1
  152. package/front_end/ui/visual_logging/KnownContextValues.ts +7 -0
  153. package/inspector_overlay/highlight_anchor.ts +197 -0
  154. package/inspector_overlay/tool_highlight.ts +8 -0
  155. package/package.json +1 -1
  156. package/.agents/skills/devtools-ci/SKILL.md +0 -65
  157. package/.agents/skills/evaluate-ai-css-completion/SKILL.md +0 -143
  158. package/.agents/skills/evaluate-ai-css-completion/scripts/evaluate.js +0 -104
  159. package/.agents/skills/fixing-skipped-tests/SKILL.md +0 -32
  160. package/.agents/skills/gerrit-cli/SKILL.md +0 -74
  161. package/.agents/skills/gerrit-cli/references/commands.md +0 -169
  162. package/.agents/skills/gerrit-cli/references/workflows.md +0 -63
  163. package/.agents/skills/gerrit-cli/scripts/import_upstream.py +0 -85
  164. package/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +0 -4
@@ -26,325 +26,318 @@ const {widget} = UI.Widget;
26
26
 
27
27
  const UIStrings = {
28
28
  /**
29
- * @description Text in App Manifest View of the Application panel
29
+ * @description Header text in an empty state view when no manifest is detected in the manifest view of the Application panel.
30
30
  */
31
31
  noManifestDetected: 'No manifest detected',
32
32
  /**
33
- * @description Description text on manifests in App Manifest View of the Application panel which describes the app manifest view tab
33
+ * @description Explanatory text in an empty state view describing what a manifest is in the manifest view of the Application panel.
34
34
  */
35
35
  manifestDescription:
36
36
  'A manifest defines how your app appears on phone’s home screens and what the app looks like on launch',
37
37
  /**
38
- * @description Text in App Manifest View of the Application panel
38
+ * @description Header title for the manifest report in the Application panel.
39
39
  */
40
40
  appManifest: 'Manifest',
41
41
  /**
42
- * @description Text in App Manifest View of the Application panel
42
+ * @description Section header for errors and warnings in the manifest view of the Application panel.
43
43
  */
44
44
  errorsAndWarnings: 'Errors and warnings',
45
45
  /**
46
- * @description Text in App Manifest View of the Application panel
46
+ * @description Section header for installability in the manifest view of the Application panel.
47
47
  */
48
48
  installability: 'Installability',
49
49
  /**
50
- * @description Text in App Manifest View of the Application panel
50
+ * @description Section header for identity in the manifest view of the Application panel.
51
51
  */
52
52
  identity: 'Identity',
53
53
  /**
54
- * @description Text in App Manifest View of the Application panel
54
+ * @description Section header for presentation in the manifest view of the Application panel.
55
55
  */
56
56
  presentation: 'Presentation',
57
57
  /**
58
- * @description Text in App Manifest View of the Application panel
58
+ * @description Section header for protocol handlers in the manifest view of the Application panel.
59
59
  */
60
- protocolHandlers: 'Protocol Handlers',
60
+ protocolHandlers: 'Protocol handlers',
61
61
  /**
62
- * @description Text in App Manifest View of the Application panel
62
+ * @description Section header for icons in the manifest view of the Application panel.
63
63
  */
64
64
  icons: 'Icons',
65
65
  /**
66
- * @description Text in App Manifest View of the Application panel
67
- */
68
- windowControlsOverlay: 'Window Controls Overlay',
69
- /**
70
- * @description Label in the App Manifest View for the "name" property of web app or shortcut item
66
+ * @description Label for the name property of a web app or shortcut item in the manifest view of the Application panel.
71
67
  */
72
68
  name: 'Name',
73
69
  /**
74
- * @description Label in the App Manifest View for the "short_name" property of web app or shortcut item
70
+ * @description Label for the short name property of a web app or shortcut item in the manifest view of the Application panel.
75
71
  */
76
72
  shortName: 'Short name',
77
73
  /**
78
- * @description Label in the App Manifest View for the "url" property of shortcut item
74
+ * @description Label for the URL property of a shortcut item in the manifest view of the Application panel.
79
75
  */
80
76
  url: 'URL',
81
77
  /**
82
- * @description Label in the App Manifest View for the Computed App Id
78
+ * @description Label for the computed app ID in the manifest view of the Application panel.
83
79
  */
84
- computedAppId: 'Computed App ID',
80
+ computedAppId: 'Computed app ID',
85
81
  /**
86
- * @description Popup-text explaining what the App Id is used for.
82
+ * @description Tooltip text explaining what the app ID is used for in the manifest view of the Application panel.
87
83
  */
88
84
  appIdExplainer:
89
85
  'This is used by the browser to know whether the manifest should be updating an existing application, or whether it refers to a new web app that can be installed',
90
86
  /**
91
- * @description Text which is a hyperlink to more documentation
87
+ * @description Link text to open documentation in the manifest view of the Application panel.
92
88
  */
93
89
  learnMore: 'Learn more',
94
90
  /**
95
- * @description Explanation why it is advisable to specify an 'id' field in the manifest.
91
+ * @description Explanatory note about specifying an id field in the manifest view of the Application panel.
96
92
  * @example {/index.html} PH1
97
93
  * @example {(button for copying suggested value into clipboard)} PH2
98
94
  */
99
95
  appIdNote:
100
- 'Note: `id` is not specified in the manifest, `start_url` is used instead. To specify an App ID that matches the current identity, set the `id` field to {PH1} {PH2}.',
96
+ 'Note: `id` isn’t specified in the manifest, `start_url` is used instead. To specify an app ID that matches the current identity, set the `id` field to {PH1} {PH2}.',
101
97
 
102
98
  /**
103
- * @description Tooltip text that appears when hovering over a button which copies the previous text to the clipboard.
99
+ * @description Tooltip text for a button that copies the suggested app ID to the clipboard in the manifest view of the Application panel.
104
100
  */
105
101
  copyToClipboard: 'Copy suggested ID to clipboard',
106
102
  /**
107
- * @description Screen reader announcement string when the user clicks the copy to clipboard button.
103
+ * @description Screen reader announcement when the suggested app ID is copied to the clipboard in the manifest view of the Application panel.
108
104
  * @example {/index.html} PH1
109
105
  */
110
106
  copiedToClipboard: 'Copied suggested ID {PH1} to clipboard',
111
107
  /**
112
- * @description Label in the App Manifest View for the "description" property of web app or shortcut item
108
+ * @description Label for the description property of a web app or shortcut item in the manifest view of the Application panel.
113
109
  */
114
110
  description: 'Description',
115
111
  /**
116
- * @description Text in App Manifest View of the Application panel
112
+ * @description Label for the start URL property in the manifest view of the Application panel.
117
113
  */
118
114
  startUrl: 'Start URL',
119
115
  /**
120
- * @description Text in App Manifest View of the Application panel
116
+ * @description Label for the theme color property in the manifest view of the Application panel.
121
117
  */
122
118
  themeColor: 'Theme color',
123
119
  /**
124
- * @description Text in App Manifest View of the Application panel
120
+ * @description Label for the background color property in the manifest view of the Application panel.
125
121
  */
126
122
  backgroundColor: 'Background color',
127
123
  /**
128
- * @description Text for the orientation of something
124
+ * @description Label for the orientation property in the manifest view of the Application panel.
129
125
  */
130
126
  orientation: 'Orientation',
131
127
  /**
132
- * @description Title of the display attribute in App Manifest View of the Application panel
128
+ * @description Label for the display property in the manifest view of the Application panel.
133
129
  * The display attribute defines the preferred display mode for the app such fullscreen or
134
130
  * standalone.
135
131
  * For more details see https://www.w3.org/TR/appmanifest/#display-member.
136
132
  */
137
133
  display: 'Display',
138
134
  /**
139
- * @description Title of the new_note_url attribute in the Application panel
135
+ * @description Label for the new note URL property in the manifest view of the Application panel.
140
136
  */
141
137
  newNoteUrl: 'New note URL',
142
138
  /**
143
- * @description Text in App Manifest View of the Application panel
139
+ * @description Warning text indicating that the description may be truncated in the manifest view of the Application panel.
144
140
  */
145
141
  descriptionMayBeTruncated: 'Description may be truncated',
146
142
  /**
147
- * @description Warning text about too many shortcuts
143
+ * @description Warning text indicating that some shortcuts may not be available depending on the platform in the manifest view of the Application panel.
148
144
  */
149
145
  shortcutsMayBeNotAvailable:
150
- 'The maximum number of shortcuts is platform dependent. Some shortcuts may be not available.',
146
+ 'The maximum number of shortcuts is platform dependent. Some shortcuts may not be available.',
151
147
  /**
152
- * @description Text in App Manifest View of the Application panel
148
+ * @description Checkbox label to show only the minimum safe area for maskable icons in the manifest view of the Application panel.
153
149
  */
154
150
  showOnlyTheMinimumSafeAreaFor: 'Show only the minimum safe area for maskable icons',
155
151
  /**
156
- * @description Link text for more information on maskable icons in App Manifest view of the Application panel
152
+ * @description Link text pointing to documentation on maskable icons in the manifest view of the Application panel.
157
153
  */
158
154
  documentationOnMaskableIcons: 'documentation on maskable icons',
159
155
  /**
160
- * @description Text wrapping a link pointing to more information on maskable icons in App Manifest view of the Application panel
161
- * @example {https://web.dev/maskable-icon/} PH1
156
+ * @description Explanatory text with a link to documentation on maskable icons in the manifest view of the Application panel.
157
+ * @example {documentation on maskable icons} PH1
162
158
  */
163
159
  needHelpReadOurS: 'Need help? Read the {PH1}.',
164
160
  /**
165
- * @description Text in App Manifest View of the Application panel
161
+ * @description Label for a shortcut item in the manifest view of the Application panel.
166
162
  * @example {1} PH1
167
163
  */
168
164
  shortcutS: 'Shortcut #{PH1}',
169
165
  /**
170
- * @description Text in App Manifest View of the Application panel
166
+ * @description Warning text indicating that a shortcut should include a 96x96 pixel icon in the manifest view of the Application panel.
171
167
  * @example {1} PH1
172
168
  */
173
169
  shortcutSShouldIncludeAXPixel: 'Shortcut #{PH1} should include a 96×96 pixel icon',
174
170
  /**
175
- * @description Text in App Manifest View of the Application panel
171
+ * @description Label for a screenshot item in the manifest view of the Application panel.
176
172
  * @example {1} PH1
177
173
  */
178
174
  screenshotS: 'Screenshot #{PH1}',
179
175
  /**
180
- * @description Manifest installability error in the Application panel
176
+ * @description Error message explaining that the page isn't loaded in the main frame in the manifest view of the Application panel.
181
177
  */
182
- pageIsNotLoadedInTheMainFrame: 'Page is not loaded in the main frame',
178
+ pageIsNotLoadedInTheMainFrame: 'Page isn’t loaded in the main frame',
183
179
  /**
184
- * @description Manifest installability error in the Application panel
180
+ * @description Error message explaining that the page isn't served from a secure origin in the manifest view of the Application panel.
185
181
  */
186
- pageIsNotServedFromASecureOrigin: 'Page is not served from a secure origin',
182
+ pageIsNotServedFromASecureOrigin: 'Page isn’t served from a secure origin',
187
183
  /**
188
- * @description Manifest installability error in the Application panel
184
+ * @description Error message explaining that the page has no manifest link URL in the manifest view of the Application panel.
189
185
  */
190
186
  pageHasNoManifestLinkUrl: 'Page has no manifest <link> `URL`',
191
187
  /**
192
- * @description Manifest installability error in the Application panel
188
+ * @description Error message explaining that the manifest couldn't be fetched, is empty, or couldn't be parsed in the manifest view of the Application panel.
193
189
  */
194
- manifestCouldNotBeFetchedIsEmpty: 'Manifest could not be fetched, is empty, or could not be parsed',
190
+ manifestCouldNotBeFetchedIsEmpty: 'Manifest couldn’t be fetched, is empty, or couldn’t be parsed',
195
191
  /**
196
- * @description Manifest installability error in the Application panel
192
+ * @description Error message explaining that the manifest start_url isn't valid in the manifest view of the Application panel.
197
193
  */
198
- manifestStartUrlIsNotValid: 'Manifest \'`start_url`\' is not valid',
194
+ manifestStartUrlIsNotValid: 'Manifest \'`start_url`\' isn’t valid',
199
195
  /**
200
- * @description Manifest installability error in the Application panel
196
+ * @description Error message explaining that the manifest doesn't contain a name or short_name field in the manifest view of the Application panel.
201
197
  */
202
- manifestDoesNotContainANameOr: 'Manifest does not contain a \'`name`\' or \'`short_name`\' field',
198
+ manifestDoesNotContainANameOr: 'Manifest doesn’t contain a \'`name`\' or \'`short_name`\' field',
203
199
  /**
204
- * @description Manifest installability error in the Application panel
200
+ * @description Error message explaining that the manifest display property must be one of the supported modes in the manifest view of the Application panel.
205
201
  */
206
202
  manifestDisplayPropertyMustBeOne:
207
203
  'Manifest \'`display`\' property must be one of \'`standalone`\', \'`fullscreen`\', or \'`minimal-ui`\'',
208
204
  /**
209
- * @description Manifest installability error in the Application panel
205
+ * @description Error message explaining that the manifest doesn't contain an icon that fits in the manifest view of the Application panel.
210
206
  * @example {100} PH1
211
207
  */
212
208
  manifestDoesNotContainASuitable:
213
- 'Manifest does not contain a suitable icon—PNG, SVG, or WebP format of at least {PH1}px is required, the \'`sizes`\' attribute must be set, and the \'`purpose`\' attribute, if set, must include \'`any`\'',
209
+ 'Manifest doesn’t contain an icon that fits—PNG, SVG, or WebP format of at least {PH1}px is required, the \'`sizes`\' attribute must be set, and the \'`purpose`\' attribute, if set, must include \'`any`\'',
214
210
  /**
215
- * @description Manifest installability error in the Application panel
211
+ * @description Warning message discouraging declaring an icon with purpose of 'any maskable' in the manifest view of the Application panel.
216
212
  */
217
213
  avoidPurposeAnyAndMaskable:
218
- 'Declaring an icon with \'`purpose`\' of \'`any maskable`\' is discouraged. It is likely to look incorrect on some platforms due to too much or too little padding.',
214
+ 'Declaring an icon with \'`purpose`\' of \'`any maskable`\' is discouraged. It’s likely to look incorrect on some platforms due to too much or too little padding.',
219
215
  /**
220
- * @description Manifest installability error in the Application panel
216
+ * @description Error message explaining that no supplied icon is at least the required size in the manifest view of the Application panel.
221
217
  * @example {100} PH1
222
218
  */
223
219
  noSuppliedIconIsAtLeastSpxSquare:
224
220
  'No supplied icon is at least {PH1} pixels square in `PNG`, `SVG`, or `WebP` format, with the purpose attribute unset or set to \'`any`\'',
225
221
  /**
226
- * @description Manifest installability error in the Application panel
222
+ * @description Error message explaining that a required icon couldn't be downloaded from the manifest in the manifest view of the Application panel.
227
223
  */
228
- couldNotDownloadARequiredIcon: 'Could not download a required icon from the manifest',
224
+ couldNotDownloadARequiredIcon: 'Couldn’t download a required icon from the manifest',
229
225
  /**
230
- * @description Manifest installability error in the Application panel
226
+ * @description Error message explaining that the downloaded icon was empty or corrupted in the manifest view of the Application panel.
231
227
  */
232
228
  downloadedIconWasEmptyOr: 'Downloaded icon was empty or corrupted',
233
229
  /**
234
- * @description Manifest installability error in the Application panel
230
+ * @description Error message explaining that the specified application platform isn't supported on Android in the manifest view of the Application panel.
235
231
  */
236
- theSpecifiedApplicationPlatform: 'The specified application platform is not supported on Android',
232
+ theSpecifiedApplicationPlatform: 'The specified application platform isn’t supported on Android',
237
233
  /**
238
- * @description Manifest installability error in the Application panel
234
+ * @description Error message explaining that no Play Store ID was provided in the manifest view of the Application panel.
239
235
  */
240
- noPlayStoreIdProvided: 'No Play store ID provided',
236
+ noPlayStoreIdProvided: 'No Play Store ID provided',
241
237
  /**
242
- * @description Manifest installability error in the Application panel
238
+ * @description Error message explaining that the Play Store app URL and Play Store ID don't match in the manifest view of the Application panel.
243
239
  */
244
- thePlayStoreAppUrlAndPlayStoreId: 'The Play Store app URL and Play Store ID do not match',
240
+ thePlayStoreAppUrlAndPlayStoreId: 'The Play Store app URL and Play Store ID don’t match',
245
241
  /**
246
- * @description Manifest installability error in the Application panel
242
+ * @description Error message explaining that the app is already installed in the manifest view of the Application panel.
247
243
  */
248
244
  theAppIsAlreadyInstalled: 'The app is already installed',
249
245
  /**
250
- * @description Manifest installability error in the Application panel
246
+ * @description Error message explaining that a URL in the manifest contains a username, password, or port in the manifest view of the Application panel.
251
247
  */
252
248
  aUrlInTheManifestContainsA: 'A URL in the manifest contains a username, password, or port',
253
249
  /**
254
- * @description Manifest installability error in the Application panel
250
+ * @description Error message explaining that the page is loaded in an incognito window in the manifest view of the Application panel.
255
251
  */
256
252
  pageIsLoadedInAnIncognitoWindow: 'Page is loaded in an incognito window',
257
253
  /**
258
- * @description Manifest installability error in the Application panel
254
+ * @description Error message explaining that the page doesn't work offline in the manifest view of the Application panel.
259
255
  */
260
- pageDoesNotWorkOffline: 'Page does not work offline',
256
+ pageDoesNotWorkOffline: 'Page doesn’t work offline',
261
257
  /**
262
- * @description Manifest installability error in the Application panel
258
+ * @description Error message explaining that the service worker couldn't be checked without a start_url field in the manifest view of the Application panel.
263
259
  */
264
- couldNotCheckServiceWorker: 'Could not check `service worker` without a \'`start_url`\' field in the manifest',
260
+ couldNotCheckServiceWorker: 'Couldn’t check `service worker` without a \'`start_url`\' field in the manifest',
265
261
  /**
266
- * @description Manifest installability error in the Application panel
262
+ * @description Error message explaining that the manifest specifies prefer_related_applications as true in the manifest view of the Application panel.
267
263
  */
268
264
  manifestSpecifies: 'Manifest specifies \'`prefer_related_applications`: true\'',
269
265
  /**
270
- * @description Manifest installability error in the Application panel
266
+ * @description Error message explaining that prefer_related_applications is only supported on Chrome Beta and Stable channels on Android in the manifest view of the Application panel.
271
267
  */
272
268
  preferrelatedapplicationsIsOnly:
273
269
  '\'`prefer_related_applications`\' is only supported on `Chrome` Beta and Stable channels on `Android`',
274
270
  /**
275
- * @description Manifest installability error in the Application panel
271
+ * @description Error message explaining that the manifest display_override field must specify a supported display mode in the manifest view of the Application panel.
276
272
  */
277
273
  manifestContainsDisplayoverride:
278
274
  'Manifest contains \'`display_override`\' field, and the first supported display mode must be one of \'`standalone`\', \'`fullscreen`\', or \'`minimal-ui`\'',
279
275
  /**
280
- * @description Warning message for offline capability check
276
+ * @description Warning message explaining that the page doesn't work offline and won't be installable in the manifest view of the Application panel.
281
277
  * @example {https://developer.chrome.com/blog/improved-pwa-offline-detection} PH1
282
278
  */
283
279
  pageDoesNotWorkOfflineThePage:
284
- 'Page does not work offline. Starting in Chrome 93, the installability criteria are changing, and this site will not be installable. See {PH1} for more information.',
280
+ 'Page doesn’t work offline. Starting in Chrome 93, the installability criteria are changing, and this site won’t be installable. See {PH1} for more information.',
285
281
  /**
286
- * @description Text to indicate the source of an image
282
+ * @description Label indicating the source of an image in the manifest view of the Application panel.
287
283
  * @example {example.com} PH1
288
284
  */
289
285
  imageFromS: 'Image from {PH1}',
290
286
  /**
291
- * @description Text for one or a group of screenshots
287
+ * @description Section title for screenshots in the manifest view of the Application panel.
292
288
  */
293
289
  screenshot: 'Screenshot',
294
290
  /**
295
- * @description Label in the App Manifest View for the "form_factor" property of screenshot
291
+ * @description Label for the form_factor property of a screenshot in the manifest view of the Application panel.
296
292
  */
297
293
  formFactor: 'Form factor',
298
294
  /**
299
- * @description Label in the App Manifest View for the "label" property of screenshot
295
+ * @description Label for the label property of a screenshot in the manifest view of the Application panel.
300
296
  */
301
297
  label: 'Label',
302
298
  /**
303
- * @description Label in the App Manifest View for the "platform" property of screenshot
299
+ * @description Label for the platform property of a screenshot in the manifest view of the Application panel.
304
300
  */
305
301
  platform: 'Platform',
306
302
  /**
307
- * @description Text in App Manifest View of the Application panel
303
+ * @description Label for an icon in the manifest view of the Application panel.
308
304
  */
309
305
  icon: 'Icon',
310
306
  /**
311
- * @description This is a warning message telling the user about a problem where the src attribute
312
- * of an image has not be entered/provided correctly. 'src' is part of the DOM API and should not
313
- * be translated.
314
- * @example {ImageName} PH1
307
+ * @description Warning message explaining that the src attribute is not set in the manifest view of the Application panel.
308
+ * @example {Screenshot} PH1
315
309
  */
316
- sSrcIsNotSet: '{PH1} \'`src`\' is not set',
310
+ sSrcIsNotSet: '{PH1} \'`src`\' isn’t set',
317
311
  /**
318
- * @description Warning message for image resources from the manifest
312
+ * @description Warning message explaining that an image URL failed to parse in the manifest view of the Application panel.
319
313
  * @example {Screenshot} PH1
320
314
  * @example {https://example.com/image.png} PH2
321
315
  */
322
- sUrlSFailedToParse: '{PH1} URL \'\'{PH2}\'\' failed to parse',
316
+ sUrlSFailedToParse: '{PH1} URL "{PH2}" failed to parse',
323
317
  /**
324
- * @description Warning message for image resources from the manifest
318
+ * @description Warning message explaining that an image resource failed to load in the manifest view of the Application panel.
325
319
  * @example {Image} PH1
326
320
  * @example {https://example.com/image.png} PH2
327
321
  */
328
322
  sSFailedToLoad: '{PH1} {PH2} failed to load',
329
323
  /**
330
- * @description Warning message for image resources from the manifest
324
+ * @description Warning message explaining that an image doesn't specify its size in the manifest view of the Application panel.
331
325
  * @example {Image} PH1
332
326
  * @example {https://example.com/image.png} PH2
333
327
  */
334
- sSDoesNotSpecifyItsSizeInThe: '{PH1} {PH2} does not specify its size in the manifest',
328
+ sSDoesNotSpecifyItsSizeInThe: '{PH1} {PH2} doesn’t specify its size in the manifest',
335
329
  /**
336
- * @description Warning message for image resources from the manifest
330
+ * @description Warning message explaining how an image should specify its size in the manifest view of the Application panel.
337
331
  * @example {Image} PH1
338
332
  * @example {https://example.com/image.png} PH2
339
333
  */
340
334
  sSShouldSpecifyItsSizeAs: '{PH1} {PH2} should specify its size as `[width]x[height]`',
341
335
  /**
342
- * @description Warning message for image resources from the manifest
336
+ * @description Warning message explaining that square icons are required in the manifest view of the Application panel.
343
337
  */
344
- sSShouldHaveSquareIcon:
345
- 'Most operating systems require square icons. Please include at least one square icon in the array.',
338
+ sSShouldHaveSquareIcon: 'Most operating systems require square icons. Include at least one square icon in the array.',
346
339
  /**
347
- * @description Warning message for image resources from the manifest
340
+ * @description Warning message explaining that the actual size of an image doesn't match the specified size in the manifest view of the Application panel.
348
341
  * @example {100} PH1
349
342
  * @example {100} PH2
350
343
  * @example {Image} PH3
@@ -353,103 +346,104 @@ const UIStrings = {
353
346
  * @example {200} PH6
354
347
  */
355
348
  actualSizeSspxOfSSDoesNotMatch:
356
- 'Actual size ({PH1}×{PH2})px of {PH3} {PH4} does not match specified size ({PH5}×{PH6}px)',
349
+ 'Actual size ({PH1}×{PH2})px of {PH3} {PH4} doesn’t match specified size ({PH5}×{PH6}px)',
357
350
  /**
358
- * @description Warning message for image resources from the manifest
351
+ * @description Warning message explaining that the actual width of an image doesn't match the specified width in the manifest view of the Application panel.
359
352
  * @example {100} PH1
360
353
  * @example {Image} PH2
361
354
  * @example {https://example.com/image.png} PH3
362
355
  * @example {200} PH4
363
356
  */
364
- actualWidthSpxOfSSDoesNotMatch: 'Actual width ({PH1}px) of {PH2} {PH3} does not match specified width ({PH4}px)',
357
+ actualWidthSpxOfSSDoesNotMatch: 'Actual width ({PH1}px) of {PH2} {PH3} doesn’t match specified width ({PH4}px)',
365
358
  /**
366
- * @description Warning message for image resources from the manifest
359
+ * @description Warning message explaining that the actual height of an image doesn't match the specified height in the manifest view of the Application panel.
367
360
  * @example {100} PH1
368
361
  * @example {Image} PH2
369
362
  * @example {https://example.com/image.png} PH3
370
363
  * @example {100} PH4
371
364
  */
372
- actualHeightSpxOfSSDoesNotMatch: 'Actual height ({PH1}px) of {PH2} {PH3} does not match specified height ({PH4}px)',
365
+ actualHeightSpxOfSSDoesNotMatch: 'Actual height ({PH1}px) of {PH2} {PH3} doesn’t match specified height ({PH4}px)',
373
366
  /**
374
- * @description Warning message for image resources from the manifest
367
+ * @description Warning message explaining the minimum size requirement for an image in the manifest view of the Application panel.
375
368
  * @example {Image} PH1
376
369
  * @example {https://example.com/image.png} PH2
377
370
  */
378
371
  sSSizeShouldBeAtLeast320: '{PH1} {PH2} size should be at least 320×320',
379
372
  /**
380
- * @description Warning message for image resources from the manifest
373
+ * @description Warning message explaining the maximum size requirement for an image in the manifest view of the Application panel.
381
374
  * @example {Image} PH1
382
375
  * @example {https://example.com/image.png} PH2
383
376
  */
384
377
  sSSizeShouldBeAtMost3840: '{PH1} {PH2} size should be at most 3840×3840',
385
378
  /**
386
- * @description Warning message for image resources from the manifest
379
+ * @description Warning message explaining the width-to-height ratio requirement for an image in the manifest view of the Application panel.
387
380
  * @example {Image} PH1
388
381
  * @example {https://example.com/image.png} PH2
389
382
  */
390
383
  sSWidthDoesNotComplyWithRatioRequirement: '{PH1} {PH2} width can’t be more than 2.3 times as long as the height',
391
384
  /**
392
- * @description Warning message for image resources from the manifest
385
+ * @description Warning message explaining the height-to-width ratio requirement for an image in the manifest view of the Application panel.
393
386
  * @example {Image} PH1
394
387
  * @example {https://example.com/image.png} PH2
395
388
  */
396
389
  sSHeightDoesNotComplyWithRatioRequirement: '{PH1} {PH2} height can’t be more than 2.3 times as long as the width',
397
390
  /**
398
- * @description Manifest installability error in the Application panel
391
+ * @description Error message explaining that a screenshot should specify a pixel size in the manifest view of the Application panel.
399
392
  * @example {https://example.com/image.png} url
400
393
  */
401
394
  screenshotPixelSize: 'Screenshot {url} should specify a pixel size `[width]x[height]` instead of `any` as first size',
402
395
  /**
403
- * @description Warning text about screenshots for Richer PWA Install UI on desktop
396
+ * @description Warning message explaining that a screenshot with form_factor set to wide is needed for richer PWA install UI on desktop in the manifest view of the Application panel.
404
397
  */
405
398
  noScreenshotsForRicherPWAInstallOnDesktop:
406
- 'Richer PWA Install UI won’t be available on desktop. Please add at least one screenshot with the `form_factor` set to `wide`.',
399
+ 'Richer PWA install UI won’t be available on desktop. Add at least one screenshot with the `form_factor` set to `wide`.',
407
400
  /**
408
- * @description Warning text about screenshots for Richer PWA Install UI on mobile
401
+ * @description Warning message explaining that a screenshot for mobile is needed for richer PWA install UI on mobile in the manifest view of the Application panel.
409
402
  */
410
403
  noScreenshotsForRicherPWAInstallOnMobile:
411
- 'Richer PWA Install UI won’t be available on mobile. Please add at least one screenshot for which `form_factor` is not set or set to a value other than `wide`.',
404
+ 'Richer PWA install UI won’t be available on mobile. Add at least one screenshot for which `form_factor` isn’t set or set to a value other than `wide`.',
412
405
  /**
413
- * @description Warning text about too many screenshots for desktop
406
+ * @description Warning text indicating that no more than 8 screenshots will be displayed on desktop in the manifest view of the Application panel.
414
407
  */
415
408
  tooManyScreenshotsForDesktop: 'No more than 8 screenshots will be displayed on desktop. The rest will be ignored.',
416
409
  /**
417
- * @description Warning text about too many screenshots for mobile
410
+ * @description Warning text indicating that no more than 5 screenshots will be displayed on mobile in the manifest view of the Application panel.
418
411
  */
419
412
  tooManyScreenshotsForMobile: 'No more than 5 screenshots will be displayed on mobile. The rest will be ignored.',
420
413
  /**
421
- * @description Warning text about not all screenshots matching the appropriate form factor have the same aspect ratio
414
+ * @description Warning text indicating that all screenshots with the same form_factor must have the same aspect ratio in the manifest view of the Application panel.
422
415
  */
423
416
  screenshotsMustHaveSameAspectRatio:
424
417
  'All screenshots with the same `form_factor` must have the same aspect ratio as the first screenshot with that `form_factor`. Some screenshots will be ignored.',
425
418
  /**
426
- * @description Message for Window Controls Overlay value succsessfully found with links to documnetation
419
+ * @description Message explaining that the window-controls-overlay value was found in the manifest in the manifest view of the Application panel.
427
420
  * @example {window-controls-overlay} PH1
428
421
  * @example {https://developer.mozilla.org/en-US/docs/Web/Manifest/display_override} PH2
429
422
  * @example {https://developer.mozilla.org/en-US/docs/Web/Manifest} PH3
430
423
  */
431
- wcoFound: 'Chrome has successfully found the {PH1} value for the {PH2} field in the {PH3}',
424
+ wcoFound: 'Chrome found the {PH1} value for the {PH2} field in the {PH3}',
432
425
  /**
433
- * @description Message for Windows Control Overlay value not found with link to documentation
426
+ * @description Message explaining how to use the Window Controls Overlay API in the manifest view of the Application panel.
434
427
  * @example {https://developer.mozilla.org/en-US/docs/Web/Manifest/display_override} PH1
435
428
  */
436
- wcoNotFound: 'Define {PH1} in the manifest to use the Window Controls Overlay API and customize your app’s title bar',
429
+ wcoNotFound:
430
+ 'Define {PH1} in the manifest to use the `Window Controls Overlay` API and customize your app’s title bar',
437
431
  /**
438
- * @description Link text for more information on customizing Window Controls Overlay title bar in the Application panel
432
+ * @description Link text for documentation on customizing the Window Controls Overlay title bar in the manifest view of the Application panel.
439
433
  */
440
- customizePwaTitleBar: 'Customize the window controls overlay of your PWA’s title bar',
434
+ customizePwaTitleBar: 'Customize the `Window Controls Overlay` of your PWA’s title bar',
441
435
  /**
442
- * @description Text wrapping link to documentation on how to customize WCO title bar
443
- * @example {https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/how-to/window-controls-overlay} PH1
436
+ * @description Explanatory text with a link to documentation on the Window Controls Overlay in the manifest view of the Application panel.
437
+ * @example {Customize the Window Controls Overlay of your PWA's title bar} PH1
444
438
  */
445
439
  wcoNeedHelpReadMore: 'Need help? Read {PH1}.',
446
440
  /**
447
- * @description Text for emulation OS selection dropdown
441
+ * @description Checkbox label and tooltip for toggling Window Controls Overlay emulation in the manifest view of the Application panel.
448
442
  */
449
- selectWindowControlsOverlayEmulationOs: 'Emulate the Window Controls Overlay on',
443
+ selectWindowControlsOverlayEmulationOs: 'Emulate `Window Controls Overlay`',
450
444
  /**
451
- * @description Alert message for screen reader to announce which subsection is being scrolled to
452
- * @example {"Identity"} PH1
445
+ * @description Screen reader announcement when scrolling to a subsection in the manifest view of the Application panel.
446
+ * @example {Identity} PH1
453
447
  */
454
448
  onInvokeAlert: 'Scrolled to {PH1}',
455
449
  } as const;
@@ -854,7 +848,7 @@ function renderWindowControlsSection(
854
848
  onToggleWcoToolbar: ((enabled: boolean) => Promise<void>)|undefined, output: ViewOutput): LitTemplate {
855
849
  // clang-format off
856
850
  return html`
857
- ${renderSectionHeader(i18nString(UIStrings.windowControlsOverlay), output)}
851
+ ${renderSectionHeader(i18n.i18n.lockedString('Window Controls Overlay'), output)}
858
852
  <div class="report-section" jslog=${VisualLogging.section('window-controls-overlay')}>
859
853
  ${data?.hasWco && output ? html`
860
854
  <div class="report-row">
@@ -865,7 +859,7 @@ function renderWindowControlsSection(
865
859
  <devtools-link
866
860
  href="https://developer.mozilla.org/en-US/docs/Web/Manifest/display_override"
867
861
  jslogcontext="display-override"
868
- ${ref(setFocusOnSection(i18nString(UIStrings.windowControlsOverlay), output))}>
862
+ ${ref(setFocusOnSection(i18n.i18n.lockedString('Window Controls Overlay'), output))}>
869
863
  display-override
870
864
  </devtools-link>
871
865
  </code>`,
@@ -881,7 +875,7 @@ function renderWindowControlsSection(
881
875
  <devtools-link
882
876
  href="https://developer.mozilla.org/en-US/docs/Web/Manifest/display_override"
883
877
  jslogcontext="display-override"
884
- ${ref(setFocusOnSection(i18nString(UIStrings.windowControlsOverlay), output))}>
878
+ ${ref(setFocusOnSection(i18n.i18n.lockedString('Window Controls Overlay'), output))}>
885
879
  display-override
886
880
  </devtools-link>
887
881
  </code>`})}
@@ -1176,7 +1170,7 @@ export class AppManifestView extends AppManifestViewBase implements SDK.TargetMa
1176
1170
  {title: i18nString(UIStrings.presentation), jslogContext: 'presentation'},
1177
1171
  {title: i18nString(UIStrings.protocolHandlers), jslogContext: 'protocol-handlers'},
1178
1172
  {title: i18nString(UIStrings.icons), jslogContext: 'icons'},
1179
- {title: i18nString(UIStrings.windowControlsOverlay), jslogContext: 'window-controls'},
1173
+ {title: i18n.i18n.lockedString('Window Controls Overlay'), jslogContext: 'window-controls'},
1180
1174
  ];
1181
1175
  }
1182
1176