chrome-devtools-frontend 1.0.1011873 → 1.0.1013237

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 (43) hide show
  1. package/codereview.settings +4 -0
  2. package/config/gni/devtools_grd_files.gni +3 -0
  3. package/front_end/core/host/UserMetrics.ts +5 -2
  4. package/front_end/core/i18n/locales/en-US.json +38 -2
  5. package/front_end/core/i18n/locales/en-XL.json +38 -2
  6. package/front_end/core/root/Runtime.ts +2 -0
  7. package/front_end/core/sdk/CSSFontFace.ts +6 -0
  8. package/front_end/core/sdk/CSSModel.ts +4 -0
  9. package/front_end/entrypoints/main/MainImpl.ts +9 -0
  10. package/front_end/entrypoints/wasmparser_worker/WasmParserWorker.ts +2 -14
  11. package/front_end/generated/InspectorBackendCommands.js +2 -0
  12. package/front_end/generated/protocol.ts +20 -0
  13. package/front_end/models/emulation/EmulatedDevices.ts +29 -2
  14. package/front_end/models/javascript_metadata/NativeFunctions.js +8 -17
  15. package/front_end/models/persistence/NetworkPersistenceManager.ts +7 -4
  16. package/front_end/panels/application/AppManifestView.ts +12 -1
  17. package/front_end/panels/application/DOMStorageItemsView.ts +5 -5
  18. package/front_end/panels/application/components/ProtocolHandlersView.ts +182 -0
  19. package/front_end/panels/application/components/components.ts +2 -0
  20. package/front_end/panels/application/components/protocolHandlersView.css +39 -0
  21. package/front_end/panels/profiler/HeapSnapshotView.ts +3 -1
  22. package/front_end/panels/sources/NavigatorView.ts +50 -22
  23. package/front_end/panels/sources/SourcesNavigator.ts +45 -1
  24. package/front_end/panels/sources/SourcesPanel.ts +26 -4
  25. package/front_end/panels/sources/navigatorTree.css +4 -0
  26. package/front_end/panels/sources/sourcesNavigator.css +10 -0
  27. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +15 -15
  28. package/front_end/third_party/lighthouse/report/bundle.d.ts +23 -2
  29. package/front_end/third_party/lighthouse/report/bundle.js +45 -19
  30. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  31. package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewer.ts +16 -11
  32. package/front_end/ui/components/linear_memory_inspector/linearMemoryInspector.css +4 -0
  33. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +34 -13
  34. package/front_end/ui/components/panel_feedback/previewToggle.css +21 -1
  35. package/front_end/ui/components/text_editor/config.ts +2 -2
  36. package/front_end/ui/legacy/ContextMenu.ts +11 -2
  37. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +15 -12
  38. package/package.json +1 -1
  39. package/scripts/build/ninja/devtools_entrypoint.gni +3 -3
  40. package/scripts/build/ninja/wasm.gni +25 -0
  41. package/scripts/build/wasm-as.py +87 -0
  42. package/scripts/build/wasm_sourcemap.mjs +22 -0
  43. package/scripts/eslint_rules/lib/lit_template_result_or_nothing.js +6 -0
