chrome-devtools-frontend 1.0.964938 → 1.0.966659

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 (194) 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 +9 -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/persistence/FileSystemWorkspaceBinding.ts +1 -1
  101. package/front_end/models/persistence/IsolatedFileSystem.ts +2 -2
  102. package/front_end/models/persistence/NetworkPersistenceManager.ts +7 -4
  103. package/front_end/models/workspace/WorkspaceImpl.ts +62 -37
  104. package/front_end/panels/console/ConsoleViewMessage.ts +33 -6
  105. package/front_end/panels/console/ErrorStackParser.ts +34 -0
  106. package/front_end/panels/emulation/DeviceModeView.ts +6 -2
  107. package/front_end/panels/event_listeners/EventListenersUtils.ts +3 -2
  108. package/front_end/panels/event_listeners/EventListenersView.ts +3 -3
  109. package/front_end/panels/lighthouse/lighthouse.ts +1 -1
  110. package/front_end/panels/sources/DebuggerPausedMessage.ts +2 -2
  111. package/front_end/panels/sources/SourcesPanel.ts +7 -10
  112. package/front_end/panels/sources/UISourceCodeFrame.ts +4 -4
  113. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +1 -2
  114. package/front_end/panels/sources/debuggerPausedMessage.css +5 -1
  115. package/front_end/third_party/codemirror/README.chromium +5 -0
  116. package/front_end/third_party/codemirror/codemirror-tsconfig.json +4 -4
  117. package/front_end/third_party/codemirror/package/addon/runmode/{runmode-standalone.js → runmode-standalone.mjs} +0 -0
  118. package/front_end/third_party/codemirror/package/addon/runmode/{runmode-standalone.d.ts → runmode-standalone.mjs.d.ts} +0 -0
  119. package/front_end/third_party/codemirror/package/mode/css/{css.js → css.mjs} +0 -0
  120. package/front_end/third_party/codemirror/package/mode/css/{css.d.ts → css.mjs.d.ts} +0 -0
  121. package/front_end/third_party/codemirror/package/mode/javascript/{javascript.js → javascript.mjs} +0 -0
  122. package/front_end/third_party/codemirror/package/mode/javascript/{javascript.d.ts → javascript.mjs.d.ts} +0 -0
  123. package/front_end/third_party/codemirror/package/mode/xml/{xml.js → xml.mjs} +0 -0
  124. package/front_end/third_party/codemirror/package/mode/xml/{xml.d.ts → xml.mjs.d.ts} +0 -0
  125. package/front_end/third_party/lighthouse/README.chromium +0 -1
  126. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +954 -885
  127. package/front_end/third_party/lighthouse/lighthouse-tsconfig.json +1 -1
  128. package/front_end/third_party/lighthouse/locales/ar-XB.json +40 -4
  129. package/front_end/third_party/lighthouse/locales/ar.json +59 -23
  130. package/front_end/third_party/lighthouse/locales/bg.json +40 -4
  131. package/front_end/third_party/lighthouse/locales/ca.json +45 -9
  132. package/front_end/third_party/lighthouse/locales/cs.json +39 -3
  133. package/front_end/third_party/lighthouse/locales/da.json +43 -7
  134. package/front_end/third_party/lighthouse/locales/de.json +42 -6
  135. package/front_end/third_party/lighthouse/locales/el.json +59 -23
  136. package/front_end/third_party/lighthouse/locales/en-GB.json +43 -7
  137. package/front_end/third_party/lighthouse/locales/en-US.json +48 -6
  138. package/front_end/third_party/lighthouse/locales/en-XA.json +40 -4
  139. package/front_end/third_party/lighthouse/locales/en-XL.json +48 -6
  140. package/front_end/third_party/lighthouse/locales/es-419.json +39 -3
  141. package/front_end/third_party/lighthouse/locales/es.json +46 -10
  142. package/front_end/third_party/lighthouse/locales/fi.json +57 -21
  143. package/front_end/third_party/lighthouse/locales/fil.json +40 -4
  144. package/front_end/third_party/lighthouse/locales/fr.json +45 -9
  145. package/front_end/third_party/lighthouse/locales/he.json +41 -5
  146. package/front_end/third_party/lighthouse/locales/hi.json +59 -23
  147. package/front_end/third_party/lighthouse/locales/hr.json +57 -21
  148. package/front_end/third_party/lighthouse/locales/hu.json +39 -3
  149. package/front_end/third_party/lighthouse/locales/id.json +40 -4
  150. package/front_end/third_party/lighthouse/locales/it.json +40 -4
  151. package/front_end/third_party/lighthouse/locales/ja.json +39 -3
  152. package/front_end/third_party/lighthouse/locales/ko.json +40 -4
  153. package/front_end/third_party/lighthouse/locales/lt.json +40 -4
  154. package/front_end/third_party/lighthouse/locales/lv.json +56 -20
  155. package/front_end/third_party/lighthouse/locales/nl.json +40 -4
  156. package/front_end/third_party/lighthouse/locales/no.json +56 -20
  157. package/front_end/third_party/lighthouse/locales/pl.json +56 -20
  158. package/front_end/third_party/lighthouse/locales/pt-PT.json +57 -21
  159. package/front_end/third_party/lighthouse/locales/pt.json +41 -5
  160. package/front_end/third_party/lighthouse/locales/ro.json +39 -3
  161. package/front_end/third_party/lighthouse/locales/ru.json +40 -4
  162. package/front_end/third_party/lighthouse/locales/sk.json +39 -3
  163. package/front_end/third_party/lighthouse/locales/sl.json +39 -3
  164. package/front_end/third_party/lighthouse/locales/sr-Latn.json +40 -4
  165. package/front_end/third_party/lighthouse/locales/sr.json +40 -4
  166. package/front_end/third_party/lighthouse/locales/sv.json +39 -3
  167. package/front_end/third_party/lighthouse/locales/ta.json +47 -11
  168. package/front_end/third_party/lighthouse/locales/te.json +61 -25
  169. package/front_end/third_party/lighthouse/locales/th.json +39 -3
  170. package/front_end/third_party/lighthouse/locales/tr.json +40 -4
  171. package/front_end/third_party/lighthouse/locales/uk.json +40 -4
  172. package/front_end/third_party/lighthouse/locales/vi.json +63 -27
  173. package/front_end/third_party/lighthouse/locales/zh-HK.json +40 -4
  174. package/front_end/third_party/lighthouse/locales/zh-TW.json +45 -9
  175. package/front_end/third_party/lighthouse/locales/zh.json +41 -5
  176. package/front_end/third_party/lighthouse/report/bundle.d.ts +1 -0
  177. package/front_end/third_party/lighthouse/report/bundle.js +23 -11
  178. package/front_end/third_party/lighthouse/report-assets/{report-generator.js → report-generator.mjs} +1 -1
  179. package/front_end/third_party/lighthouse/report-assets/{report-generator.d.ts → report-generator.mjs.d.ts} +0 -0
  180. package/front_end/third_party/puppeteer/puppeteer.ts +1 -2
  181. package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +3 -3
  182. package/front_end/ui/legacy/Icon.ts +2 -2
  183. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +1 -1
  184. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +4 -4
  185. package/front_end/ui/legacy/components/perf_ui/LiveHeapProfile.ts +2 -2
  186. package/front_end/ui/legacy/themeColors.css +1 -1
  187. package/package.json +1 -1
  188. package/scripts/build/devtools_plugin.js +11 -0
  189. package/scripts/build/esbuild.js +62 -0
  190. package/scripts/build/ninja/bundle.gni +77 -32
  191. package/scripts/build/ninja/minify-json-files.js +19 -0
  192. package/scripts/build/ninja/minify_json.gni +28 -0
  193. package/scripts/javascript_natives/index.js +9 -6
  194. package/scripts/javascript_natives/package.json +4 -4
