chrome-devtools-frontend 1.0.965113 → 1.0.967135

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 (197) hide show
  1. package/config/gni/devtools_grd_files.gni +5 -5
  2. package/front_end/core/common/ResolverBase.ts +2 -2
  3. package/front_end/core/i18n/locales/af.json +55 -22
  4. package/front_end/core/i18n/locales/am.json +55 -22
  5. package/front_end/core/i18n/locales/ar.json +55 -22
  6. package/front_end/core/i18n/locales/as.json +55 -22
  7. package/front_end/core/i18n/locales/az.json +55 -22
  8. package/front_end/core/i18n/locales/be.json +55 -22
  9. package/front_end/core/i18n/locales/bg.json +55 -22
  10. package/front_end/core/i18n/locales/bn.json +33 -0
  11. package/front_end/core/i18n/locales/bs.json +53 -20
  12. package/front_end/core/i18n/locales/ca.json +55 -22
  13. package/front_end/core/i18n/locales/cs.json +54 -21
  14. package/front_end/core/i18n/locales/cy.json +55 -22
  15. package/front_end/core/i18n/locales/da.json +54 -21
  16. package/front_end/core/i18n/locales/de.json +55 -22
  17. package/front_end/core/i18n/locales/el.json +55 -22
  18. package/front_end/core/i18n/locales/en-GB.json +33 -0
  19. package/front_end/core/i18n/locales/es-419.json +55 -22
  20. package/front_end/core/i18n/locales/es.json +55 -22
  21. package/front_end/core/i18n/locales/et.json +55 -22
  22. package/front_end/core/i18n/locales/eu.json +33 -0
  23. package/front_end/core/i18n/locales/fa.json +56 -23
  24. package/front_end/core/i18n/locales/fi.json +55 -22
  25. package/front_end/core/i18n/locales/fil.json +55 -22
  26. package/front_end/core/i18n/locales/fr-CA.json +55 -22
  27. package/front_end/core/i18n/locales/fr.json +55 -22
  28. package/front_end/core/i18n/locales/gl.json +55 -22
  29. package/front_end/core/i18n/locales/gu.json +33 -0
  30. package/front_end/core/i18n/locales/he.json +55 -22
  31. package/front_end/core/i18n/locales/hi.json +33 -0
  32. package/front_end/core/i18n/locales/hr.json +33 -0
  33. package/front_end/core/i18n/locales/hu.json +55 -22
  34. package/front_end/core/i18n/locales/hy.json +55 -22
  35. package/front_end/core/i18n/locales/id.json +55 -22
  36. package/front_end/core/i18n/locales/is.json +55 -22
  37. package/front_end/core/i18n/locales/it.json +55 -22
  38. package/front_end/core/i18n/locales/ja.json +63 -30
  39. package/front_end/core/i18n/locales/ka.json +55 -22
  40. package/front_end/core/i18n/locales/kk.json +55 -22
  41. package/front_end/core/i18n/locales/km.json +55 -22
  42. package/front_end/core/i18n/locales/kn.json +55 -22
  43. package/front_end/core/i18n/locales/ko.json +55 -22
  44. package/front_end/core/i18n/locales/ky.json +55 -22
  45. package/front_end/core/i18n/locales/lo.json +55 -22
  46. package/front_end/core/i18n/locales/lt.json +55 -22
  47. package/front_end/core/i18n/locales/lv.json +55 -22
  48. package/front_end/core/i18n/locales/mk.json +55 -22
  49. package/front_end/core/i18n/locales/ml.json +33 -0
  50. package/front_end/core/i18n/locales/mn.json +33 -0
  51. package/front_end/core/i18n/locales/mr.json +54 -21
  52. package/front_end/core/i18n/locales/ms.json +55 -22
  53. package/front_end/core/i18n/locales/my.json +55 -22
  54. package/front_end/core/i18n/locales/ne.json +54 -21
  55. package/front_end/core/i18n/locales/nl.json +55 -22
  56. package/front_end/core/i18n/locales/no.json +55 -22
  57. package/front_end/core/i18n/locales/or.json +55 -22
  58. package/front_end/core/i18n/locales/pa.json +55 -22
  59. package/front_end/core/i18n/locales/pl.json +33 -0
  60. package/front_end/core/i18n/locales/pt-PT.json +55 -22
  61. package/front_end/core/i18n/locales/pt.json +55 -22
  62. package/front_end/core/i18n/locales/ro.json +33 -0
  63. package/front_end/core/i18n/locales/ru.json +55 -22
  64. package/front_end/core/i18n/locales/si.json +55 -22
  65. package/front_end/core/i18n/locales/sk.json +55 -22
  66. package/front_end/core/i18n/locales/sl.json +55 -22
  67. package/front_end/core/i18n/locales/sq.json +55 -22
  68. package/front_end/core/i18n/locales/sr-Latn.json +55 -22
  69. package/front_end/core/i18n/locales/sr.json +55 -22
  70. package/front_end/core/i18n/locales/sv.json +55 -22
  71. package/front_end/core/i18n/locales/sw.json +55 -22
  72. package/front_end/core/i18n/locales/ta.json +55 -22
  73. package/front_end/core/i18n/locales/te.json +42 -9
  74. package/front_end/core/i18n/locales/th.json +33 -0
  75. package/front_end/core/i18n/locales/tr.json +55 -22
  76. package/front_end/core/i18n/locales/uk.json +55 -22
  77. package/front_end/core/i18n/locales/ur.json +55 -22
  78. package/front_end/core/i18n/locales/uz.json +55 -22
  79. package/front_end/core/i18n/locales/vi.json +54 -21
  80. package/front_end/core/i18n/locales/zh-HK.json +55 -22
  81. package/front_end/core/i18n/locales/zh-TW.json +54 -21
  82. package/front_end/core/i18n/locales/zh.json +55 -22
  83. package/front_end/core/i18n/locales/zu.json +55 -22
  84. package/front_end/core/protocol_client/InspectorBackend.ts +8 -0
  85. package/front_end/core/sdk/CSSProperty.ts +8 -8
  86. package/front_end/core/sdk/NetworkManager.ts +58 -70
  87. package/front_end/core/sdk/RemoteObject.ts +1 -1
  88. package/front_end/core/sdk/Resource.ts +5 -2
  89. package/front_end/core/sdk/RuntimeModel.ts +10 -0
  90. package/front_end/devtools_compatibility.js +19 -0
  91. package/front_end/entrypoints/formatter_worker/formatter_worker.ts +4 -4
  92. package/front_end/generated/InspectorBackendCommands.js +27 -2
  93. package/front_end/generated/protocol.ts +61 -0
  94. package/front_end/legacy_test_runner/bindings_test_runner/PersistenceTestRunner.js +2 -2
  95. package/front_end/legacy_test_runner/console_test_runner/console_test_runner.js +10 -3
  96. package/front_end/legacy_test_runner/heap_profiler_test_runner/heap_profiler_test_runner.js +1 -2
  97. package/front_end/legacy_test_runner/sources_test_runner/DebuggerTestRunner.js +5 -5
  98. package/front_end/models/bindings/ContentProviderBasedProject.ts +2 -3
  99. package/front_end/models/extensions/ExtensionServer.ts +7 -1
  100. package/front_end/models/javascript_metadata/NativeFunctions.js +18 -21
  101. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +1 -1
  102. package/front_end/models/persistence/IsolatedFileSystem.ts +2 -2
  103. package/front_end/models/persistence/NetworkPersistenceManager.ts +7 -4
  104. package/front_end/models/workspace/WorkspaceImpl.ts +62 -37
  105. package/front_end/panels/console/ConsoleViewMessage.ts +33 -6
  106. package/front_end/panels/console/ErrorStackParser.ts +34 -0
  107. package/front_end/panels/elements/StylePropertyTreeElement.ts +14 -2
  108. package/front_end/panels/elements/StylesSidebarPane.ts +0 -3
  109. package/front_end/panels/emulation/DeviceModeView.ts +6 -2
  110. package/front_end/panels/event_listeners/EventListenersUtils.ts +3 -2
  111. package/front_end/panels/event_listeners/EventListenersView.ts +3 -3
  112. package/front_end/panels/lighthouse/lighthouse.ts +1 -1
  113. package/front_end/panels/sources/DebuggerPausedMessage.ts +2 -2
  114. package/front_end/panels/sources/SourcesPanel.ts +7 -10
  115. package/front_end/panels/sources/UISourceCodeFrame.ts +4 -4
  116. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +1 -2
  117. package/front_end/panels/sources/debuggerPausedMessage.css +5 -1
  118. package/front_end/third_party/codemirror/README.chromium +5 -0
  119. package/front_end/third_party/codemirror/codemirror-tsconfig.json +4 -4
  120. package/front_end/third_party/codemirror/package/addon/runmode/{runmode-standalone.js → runmode-standalone.mjs} +0 -0
  121. package/front_end/third_party/codemirror/package/addon/runmode/{runmode-standalone.d.ts → runmode-standalone.mjs.d.ts} +0 -0
  122. package/front_end/third_party/codemirror/package/mode/css/{css.js → css.mjs} +0 -0
  123. package/front_end/third_party/codemirror/package/mode/css/{css.d.ts → css.mjs.d.ts} +0 -0
  124. package/front_end/third_party/codemirror/package/mode/javascript/{javascript.js → javascript.mjs} +0 -0
  125. package/front_end/third_party/codemirror/package/mode/javascript/{javascript.d.ts → javascript.mjs.d.ts} +0 -0
  126. package/front_end/third_party/codemirror/package/mode/xml/{xml.js → xml.mjs} +0 -0
  127. package/front_end/third_party/codemirror/package/mode/xml/{xml.d.ts → xml.mjs.d.ts} +0 -0
  128. package/front_end/third_party/lighthouse/README.chromium +0 -1
  129. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +954 -885
  130. package/front_end/third_party/lighthouse/lighthouse-tsconfig.json +1 -1
  131. package/front_end/third_party/lighthouse/locales/ar-XB.json +40 -4
  132. package/front_end/third_party/lighthouse/locales/ar.json +59 -23
  133. package/front_end/third_party/lighthouse/locales/bg.json +40 -4
  134. package/front_end/third_party/lighthouse/locales/ca.json +45 -9
  135. package/front_end/third_party/lighthouse/locales/cs.json +39 -3
  136. package/front_end/third_party/lighthouse/locales/da.json +43 -7
  137. package/front_end/third_party/lighthouse/locales/de.json +42 -6
  138. package/front_end/third_party/lighthouse/locales/el.json +59 -23
  139. package/front_end/third_party/lighthouse/locales/en-GB.json +43 -7
  140. package/front_end/third_party/lighthouse/locales/en-US.json +48 -6
  141. package/front_end/third_party/lighthouse/locales/en-XA.json +40 -4
  142. package/front_end/third_party/lighthouse/locales/en-XL.json +48 -6
  143. package/front_end/third_party/lighthouse/locales/es-419.json +39 -3
  144. package/front_end/third_party/lighthouse/locales/es.json +46 -10
  145. package/front_end/third_party/lighthouse/locales/fi.json +57 -21
  146. package/front_end/third_party/lighthouse/locales/fil.json +40 -4
  147. package/front_end/third_party/lighthouse/locales/fr.json +45 -9
  148. package/front_end/third_party/lighthouse/locales/he.json +41 -5
  149. package/front_end/third_party/lighthouse/locales/hi.json +59 -23
  150. package/front_end/third_party/lighthouse/locales/hr.json +57 -21
  151. package/front_end/third_party/lighthouse/locales/hu.json +39 -3
  152. package/front_end/third_party/lighthouse/locales/id.json +40 -4
  153. package/front_end/third_party/lighthouse/locales/it.json +40 -4
  154. package/front_end/third_party/lighthouse/locales/ja.json +39 -3
  155. package/front_end/third_party/lighthouse/locales/ko.json +40 -4
  156. package/front_end/third_party/lighthouse/locales/lt.json +40 -4
  157. package/front_end/third_party/lighthouse/locales/lv.json +56 -20
  158. package/front_end/third_party/lighthouse/locales/nl.json +40 -4
  159. package/front_end/third_party/lighthouse/locales/no.json +56 -20
  160. package/front_end/third_party/lighthouse/locales/pl.json +56 -20
  161. package/front_end/third_party/lighthouse/locales/pt-PT.json +57 -21
  162. package/front_end/third_party/lighthouse/locales/pt.json +41 -5
  163. package/front_end/third_party/lighthouse/locales/ro.json +39 -3
  164. package/front_end/third_party/lighthouse/locales/ru.json +40 -4
  165. package/front_end/third_party/lighthouse/locales/sk.json +39 -3
  166. package/front_end/third_party/lighthouse/locales/sl.json +39 -3
  167. package/front_end/third_party/lighthouse/locales/sr-Latn.json +40 -4
  168. package/front_end/third_party/lighthouse/locales/sr.json +40 -4
  169. package/front_end/third_party/lighthouse/locales/sv.json +39 -3
  170. package/front_end/third_party/lighthouse/locales/ta.json +47 -11
  171. package/front_end/third_party/lighthouse/locales/te.json +61 -25
  172. package/front_end/third_party/lighthouse/locales/th.json +39 -3
  173. package/front_end/third_party/lighthouse/locales/tr.json +40 -4
  174. package/front_end/third_party/lighthouse/locales/uk.json +40 -4
  175. package/front_end/third_party/lighthouse/locales/vi.json +63 -27
  176. package/front_end/third_party/lighthouse/locales/zh-HK.json +40 -4
  177. package/front_end/third_party/lighthouse/locales/zh-TW.json +45 -9
  178. package/front_end/third_party/lighthouse/locales/zh.json +41 -5
  179. package/front_end/third_party/lighthouse/report/bundle.d.ts +1 -0
  180. package/front_end/third_party/lighthouse/report/bundle.js +23 -11
  181. package/front_end/third_party/lighthouse/report-assets/{report-generator.js → report-generator.mjs} +1 -1
  182. package/front_end/third_party/lighthouse/report-assets/{report-generator.d.ts → report-generator.mjs.d.ts} +0 -0
  183. package/front_end/third_party/puppeteer/puppeteer.ts +1 -2
  184. package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +3 -3
  185. package/front_end/ui/legacy/Icon.ts +2 -2
  186. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +1 -1
  187. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +4 -4
  188. package/front_end/ui/legacy/components/perf_ui/LiveHeapProfile.ts +2 -2
  189. package/front_end/ui/legacy/themeColors.css +1 -1
  190. package/package.json +1 -1
  191. package/scripts/build/devtools_plugin.js +11 -0
  192. package/scripts/build/esbuild.js +63 -0
  193. package/scripts/build/ninja/bundle.gni +77 -32
  194. package/scripts/build/ninja/minify-json-files.js +19 -0
  195. package/scripts/build/ninja/minify_json.gni +28 -0
  196. package/scripts/javascript_natives/index.js +9 -6
  197. package/scripts/javascript_natives/package.json +4 -4