@@ -0,0 +1,4 @@
1
+ # This file is used by git-cl to get repository specific information.
2
+ GERRIT_HOST: True
3
+ CODE_REVIEW_SERVER: codereview.chromium.org
4
+ PROJECT: devtools-frontend
@@ -847,6 +847,7 @@ grd_files_debug_sources = [
847
847
  "front_end/panels/application/components/InterestGroupAccessGrid.js",
848
848
  "front_end/panels/application/components/OriginTrialTreeView.js",
849
849
  "front_end/panels/application/components/PermissionsPolicySection.js",
850
+ "front_end/panels/application/components/ProtocolHandlersView.js",
850
851
  "front_end/panels/application/components/ReportsGrid.js",
851
852
  "front_end/panels/application/components/StackTrace.js",
852
853
  "front_end/panels/application/components/TrustTokensView.js",
@@ -857,6 +858,7 @@ grd_files_debug_sources = [
857
858
  "front_end/panels/application/components/originTrialTokenRows.css.js",
858
859
  "front_end/panels/application/components/originTrialTreeView.css.js",
859
860
  "front_end/panels/application/components/permissionsPolicySection.css.js",
861
+ "front_end/panels/application/components/protocolHandlersView.css.js",
860
862
  "front_end/panels/application/components/reportingApiGrid.css.js",
861
863
  "front_end/panels/application/components/stackTraceLinkButton.css.js",
862
864
  "front_end/panels/application/components/stackTraceRow.css.js",
@@ -1252,6 +1254,7 @@ grd_files_debug_sources = [
1252
1254
  "front_end/panels/sources/navigatorTree.css.js",
1253
1255
  "front_end/panels/sources/navigatorView.css.js",
1254
1256
  "front_end/panels/sources/scopeChainSidebarPane.css.js",
1257
+ "front_end/panels/sources/sourcesNavigator.css.js",
1255
1258
  "front_end/panels/sources/sourcesPanel.css.js",
1256
1259
  "front_end/panels/sources/sourcesView.css.js",
1257
1260
  "front_end/panels/sources/threadsSidebarPane.css.js",
@@ -345,7 +345,8 @@ export enum Action {
345
345
  PerfPanelTraceImported = 54,
346
346
  PerfPanelTraceExported = 55,
347
347
  StackFrameRestarted = 56,
348
- MaxValue = 57,
348
+ CaptureTestProtocolClicked = 57,
349
+ MaxValue = 58,
349
350
  }
350
351
 
351
352
  /* eslint-disable @typescript-eslint/naming-convention */
@@ -626,8 +627,10 @@ export enum DevtoolsExperiments {
626
627
  'cssLayers' = 59,
627
628
  'eyedropperColorPicker' = 60,
628
629
  'instrumentationBreakpoints' = 61,
630
+ 'cssAuthoringHints' = 62,
631
+ 'authoredDeployedGrouping' = 63,
629
632
  // Increment this when new experiments are added.
630
- 'MaxValue' = 62,
633
+ 'MaxValue' = 64,
631
634
  }
632
635
  /* eslint-enable @typescript-eslint/naming-convention */
633
636
 
@@ -2426,6 +2426,9 @@
2426
2426
  "panels/application/AppManifestView.ts | primaryManifestIconFromS": {
2427
2427
  "message": "Primary manifest icon from {PH1}"
2428
2428
  },
2429
+ "panels/application/AppManifestView.ts | protocolHandlers": {
2430
+ "message": "Protocol Handlers"
2431
+ },
2429
2432
  "panels/application/AppManifestView.ts | screenshot": {
2430
2433
  "message": "Screenshot"
2431
2434
  },
@@ -3197,6 +3200,24 @@
3197
3200
  "panels/application/components/PermissionsPolicySection.ts | showDetails": {
3198
3201
  "message": "Show details"
3199
3202
  },
3203
+ "panels/application/components/ProtocolHandlersView.ts | manifest": {
3204
+ "message": "manifest"
3205
+ },
3206
+ "panels/application/components/ProtocolHandlersView.ts | needHelpReadOur": {
3207
+ "message": "Need help? Read {PH1}."
3208
+ },
3209
+ "panels/application/components/ProtocolHandlersView.ts | protocolDetected": {
3210
+ "message": "Found valid protocol handler registration in the {PH1}. With the app installed, test the registered protocols."
3211
+ },
3212
+ "panels/application/components/ProtocolHandlersView.ts | protocolHandlerRegistrations": {
3213
+ "message": "URL protocol handler registration for PWAs"
3214
+ },
3215
+ "panels/application/components/ProtocolHandlersView.ts | protocolNotDetected": {
3216
+ "message": "Define protocol handlers in the {PH1} to register your app as a handler for custom protocols when your app is installed."
3217
+ },
3218
+ "panels/application/components/ProtocolHandlersView.ts | testProtocol": {
3219
+ "message": "Test protocol"
3220
+ },
3200
3221
  "panels/application/components/ReportsGrid.ts | destination": {
3201
3222
  "message": "Destination"
3202
3223
  },
@@ -3291,7 +3312,7 @@
3291
3312
  "message": "DOM Storage Items"
3292
3313
  },
3293
3314
  "panels/application/DOMStorageItemsView.ts | domStorageItemsCleared": {
3294
- "message": "{PH1} cleared"
3315
+ "message": "DOM Storage Items cleared"
3295
3316
  },
3296
3317
  "panels/application/DOMStorageItemsView.ts | domStorageNumberEntries": {
3297
3318
  "message": "Number of entries shown in table: {PH1}"
@@ -9794,6 +9815,9 @@
9794
9815
  "panels/sources/NavigatorView.ts | authored": {
9795
9816
  "message": "Authored"
9796
9817
  },
9818
+ "panels/sources/NavigatorView.ts | authoredTooltip": {
9819
+ "message": "Contains original sources"
9820
+ },
9797
9821
  "panels/sources/NavigatorView.ts | delete": {
9798
9822
  "message": "Delete"
9799
9823
  },
@@ -9803,6 +9827,9 @@
9803
9827
  "panels/sources/NavigatorView.ts | deployed": {
9804
9828
  "message": "Deployed"
9805
9829
  },
9830
+ "panels/sources/NavigatorView.ts | deployedTooltip": {
9831
+ "message": "Contains final sources the browser sees"
9832
+ },
9806
9833
  "panels/sources/NavigatorView.ts | excludeFolder": {
9807
9834
  "message": "Exclude folder"
9808
9835
  },
@@ -10163,6 +10190,9 @@
10163
10190
  "panels/sources/sources-meta.ts | watch": {
10164
10191
  "message": "Watch"
10165
10192
  },
10193
+ "panels/sources/SourcesNavigator.ts | authoredDescription": {
10194
+ "message": "Group files by Authored/Deployed"
10195
+ },
10166
10196
  "panels/sources/SourcesNavigator.ts | clearConfiguration": {
10167
10197
  "message": "Clear configuration"
10168
10198
  },
@@ -10233,7 +10263,7 @@
10233
10263
  "message": "Drop workspace folder here"
10234
10264
  },
10235
10265
  "panels/sources/SourcesPanel.ts | groupByAuthored": {
10236
- "message": "Group by Authored/Deployed (experimental)"
10266
+ "message": "Group by Authored/Deployed"
10237
10267
  },
10238
10268
  "panels/sources/SourcesPanel.ts | groupByFolder": {
10239
10269
  "message": "Group by folder"
@@ -11906,9 +11936,15 @@
11906
11936
  "ui/components/panel_feedback/PanelFeedback.ts | videoAndDocumentation": {
11907
11937
  "message": "Video and documentation"
11908
11938
  },
11939
+ "ui/components/panel_feedback/PreviewToggle.ts | learnMoreLink": {
11940
+ "message": "Learn More"
11941
+ },
11909
11942
  "ui/components/panel_feedback/PreviewToggle.ts | previewTextFeedbackLink": {
11910
11943
  "message": "Send us your feedback."
11911
11944
  },
11945
+ "ui/components/panel_feedback/PreviewToggle.ts | shortFeedbackLink": {
11946
+ "message": "Send feedback"
11947
+ },
11912
11948
  "ui/components/request_link_icon/RequestLinkIcon.ts | clickToShowRequestInTheNetwork": {
11913
11949
  "message": "Click to open the network panel and show request for URL: {url}"
11914
11950
  },
@@ -2426,6 +2426,9 @@
2426
2426
  "panels/application/AppManifestView.ts | primaryManifestIconFromS": {
2427
2427
  "message": "P̂ŕîḿâŕŷ ḿâńîf́êśt̂ íĉón̂ f́r̂óm̂ {PH1}"
2428
2428
  },
2429
+ "panels/application/AppManifestView.ts | protocolHandlers": {
2430
+ "message": "P̂ŕôt́ôćôĺ Ĥán̂d́l̂ér̂ś"
2431
+ },
2429
2432
  "panels/application/AppManifestView.ts | screenshot": {
2430
2433
  "message": "Ŝćr̂éêńŝh́ôt́"
2431
2434
  },
@@ -3197,6 +3200,24 @@
3197
3200
  "panels/application/components/PermissionsPolicySection.ts | showDetails": {
3198
3201
  "message": "Ŝh́ôẃ d̂ét̂áîĺŝ"
3199
3202
  },
3203
+ "panels/application/components/ProtocolHandlersView.ts | manifest": {
3204
+ "message": "m̂án̂íf̂éŝt́"
3205
+ },
3206
+ "panels/application/components/ProtocolHandlersView.ts | needHelpReadOur": {
3207
+ "message": "N̂éêd́ ĥél̂ṕ? R̂éâd́ {PH1}."
3208
+ },
3209
+ "panels/application/components/ProtocolHandlersView.ts | protocolDetected": {
3210
+ "message": "F̂óûńd̂ v́âĺîd́ p̂ŕôt́ôćôĺ ĥán̂d́l̂ér̂ ŕêǵîśt̂ŕât́îón̂ ín̂ t́ĥé {PH1}. Ŵít̂h́ t̂h́ê áp̂ṕ îńŝt́âĺl̂éd̂, t́êśt̂ t́ĥé r̂éĝíŝt́êŕêd́ p̂ŕôt́ôćôĺŝ."
3211
+ },
3212
+ "panels/application/components/ProtocolHandlersView.ts | protocolHandlerRegistrations": {
3213
+ "message": "ÛŔL̂ ṕr̂ót̂óĉól̂ h́âńd̂ĺêŕ r̂éĝíŝt́r̂át̂íôń f̂ór̂ ṔŴÁŝ"
3214
+ },
3215
+ "panels/application/components/ProtocolHandlersView.ts | protocolNotDetected": {
3216
+ "message": "D̂éf̂ín̂é p̂ŕôt́ôćôĺ ĥán̂d́l̂ér̂ś îń t̂h́ê {PH1} t́ô ŕêǵîśt̂ér̂ ýôúr̂ áp̂ṕ âś â h́âńd̂ĺêŕ f̂ór̂ ćûśt̂óm̂ ṕr̂ót̂óĉól̂ś ŵh́êń ŷóûŕ âṕp̂ íŝ ín̂śt̂ál̂ĺêd́."
3217
+ },
3218
+ "panels/application/components/ProtocolHandlersView.ts | testProtocol": {
3219
+ "message": "T̂éŝt́ p̂ŕôt́ôćôĺ"
3220
+ },
3200
3221
  "panels/application/components/ReportsGrid.ts | destination": {
3201
3222
  "message": "D̂éŝt́îńât́îón̂"
3202
3223
  },
@@ -3291,7 +3312,7 @@
3291
3312
  "message": "D̂ÓM̂ Śt̂ór̂áĝé Ît́êḿŝ"
3292
3313
  },
3293
3314
  "panels/application/DOMStorageItemsView.ts | domStorageItemsCleared": {
3294
- "message": "{PH1} ĉĺêár̂éd̂"
3315
+ "message": "D̂ÓM̂ Śt̂ór̂áĝé Ît́êḿŝ ćl̂éâŕêd́"
3295
3316
  },
3296
3317
  "panels/application/DOMStorageItemsView.ts | domStorageNumberEntries": {
3297
3318
  "message": "N̂úm̂b́êŕ ôf́ êńt̂ŕîéŝ śĥóŵń îń t̂áb̂ĺê: {PH1}"
@@ -9794,6 +9815,9 @@
9794
9815
  "panels/sources/NavigatorView.ts | authored": {
9795
9816
  "message": "Âút̂h́ôŕêd́"
9796
9817
  },
9818
+ "panels/sources/NavigatorView.ts | authoredTooltip": {
9819
+ "message": "Ĉón̂t́âín̂ś ôŕîǵîńâĺ ŝóûŕĉéŝ"
9820
+ },
9797
9821
  "panels/sources/NavigatorView.ts | delete": {
9798
9822
  "message": "D̂él̂ét̂é"
9799
9823
  },
@@ -9803,6 +9827,9 @@
9803
9827
  "panels/sources/NavigatorView.ts | deployed": {
9804
9828
  "message": "D̂ép̂ĺôýêd́"
9805
9829
  },
9830
+ "panels/sources/NavigatorView.ts | deployedTooltip": {
9831
+ "message": "Ĉón̂t́âín̂ś f̂ín̂ál̂ śôúr̂ćêś t̂h́ê b́r̂óŵśêŕ ŝéêś"
9832
+ },
9806
9833
  "panels/sources/NavigatorView.ts | excludeFolder": {
9807
9834
  "message": "Êx́ĉĺûd́ê f́ôĺd̂ér̂"
9808
9835
  },
@@ -10163,6 +10190,9 @@
10163
10190
  "panels/sources/sources-meta.ts | watch": {
10164
10191
  "message": "Ŵát̂ćĥ"
10165
10192
  },
10193
+ "panels/sources/SourcesNavigator.ts | authoredDescription": {
10194
+ "message": "Ĝŕôúp̂ f́îĺêś b̂ý Âút̂h́ôŕêd́/D̂ép̂ĺôýêd́"
10195
+ },
10166
10196
  "panels/sources/SourcesNavigator.ts | clearConfiguration": {
10167
10197
  "message": "Ĉĺêár̂ ćôńf̂íĝúr̂át̂íôń"
10168
10198
  },
@@ -10233,7 +10263,7 @@
10233
10263
  "message": "D̂ŕôṕ ŵór̂ḱŝṕâćê f́ôĺd̂ér̂ h́êŕê"
10234
10264
  },
10235
10265
  "panels/sources/SourcesPanel.ts | groupByAuthored": {
10236
- "message": "Ĝŕôúp̂ b́ŷ Áût́ĥór̂éd̂/D́êṕl̂óŷéd̂ (éx̂ṕêŕîḿêńt̂ál̂)"
10266
+ "message": "Ĝŕôúp̂ b́ŷ Áût́ĥór̂éd̂/D́êṕl̂óŷéd̂"
10237
10267
  },
10238
10268
  "panels/sources/SourcesPanel.ts | groupByFolder": {
10239
10269
  "message": "Ĝŕôúp̂ b́ŷ f́ôĺd̂ér̂"
@@ -11906,9 +11936,15 @@
11906
11936
  "ui/components/panel_feedback/PanelFeedback.ts | videoAndDocumentation": {
11907
11937
  "message": "V̂íd̂éô án̂d́ d̂óĉúm̂én̂t́ât́îón̂"
11908
11938
  },
11939
+ "ui/components/panel_feedback/PreviewToggle.ts | learnMoreLink": {
11940
+ "message": "L̂éâŕn̂ Ḿôŕê"
11941
+ },
11909
11942
  "ui/components/panel_feedback/PreviewToggle.ts | previewTextFeedbackLink": {
11910
11943
  "message": "Ŝén̂d́ ûś ŷóûŕ f̂éêd́b̂áĉḱ."
11911
11944
  },
11945
+ "ui/components/panel_feedback/PreviewToggle.ts | shortFeedbackLink": {
11946
+ "message": "Ŝén̂d́ f̂éêd́b̂áĉḱ"
11947
+ },
11912
11948
  "ui/components/request_link_icon/RequestLinkIcon.ts | clickToShowRequestInTheNetwork": {
11913
11949
  "message": "Ĉĺîćk̂ t́ô óp̂én̂ t́ĥé n̂ét̂ẃôŕk̂ ṕâńêĺ âńd̂ śĥóŵ ŕêq́ûéŝt́ f̂ór̂ ÚR̂Ĺ: {url}"
11914
11950
  },
@@ -291,6 +291,8 @@ export enum ExperimentName {
291
291
  CSS_LAYERS = 'cssLayers',
292
292
  EYEDROPPER_COLOR_PICKER = 'eyedropperColorPicker',
293
293
  INSTRUMENTATION_BREAKPOINTS = 'instrumentationBreakpoints',
294
+ CSS_AUTHORING_HINTS = 'cssAuthoringHints',
295
+ AUTHORED_DEPLOYED_GROUPING = 'authoredDeployedGrouping',
294
296
  }
295
297
 
296
298
  // TODO(crbug.com/1167717): Make this a const enum again
@@ -10,12 +10,14 @@ export class CSSFontFace {
10
10
  readonly #fontVariationAxes: Protocol.CSS.FontVariationAxis[];
11
11
  readonly #fontVariationAxesByTag: Map<string, Protocol.CSS.FontVariationAxis>;
12
12
  readonly #src: Platform.DevToolsPath.UrlString;
13
+ readonly #fontDisplay: string;
13
14
 
14
15
  constructor(payload: Protocol.CSS.FontFace) {
15
16
  this.#fontFamily = payload.fontFamily;
16
17
  this.#fontVariationAxes = payload.fontVariationAxes || [];
17
18
  this.#fontVariationAxesByTag = new Map();
18
19
  this.#src = payload.src as Platform.DevToolsPath.UrlString;
20
+ this.#fontDisplay = payload.fontDisplay;
19
21
  for (const axis of this.#fontVariationAxes) {
20
22
  this.#fontVariationAxesByTag.set(axis.tag, axis);
21
23
  }
@@ -29,6 +31,10 @@ export class CSSFontFace {
29
31
  return this.#src;
30
32
  }
31
33
 
34
+ getFontDisplay(): string {
35
+ return this.#fontDisplay;
36
+ }
37
+
32
38
  getVariationAxisByTag(tag: string): Protocol.CSS.FontVariationAxis|undefined {
33
39
  return this.#fontVariationAxesByTag.get(tag);
34
40
  }
@@ -517,6 +517,10 @@ export class CSSModel extends SDKModel<EventTypes> {
517
517
  return [...this.#fontFaces.values()];
518
518
  }
519
519
 
520
+ fontFaceForSource(src: string): CSSFontFace|undefined {
521
+ return this.#fontFaces.get(src);
522
+ }
523
+
520
524
  styleSheetHeaderForId(id: Protocol.CSS.StyleSheetId): CSSStyleSheetHeader|null {
521
525
  return this.#styleSheetIdToHeader.get(id) || null;
522
526
  }
@@ -386,6 +386,11 @@ export class MainImpl {
386
386
  Root.Runtime.experiments.register(
387
387
  Root.Runtime.ExperimentName.HEADER_OVERRIDES, 'Local overrides for response headers');
388
388
 
389
+ // Enable CSS Authoring hints for inactive rules, deprecated properties, etc.
390
+ Root.Runtime.experiments.register(
391
+ Root.Runtime.ExperimentName.CSS_AUTHORING_HINTS,
392
+ 'Enable CSS Authoring hints for inactive rules, deprecated properties, etc.');
393
+
389
394
  // New Lighthouse panel with timespan and snapshot mode
390
395
  Root.Runtime.experiments.register('lighthousePanelFR', 'Use Lighthouse panel with timespan and snapshot modes');
391
396
 
@@ -397,6 +402,10 @@ export class MainImpl {
397
402
  Root.Runtime.experiments.register(
398
403
  Root.Runtime.ExperimentName.EYEDROPPER_COLOR_PICKER, 'Enable color picking outside the browser window');
399
404
 
405
+ // Change grouping of sources panel to use Authored/Deployed trees
406
+ Root.Runtime.experiments.register(
407
+ Root.Runtime.ExperimentName.AUTHORED_DEPLOYED_GROUPING, 'Group sources into Authored and Deployed trees');
408
+
400
409
  Root.Runtime.experiments.enableExperimentsByDefault([
401
410
  'sourceOrderViewer',
402
411
  'hideIssuesFeature',
@@ -55,7 +55,6 @@ export function dissambleWASM(
55
55
  const lines = [];
56
56
  const offsets = [];
57
57
  const functionBodyOffsets = [];
58
- const MAX_LINES = 1000 * 1000;
59
58
  let chunkSize: number = 128 * 1024;
60
59
  let buffer: Uint8Array = new Uint8Array(chunkSize);
61
60
  let pendingSize = 0;
@@ -86,6 +85,7 @@ export function dissambleWASM(
86
85
  end: number,
87
86
  }>,
88
87
  });
88
+
89
89
  for (const line of result.lines) {
90
90
  lines.push(line);
91
91
  }
@@ -96,14 +96,6 @@ export function dissambleWASM(
96
96
  functionBodyOffsets.push(functionBodyOffset);
97
97
  }
98
98
 
99
- if (lines.length > MAX_LINES) {
100
- lines[MAX_LINES] = ';; .... text is truncated due to size';
101
- lines.splice(MAX_LINES + 1);
102
- if (offsets) {
103
- offsets.splice(MAX_LINES + 1);
104
- }
105
- break;
106
- }
107
99
  if (finished) {
108
100
  break;
109
101
  }
@@ -124,13 +116,9 @@ export function dissambleWASM(
124
116
  postMessage({event: 'progress', params: {percentage}});
125
117
  }
126
118
 
127
- postMessage({event: 'progress', params: {percentage: 99}});
128
-
129
- const source = lines.join('\n');
130
-
131
119
  postMessage({event: 'progress', params: {percentage: 100}});
132
120
 
133
- postMessage({method: 'disassemble', result: {source, offsets, functionBodyOffsets}});
121
+ postMessage({method: 'disassemble', result: {lines, offsets, functionBodyOffsets}});
134
122
  } catch (error) {
135
123
  postMessage({method: 'disassemble', error});
136
124
  }
@@ -287,6 +287,7 @@ export function registerCommands(inspectorBackend) {
287
287
  GeolocationInsecureOriginDeprecatedNotRemoved: 'GeolocationInsecureOriginDeprecatedNotRemoved',
288
288
  GetUserMediaInsecureOrigin: 'GetUserMediaInsecureOrigin',
289
289
  HostCandidateAttributeGetter: 'HostCandidateAttributeGetter',
290
+ IdentityInCanMakePaymentEvent: 'IdentityInCanMakePaymentEvent',
290
291
  InsecurePrivateNetworkSubresourceRequest: 'InsecurePrivateNetworkSubresourceRequest',
291
292
  LegacyConstraintGoogIPv6: 'LegacyConstraintGoogIPv6',
292
293
  LocalCSSFileExtensionRejected: 'LocalCSSFileExtensionRejected',
@@ -296,6 +297,7 @@ export function registerCommands(inspectorBackend) {
296
297
  NotificationInsecureOrigin: 'NotificationInsecureOrigin',
297
298
  NotificationPermissionRequestedIframe: 'NotificationPermissionRequestedIframe',
298
299
  ObsoleteWebRtcCipherSuite: 'ObsoleteWebRtcCipherSuite',
300
+ OpenWebDatabaseInsecureContext: 'OpenWebDatabaseInsecureContext',
299
301
  PictureSourceSrc: 'PictureSourceSrc',
300
302
  PrefixedCancelAnimationFrame: 'PrefixedCancelAnimationFrame',
301
303
  PrefixedRequestAnimationFrame: 'PrefixedRequestAnimationFrame',
@@ -1034,6 +1034,7 @@ export namespace Audits {
1034
1034
  GeolocationInsecureOriginDeprecatedNotRemoved = 'GeolocationInsecureOriginDeprecatedNotRemoved',
1035
1035
  GetUserMediaInsecureOrigin = 'GetUserMediaInsecureOrigin',
1036
1036
  HostCandidateAttributeGetter = 'HostCandidateAttributeGetter',
1037
+ IdentityInCanMakePaymentEvent = 'IdentityInCanMakePaymentEvent',
1037
1038
  InsecurePrivateNetworkSubresourceRequest = 'InsecurePrivateNetworkSubresourceRequest',
1038
1039
  LegacyConstraintGoogIPv6 = 'LegacyConstraintGoogIPv6',
1039
1040
  LocalCSSFileExtensionRejected = 'LocalCSSFileExtensionRejected',
@@ -1043,6 +1044,7 @@ export namespace Audits {
1043
1044
  NotificationInsecureOrigin = 'NotificationInsecureOrigin',
1044
1045
  NotificationPermissionRequestedIframe = 'NotificationPermissionRequestedIframe',
1045
1046
  ObsoleteWebRtcCipherSuite = 'ObsoleteWebRtcCipherSuite',
1047
+ OpenWebDatabaseInsecureContext = 'OpenWebDatabaseInsecureContext',
1046
1048
  PictureSourceSrc = 'PictureSourceSrc',
1047
1049
  PrefixedCancelAnimationFrame = 'PrefixedCancelAnimationFrame',
1048
1050
  PrefixedRequestAnimationFrame = 'PrefixedRequestAnimationFrame',
@@ -1785,6 +1787,10 @@ export namespace CSS {
1785
1787
  * Pseudo element type.
1786
1788
  */
1787
1789
  pseudoType: DOM.PseudoType;
1790
+ /**
1791
+ * Pseudo element custom ident.
1792
+ */
1793
+ pseudoIdentifier?: string;
1788
1794
  /**
1789
1795
  * Matches of CSS rules applicable to the pseudo style.
1790
1796
  */
@@ -2351,6 +2357,10 @@ export namespace CSS {
2351
2357
  * The font-stretch.
2352
2358
  */
2353
2359
  fontStretch: string;
2360
+ /**
2361
+ * The font-display.
2362
+ */
2363
+ fontDisplay: string;
2354
2364
  /**
2355
2365
  * The unicode-range.
2356
2366
  */
@@ -3168,6 +3178,11 @@ export namespace DOM {
3168
3178
  * Pseudo element type for this node.
3169
3179
  */
3170
3180
  pseudoType?: PseudoType;
3181
+ /**
3182
+ * Pseudo element identifier for this node. Only present if there is a
3183
+ * valid pseudoType.
3184
+ */
3185
+ pseudoIdentifier?: string;
3171
3186
  /**
3172
3187
  * Shadow root type.
3173
3188
  */
@@ -4756,6 +4771,11 @@ export namespace DOMSnapshot {
4756
4771
  * Type of a pseudo element node.
4757
4772
  */
4758
4773
  pseudoType?: RareStringData;
4774
+ /**
4775
+ * Pseudo element identifier for this node. Only present if there is a
4776
+ * valid pseudoType.
4777
+ */
4778
+ pseudoIdentifier?: RareStringData;
4759
4779
  /**
4760
4780
  * Whether this DOM node responds to mouse clicks. This includes nodes that have had click
4761
4781
  * event listeners attached via JavaScript as well as anchor tags that naturally navigate when
@@ -725,6 +725,8 @@ const emulatedDevices = [
725
725
  'capabilities': ['touch', 'mobile'],
726
726
  'user-agent':
727
727
  'Mozilla/5.0 (Linux; Android 11; Pixel 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.181 Mobile Safari/537.36',
728
+ 'user-agent-metadata':
729
+ {'platform': 'Android', 'platformVersion': '11', 'architecture': '', 'model': 'Pixel 3', 'mobile': true},
728
730
  'type': 'phone',
729
731
  },
730
732
  {
@@ -745,6 +747,8 @@ const emulatedDevices = [
745
747
  'capabilities': ['touch', 'mobile'],
746
748
  'user-agent':
747
749
  'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36',
750
+ 'user-agent-metadata':
751
+ {'platform': 'Android', 'platformVersion': '11', 'architecture': '', 'model': 'Pixel 5', 'mobile': true},
748
752
  'type': 'phone',
749
753
  },
750
754
  {
@@ -765,6 +769,8 @@ const emulatedDevices = [
765
769
  'capabilities': ['touch', 'mobile'],
766
770
  'user-agent':
767
771
  'Mozilla/5.0 (Linux; Android 8.0.0; SM-G955U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36',
772
+ 'user-agent-metadata':
773
+ {'platform': 'Android', 'platformVersion': '8.0.0', 'architecture': '', 'model': 'SM-G955U', 'mobile': true},
768
774
  'type': 'phone',
769
775
  },
770
776
  {
@@ -785,6 +791,8 @@ const emulatedDevices = [
785
791
  'capabilities': ['touch', 'mobile'],
786
792
  'user-agent':
787
793
  'Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36',
794
+ 'user-agent-metadata':
795
+ {'platform': 'Android', 'platformVersion': '10', 'architecture': '', 'model': 'SM-G981B', 'mobile': true},
788
796
  'type': 'phone',
789
797
  },
790
798
  {
@@ -869,7 +877,9 @@ const emulatedDevices = [
869
877
  },
870
878
  'capabilities': ['touch', 'mobile'],
871
879
  'user-agent':
872
- 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
880
+ 'Mozilla/5.0 (Linux; Android 11.0; Surface Duo) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
881
+ 'user-agent-metadata':
882
+ {'platform': 'Android', 'platformVersion': '11.0', 'architecture': '', 'model': 'Surface Duo', 'mobile': true},
873
883
  'type': 'phone',
874
884
  'modes': [
875
885
  {'title': 'default', 'orientation': 'vertical', 'insets': {'left': 0, 'top': 0, 'right': 0, 'bottom': 0}},
@@ -896,7 +906,9 @@ const emulatedDevices = [
896
906
  },
897
907
  'capabilities': ['touch', 'mobile'],
898
908
  'user-agent':
899
- 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
909
+ 'Mozilla/5.0 (Linux; Android 9.0; SAMSUNG SM-F900U Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
910
+ 'user-agent-metadata':
911
+ {'platform': 'Android', 'platformVersion': '9.0', 'architecture': '', 'model': 'SM-F900U', 'mobile': true},
900
912
  'type': 'phone',
901
913
  'modes': [
902
914
  {'title': 'default', 'orientation': 'vertical', 'insets': {'left': 0, 'top': 0, 'right': 0, 'bottom': 0}},
@@ -927,6 +939,8 @@ const emulatedDevices = [
927
939
  'capabilities': ['touch', 'mobile'],
928
940
  'user-agent':
929
941
  'Mozilla/5.0 (Linux; Android 8.0.0; SM-G955U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36',
942
+ 'user-agent-metadata':
943
+ {'platform': 'Android', 'platformVersion': '8.0.0', 'architecture': '', 'model': 'SM-G955U', 'mobile': true},
930
944
  'type': 'phone',
931
945
  },
932
946
  {
@@ -976,6 +990,8 @@ const emulatedDevices = [
976
990
  'capabilities': ['touch', 'mobile'],
977
991
  'user-agent':
978
992
  'Mozilla/5.0 (Linux; Android) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.109 Safari/537.36 CrKey/1.54.248666',
993
+ 'user-agent-metadata':
994
+ {'platform': 'Android', 'platformVersion': '', 'architecture': '', 'model': '', 'mobile': true},
979
995
  'type': 'tablet',
980
996
  'modes': [{'title': 'default', 'orientation': 'horizontal'}],
981
997
  },
@@ -1409,6 +1425,8 @@ const emulatedDevices = [
1409
1425
  'capabilities': ['touch', 'mobile'],
1410
1426
  'user-agent':
1411
1427
  'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
1428
+ 'user-agent-metadata':
1429
+ {'platform': 'Android', 'platformVersion': '4.2.1', 'architecture': '', 'model': 'Lumia 550', 'mobile': true},
1412
1430
  'type': 'phone',
1413
1431
  },
1414
1432
  {
@@ -1422,6 +1440,8 @@ const emulatedDevices = [
1422
1440
  'capabilities': ['touch', 'mobile'],
1423
1441
  'user-agent':
1424
1442
  'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
1443
+ 'user-agent-metadata':
1444
+ {'platform': 'Android', 'platformVersion': '4.2.1', 'architecture': '', 'model': 'Lumia 950', 'mobile': true},
1425
1445
  'type': 'phone',
1426
1446
  },
1427
1447
  {
@@ -1512,6 +1532,13 @@ const emulatedDevices = [
1512
1532
  'capabilities': ['touch', 'mobile'],
1513
1533
  'user-agent':
1514
1534
  'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
1535
+ 'user-agent-metadata': {
1536
+ 'platform': 'Android',
1537
+ 'platformVersion': '',
1538
+ 'architecture': '',
1539
+ 'model': 'LYF/F300B/LYF-F300B-001-01-15-130718-i',
1540
+ 'mobile': true,
1541
+ },
1515
1542
  'type': 'phone',
1516
1543
  },
1517
1544
  {
@@ -1247,7 +1247,7 @@ export const NativeFunctions = [
1247
1247
  },
1248
1248
  {
1249
1249
  name: 'add',
1250
- signatures: [['install_url']],
1250
+ signatures: [['sub_apps']],
1251
1251
  receivers: ['SubApps']
1252
1252
  },
1253
1253
  {
@@ -1745,11 +1745,6 @@ export const NativeFunctions = [
1745
1745
  name: 'replaceWith',
1746
1746
  signatures: [['...nodes']]
1747
1747
  },
1748
- {
1749
- name: 'read',
1750
- signatures: [['?options']],
1751
- receivers: ['Clipboard']
1752
- },
1753
1748
  {
1754
1749
  name: 'read',
1755
1750
  signatures: [['view']],
@@ -2572,7 +2567,7 @@ export const NativeFunctions = [
2572
2567
  {
2573
2568
  name: 'focus',
2574
2569
  signatures: [['focus_behavior']],
2575
- receivers: ['FocusableMediaStreamTrack']
2570
+ receivers: ['BrowserCaptureMediaStreamTrack','FocusableMediaStreamTrack']
2576
2571
  },
2577
2572
  {
2578
2573
  name: 'assign',
@@ -5898,10 +5893,6 @@ export const NativeFunctions = [
5898
5893
  name: 'registerProperty',
5899
5894
  signatures: [['definition']]
5900
5895
  },
5901
- {
5902
- name: 'setElement',
5903
- signatures: [['element','tag','?options']]
5904
- },
5905
5896
  {
5906
5897
  name: 'timeout',
5907
5898
  signatures: [['milliseconds']]
@@ -6767,7 +6758,7 @@ export const NativeFunctions = [
6767
6758
  },
6768
6759
  {
6769
6760
  name: 'ClipboardItem',
6770
- signatures: [['items','?options']]
6761
+ signatures: [['items']]
6771
6762
  },
6772
6763
  {
6773
6764
  name: 'CompressionStream',
@@ -7113,6 +7104,10 @@ export const NativeFunctions = [
7113
7104
  name: 'cropTo',
7114
7105
  signatures: [['crop_id']]
7115
7106
  },
7107
+ {
7108
+ name: 'fromElement',
7109
+ signatures: [['element']]
7110
+ },
7116
7111
  {
7117
7112
  name: 'getDisplayMediaSet',
7118
7113
  signatures: [['?constraints']]
@@ -7121,10 +7116,6 @@ export const NativeFunctions = [
7121
7116
  name: 'setCaptureHandleConfig',
7122
7117
  signatures: [['?config']]
7123
7118
  },
7124
- {
7125
- name: 'produceCropId',
7126
- signatures: [['target']]
7127
- },
7128
7119
  {
7129
7120
  name: 'MediaStreamEvent',
7130
7121
  signatures: [['type','?eventInitDict']]
@@ -7399,7 +7390,7 @@ export const NativeFunctions = [
7399
7390
  },
7400
7391
  {
7401
7392
  name: 'requestPictureInPictureWindow',
7402
- signatures: [['options']]
7393
+ signatures: [['?options']]
7403
7394
  },
7404
7395
  {
7405
7396
  name: 'PresentationConnectionAvailableEvent',
@@ -310,8 +310,11 @@ export class NetworkPersistenceManager extends Common.ObjectWrapper.ObjectWrappe
310
310
  if (binding) {
311
311
  const mutex = this.#getOrCreateMutex(binding.network);
312
312
  const release = await mutex.acquire();
313
- await this.#innerUnbind(binding);
314
- release();
313
+ try {
314
+ await this.#innerUnbind(binding);
315
+ } finally {
316
+ release();
317
+ }
315
318
  }
316
319
  }
317
320
 
@@ -340,10 +343,10 @@ export class NetworkPersistenceManager extends Common.ObjectWrapper.ObjectWrappe
340
343
  if (networkUISourceCode === network && fileSystemUISourceCode === fileSystem) {
341
344
  return;
342
345
  }
346
+ await this.#unbindUnguarded(networkUISourceCode);
347
+ await this.#unbindUnguarded(fileSystemUISourceCode);
343
348
  }
344
349
 
345
- await this.#unbindUnguarded(networkUISourceCode);
346
- await this.#unbindUnguarded(fileSystemUISourceCode);
347
350
  await this.#innerAddBinding(networkUISourceCode, fileSystemUISourceCode);
348
351
  } finally {
349
352
  release();