@@ -882,13 +882,13 @@
882
882
  "message": "Lingisa ikhasi eligxile kulo"
883
883
  },
884
884
  "entrypoints/inspector_main/RenderingOptions.ts | emulateAutoDarkMode": {
885
- "message": "Enable automatic dark mode"
885
+ "message": "Nika amandla imodi emnyama"
886
886
  },
887
887
  "entrypoints/inspector_main/RenderingOptions.ts | emulatesAFocusedPage": {
888
888
  "message": "I-emulator ikhasi okugxilwe kulo."
889
889
  },
890
890
  "entrypoints/inspector_main/RenderingOptions.ts | emulatesAutoDarkMode": {
891
- "message": "Enables automatic dark mode and sets prefers-color-scheme to dark."
891
+ "message": "Kunika amandla imodi emnyama ezenzekelayo futhi kusetha i-prefers-color-scheme ibe ku-dark."
892
892
  },
893
893
  "entrypoints/inspector_main/RenderingOptions.ts | forcesCssColorgamutMediaFeature": {
894
894
  "message": "Imidiya yesakhi samandla we-CSS color-gamut"
@@ -1308,7 +1308,7 @@
1308
1308
  "message": "Ibhala ifayela…"
1309
1309
  },
1310
1310
  "models/issues_manager/ClientHintIssue.ts | clientHintsInfrastructure": {
1311
- "message": "Client Hints Infrastructure"
1311
+ "message": "I-Client Hints Infrastructure"
1312
1312
  },
1313
1313
  "models/issues_manager/ContentSecurityPolicyIssue.ts | contentSecurityPolicyEval": {
1314
1314
  "message": "Inqubomgomo Yokuphepha Kokuqukethwe - Eval"
@@ -2067,10 +2067,10 @@
2067
2067
  "message": "Ayikwazanga ukulanda i-aykhoni elidingekayo kusuka ku-manifest"
2068
2068
  },
2069
2069
  "panels/application/AppManifestView.ts | darkBackgroundColor": {
2070
- "message": "Dark background color"
2070
+ "message": "Umbala wangemuva omnyama"
2071
2071
  },
2072
2072
  "panels/application/AppManifestView.ts | darkThemeColor": {
2073
- "message": "Dark theme color"
2073
+ "message": "Umbala wetimu emnyama"
2074
2074
  },
2075
2075
  "panels/application/AppManifestView.ts | description": {
2076
2076
  "message": "Incazelo"
@@ -2955,7 +2955,7 @@
2955
2955
  "message": "Amakhasi asebenzisa i-MediaSession API futhi asetha izibambi zesenzo awafaneleki kwinqolobane yasemuva/phambili."
2956
2956
  },
2957
2957
  "panels/application/components/BackForwardCacheStrings.ts | contentScreenReader": {
2958
- "message": "Back/forward cache is disabled due to screen reader."
2958
+ "message": "Inqolobane yasemuva-phambili ikhutshaziwe ngenxa yesifundi sesikrini."
2959
2959
  },
2960
2960
  "panels/application/components/BackForwardCacheStrings.ts | contentSecurityHandler": {
2961
2961
  "message": "Amakhasi asebenzisa i-SecurityHandler awakufanelekeli ukuthola inqolobane yasemuva/phambili."
@@ -2979,49 +2979,49 @@
2979
2979
  "message": "Idokhumenti aliqedanga ukulayisha ngaphambi kokuthi lizulazulele ekuhambeni."
2980
2980
  },