@@ -282,6 +282,27 @@ export function registerCommands(inspectorBackend) {
282
282
  inspectorBackend.registerEnum(
283
283
  'Audits.ClientHintIssueReason',
284
284
  {MetaTagAllowListInvalidOrigin: 'MetaTagAllowListInvalidOrigin', MetaTagModifiedHTML: 'MetaTagModifiedHTML'});
285
+ inspectorBackend.registerEnum('Audits.FederatedAuthRequestIssueReason', {
286
+ ApprovalDeclined: 'ApprovalDeclined',
287
+ TooManyRequests: 'TooManyRequests',
288
+ WellKnownHttpNotFound: 'WellKnownHttpNotFound',
289
+ WellKnownNoResponse: 'WellKnownNoResponse',
290
+ WellKnownInvalidResponse: 'WellKnownInvalidResponse',
291
+ ClientIdMetadataHttpNotFound: 'ClientIdMetadataHttpNotFound',
292
+ ClientIdMetadataNoResponse: 'ClientIdMetadataNoResponse',
293
+ ClientIdMetadataInvalidResponse: 'ClientIdMetadataInvalidResponse',
294
+ ErrorFetchingSignin: 'ErrorFetchingSignin',
295
+ InvalidSigninResponse: 'InvalidSigninResponse',
296
+ AccountsHttpNotFound: 'AccountsHttpNotFound',
297
+ AccountsNoResponse: 'AccountsNoResponse',
298
+ AccountsInvalidResponse: 'AccountsInvalidResponse',
299
+ IdTokenHttpNotFound: 'IdTokenHttpNotFound',
300
+ IdTokenNoResponse: 'IdTokenNoResponse',
301
+ IdTokenInvalidResponse: 'IdTokenInvalidResponse',
302
+ IdTokenInvalidRequest: 'IdTokenInvalidRequest',
303
+ ErrorIdToken: 'ErrorIdToken',
304
+ Canceled: 'Canceled'
305
+ });
285
306
  inspectorBackend.registerEnum('Audits.InspectorIssueCode', {
286
307
  SameSiteCookieIssue: 'SameSiteCookieIssue',
287
308
  MixedContentIssue: 'MixedContentIssue',
@@ -297,7 +318,8 @@ export function registerCommands(inspectorBackend) {
297
318
  NavigatorUserAgentIssue: 'NavigatorUserAgentIssue',
298
319
  GenericIssue: 'GenericIssue',
299
320
  DeprecationIssue: 'DeprecationIssue',
300
- ClientHintIssue: 'ClientHintIssue'
321
+ ClientHintIssue: 'ClientHintIssue',
322
+ FederatedAuthRequestIssue: 'FederatedAuthRequestIssue'
301
323
  });
302
324
  inspectorBackend.registerEvent('Audits.issueAdded', ['issue']);
303
325
  inspectorBackend.registerEnum('Audits.GetEncodedResponseRequestEncoding', {Webp: 'webp', Jpeg: 'jpeg', Png: 'png'});
@@ -1647,7 +1669,8 @@ export function registerCommands(inspectorBackend) {
1647
1669
  SameOrigin: 'SameOrigin',
1648
1670
  SameOriginAllowPopups: 'SameOriginAllowPopups',
1649
1671
  UnsafeNone: 'UnsafeNone',
1650
- SameOriginPlusCoep: 'SameOriginPlusCoep'
1672
+ SameOriginPlusCoep: 'SameOriginPlusCoep',
1673
+ SameOriginAllowPopupsPlusCoep: 'SameOriginAllowPopupsPlusCoep'
1651
1674
  });
1652
1675
  inspectorBackend.registerEnum(
1653
1676
  'Network.CrossOriginEmbedderPolicyValue',
@@ -2001,10 +2024,12 @@ export function registerCommands(inspectorBackend) {
2001
2024
  ChUaPlatform: 'ch-ua-platform',
2002
2025
  ChUaModel: 'ch-ua-model',
2003
2026
  ChUaMobile: 'ch-ua-mobile',
2027
+ ChUaFull: 'ch-ua-full',
2004
2028
  ChUaFullVersion: 'ch-ua-full-version',
2005
2029
  ChUaFullVersionList: 'ch-ua-full-version-list',
2006
2030
  ChUaPlatformVersion: 'ch-ua-platform-version',
2007
2031
  ChUaReduced: 'ch-ua-reduced',
2032
+ ChUaWow64: 'ch-ua-wow64',
2008
2033
  ChViewportHeight: 'ch-viewport-height',
2009
2034
  ChViewportWidth: 'ch-viewport-width',
2010
2035
  ChWidth: 'ch-width',
@@ -1052,6 +1052,38 @@ export namespace Audits {
1052
1052
  MetaTagModifiedHTML = 'MetaTagModifiedHTML',
1053
1053
  }
1054
1054
 
1055
+ export interface FederatedAuthRequestIssueDetails {
1056
+ federatedAuthRequestIssueReason: FederatedAuthRequestIssueReason;
1057
+ }
1058
+
1059
+ /**
1060
+ * Represents the failure reason when a federated authentication reason fails.
1061
+ * Should be updated alongside RequestIdTokenStatus in
1062
+ * third_party/blink/public/mojom/webid/federated_auth_request.mojom to include
1063
+ * all cases except for success.
1064
+ */
1065
+ export const enum FederatedAuthRequestIssueReason {
1066
+ ApprovalDeclined = 'ApprovalDeclined',
1067
+ TooManyRequests = 'TooManyRequests',
1068
+ WellKnownHttpNotFound = 'WellKnownHttpNotFound',
1069
+ WellKnownNoResponse = 'WellKnownNoResponse',
1070
+ WellKnownInvalidResponse = 'WellKnownInvalidResponse',
1071
+ ClientIdMetadataHttpNotFound = 'ClientIdMetadataHttpNotFound',
1072
+ ClientIdMetadataNoResponse = 'ClientIdMetadataNoResponse',
1073
+ ClientIdMetadataInvalidResponse = 'ClientIdMetadataInvalidResponse',
1074
+ ErrorFetchingSignin = 'ErrorFetchingSignin',
1075
+ InvalidSigninResponse = 'InvalidSigninResponse',
1076
+ AccountsHttpNotFound = 'AccountsHttpNotFound',
1077
+ AccountsNoResponse = 'AccountsNoResponse',
1078
+ AccountsInvalidResponse = 'AccountsInvalidResponse',
1079
+ IdTokenHttpNotFound = 'IdTokenHttpNotFound',
1080
+ IdTokenNoResponse = 'IdTokenNoResponse',
1081
+ IdTokenInvalidResponse = 'IdTokenInvalidResponse',
1082
+ IdTokenInvalidRequest = 'IdTokenInvalidRequest',
1083
+ ErrorIdToken = 'ErrorIdToken',
1084
+ Canceled = 'Canceled',
1085
+ }
1086
+
1055
1087
  /**
1056
1088
  * This issue tracks client hints related issues. It's used to deprecate old
1057
1089
  * features, encourage the use of new ones, and provide general guidance.
@@ -1082,6 +1114,7 @@ export namespace Audits {
1082
1114
  GenericIssue = 'GenericIssue',
1083
1115
  DeprecationIssue = 'DeprecationIssue',
1084
1116
  ClientHintIssue = 'ClientHintIssue',
1117
+ FederatedAuthRequestIssue = 'FederatedAuthRequestIssue',
1085
1118
  }
1086
1119
 
1087
1120
  /**
@@ -1105,6 +1138,7 @@ export namespace Audits {
1105
1138
  genericIssueDetails?: GenericIssueDetails;
1106
1139
  deprecationIssueDetails?: DeprecationIssueDetails;
1107
1140
  clientHintIssueDetails?: ClientHintIssueDetails;
1141
+ federatedAuthRequestIssueDetails?: FederatedAuthRequestIssueDetails;
1108
1142
  }
1109
1143
 
1110
1144
  /**
@@ -1885,6 +1919,11 @@ export namespace CSS {
1885
1919
  * The array enumerates container queries starting with the innermost one, going outwards.
1886
1920
  */
1887
1921
  containerQueries?: CSSContainerQuery[];
1922
+ /**
1923
+ * @supports CSS at-rule array.
1924
+ * The array enumerates @supports at-rules starting with the innermost one, going outwards.
1925
+ */
1926
+ supports?: CSSSupports[];
1888
1927
  }
1889
1928
 
1890
1929
  /**
@@ -2127,6 +2166,25 @@ export namespace CSS {
2127
2166
  name?: string;
2128
2167
  }
2129
2168
 
2169
+ /**
2170
+ * CSS Supports at-rule descriptor.
2171
+ */
2172
+ export interface CSSSupports {
2173
+ /**
2174
+ * Supports rule text.
2175
+ */
2176
+ text: string;
2177
+ /**
2178
+ * The associated rule header range in the enclosing stylesheet (if
2179
+ * available).
2180
+ */
2181
+ range?: SourceRange;
2182
+ /**
2183
+ * Identifier of the stylesheet containing this object (if exists).
2184
+ */
2185
+ styleSheetId?: StyleSheetId;
2186
+ }
2187
+
2130
2188
  /**
2131
2189
  * Information about amount of glyphs that were rendered with given font.
2132
2190
  */
@@ -7958,6 +8016,7 @@ export namespace Network {
7958
8016
  SameOriginAllowPopups = 'SameOriginAllowPopups',
7959
8017
  UnsafeNone = 'UnsafeNone',
7960
8018
  SameOriginPlusCoep = 'SameOriginPlusCoep',
8019
+ SameOriginAllowPopupsPlusCoep = 'SameOriginAllowPopupsPlusCoep',
7961
8020
  }
7962
8021
 
7963
8022
  export interface CrossOriginOpenerPolicyStatus {
@@ -9984,10 +10043,12 @@ export namespace Page {
9984
10043
  ChUaPlatform = 'ch-ua-platform',
9985
10044
  ChUaModel = 'ch-ua-model',
9986
10045
  ChUaMobile = 'ch-ua-mobile',
10046
+ ChUaFull = 'ch-ua-full',
9987
10047
  ChUaFullVersion = 'ch-ua-full-version',
9988
10048
  ChUaFullVersionList = 'ch-ua-full-version-list',
9989
10049
  ChUaPlatformVersion = 'ch-ua-platform-version',
9990
10050
  ChUaReduced = 'ch-ua-reduced',
10051
+ ChUaWow64 = 'ch-ua-wow64',
9991
10052
  ChViewportHeight = 'ch-viewport-height',
9992
10053
  ChViewportWidth = 'ch-viewport-width',
9993
10054
  ChWidth = 'ch-width',
@@ -23,7 +23,7 @@ Persistence.AutomappingStatus.prototype.toString = function() {
23
23
  return lines.join('\n');
24
24
  };
25
25
 
26
- BindingsTestRunner.waitForBinding = function(fileName) {
26
+ BindingsTestRunner.waitForBinding = async function(fileName) {
27
27
  const uiSourceCodes = self.Workspace.workspace.uiSourceCodes();
28
28
 
29
29
  for (const uiSourceCode of uiSourceCodes) {
@@ -34,7 +34,7 @@ BindingsTestRunner.waitForBinding = function(fileName) {
34
34
  }
35
35
 
36
36
  if (uiSourceCode.name() === fileName) {
37
- return Promise.resolve(binding);
37
+ return binding;
38
38
  }
39
39
  }
40
40
 
@@ -50,6 +50,7 @@ ConsoleTestRunner.dumpConsoleMessagesIntoArray = async function(printOriginating
50
50
  const element = uiMessage.element();
51
51
  // Retrieving the message element triggered rendering, now wait for
52
52
  // the live location within to be resolved initially.
53
+ await uiMessage.formatErrorStackPromiseForTest();
53
54
  await TestRunner.waitForPendingLiveLocationUpdates();
54
55
 
55
56
  let classNames;
@@ -220,9 +221,14 @@ ConsoleTestRunner.evaluateInConsole = function(code, callback, dontForceMainCont
220
221
  const element = commandResult.toMessageElement();
221
222
  // Only call the callback once the live location within the
222
223
  // message element is resolved initially.
223
- TestRunner.waitForPendingLiveLocationUpdates().then(() => {
224
- callback(element.deepTextContent());
225
- });
224
+ Promise
225
+ .all([
226
+ commandResult.formatErrorStackPromiseForTest(),
227
+ TestRunner.waitForPendingLiveLocationUpdates(),
228
+ ])
229
+ .then(() => {
230
+ callback(element.deepTextContent());
231
+ });
226
232
  });
227
233
  };
228
234
 
@@ -358,6 +364,7 @@ ConsoleTestRunner.dumpConsoleMessagesWithClasses = async function(sortMessages,
358
364
  let messageText = ConsoleTestRunner.prepareConsoleMessageText(element);
359
365
  if (trimMessages) {
360
366
  messageText = messageText.replace(/[ ]+/g, ' ');
367
+ messageText = messageText.replace(/\s+\n\s+/g, ' ');
361
368
  }
362
369
  result.push(messageText + ' ' + element.getAttribute('class') + ' > ' + contentElement.getAttribute('class'));
363
370
  }
@@ -624,14 +624,13 @@ HeapProfilerTestRunner.takeAndOpenSnapshot = async function(generator, callback)
624
624
  const snapshot = generator();
625
625
  const profileType = Profiler.ProfileTypeRegistry.instance.heapSnapshotProfileType;
626
626
 
627
- function pushGeneratedSnapshot(reportProgress) {
627
+ async function pushGeneratedSnapshot(reportProgress) {
628
628
  if (reportProgress) {
629
629
  profileType.reportHeapSnapshotProgress({data: {done: 50, total: 100, finished: false}});
630
630
  profileType.reportHeapSnapshotProgress({data: {done: 100, total: 100, finished: true}});
631
631
  }
632
632
  snapshot.snapshot.typeId = 'HEAP';
633
633
  profileType.addHeapSnapshotChunk({data: JSON.stringify(snapshot)});
634
- return Promise.resolve();
635
634
  }
636
635
 
637
636
  HeapProfilerTestRunner.takeAndOpenSnapshotCallback = callback;
@@ -198,31 +198,31 @@ SourcesTestRunner.waitUntilPausedAndDumpStackAndResume = function(callback, opti
198
198
  };
199
199
 
200
200
  SourcesTestRunner.stepOver = function() {
201
- Promise.resolve().then(function() {
201
+ queueMicrotask(function() {
202
202
  UI.panels.sources.stepOver();
203
203
  });
204
204
  };
205
205
 
206
206
  SourcesTestRunner.stepInto = function() {
207
- Promise.resolve().then(function() {
207
+ queueMicrotask(function() {
208
208
  UI.panels.sources.stepInto();
209
209
  });
210
210
  };
211
211
 
212
212
  SourcesTestRunner.stepIntoAsync = function() {
213
- Promise.resolve().then(function() {
213
+ queueMicrotask(function() {
214
214
  UI.panels.sources.stepIntoAsync();
215
215
  });
216
216
  };
217
217
 
218
218
  SourcesTestRunner.stepOut = function() {
219
- Promise.resolve().then(function() {
219
+ queueMicrotask(function() {
220
220
  UI.panels.sources.stepOut();
221
221
  });
222
222
  };
223
223
 
224
224
  SourcesTestRunner.togglePause = function() {
225
- Promise.resolve().then(function() {
225
+ queueMicrotask(function() {
226
226
  UI.panels.sources.togglePause();
227
227
  });
228
228
  };
@@ -46,8 +46,7 @@ interface UISourceCodeData {
46
46
  metadata: Workspace.UISourceCode.UISourceCodeMetadata|null;
47
47
  }
48
48
 
49
- export class ContentProviderBasedProject extends Workspace.Workspace.ProjectStore implements
50
- Workspace.Workspace.Project {
49
+ export class ContentProviderBasedProject extends Workspace.Workspace.ProjectStore {
51
50
  readonly #contentProviders: Map<string, TextUtils.ContentProvider.ContentProvider>;
52
51
  readonly #isServiceProjectInternal: boolean;
53
52
  readonly #uiSourceCodeToData: WeakMap<Workspace.UISourceCode.UISourceCode, UISourceCodeData>;
@@ -199,7 +198,7 @@ export class ContentProviderBasedProject extends Workspace.Workspace.ProjectStor
199
198
  }
200
199
 
201
200
  indexContent(progress: Common.Progress.Progress): void {
202
- void Promise.resolve().then(progress.done.bind(progress));
201
+ queueMicrotask(progress.done.bind(progress));
203
202
  }
204
203
 
205
204
  addUISourceCodeWithProvider(
@@ -57,7 +57,7 @@ const extensionOrigins: WeakMap<MessagePort, string> = new WeakMap();
57
57
 
58
58
  declare global {
59
59
  interface Window {
60
- DevToolsAPI?: {getInspectedTabId?(): string|undefined};
60
+ DevToolsAPI?: {getInspectedTabId?(): string|undefined, getOriginsForbiddenForExtensions?(): string[]};
61
61
  }
62
62
  }
63
63
 
@@ -1102,6 +1102,12 @@ export class ExtensionServer extends Common.ObjectWrapper.ObjectWrapper<EventTyp
1102
1102
  parsedURL.pathname.startsWith('/webstore')) {
1103
1103
  return false;
1104
1104
  }
1105
+
1106
+ if ((window.DevToolsAPI && window.DevToolsAPI.getOriginsForbiddenForExtensions &&
1107
+ window.DevToolsAPI.getOriginsForbiddenForExtensions() ||
1108
+ []).includes(parsedURL.origin)) {
1109
+ return false;
1110
+ }
1105
1111
  return true;
1106
1112
  }
1107
1113
 
@@ -4144,10 +4144,6 @@ export const NativeFunctions = [
4144
4144
  name: 'isInputPending',
4145
4145
  signatures: [['?options']]
4146
4146
  },
4147
- {
4148
- name: 'WindowControlsOverlayGeometryChangeEvent',
4149
- signatures: [['type','eventInitDict']]
4150
- },
4151
4147
  {
4152
4148
  name: 'stop',
4153
4149
  signatures: [['?when']],
@@ -5297,6 +5293,10 @@ export const NativeFunctions = [
5297
5293
  name: 'adAuctionComponents',
5298
5294
  signatures: [['numComponents']]
5299
5295
  },
5296
+ {
5297
+ name: 'deprecatedURNToURL',
5298
+ signatures: [['uuid_url']]
5299
+ },
5300
5300
  {
5301
5301
  name: 'createAdRequest',
5302
5302
  signatures: [['config']]
@@ -5876,24 +5876,9 @@ export const NativeFunctions = [
5876
5876
  signatures: [['path','?options','?successCallback','?errorCallback']],
5877
5877
  receiver: 'DirectoryEntry'
5878
5878
  },
5879
- {
5880
- name: 'rename',
5881
- signatures: [['new_entry_name']],
5882
- receiver: 'FileSystemFileHandle'
5883
- },
5884
- {
5885
- name: 'rename',
5886
- signatures: [['new_entry_name']],
5887
- receiver: 'FileSystemHandle'
5888
- },
5889
- {
5890
- name: 'rename',
5891
- signatures: [['old_name','new_name']],
5892
- receiver: 'NativeIOFileManager'
5893
- },
5894
5879
  {
5895
5880
  name: 'move',
5896
- signatures: [['destination_directory','?new_entry_name']]
5881
+ signatures: [['new_entry_name'],['destination_directory','?new_entry_name']]
5897
5882
  },
5898
5883
  {
5899
5884
  name: 'queryPermission',
@@ -6396,6 +6381,10 @@ export const NativeFunctions = [
6396
6381
  signatures: [['sync']],
6397
6382
  receiver: 'WebGL2RenderingContextBase'
6398
6383
  },
6384
+ {
6385
+ name: 'rename',
6386
+ signatures: [['old_name','new_name']]
6387
+ },
6399
6388
  {
6400
6389
  name: 'renameSync',
6401
6390
  signatures: [['old_name','new_name']]
@@ -6679,6 +6668,10 @@ export const NativeFunctions = [
6679
6668
  name: 'PictureInPictureEvent',
6680
6669
  signatures: [['type','eventInitDict']]
6681
6670
  },
6671
+ {
6672
+ name: 'requestPictureInPictureWindow',
6673
+ signatures: [['options']]
6674
+ },
6682
6675
  {
6683
6676
  name: 'refresh',
6684
6677
  signatures: [['?reload']]
@@ -8401,7 +8394,7 @@ export const NativeFunctions = [
8401
8394
  },
8402
8395
  {
8403
8396
  name: 'dispatch',
8404
- signatures: [['x','?y','?z']]
8397
+ signatures: [['workgroupCountX','?workgroupCountY','?workgroupCountZ']]
8405
8398
  },
8406
8399
  {
8407
8400
  name: 'dispatchIndirect',
@@ -8683,6 +8676,10 @@ export const NativeFunctions = [
8683
8676
  name: 'USBOutTransferResult',
8684
8677
  signatures: [['status','?bytesWritten']]
8685
8678
  },
8679
+ {
8680
+ name: 'WindowControlsOverlayGeometryChangeEvent',
8681
+ signatures: [['type','eventInitDict']]
8682
+ },
8686
8683
  {
8687
8684
  name: 'getPose',
8688
8685
  signatures: [['relative_to']]
@@ -153,7 +153,7 @@ export class FileSystemWorkspaceBinding {
153
153
  }
154
154
  }
155
155
 
156
- export class FileSystem extends Workspace.Workspace.ProjectStore implements Workspace.Workspace.Project {
156
+ export class FileSystem extends Workspace.Workspace.ProjectStore {
157
157
  readonly fileSystemInternal: PlatformFileSystem;
158
158
  readonly fileSystemBaseURL: string;
159
159
  private readonly fileSystemParentURL: string;
@@ -98,12 +98,12 @@ export class IsolatedFileSystem extends PlatformFileSystem {
98
98
  this.fileLocks = new Map();
99
99
  }
100
100
 
101
- static create(
101
+ static async create(
102
102
  manager: IsolatedFileSystemManager, path: string, embedderPath: string, type: string, name: string,
103
103
  rootURL: string): Promise<IsolatedFileSystem|null> {
104
104
  const domFileSystem = Host.InspectorFrontendHost.InspectorFrontendHostInstance.isolatedFileSystem(name, rootURL);
105
105
  if (!domFileSystem) {
106
- return Promise.resolve(null as IsolatedFileSystem | null);
106
+ return null as IsolatedFileSystem | null;
107
107
  }
108
108
 
109
109
  const fileSystem = new IsolatedFileSystem(manager, path, embedderPath, domFileSystem, type);
@@ -383,8 +383,7 @@ export class NetworkPersistenceManager extends Common.ObjectWrapper.ObjectWrappe
383
383
 
384
384
  return SDK.NetworkManager.MultitargetNetworkManager.instance().setInterceptionHandlerForPatterns(
385
385
  Array.from(patterns).map(
386
- pattern =>
387
- ({urlPattern: pattern, interceptionStage: Protocol.Network.InterceptionStage.HeadersReceived})),
386
+ pattern => ({urlPattern: pattern, requestStage: Protocol.Fetch.RequestStage.Response})),
388
387
  this.interceptionHandlerBound);
389
388
  }
390
389
  }
@@ -467,8 +466,12 @@ export class NetworkPersistenceManager extends Common.ObjectWrapper.ObjectWrappe
467
466
 
468
467
  let mimeType = '';
469
468
  if (interceptedRequest.responseHeaders) {
470
- const responseHeaders = SDK.NetworkManager.NetworkManager.lowercaseHeaders(interceptedRequest.responseHeaders);
471
- mimeType = responseHeaders['content-type'];
469
+ for (const header of interceptedRequest.responseHeaders) {
470
+ if (header.name.toLowerCase() === 'content-type') {
471
+ mimeType = header.value;
472
+ break;
473
+ }
474
+ }
472
475
  }
473
476
 
474
477
  if (!mimeType) {
@@ -42,41 +42,36 @@ export interface ProjectSearchConfig {
42
42
  filePathMatchesFileQuery(filePath: string): boolean;
43
43
  }
44
44
 
45
- export abstract class Project {
46
- abstract workspace(): WorkspaceImpl;
47
- abstract id(): string;
48
- abstract type(): string;
49
- abstract isServiceProject(): boolean;
50
- abstract displayName(): string;
51
- abstract requestMetadata(uiSourceCode: UISourceCode): Promise<UISourceCodeMetadata|null>;
52
- abstract requestFileContent(uiSourceCode: UISourceCode): Promise<TextUtils.ContentProvider.DeferredContent>;
53
- abstract canSetFileContent(): boolean;
54
- abstract setFileContent(uiSourceCode: UISourceCode, newContent: string, isBase64: boolean): Promise<void>;
55
- abstract fullDisplayName(uiSourceCode: UISourceCode): string;
56
- abstract mimeType(uiSourceCode: UISourceCode): string;
57
- abstract canRename(): boolean;
45
+ export interface Project {
46
+ workspace(): WorkspaceImpl;
47
+ id(): string;
48
+ type(): projectTypes;
49
+ isServiceProject(): boolean;
50
+ displayName(): string;
51
+ requestMetadata(uiSourceCode: UISourceCode): Promise<UISourceCodeMetadata|null>;
52
+ requestFileContent(uiSourceCode: UISourceCode): Promise<TextUtils.ContentProvider.DeferredContent>;
53
+ canSetFileContent(): boolean;
54
+ setFileContent(uiSourceCode: UISourceCode, newContent: string, isBase64: boolean): Promise<void>;
55
+ fullDisplayName(uiSourceCode: UISourceCode): string;
56
+ mimeType(uiSourceCode: UISourceCode): string;
57
+ canRename(): boolean;
58
58
  rename(
59
- _uiSourceCode: UISourceCode, _newName: string,
60
- _callback: (arg0: boolean, arg1?: string, arg2?: string, arg3?: Common.ResourceType.ResourceType) => void): void {
61
- }
62
- excludeFolder(_path: string): void {
63
- }
64
- abstract canExcludeFolder(path: string): boolean;
65
- abstract createFile(path: string, name: string|null, content: string, isBase64?: boolean): Promise<UISourceCode|null>;
66
- abstract canCreateFile(): boolean;
67
- deleteFile(_uiSourceCode: UISourceCode): void {
68
- }
69
- remove(): void {
70
- }
71
- abstract searchInFileContent(uiSourceCode: UISourceCode, query: string, caseSensitive: boolean, isRegex: boolean):
59
+ uiSourceCode: UISourceCode, newName: string,
60
+ callback: (arg0: boolean, arg1?: string, arg2?: string, arg3?: Common.ResourceType.ResourceType) => void): void;
61
+ excludeFolder(path: string): void;
62
+ canExcludeFolder(path: string): boolean;
63
+ createFile(path: string, name: string|null, content: string, isBase64?: boolean): Promise<UISourceCode|null>;
64
+ canCreateFile(): boolean;
65
+ deleteFile(uiSourceCode: UISourceCode): void;
66
+ remove(): void;
67
+ searchInFileContent(uiSourceCode: UISourceCode, query: string, caseSensitive: boolean, isRegex: boolean):
72
68
  Promise<TextUtils.ContentProvider.SearchMatch[]>;
73
- abstract findFilesMatchingSearchRequest(
69
+ findFilesMatchingSearchRequest(
74
70
  searchConfig: ProjectSearchConfig, filesMathingFileQuery: string[],
75
71
  progress: Common.Progress.Progress): Promise<string[]>;
76
- indexContent(_progress: Common.Progress.Progress): void {
77
- }
78
- abstract uiSourceCodeForURL(url: string): UISourceCode|null;
79
- abstract uiSourceCodes(): UISourceCode[];
72
+ indexContent(progress: Common.Progress.Progress): void;
73
+ uiSourceCodeForURL(url: string): UISourceCode|null;
74
+ uiSourceCodes(): UISourceCode[];
80
75
  }
81
76
 
82
77
  // TODO(crbug.com/1167717): Make this a const enum again
@@ -90,7 +85,7 @@ export enum projectTypes {
90
85
  Service = 'service',
91
86
  }
92
87
 
93
- export class ProjectStore {
88
+ export abstract class ProjectStore implements Project {
94
89
  private readonly workspaceInternal: WorkspaceImpl;
95
90
  private readonly idInternal: string;
96
91
  private readonly typeInternal: projectTypes;
@@ -100,7 +95,6 @@ export class ProjectStore {
100
95
  index: number,
101
96
  }>;
102
97
  private uiSourceCodesList: UISourceCode[];
103
- private readonly project: Project;
104
98
 
105
99
  constructor(workspace: WorkspaceImpl, id: string, type: projectTypes, displayName: string) {
106
100
  this.workspaceInternal = workspace;
@@ -110,14 +104,13 @@ export class ProjectStore {
110
104
 
111
105
  this.uiSourceCodesMap = new Map();
112
106
  this.uiSourceCodesList = [];
113
- this.project = (this as unknown as Project);
114
107
  }
115
108
 
116
109
  id(): string {
117
110
  return this.idInternal;
118
111
  }
119
112
 
120
- type(): string {
113
+ type(): projectTypes {
121
114
  return this.typeInternal;
122
115
  }
123
116
 
@@ -130,7 +123,7 @@ export class ProjectStore {
130
123
  }
131
124
 
132
125
  createUISourceCode(url: string, contentType: Common.ResourceType.ResourceType): UISourceCode {
133
- return new UISourceCode(this.project, url, contentType);
126
+ return new UISourceCode(this, url, contentType);
134
127
  }
135
128
 
136
129
  addUISourceCode(uiSourceCode: UISourceCode): boolean {
@@ -166,7 +159,7 @@ export class ProjectStore {
166
159
  }
167
160
 
168
161
  removeProject(): void {
169
- this.workspaceInternal.removeProject(this.project);
162
+ this.workspaceInternal.removeProject(this);
170
163
  this.uiSourceCodesMap = new Map();
171
164
  this.uiSourceCodesList = [];
172
165
  }
@@ -190,6 +183,38 @@ export class ProjectStore {
190
183
  this.uiSourceCodesMap.set(newPath, value);
191
184
  this.uiSourceCodesMap.delete(oldPath);
192
185
  }
186
+
187
+ // No-op implementation for a handfull of interface methods.
188
+
189
+ rename(
190
+ _uiSourceCode: UISourceCode, _newName: string,
191
+ _callback: (arg0: boolean, arg1?: string, arg2?: string, arg3?: Common.ResourceType.ResourceType) => void): void {
192
+ }
193
+ excludeFolder(_path: string): void {
194
+ }
195
+ deleteFile(_uiSourceCode: UISourceCode): void {
196
+ }
197
+ remove(): void {
198
+ }
199
+ indexContent(_progress: Common.Progress.Progress): void {
200
+ }
201
+
202
+ abstract isServiceProject(): boolean;
203
+ abstract requestMetadata(uiSourceCode: UISourceCode): Promise<UISourceCodeMetadata|null>;
204
+ abstract requestFileContent(uiSourceCode: UISourceCode): Promise<TextUtils.ContentProvider.DeferredContent>;
205
+ abstract canSetFileContent(): boolean;
206
+ abstract setFileContent(uiSourceCode: UISourceCode, newContent: string, isBase64: boolean): Promise<void>;
207
+ abstract fullDisplayName(uiSourceCode: UISourceCode): string;
208
+ abstract mimeType(uiSourceCode: UISourceCode): string;
209
+ abstract canRename(): boolean;
210
+ abstract canExcludeFolder(path: string): boolean;
211
+ abstract createFile(path: string, name: string|null, content: string, isBase64?: boolean): Promise<UISourceCode|null>;
212
+ abstract canCreateFile(): boolean;
213
+ abstract searchInFileContent(uiSourceCode: UISourceCode, query: string, caseSensitive: boolean, isRegex: boolean):
214
+ Promise<TextUtils.ContentProvider.SearchMatch[]>;
215
+ abstract findFilesMatchingSearchRequest(
216
+ searchConfig: ProjectSearchConfig, filesMathingFileQuery: string[],
217
+ progress: Common.Progress.Progress): Promise<string[]>;
193
218
  }
194
219
 
195
220
  let workspaceInstance: WorkspaceImpl|undefined;