2981
2981
  "panels/application/components/BackForwardCacheStrings.ts | embedderAppBannerManager": {
2982
- "message": "App Banner was present upon navigating away."
2982
+ "message": "Isibhengezo se-App besikhona ngenkathi yokuzulazula kude."
2983
2983
  },
2984
2984
  "panels/application/components/BackForwardCacheStrings.ts | embedderChromePasswordManagerClientBindCredentialManager": {
2985
- "message": "Chrome Password Manager was present upon navigating away."
2985
+ "message": "Isiphathi sephasiwedi ye-Chrome besikhona ngenkathi yokuzulazula kude."
2986
2986
  },
2987
2987
  "panels/application/components/BackForwardCacheStrings.ts | embedderDomDistillerSelfDeletingRequestDelegate": {
2988
- "message": "DOM distillation was in progress upon navigating away."
2988
+ "message": "I-DOM distillation kade iqhubeka ngenkathi kokuzulazula kude."
2989
2989
  },
2990
2990
  "panels/application/components/BackForwardCacheStrings.ts | embedderDomDistillerViewerSource": {
2991
- "message": "DOM Distiller Viewer was present upon navigating away."
2991
+ "message": "Isibukeli se-DOM Distiller besikhona ngenkathi yokuzulazula kude."
2992
2992
  },
2993
2993
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensionMessaging": {
2994
- "message": "Back/forward cache is disabled due to extensions using messaging API."
2994
+ "message": "Inqolobane yasemuva-phambili ikhutshaziwe ngenxa yazandiso ezisebenzisa i-API yokulayeza."
2995
2995
  },
2996
2996
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensionMessagingForOpenPort": {
2997
- "message": "Extensions with long-lived connection should close the connection before entering back/forward cache."
2997
+ "message": "Izandiso ezinoxhumano lwesikhathi eside kufanele zivale uxhumano ngaphambi kokungena kwinqolobane yasemuva phambili."
2998
2998
  },
2999
2999
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensionSentMessageToCachedFrame": {
3000
- "message": "Extensions with long-lived connection attempted to send messages to frames in back/forward cache."
3000
+ "message": "Izandiso ezinoxhumano lwesikhathi eside zizame ukuthumela imiyalezo kwizinhlaka kwinqolobane yasemuva-phambili."
3001
3001
  },
3002
3002
  "panels/application/components/BackForwardCacheStrings.ts | embedderExtensions": {
3003
- "message": "Back/forward cache is disabled due to extensions."
3003
+ "message": "Inqolobane yasemuva-phambili ikhutshaziwe ngenxa yezandiso."
3004
3004
  },
3005
3005
  "panels/application/components/BackForwardCacheStrings.ts | embedderModalDialog": {
3006
- "message": "Modal dialog such as form resubmission or http password dialog was shown for the page upon navigating away."
3006
+ "message": "Ibhokisi le-Modal njengokuthumela kabusha ifomu noma ibhokisi lephasiwedi ye-http kuboniswe ekhasini ngenkathi yokuzulazula kude."
3007
3007
  },
3008
3008
  "panels/application/components/BackForwardCacheStrings.ts | embedderOfflinePage": {
3009
- "message": "The offline page was shown upon navigating away."
3009
+ "message": "Ikhasi lokungaxhunyiwe kwi-inthanethi liboniswe ngenkathi yokuzulazula kude."
3010
3010
  },
3011
3011
  "panels/application/components/BackForwardCacheStrings.ts | embedderOomInterventionTabHelper": {
3012
- "message": "Out-Of-Memory Intervention bar was present upon navigating away."
3012
+ "message": "Ibha ye-Out-Of-Memory Intervention beyikhona ngenkathi yokuzulazula kude."
3013
3013
  },
3014
3014
  "panels/application/components/BackForwardCacheStrings.ts | embedderPermissionRequestManager": {
3015
- "message": "There were permission requests upon navigating away."
3015
+ "message": "Kube khona izicelo zemvuma ngemva kokuzulazula kude."
3016
3016
  },
3017
3017
  "panels/application/components/BackForwardCacheStrings.ts | embedderPopupBlockerTabHelper": {
3018
- "message": "Popup blocker was present upon navigating away."
3018
+ "message": "Isivimbeli se-popup besikhona ngenkathi yokuzulazula kude"
3019
3019
  },
3020
3020
  "panels/application/components/BackForwardCacheStrings.ts | embedderSafeBrowsingThreatDetails": {
3021
- "message": "Safe Browsing details were shown upon navigating away."
3021
+ "message": "Imininingwane Yokubhrawuza Okuphephile iboniswe ngenkathi yokuzulazula kude"
3022
3022
  },
3023
3023
  "panels/application/components/BackForwardCacheStrings.ts | embedderSafeBrowsingTriggeredPopupBlocker": {
3024
- "message": "Safe Browsing considered this page to be abusive and blocked popup."
3024
+ "message": "Ukubhrawuza Okuphephile kubheke leli khasi njengelihlukumezayo futhi kuvimbele i-popup."
3025
3025
  },
3026
3026
  "panels/application/components/BackForwardCacheStrings.ts | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
3027
3027
  "message": "Isisebenzi sesevisi senziwe sasebenza ngenkathi ikhasi likwinqolobane yasemuva/phambili."
@@ -3362,6 +3362,9 @@
3362
3362
  "panels/application/components/FrameDetailsView.ts | parentIsAdExplanation": {
3363
3363
  "message": "Lo zimele unakwa njengozimele wesikhangiso ngoba uzimele ongumzali unguzimele wesikhangiso."
3364
3364
  },
3365
+ "panels/application/components/FrameDetailsView.ts | refresh": {
3366
+ "message": "Vuselela"
3367
+ },
3365
3368
  "panels/application/components/FrameDetailsView.ts | reportingTo": {
3366
3369
  "message": "ibika ku-"
3367
3370
  },
@@ -3719,6 +3722,12 @@
3719
3722
  "panels/console/ConsoleView.ts | consoleSettings": {
3720
3723
  "message": "Amasethingi we-Console"
3721
3724
  },
3725
+ "panels/console/ConsoleView.ts | consoleSidebarHidden": {
3726
+ "message": "Ibha eseceleni yekhonsoli ifihliwe"
3727
+ },
3728
+ "panels/console/ConsoleView.ts | consoleSidebarShown": {
3729
+ "message": "Ibha eseceleni yekhonsoli ibonisiwe"
3730
+ },
3722
3731
  "panels/console/ConsoleView.ts | copyVisibleStyledSelection": {
3723
3732
  "message": "Kopisha ukukhetha okustayiliwe okubonakalayo"
3724
3733
  },
@@ -4376,6 +4385,12 @@
4376
4385
  "panels/elements/ElementsPanel.ts | computed": {
4377
4386
  "message": "Ukubalwa"
4378
4387
  },
4388
+ "panels/elements/ElementsPanel.ts | computedStylesHidden": {
4389
+ "message": "Ibha eseceleni yesitayela zekhompyutha ifihliwe"
4390
+ },
4391
+ "panels/elements/ElementsPanel.ts | computedStylesShown": {
4392
+ "message": "Ibha eseceleni yesitayela zekhompyutha ibonisiwe"
4393
+ },
4379
4394
  "panels/elements/ElementsPanel.ts | domTreeExplorer": {
4380
4395
  "message": "I-DOM tree explorer"
4381
4396
  },
@@ -9533,6 +9548,12 @@
9533
9548
  "panels/sources/SourcesPanel.ts | copyStringContents": {
9534
9549
  "message": "Kopisha okuqukethwe kochungechunge"
9535
9550
  },
9551
+ "panels/sources/SourcesPanel.ts | debuggerHidden": {
9552
+ "message": "Ibha eseceleni yokulungisa amaphutha ifihliwe"
9553
+ },
9554
+ "panels/sources/SourcesPanel.ts | debuggerShown": {
9555
+ "message": "Ibha eseceleni yokulungisa amaphutha ibonisiwe"
9556
+ },
9536
9557
  "panels/sources/SourcesPanel.ts | dontPauseOnExceptions": {
9537
9558
  "message": "Ungakuphumuzi okungafakwanga"
9538
9559
  },
@@ -9551,6 +9572,12 @@
9551
9572
  "panels/sources/SourcesPanel.ts | moreOptions": {
9552
9573
  "message": "Ezinye izinketho"
9553
9574
  },
9575
+ "panels/sources/SourcesPanel.ts | navigatorHidden": {
9576
+ "message": "Ibha eseceleni yokuzulazula ifihliwe"
9577
+ },
9578
+ "panels/sources/SourcesPanel.ts | navigatorShown": {
9579
+ "message": "Ibha eseceleni yokuzula ibonisiwe"
9580
+ },
9554
9581
  "panels/sources/SourcesPanel.ts | openInSourcesPanel": {
9555
9582
  "message": "Vula kuphaneli Yemithombo"
9556
9583
  },
@@ -10268,6 +10295,12 @@
10268
10295
  "panels/timeline/TimelineTreeView.ts | heaviestStack": {
10269
10296
  "message": "Isitaki Esisinda kakhulu"
10270
10297
  },
10298
+ "panels/timeline/TimelineTreeView.ts | heaviestStackHidden": {
10299
+ "message": "Ibha eseceleni yezitaki ezisindayo ifihliwe"
10300
+ },
10301
+ "panels/timeline/TimelineTreeView.ts | heaviestStackShown": {
10302
+ "message": "Ibha eseceleni yezitaki ezisindayo ibonisiwe"
10303
+ },
10271
10304
  "panels/timeline/TimelineTreeView.ts | hideHeaviestStack": {
10272
10305
  "message": "Fihla izitaki ze-Heaviest"
10273
10306
  },
@@ -11583,7 +11616,7 @@
11583
11616
  "message": "Londoloza"
11584
11617
  },
11585
11618
  "ui/legacy/RemoteDebuggingTerminatedScreen.ts | debuggingConnectionWasClosed": {
11586
- "message": "Debugging connection was closed. Reason: "
11619
+ "message": "Uxhumano lokulungisa amaphutha luvaliwe. Isizathu: "
11587
11620
  },
11588
11621
  "ui/legacy/RemoteDebuggingTerminatedScreen.ts | reconnectDevtools": {
11589
11622
  "message": "Xhuma kabusha i-DevTools"
@@ -648,6 +648,10 @@ export class TargetBase {
648
648
  return this.getAgent('EventBreakpoints');
649
649
  }
650
650
 
651
+ fetchAgent(): ProtocolProxyApi.FetchApi {
652
+ return this.getAgent('Fetch');
653
+ }
654
+
651
655
  heapProfilerAgent(): ProtocolProxyApi.HeapProfilerApi {
652
656
  return this.getAgent('HeapProfiler');
653
657
  }
@@ -804,6 +808,10 @@ export class TargetBase {
804
808
  this.registerDispatcher('DOMStorage', dispatcher);
805
809
  }
806
810
 
811
+ registerFetchDispatcher(dispatcher: ProtocolProxyApi.FetchDispatcher): void {
812
+ this.registerDispatcher('Fetch', dispatcher);
813
+ }
814
+
807
815
  registerHeapProfilerDispatcher(dispatcher: ProtocolProxyApi.HeapProfilerDispatcher): void {
808
816
  this.registerDispatcher('HeapProfiler', dispatcher);
809
817
  }
@@ -136,15 +136,15 @@ export class CSSProperty {
136
136
 
137
137
  async setText(propertyText: string, majorChange: boolean, overwrite?: boolean): Promise<boolean> {
138
138
  if (!this.ownerStyle) {
139
- return Promise.reject(new Error('No ownerStyle for property'));
139
+ throw new Error('No ownerStyle for property');
140
140
  }
141
141
 
142
142
  if (!this.ownerStyle.styleSheetId) {
143
- return Promise.reject(new Error('No owner style id'));
143
+ throw new Error('No owner style id');
144
144
  }
145
145
 
146
146
  if (!this.range || !this.ownerStyle.range) {
147
- return Promise.reject(new Error('Style not editable'));
147
+ throw new Error('Style not editable');
148
148
  }
149
149
 
150
150
  if (majorChange) {
@@ -156,7 +156,7 @@ export class CSSProperty {
156
156
 
157
157
  if (overwrite && propertyText === this.propertyText) {
158
158
  this.ownerStyle.cssModel().domModel().markUndoableState(!majorChange);
159
- return Promise.resolve(true);
159
+ return true;
160
160
  }
161
161
 
162
162
  const range = this.range.relativeTo(this.ownerStyle.range.startLine, this.ownerStyle.range.startColumn);
@@ -178,15 +178,15 @@ export class CSSProperty {
178
178
  void this.setText(text, majorChange, overwrite).then(userCallback);
179
179
  }
180
180
 
181
- setDisabled(disabled: boolean): Promise<boolean> {
181
+ async setDisabled(disabled: boolean): Promise<boolean> {
182
182
  if (!this.ownerStyle) {
183
- return Promise.resolve(false);
183
+ return false;
184
184
  }
185
185
  if (disabled === this.disabled) {
186
- return Promise.resolve(true);
186
+ return true;
187
187
  }
188
188
  if (!this.text) {
189
- return Promise.resolve(true);
189
+ return true;
190
190
  }
191
191
  const propertyText = this.text.trim();
192
192
  // Ensure that if we try to enable/disable a property that has no semicolon (which is only legal
@@ -123,14 +123,17 @@ const CONNECTION_TYPES = new Map([
123
123
 
124
124
  export class NetworkManager extends SDKModel<EventTypes> {
125
125
  readonly dispatcher: NetworkDispatcher;
126
+ readonly fetchDispatcher: FetchDispatcher;
126
127
  readonly #networkAgent: ProtocolProxyApi.NetworkApi;
127
128
  readonly #bypassServiceWorkerSetting: Common.Settings.Setting<boolean>;
128
129
 
129
130
  constructor(target: Target) {
130
131
  super(target);
131
132
  this.dispatcher = new NetworkDispatcher(this);
133
+ this.fetchDispatcher = new FetchDispatcher(target.fetchAgent());
132
134
  this.#networkAgent = target.networkAgent();
133
135
  target.registerNetworkDispatcher(this.dispatcher);
136
+ target.registerFetchDispatcher(this.fetchDispatcher);
134
137
  if (Common.Settings.Settings.instance().moduleSetting('cacheDisabled').get()) {
135
138
  void this.#networkAgent.invoke_setCacheDisabled({cacheDisabled: true});
136
139
  }
@@ -372,6 +375,23 @@ export const Fast3GConditions: Conditions = {
372
375
 
373
376
  const MAX_EAGER_POST_REQUEST_BODY_LENGTH = 64 * 1024; // bytes
374
377
 
378
+ export class FetchDispatcher implements ProtocolProxyApi.FetchDispatcher {
379
+ readonly #fetchAgent: ProtocolProxyApi.FetchApi;
380
+
381
+ constructor(agent: ProtocolProxyApi.FetchApi) {
382
+ this.#fetchAgent = agent;
383
+ }
384
+
385
+ requestPaused({requestId, request, resourceType, responseStatusCode, responseHeaders}:
386
+ Protocol.Fetch.RequestPausedEvent): void {
387
+ void MultitargetNetworkManager.instance().requestIntercepted(new InterceptedRequest(
388
+ this.#fetchAgent, request, resourceType, requestId, responseStatusCode, responseHeaders));
389
+ }
390
+
391
+ authRequired({}: Protocol.Fetch.AuthRequiredEvent): void {
392
+ }
393
+ }
394
+
375
395
  export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
376
396
  readonly #manager: NetworkManager;
377
397
  #requestsById: Map<string, NetworkRequest>;
@@ -782,23 +802,7 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
782
802
  networkRequest.addEventSourceMessage(time, eventName, eventId, data);
783
803
  }
784
804
 
785
- requestIntercepted({
786
- interceptionId,
787
- request,
788
- frameId,
789
- resourceType,
790
- isNavigationRequest,
791
- isDownload,
792
- redirectUrl,
793
- authChallenge,
794
- responseErrorReason,
795
- responseStatusCode,
796
- responseHeaders,
797
- requestId,
798
- }: Protocol.Network.RequestInterceptedEvent): void {
799
- void MultitargetNetworkManager.instance().requestIntercepted(new InterceptedRequest(
800
- this.#manager.target().networkAgent(), interceptionId, request, frameId, resourceType, isNavigationRequest,
801
- isDownload, redirectUrl, authChallenge, responseErrorReason, responseStatusCode, responseHeaders, requestId));
805
+ requestIntercepted({}: Protocol.Network.RequestInterceptedEvent): void {
802
806
  }
803
807
 
804
808
  requestWillBeSentExtraInfo({requestId, associatedCookies, headers, clientSecurityState, connectTiming}:
@@ -1070,7 +1074,8 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1070
1074
  #userAgentOverrideInternal: string;
1071
1075
  #userAgentMetadataOverride: Protocol.Emulation.UserAgentMetadata|null;
1072
1076
  #customAcceptedEncodings: Protocol.Network.ContentEncoding[]|null;
1073
- readonly #agents: Set<ProtocolProxyApi.NetworkApi>;
1077
+ readonly #networkAgents: Set<ProtocolProxyApi.NetworkApi>;
1078
+ readonly #fetchAgents: Set<ProtocolProxyApi.FetchApi>;
1074
1079
  readonly inflightMainResourceRequests: Map<string, NetworkRequest>;
1075
1080
  #networkConditionsInternal: Conditions;
1076
1081
  #updatingInterceptionPatternsPromise: Promise<void>|null;
@@ -1087,7 +1092,8 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1087
1092
  this.#userAgentOverrideInternal = '';
1088
1093
  this.#userAgentMetadataOverride = null;
1089
1094
  this.#customAcceptedEncodings = null;
1090
- this.#agents = new Set();
1095
+ this.#networkAgents = new Set();
1096
+ this.#fetchAgents = new Set();
1091
1097
  this.inflightMainResourceRequests = new Map();
1092
1098
  this.#networkConditionsInternal = NoThrottlingConditions;
1093
1099
  this.#updatingInterceptionPatternsPromise = null;
@@ -1162,6 +1168,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1162
1168
 
1163
1169
  modelAdded(networkManager: NetworkManager): void {
1164
1170
  const networkAgent = networkManager.target().networkAgent();
1171
+ const fetchAgent = networkManager.target().fetchAgent();
1165
1172
  if (this.#extraHeaders) {
1166
1173
  void networkAgent.invoke_setExtraHTTPHeaders({headers: this.#extraHeaders});
1167
1174
  }
@@ -1173,14 +1180,15 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1173
1180
  void networkAgent.invoke_setBlockedURLs({urls: this.#effectiveBlockedURLs});
1174
1181
  }
1175
1182
  if (this.isIntercepting()) {
1176
- void networkAgent.invoke_setRequestInterception({patterns: this.#urlsForRequestInterceptor.valuesArray()});
1183
+ void fetchAgent.invoke_enable({patterns: this.#urlsForRequestInterceptor.valuesArray()});
1177
1184
  }
1178
1185
  if (this.#customAcceptedEncodings === null) {
1179
1186
  void networkAgent.invoke_clearAcceptedEncodingsOverride();
1180
1187
  } else {
1181
1188
  void networkAgent.invoke_setAcceptedEncodings({encodings: this.#customAcceptedEncodings});
1182
1189
  }
1183
- this.#agents.add(networkAgent);
1190
+ this.#networkAgents.add(networkAgent);
1191
+ this.#fetchAgents.add(fetchAgent);
1184
1192
  if (this.isThrottling()) {
1185
1193
  this.updateNetworkConditions(networkAgent);
1186
1194
  }
@@ -1194,7 +1202,8 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1194
1202
  }
1195
1203
  this.inflightMainResourceRequests.delete((entry[0] as string));
1196
1204
  }
1197
- this.#agents.delete(networkManager.target().networkAgent());
1205
+ this.#networkAgents.delete(networkManager.target().networkAgent());
1206
+ this.#fetchAgents.delete(networkManager.target().fetchAgent());
1198
1207
  }
1199
1208
 
1200
1209
  isThrottling(): boolean {
@@ -1208,7 +1217,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1208
1217
 
1209
1218
  setNetworkConditions(conditions: Conditions): void {
1210
1219
  this.#networkConditionsInternal = conditions;
1211
- for (const agent of this.#agents) {
1220
+ for (const agent of this.#networkAgents) {
1212
1221
  this.updateNetworkConditions(agent);
1213
1222
  }
1214
1223
  this.dispatchEventToListeners(MultitargetNetworkManager.Events.ConditionsChanged);
@@ -1236,7 +1245,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1236
1245
 
1237
1246
  setExtraHTTPHeaders(headers: Protocol.Network.Headers): void {
1238
1247
  this.#extraHeaders = headers;
1239
- for (const agent of this.#agents) {
1248
+ for (const agent of this.#networkAgents) {
1240
1249
  void agent.invoke_setExtraHTTPHeaders({headers: this.#extraHeaders});
1241
1250
  }
1242
1251
  }
@@ -1247,7 +1256,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1247
1256
 
1248
1257
  private updateUserAgentOverride(): void {
1249
1258
  const userAgent = this.currentUserAgent();
1250
- for (const agent of this.#agents) {
1259
+ for (const agent of this.#networkAgents) {
1251
1260
  void agent.invoke_setUserAgentOverride(
1252
1261
  {userAgent: userAgent, userAgentMetadata: this.#userAgentMetadataOverride || undefined});
1253
1262
  }
@@ -1297,7 +1306,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1297
1306
 
1298
1307
  private updateAcceptedEncodingsOverride(): void {
1299
1308
  const customAcceptedEncodings = this.#customAcceptedEncodings;
1300
- for (const agent of this.#agents) {
1309
+ for (const agent of this.#networkAgents) {
1301
1310
  if (customAcceptedEncodings === null) {
1302
1311
  void agent.invoke_clearAcceptedEncodingsOverride();
1303
1312
  } else {
@@ -1348,7 +1357,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1348
1357
  return;
1349
1358
  }
1350
1359
  this.#effectiveBlockedURLs = urls;
1351
- for (const agent of this.#agents) {
1360
+ for (const agent of this.#networkAgents) {
1352
1361
  void agent.invoke_setBlockedURLs({urls: this.#effectiveBlockedURLs});
1353
1362
  }
1354
1363
  }
@@ -1381,8 +1390,8 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1381
1390
  }
1382
1391
  this.#updatingInterceptionPatternsPromise = null;
1383
1392
  const promises = ([] as Promise<unknown>[]);
1384
- for (const agent of this.#agents) {
1385
- promises.push(agent.invoke_setRequestInterception({patterns: this.#urlsForRequestInterceptor.valuesArray()}));
1393
+ for (const agent of this.#fetchAgents) {
1394
+ promises.push(agent.invoke_enable({patterns: this.#urlsForRequestInterceptor.valuesArray()}));
1386
1395
  }
1387
1396
  this.dispatchEventToListeners(MultitargetNetworkManager.Events.InterceptorsChanged);
1388
1397
  await Promise.all(promises);
@@ -1401,13 +1410,13 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
1401
1410
  }
1402
1411
 
1403
1412
  clearBrowserCache(): void {
1404
- for (const agent of this.#agents) {
1413
+ for (const agent of this.#networkAgents) {
1405
1414
  void agent.invoke_clearBrowserCache();
1406
1415
  }
1407
1416
  }
1408
1417
 
1409
1418
  clearBrowserCookies(): void {
1410
- for (const agent of this.#agents) {
1419
+ for (const agent of this.#networkAgents) {
1411
1420
  void agent.invoke_clearBrowserCookies();
1412
1421
  }
1413
1422
  }
@@ -1470,38 +1479,26 @@ export namespace MultitargetNetworkManager {
1470
1479
  }
1471
1480
 
1472
1481
  export class InterceptedRequest {
1473
- readonly #networkAgent: ProtocolProxyApi.NetworkApi;
1474
- readonly #interceptionId: Protocol.Network.InterceptionId;
1482
+ readonly #fetchAgent: ProtocolProxyApi.FetchApi;
1475
1483
  #hasRespondedInternal: boolean;
1476
1484
  request: Protocol.Network.Request;
1477
- frameId: Protocol.Page.FrameId;
1478
1485
  resourceType: Protocol.Network.ResourceType;
1479
- isNavigationRequest: boolean;
1480
- isDownload: boolean;
1481
- redirectUrl: string|undefined;
1482
- authChallenge: Protocol.Network.AuthChallenge|undefined;
1483
- responseErrorReason: Protocol.Network.ErrorReason|undefined;
1484
1486
  responseStatusCode: number|undefined;
1485
- responseHeaders: Protocol.Network.Headers|undefined;
1486
- requestId: string|undefined;
1487
+ responseHeaders: Protocol.Fetch.HeaderEntry[]|undefined;
1488
+ requestId: Protocol.Fetch.RequestId;
1487
1489
 
1488
1490
  constructor(
1489
- networkAgent: ProtocolProxyApi.NetworkApi, interceptionId: Protocol.Network.InterceptionId,
1490
- request: Protocol.Network.Request, frameId: Protocol.Page.FrameId, resourceType: Protocol.Network.ResourceType,
1491
- isNavigationRequest: boolean, isDownload?: boolean, redirectUrl?: string,
1492
- authChallenge?: Protocol.Network.AuthChallenge, responseErrorReason?: Protocol.Network.ErrorReason,
1493
- responseStatusCode?: number, responseHeaders?: Protocol.Network.Headers, requestId?: string) {
1494
- this.#networkAgent = networkAgent;
1495
- this.#interceptionId = interceptionId;
1491
+ fetchAgent: ProtocolProxyApi.FetchApi,
1492
+ request: Protocol.Network.Request,
1493
+ resourceType: Protocol.Network.ResourceType,
1494
+ requestId: Protocol.Fetch.RequestId,
1495
+ responseStatusCode?: number,
1496
+ responseHeaders?: Protocol.Fetch.HeaderEntry[],
1497
+ ) {
1498
+ this.#fetchAgent = fetchAgent;
1496
1499
  this.#hasRespondedInternal = false;
1497
1500
  this.request = request;
1498
- this.frameId = frameId;
1499
1501
  this.resourceType = resourceType;
1500
- this.isNavigationRequest = isNavigationRequest;
1501
- this.isDownload = Boolean(isDownload);
1502
- this.redirectUrl = redirectUrl;
1503
- this.authChallenge = authChallenge;
1504
- this.responseErrorReason = responseErrorReason;
1505
1502
  this.responseStatusCode = responseStatusCode;
1506
1503
  this.responseHeaders = responseHeaders;
1507
1504
  this.requestId = requestId;
@@ -1513,17 +1510,9 @@ export class InterceptedRequest {
1513
1510
 
1514
1511
  async continueRequestWithContent(contentBlob: Blob): Promise<void> {
1515
1512
  this.#hasRespondedInternal = true;
1516
- const headers = [
1517
- 'HTTP/1.1 200 OK',
1518
- 'Date: ' + (new Date()).toUTCString(),
1519
- 'Server: Chrome Devtools Request Interceptor',
1520
- 'Connection: closed',
1521
- 'Content-Length: ' + contentBlob.size,
1522
- 'Content-Type: ' + contentBlob.type || 'text/x-unknown',
1523
- ];
1524
- const encodedResponse = await blobToBase64(new Blob([headers.join('\r\n'), '\r\n\r\n', contentBlob]));
1525
- void this.#networkAgent.invoke_continueInterceptedRequest(
1526
- {interceptionId: this.#interceptionId, rawResponse: encodedResponse});
1513
+ const body = await blobToBase64(contentBlob);
1514
+ void this.#fetchAgent.invoke_fulfillRequest(
1515
+ {requestId: this.requestId, responseCode: this.responseStatusCode || 200, body});
1527
1516
 
1528
1517
  async function blobToBase64(blob: Blob): Promise<string> {
1529
1518
  const reader = new FileReader();
@@ -1548,18 +1537,17 @@ export class InterceptedRequest {
1548
1537
  continueRequestWithoutChange(): void {
1549
1538
  console.assert(!this.#hasRespondedInternal);
1550
1539
  this.#hasRespondedInternal = true;
1551
- void this.#networkAgent.invoke_continueInterceptedRequest({interceptionId: this.#interceptionId});
1540
+ void this.#fetchAgent.invoke_continueRequest({requestId: this.requestId});
1552
1541
  }
1553
1542
 
1554
1543
  continueRequestWithError(errorReason: Protocol.Network.ErrorReason): void {
1555
1544
  console.assert(!this.#hasRespondedInternal);
1556
1545
  this.#hasRespondedInternal = true;
1557
- void this.#networkAgent.invoke_continueInterceptedRequest({interceptionId: this.#interceptionId, errorReason});
1546
+ void this.#fetchAgent.invoke_failRequest({requestId: this.requestId, errorReason});
1558
1547
  }
1559
1548
 
1560
1549
  async responseBody(): Promise<ContentData> {
1561
- const response =
1562
- await this.#networkAgent.invoke_getResponseBodyForInterception({interceptionId: this.#interceptionId});
1550
+ const response = await this.#fetchAgent.invoke_getResponseBody({requestId: this.requestId});
1563
1551
  const error = response.getError() || null;
1564
1552
  return {error: error, content: error ? null : response.body, encoded: response.base64Encoded};
1565
1553
  }
@@ -1714,7 +1702,7 @@ export interface Message {
1714
1702
 
1715
1703
  export interface InterceptionPattern {
1716
1704
  urlPattern: string;
1717
- interceptionStage: Protocol.Network.InterceptionStage;
1705
+ requestStage: Protocol.Fetch.RequestStage;
1718
1706
  }
1719
1707
 
1720
1708
  export type RequestInterceptor = (request: InterceptedRequest) => Promise<void>;
@@ -199,7 +199,7 @@ export class RemoteObject {
199
199
  if (property.isAccessorProperty()) {
200
200
  continue;
201
201
  }
202
- if (property.symbol) {
202
+ if (property.private || property.symbol) {
203
203
  propertySymbols.push(property);
204
204
  } else {
205
205
  propertiesMap.set(property.name, property);
@@ -168,9 +168,12 @@ export class Resource implements TextUtils.ContentProvider.ContentProvider {
168
168
  return this.#contentEncodedInternal;
169
169
  }
170
170
 
171
- requestContent(): Promise<TextUtils.ContentProvider.DeferredContent> {
171
+ async requestContent(): Promise<TextUtils.ContentProvider.DeferredContent> {
172
172
  if (typeof this.#contentInternal !== 'undefined') {
173
- return Promise.resolve({content: (this.#contentInternal as string), isEncoded: this.#contentEncodedInternal});
173
+ return {
174
+ content: (this.#contentInternal as string),
175
+ isEncoded: this.#contentEncodedInternal,
176
+ };
174
177
  }
175
178
 
176
179
  return new Promise(resolve => {
@@ -442,6 +442,16 @@ export class RuntimeModel extends SDKModel<EventTypes> {
442
442
  terminateExecution(): Promise<any> {
443
443
  return this.agent.invoke_terminateExecution();
444
444
  }
445
+
446
+ async getExceptionDetails(errorObjectId: Protocol.Runtime.RemoteObjectId):
447
+ Promise<Protocol.Runtime.ExceptionDetails|undefined> {
448
+ const response = await this.agent.invoke_getExceptionDetails({errorObjectId});
449
+ if (response.getError()) {
450
+ // This CDP method errors if called with non-Error object ids. Swallow that.
451
+ return undefined;
452
+ }
453
+ return response.exceptionDetails;
454
+ }
445
455
  }
446
456
 
447
457
  /**
@@ -28,6 +28,11 @@
28
28
  */
29
29
  this._addExtensionCallback = null;
30
30
 
31
+ /**
32
+ * @type {!Array<string>}
33
+ */
34
+ this._originsForbiddenForExtensions = [];
35
+
31
36
  /**
32
37
  * @type {!Promise<string>}
33
38
  */
@@ -95,6 +100,20 @@
95
100
  }
96
101
  }
97
102
 
103
+ /**
104
+ * @param {!Array<string>} forbiddenOrigins
105
+ */
106
+ setOriginsForbiddenForExtensions(forbiddenOrigins) {
107
+ this._originsForbiddenForExtensions = forbiddenOrigins;
108
+ }
109
+
110
+ /**
111
+ * @return {!Array<string>}
112
+ */
113
+ getOriginsForbiddenForExtensions() {
114
+ return this._originsForbiddenForExtensions;
115
+ }
116
+
98
117
  /**
99
118
  * @param {string} url
100
119
  */
@@ -2,10 +2,10 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import '../../third_party/codemirror/package/addon/runmode/runmode-standalone.js';
6
- import '../../third_party/codemirror/package/mode/css/css.js';
7
- import '../../third_party/codemirror/package/mode/xml/xml.js';
8
- import '../../third_party/codemirror/package/mode/javascript/javascript.js';
5
+ import '../../third_party/codemirror/package/addon/runmode/runmode-standalone.mjs';
6
+ import '../../third_party/codemirror/package/mode/css/css.mjs';
7
+ import '../../third_party/codemirror/package/mode/xml/xml.mjs';
8
+ import '../../third_party/codemirror/package/mode/javascript/javascript.mjs';
9
9
 
10
10
  import * as CSSFormatter from './CSSFormatter.js';
11
11
  import * as CSSRuleParser from './CSSRuleParser.js';