chrome-devtools-frontend 1.0.939277 → 1.0.941095

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 (61) hide show
  1. package/.stylelintrc.json +1 -7
  2. package/config/gni/all_devtools_files.gni +0 -1
  3. package/config/gni/devtools_grd_files.gni +2 -0
  4. package/docs/triage_guidelines.md +13 -11
  5. package/front_end/Tests.js +47 -0
  6. package/front_end/core/host/InspectorFrontendHostAPI.ts +5 -0
  7. package/front_end/core/host/UserMetrics.ts +72 -0
  8. package/front_end/core/i18n/locales/en-US.json +42 -9
  9. package/front_end/core/i18n/locales/en-XL.json +42 -9
  10. package/front_end/core/protocol_client/InspectorBackend.ts +4 -0
  11. package/front_end/core/root/Runtime.ts +4 -0
  12. package/front_end/core/sdk/CategorizedBreakpoint.ts +35 -0
  13. package/front_end/core/sdk/DOMDebuggerModel.ts +28 -42
  14. package/front_end/core/sdk/EventBreakpointsModel.ts +178 -0
  15. package/front_end/core/sdk/Target.ts +2 -1
  16. package/front_end/core/sdk/sdk.ts +4 -0
  17. package/front_end/devtools_compatibility.js +5 -0
  18. package/front_end/entrypoints/main/MainImpl.ts +6 -3
  19. package/front_end/entrypoints/main/main-meta.ts +1 -2
  20. package/front_end/entrypoints/shell/shell.js +1 -0
  21. package/front_end/entrypoints/shell/shell.json +0 -1
  22. package/front_end/models/logs/LogManager.ts +1 -0
  23. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
  24. package/front_end/panels/accessibility/AccessibilityNodeView.ts +1 -1
  25. package/front_end/panels/application/ApplicationPanelCacheSection.ts +1 -1
  26. package/front_end/panels/application/BackForwardCacheView.ts +24 -24
  27. package/front_end/panels/browser_debugger/CSPViolationBreakpointsSidebarPane.ts +2 -2
  28. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +7 -7
  29. package/front_end/panels/browser_debugger/EventListenerBreakpointsSidebarPane.ts +14 -6
  30. package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +6 -8
  31. package/front_end/panels/css_overview/components/cssOverviewStartView.css +7 -1
  32. package/front_end/panels/elements/StylesSidebarPane.ts +2 -1
  33. package/front_end/panels/issues/IssueKindView.ts +22 -4
  34. package/front_end/panels/lighthouse/LighthouseController.ts +10 -33
  35. package/front_end/panels/lighthouse/LighthousePanel.ts +2 -1
  36. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +2 -1
  37. package/front_end/panels/network/NetworkLogView.ts +3 -0
  38. package/front_end/panels/network/RequestPayloadView.ts +2 -0
  39. package/front_end/panels/network/requestPayloadTree.css +5 -0
  40. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -0
  41. package/front_end/panels/settings/components/SyncSection.ts +25 -4
  42. package/front_end/panels/sources/DebuggerPausedMessage.ts +14 -7
  43. package/front_end/panels/sources/SourcesPanel.ts +9 -5
  44. package/front_end/third_party/codemirror.next/bundle-tsconfig.json +1 -1
  45. package/front_end/ui/components/buttons/Button.ts +11 -0
  46. package/front_end/ui/components/buttons/button.css +4 -0
  47. package/front_end/ui/components/docs/button/basic.ts +10 -0
  48. package/front_end/ui/components/docs/panel_feedback/basic.html +25 -0
  49. package/front_end/ui/components/docs/panel_feedback/basic.ts +20 -0
  50. package/front_end/ui/components/helpers/get-stylesheet.ts +1 -0
  51. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +100 -0
  52. package/front_end/ui/components/panel_feedback/panelFeedback.css +76 -0
  53. package/front_end/ui/components/panel_feedback/panel_feedback.ts +5 -0
  54. package/front_end/ui/components/report_view/reportValue.css +1 -0
  55. package/front_end/ui/legacy/softContextMenu.css +1 -0
  56. package/package.json +2 -2
  57. package/scripts/eslint_rules/lib/check_component_naming.js +1 -1
  58. package/scripts/eslint_rules/lib/enforce_custom_event_names.js +1 -1
  59. package/scripts/eslint_rules/lib/l10n_no_i18nString_calls_module_instantiation.js +1 -1
  60. package/scripts/eslint_rules/lib/no_underscored_properties.js +1 -1
  61. package/front_end/entrypoints/main/module.json +0 -5
package/.stylelintrc.json CHANGED
@@ -27,11 +27,5 @@
27
27
  "property-no-vendor-prefix": null,
28
28
  "value-no-vendor-prefix": null,
29
29
  "media-feature-name-no-vendor-prefix": null
30
- },
31
- "overrides": [
32
- {
33
- "files": ["**/*.ts"],
34
- "customSyntax": "html"
35
- }
36
- ]
30
+ }
37
31
  }
@@ -58,7 +58,6 @@ all_devtools_files = [
58
58
  "front_end/legacy_test_runner/layers_test_runner/layers_test_runner.js",
59
59
  "front_end/panels/layer_viewer/module.json",
60
60
  "front_end/panels/layers/module.json",
61
- "front_end/entrypoints/main/module.json",
62
61
  "front_end/panels/media/module.json",
63
62
  "front_end/entrypoints/ndb_app/ndb_app.json",
64
63
  "front_end/legacy_test_runner/network_test_runner/network_test_runner.js",
@@ -595,6 +595,7 @@ grd_files_debug_sources = [
595
595
  "front_end/core/sdk/CSSRule.js",
596
596
  "front_end/core/sdk/CSSStyleDeclaration.js",
597
597
  "front_end/core/sdk/CSSStyleSheetHeader.js",
598
+ "front_end/core/sdk/CategorizedBreakpoint.js",
598
599
  "front_end/core/sdk/ChildTargetManager.js",
599
600
  "front_end/core/sdk/CompilerSourceMappingContentProvider.js",
600
601
  "front_end/core/sdk/Connections.js",
@@ -607,6 +608,7 @@ grd_files_debug_sources = [
607
608
  "front_end/core/sdk/DOMModel.js",
608
609
  "front_end/core/sdk/DebuggerModel.js",
609
610
  "front_end/core/sdk/EmulationModel.js",
611
+ "front_end/core/sdk/EventBreakpointsModel.js",
610
612
  "front_end/core/sdk/FilmStripModel.js",
611
613
  "front_end/core/sdk/FrameAssociated.js",
612
614
  "front_end/core/sdk/FrameManager.js",
@@ -43,22 +43,24 @@ Issues in the untriaged queue should receive a meaningful response within a busi
43
43
 
44
44
  ## How should issues be triaged?
45
45
 
46
- An issue is triaged when it meets the following criteria:
47
-
48
- - Priority is set correctly
49
- - Component is set correctly
50
- - Type is set correctly especially consider Feature vs Bug vs Bug-Regression
51
- - Status is set correctly (Available most of the time)
52
- - Request bisection from the Chrome Test Engineer team by adding the label "Needs-Bisect".
46
+ - Close issues as `WontFix` if they don't reproduce (in simple cases) or are requests for features we've already concluded not to pursue.
47
+ - Close issues as `Archived` that are valid, but it seems unlikely that we will get there anytime soon.
48
+ - Move issues out of `Platform>DevTools` if they are not DevTools issues (but just reported via the menu item in DevTools), put on the `Hotlist-DevTools-Triaged` and leave the `Untriaged` status as is.
49
+ - Assign regression bugs with bisects to individuals directly and set the status to `Assigned`.
50
+ - Put proper `Platform>DevTools>XXX` component(s) on the issue and do an initial check-in regarding the priority.
51
+ - Put one of the following labels on it and set the status to `Available`:
52
+ - `Hotlist-DevTools-ProductReview` if it's controversial or clear that consensus needs to be built first.
53
+ - `Hotlist-DevTools-BrowserAutomation-Backlog` if it's an issue related to ChromeDriver or puppeteer.
54
+ - `Hotlist-DevTools-Debugging-Backlog` if it's a debugging issue.
55
+ - `Hotlist-DevTools-DesignAccessibility-Backlog` if it's a design or accessibility issue.
56
+ - `Hotlist-DevTools-Performance-Backlog` if the issue is related to our performance tooling (i.e. Performance panel, Lighthouse).
57
+ - `Hotlist-DevTools-Backlog` if it's a general DevTools issue that is not specific to one of the core areas.
58
+ - Also remember to put the `Needs-UX` label on it, if help from a designer is likely to be required.
53
59
 
54
60
  ### Setting Assigned or Available
55
61
 
56
62
  Set issues to Available if they don’t need immediate action and nobody right now and in the short-term future (an iteration) needs to work on it.
57
63
 
58
- If you think they should be addressed in the short-term please add the label “Hotlist-DevTools-CurrentSprint”.
59
-
60
- If you think they should be addressed mid-term or the next iteration, please add the label “Hotlist-DevTools-Backlog”
61
-
62
64
  Issues that are handled by Microsoft have the label “Hotlist-DevTools-MS-Backlog” and “Hotlist-DevTools-MS-CurrentSprint” respectively and can be considered triaged.
63
65
 
64
66
  If you think they are super urgent, please assign them to yangguo@chromium.org and cc bmeurer@chromium.org and hablich@chromium.org.
@@ -141,6 +141,20 @@
141
141
  this.domAutomationController_.send('[FAILED] ' + error);
142
142
  };
143
143
 
144
+ TestSuite.prototype.setupLegacyFilesForTest = async function() {
145
+ try {
146
+ await Promise.all([
147
+ self.runtime.loadLegacyModule('core/common/common-legacy.js'),
148
+ self.runtime.loadLegacyModule('core/sdk/sdk-legacy.js'),
149
+ self.runtime.loadLegacyModule('ui/legacy/legacy-legacy.js'),
150
+ self.runtime.loadLegacyModule('models/workspace/workspace-legacy.js'),
151
+ ]);
152
+ this.reportOk_();
153
+ } catch (e) {
154
+ this.reportFailure_(e);
155
+ }
156
+ };
157
+
144
158
  /**
145
159
  * Run specified test on a fresh instance of the test suite.
146
160
  * @param {Array<string>} args method name followed by its parameters.
@@ -1290,6 +1304,7 @@
1290
1304
 
1291
1305
  TestSuite.prototype.testInspectedElementIs = async function(nodeName) {
1292
1306
  this.takeControl();
1307
+ await self.runtime.loadLegacyModule('panels/elements/elements-legacy.js');
1293
1308
  if (!Elements.ElementsPanel.firstInspectElementNodeNameForTest) {
1294
1309
  await new Promise(f => this.addSniffer(Elements.ElementsPanel, 'firstInspectElementCompletedForTest', f));
1295
1310
  }
@@ -1438,6 +1453,38 @@
1438
1453
  this.releaseControl();
1439
1454
  };
1440
1455
 
1456
+ TestSuite.prototype.testInputDispatchEventsToCorrectTarget = async function() {
1457
+ this.takeControl();
1458
+
1459
+ const mainTarget = self.SDK.targetManager.mainTarget();
1460
+ const otherTarget = await createIsolatedTarget('about:blank');
1461
+
1462
+ const setupLogging = `
1463
+ window.logs = [];
1464
+ ['dragenter', 'keydown', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseout', 'mouseover', 'mouseup',
1465
+ 'click', 'touchcancel', 'touchend', 'touchmove', 'touchstart',
1466
+ ].forEach((event) => window.addEventListener(event, (e) => logs.push(e.type)));`;
1467
+ await evalCode(mainTarget, setupLogging);
1468
+ await evalCode(otherTarget, setupLogging);
1469
+
1470
+ const inputAgent = mainTarget.inputAgent();
1471
+ await inputAgent.invoke_dispatchMouseEvent({type: 'mousePressed', button: 'left', clickCount: 1, x: 100, y: 250});
1472
+ await inputAgent.invoke_dispatchMouseEvent({type: 'mouseMoved', button: 'left', clickCount: 1, x: 110, y: 270});
1473
+ await inputAgent.invoke_dispatchMouseEvent({type: 'mouseReleased', button: 'left', clickCount: 1, x: 110, y: 270});
1474
+ await inputAgent.invoke_dispatchDragEvent(
1475
+ {type: 'dragEnter', x: 100, y: 250, data: {items: [], dragOperationsMask: 1}});
1476
+ await inputAgent.invoke_synthesizeTapGesture({x: 100, y: 250});
1477
+ await inputAgent.invoke_dispatchKeyEvent({type: 'keyDown', key: 'a'});
1478
+
1479
+ const mainTargetEvents = await evalCode(mainTarget, ' logs.join(\' \')');
1480
+ const otherTargetEvents = await evalCode(otherTarget, 'logs.join(\' \')');
1481
+ this.assertEquals(
1482
+ 'mainTargetEvents: mouseover mousedown mousemove mouseup click dragenter keydown; otherTargetEvents: ',
1483
+ `mainTargetEvents: ${mainTargetEvents}; otherTargetEvents: ${otherTargetEvents}`);
1484
+
1485
+ this.releaseControl();
1486
+ };
1487
+
1441
1488
  TestSuite.prototype.testLoadResourceForFrontend = async function(baseURL, fileURL) {
1442
1489
  const test = this;
1443
1490
  const loggedHeaders = new Set(['cache-control', 'pragma']);
@@ -369,4 +369,9 @@ export enum EnumeratedHistogram {
369
369
  Language = 'DevTools.Language',
370
370
  ConsoleShowsCorsErrors = 'DevTools.ConsoleShowsCorsErrors',
371
371
  SyncSetting = 'DevTools.SyncSetting',
372
+ RecordingEdited = 'DevTools.RecordingEdited',
373
+ RecordingExported = 'DevTools.RecordingExported',
374
+ RecordingReplayFinished = 'DevTools.RecordingReplayFinished',
375
+ RecordingReplayStarted = 'DevTools.RecordingReplayStarted',
376
+ RecordingToggled = 'DevTools.RecordingToggled',
372
377
  }
@@ -261,6 +261,31 @@ export class UserMetrics {
261
261
  InspectorFrontendHostInstance.recordEnumeratedHistogram(EnumeratedHistogram.SyncSetting, settingValue, size);
262
262
  });
263
263
  }
264
+
265
+ recordingToggled(value: RecordingToggled): void {
266
+ const size = Object.keys(RecordingToggled).length + 1;
267
+ InspectorFrontendHostInstance.recordEnumeratedHistogram(EnumeratedHistogram.RecordingToggled, value, size);
268
+ }
269
+
270
+ recordingReplayFinished(value: RecordingReplayFinished): void {
271
+ const size = Object.keys(RecordingReplayFinished).length + 1;
272
+ InspectorFrontendHostInstance.recordEnumeratedHistogram(EnumeratedHistogram.RecordingReplayFinished, value, size);
273
+ }
274
+
275
+ recordingReplayStarted(value: RecordingReplayStarted): void {
276
+ const size = Object.keys(RecordingReplayStarted).length + 1;
277
+ InspectorFrontendHostInstance.recordEnumeratedHistogram(EnumeratedHistogram.RecordingReplayStarted, value, size);
278
+ }
279
+
280
+ recordingEdited(value: RecordingEdited): void {
281
+ const size = Object.keys(RecordingEdited).length + 1;
282
+ InspectorFrontendHostInstance.recordEnumeratedHistogram(EnumeratedHistogram.RecordingEdited, value, size);
283
+ }
284
+
285
+ recordingExported(value: RecordingExported): void {
286
+ const size = Object.keys(RecordingExported).length + 1;
287
+ InspectorFrontendHostInstance.recordEnumeratedHistogram(EnumeratedHistogram.RecordingExported, value, size);
288
+ }
264
289
  }
265
290
 
266
291
  // Codes below are used to collect UMA histograms in the Chromium port.
@@ -378,6 +403,7 @@ export const PanelCodes: {
378
403
  'issues-pane': 37,
379
404
  'settings-keybinds': 38,
380
405
  'cssoverview': 39,
406
+ 'chrome_recorder': 40,
381
407
  };
382
408
 
383
409
  export const SidebarPaneCodes: {
@@ -686,6 +712,7 @@ export const IssueCreated: {
686
712
  'CorsIssue::NoCorsRedirectModeNotFollow': 57,
687
713
  'QuirksModeIssue::QuirksMode': 58,
688
714
  'QuirksModeIssue::LimitedQuirksMode': 59,
715
+ DeprecationIssue: 60,
689
716
  };
690
717
 
691
718
  // TODO(crbug.com/1167717): Make this a const enum again
@@ -825,3 +852,48 @@ export enum SyncSetting {
825
852
  DevToolsSyncSettingDisabled = 3,
826
853
  DevToolsSyncSettingEnabled = 4,
827
854
  }
855
+
856
+ // TODO(crbug.com/1167717): Make this a const enum again
857
+ // eslint-disable-next-line rulesdir/const_enum
858
+ export enum RecordingToggled {
859
+ RecordingStarted = 1,
860
+ RecordingFinished = 2,
861
+ }
862
+
863
+ // TODO(crbug.com/1167717): Make this a const enum again
864
+ // eslint-disable-next-line rulesdir/const_enum
865
+ export enum RecordingReplayFinished {
866
+ Success = 1,
867
+ TimeoutErrorSelectors = 2,
868
+ TimeoutErrorTarget = 3,
869
+ OtherError = 4,
870
+ }
871
+
872
+ // TODO(crbug.com/1167717): Make this a const enum again
873
+ // eslint-disable-next-line rulesdir/const_enum
874
+ export enum RecordingReplayStarted {
875
+ ReplayOnly = 1,
876
+ ReplayWithPerformanceTracing = 2,
877
+ }
878
+
879
+ // TODO(crbug.com/1167717): Make this a const enum again
880
+ // eslint-disable-next-line rulesdir/const_enum
881
+ export enum RecordingEdited {
882
+ SelectorPickerUsed = 1,
883
+ StepAdded = 2,
884
+ StepRemoved = 3,
885
+ SelectorAdded = 4,
886
+ SelectorRemoved = 5,
887
+ SelectorPartAdded = 6,
888
+ SelectorPartEdited = 7,
889
+ SelectorPartRemoved = 8,
890
+ TypeChanged = 9,
891
+ OtherEditing = 10,
892
+ }
893
+
894
+ // TODO(crbug.com/1167717): Make this a const enum again
895
+ // eslint-disable-next-line rulesdir/const_enum
896
+ export enum RecordingExported {
897
+ ToPuppeteer = 1,
898
+ ToJSON = 2,
899
+ }
@@ -401,6 +401,21 @@
401
401
  "core/sdk/DOMDebuggerModel.ts | xhr": {
402
402
  "message": "XHR"
403
403
  },
404
+ "core/sdk/EventBreakpointsModel.ts | auctionWorklet": {
405
+ "message": "Ad Auction Worklet"
406
+ },
407
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletBiddingStart": {
408
+ "message": "Bidder Bidding Phase Start"
409
+ },
410
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletReportingStart": {
411
+ "message": "Bidder Reporting Phase Start"
412
+ },
413
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletReportingStart": {
414
+ "message": "Seller Reporting Phase Start"
415
+ },
416
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletScoringStart": {
417
+ "message": "Seller Scoring Phase Start"
418
+ },
404
419
  "core/sdk/NetworkManager.ts | crossoriginReadBlockingCorb": {
405
420
  "message": "Cross-Origin Read Blocking (CORB) blocked cross-origin response {PH1} with MIME type {PH2}. See https://www.chromestatus.com/feature/5629709824032768 for more details."
406
421
  },
@@ -2037,7 +2052,7 @@
2037
2052
  "message": "Stop recording events"
2038
2053
  },
2039
2054
  "panels/application/ApplicationPanelCacheSection.ts | backForwardCache": {
2040
- "message": "Back-forward Cache"
2055
+ "message": "Back-Forward Cache"
2041
2056
  },
2042
2057
  "panels/application/ApplicationPanelCacheSection.ts | cacheStorage": {
2043
2058
  "message": "Cache Storage"
@@ -2673,10 +2688,10 @@
2673
2688
  "message": "Pages that use WebXR are not currently eligible for back/forward cache."
2674
2689
  },
2675
2690
  "panels/application/BackForwardCacheView.ts | backForwardCacheTitle": {
2676
- "message": "Back-forward Cache"
2691
+ "message": "Back-Forward Cache"
2677
2692
  },
2678
2693
  "panels/application/BackForwardCacheView.ts | bfcacheStatus": {
2679
- "message": "Back-forward Cache Status"
2694
+ "message": "Back-Forward Cache Status"
2680
2695
  },
2681
2696
  "panels/application/BackForwardCacheView.ts | circumstantial": {
2682
2697
  "message": "Not Actionable"
@@ -2688,16 +2703,16 @@
2688
2703
  "message": "Main Frame"
2689
2704
  },
2690
2705
  "panels/application/BackForwardCacheView.ts | normalNavigation": {
2691
- "message": "Normal navigation (Not restored from back-forward cache)"
2706
+ "message": "Normal navigation (Not restored from Back-Forward Cache)"
2692
2707
  },
2693
2708
  "panels/application/BackForwardCacheView.ts | pageSupportNeeded": {
2694
2709
  "message": "Actionable"
2695
2710
  },
2696
2711
  "panels/application/BackForwardCacheView.ts | pageSupportNeededExplanation": {
2697
- "message": "These reasons are actionable i.e. they can be cleaned up to make the page eligible for back-forward cache."
2712
+ "message": "These reasons are actionable i.e. they can be cleaned up to make the page eligible for Back-Forward Cache."
2698
2713
  },
2699
2714
  "panels/application/BackForwardCacheView.ts | restoredFromBFCache": {
2700
- "message": "Restored from back-forward cache"
2715
+ "message": "Restored from Back-Forward Cache"
2701
2716
  },
2702
2717
  "panels/application/BackForwardCacheView.ts | runTest": {
2703
2718
  "message": "Run Test"
@@ -2706,7 +2721,7 @@
2706
2721
  "message": "Pending Support"
2707
2722
  },
2708
2723
  "panels/application/BackForwardCacheView.ts | supportPendingExplanation": {
2709
- "message": "Chrome support for these reasons is pending i.e. they will not prevent the page from being eligible for back-forward cache in a future version of Chrome."
2724
+ "message": "Chrome support for these reasons is pending i.e. they will not prevent the page from being eligible for Back-Forward Cache in a future version of Chrome."
2710
2725
  },
2711
2726
  "panels/application/BackForwardCacheView.ts | unavailable": {
2712
2727
  "message": "unavailable"
@@ -5372,8 +5387,14 @@
5372
5387
  "panels/issues/HiddenIssuesRow.ts | unhideAll": {
5373
5388
  "message": "Unhide all"
5374
5389
  },
5375
- "panels/issues/IssueKindView.ts | hideAllCurrent": {
5376
- "message": "Hide all current {PH1}"
5390
+ "panels/issues/IssueKindView.ts | hideAllCurrentBreakingChanges": {
5391
+ "message": "Hide all current Breaking Changes"
5392
+ },
5393
+ "panels/issues/IssueKindView.ts | hideAllCurrentImprovements": {
5394
+ "message": "Hide all current Improvements"
5395
+ },
5396
+ "panels/issues/IssueKindView.ts | hideAllCurrentPageErrors": {
5397
+ "message": "Hide all current Page Errors"
5377
5398
  },
5378
5399
  "panels/issues/issues-meta.ts | cspViolations": {
5379
5400
  "message": "CSP Violations"
@@ -11432,6 +11453,18 @@
11432
11453
  "ui/components/linear_memory_inspector/ValueInterpreterSettings.ts | otherGroup": {
11433
11454
  "message": "Other"
11434
11455
  },
11456
+ "ui/components/panel_feedback/PanelFeedback.ts | previewFeature": {
11457
+ "message": "Preview feature"
11458
+ },
11459
+ "ui/components/panel_feedback/PanelFeedback.ts | previewText": {
11460
+ "message": "Our team is actively working on this feature and we would love to know what you think."
11461
+ },
11462
+ "ui/components/panel_feedback/PanelFeedback.ts | previewTextFeedbackLink": {
11463
+ "message": "Send us your feedback."
11464
+ },
11465
+ "ui/components/panel_feedback/PanelFeedback.ts | videoAndDocumentation": {
11466
+ "message": "Video and documentation"
11467
+ },
11435
11468
  "ui/components/request_link_icon/RequestLinkIcon.ts | clickToShowRequestInTheNetwork": {
11436
11469
  "message": "Click to open the network panel and show request for URL: {url}"
11437
11470
  },
@@ -401,6 +401,21 @@
401
401
  "core/sdk/DOMDebuggerModel.ts | xhr": {
402
402
  "message": "X̂H́R̂"
403
403
  },
404
+ "core/sdk/EventBreakpointsModel.ts | auctionWorklet": {
405
+ "message": "Âd́ Âúĉt́îón̂ Ẃôŕk̂ĺêt́"
406
+ },
407
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletBiddingStart": {
408
+ "message": "B̂íd̂d́êŕ B̂íd̂d́îńĝ Ṕĥáŝé Ŝt́âŕt̂"
409
+ },
410
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletReportingStart": {
411
+ "message": "B̂íd̂d́êŕ R̂ép̂ór̂t́îńĝ Ṕĥáŝé Ŝt́âŕt̂"
412
+ },
413
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletReportingStart": {
414
+ "message": "Ŝél̂ĺêŕ R̂ép̂ór̂t́îńĝ Ṕĥáŝé Ŝt́âŕt̂"
415
+ },
416
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletScoringStart": {
417
+ "message": "Ŝél̂ĺêŕ Ŝćôŕîńĝ Ṕĥáŝé Ŝt́âŕt̂"
418
+ },
404
419
  "core/sdk/NetworkManager.ts | crossoriginReadBlockingCorb": {
405
420
  "message": "Ĉŕôśŝ-Ór̂íĝín̂ Ŕêád̂ B́l̂óĉḱîńĝ (ĆÔŔB̂) b́l̂óĉḱêd́ ĉŕôśŝ-ór̂íĝín̂ ŕêśp̂ón̂śê {PH1} ẃît́ĥ ḾÎḾÊ t́ŷṕê {PH2}. Śêé ĥt́t̂ṕŝ://ẃŵẃ.ĉh́r̂óm̂éŝt́ât́ûś.ĉóm̂/f́êát̂úr̂é/5629709824032768 f̂ór̂ ḿôŕê d́êt́âíl̂ś."
406
421
  },
@@ -2037,7 +2052,7 @@
2037
2052
  "message": "Ŝt́ôṕ r̂éĉór̂d́îńĝ év̂én̂t́ŝ"
2038
2053
  },
2039
2054
  "panels/application/ApplicationPanelCacheSection.ts | backForwardCache": {
2040
- "message": "B̂áĉḱ-f̂ór̂ẃâŕd̂ Ćâćĥé"
2055
+ "message": "B̂áĉḱ-F̂ór̂ẃâŕd̂ Ćâćĥé"
2041
2056
  },
2042
2057
  "panels/application/ApplicationPanelCacheSection.ts | cacheStorage": {
2043
2058
  "message": "Ĉáĉh́ê Śt̂ór̂áĝé"
@@ -2673,10 +2688,10 @@
2673
2688
  "message": "P̂áĝéŝ t́ĥát̂ úŝé Ŵéb̂X́R̂ ár̂é n̂ót̂ ćûŕr̂én̂t́l̂ý êĺîǵîb́l̂é f̂ór̂ b́âćk̂/f́ôŕŵár̂d́ ĉáĉh́ê."
2674
2689
  },
2675
2690
  "panels/application/BackForwardCacheView.ts | backForwardCacheTitle": {
2676
- "message": "B̂áĉḱ-f̂ór̂ẃâŕd̂ Ćâćĥé"
2691
+ "message": "B̂áĉḱ-F̂ór̂ẃâŕd̂ Ćâćĥé"
2677
2692
  },
2678
2693
  "panels/application/BackForwardCacheView.ts | bfcacheStatus": {
2679
- "message": "B̂áĉḱ-f̂ór̂ẃâŕd̂ Ćâćĥé Ŝt́ât́ûś"
2694
+ "message": "B̂áĉḱ-F̂ór̂ẃâŕd̂ Ćâćĥé Ŝt́ât́ûś"
2680
2695
  },
2681
2696
  "panels/application/BackForwardCacheView.ts | circumstantial": {
2682
2697
  "message": "N̂ót̂ Áĉt́îón̂áb̂ĺê"
@@ -2688,16 +2703,16 @@
2688
2703
  "message": "M̂áîń F̂ŕâḿê"
2689
2704
  },
2690
2705
  "panels/application/BackForwardCacheView.ts | normalNavigation": {
2691
- "message": "N̂ór̂ḿâĺ n̂áv̂íĝát̂íôń (N̂ót̂ ŕêśt̂ór̂éd̂ f́r̂óm̂ b́âćk̂-f́ôŕŵár̂d́ ĉáĉh́ê)"
2706
+ "message": "N̂ór̂ḿâĺ n̂áv̂íĝát̂íôń (N̂ót̂ ŕêśt̂ór̂éd̂ f́r̂óm̂ B́âćk̂-F́ôŕŵár̂d́ Ĉáĉh́ê)"
2692
2707
  },
2693
2708
  "panels/application/BackForwardCacheView.ts | pageSupportNeeded": {
2694
2709
  "message": "Âćt̂íôńâb́l̂é"
2695
2710
  },
2696
2711
  "panels/application/BackForwardCacheView.ts | pageSupportNeededExplanation": {
2697
- "message": "T̂h́êśê ŕêáŝón̂ś âŕê áĉt́îón̂áb̂ĺê í.ê. t́ĥéŷ ćâń b̂é ĉĺêán̂éd̂ úp̂ t́ô ḿâḱê t́ĥé p̂áĝé êĺîǵîb́l̂é f̂ór̂ b́âćk̂-f́ôŕŵár̂d́ ĉáĉh́ê."
2712
+ "message": "T̂h́êśê ŕêáŝón̂ś âŕê áĉt́îón̂áb̂ĺê í.ê. t́ĥéŷ ćâń b̂é ĉĺêán̂éd̂ úp̂ t́ô ḿâḱê t́ĥé p̂áĝé êĺîǵîb́l̂é f̂ór̂ B́âćk̂-F́ôŕŵár̂d́ Ĉáĉh́ê."
2698
2713
  },
2699
2714
  "panels/application/BackForwardCacheView.ts | restoredFromBFCache": {
2700
- "message": "R̂éŝt́ôŕêd́ f̂ŕôḿ b̂áĉḱ-f̂ór̂ẃâŕd̂ ćâćĥé"
2715
+ "message": "R̂éŝt́ôŕêd́ f̂ŕôḿ B̂áĉḱ-F̂ór̂ẃâŕd̂ Ćâćĥé"
2701
2716
  },
2702
2717
  "panels/application/BackForwardCacheView.ts | runTest": {
2703
2718
  "message": "R̂ún̂ T́êśt̂"
@@ -2706,7 +2721,7 @@
2706
2721
  "message": "P̂én̂d́îńĝ Śûṕp̂ór̂t́"
2707
2722
  },
2708
2723
  "panels/application/BackForwardCacheView.ts | supportPendingExplanation": {
2709
- "message": "Ĉh́r̂óm̂é ŝúp̂ṕôŕt̂ f́ôŕ t̂h́êśê ŕêáŝón̂ś îś p̂én̂d́îńĝ í.ê. t́ĥéŷ ẃîĺl̂ ńôt́ p̂ŕêv́êńt̂ t́ĥé p̂áĝé f̂ŕôḿ b̂éîńĝ él̂íĝíb̂ĺê f́ôŕ b̂áĉḱ-f̂ór̂ẃâŕd̂ ćâćĥé îń â f́ût́ûŕê v́êŕŝíôń ôf́ Ĉh́r̂óm̂é."
2724
+ "message": "Ĉh́r̂óm̂é ŝúp̂ṕôŕt̂ f́ôŕ t̂h́êśê ŕêáŝón̂ś îś p̂én̂d́îńĝ í.ê. t́ĥéŷ ẃîĺl̂ ńôt́ p̂ŕêv́êńt̂ t́ĥé p̂áĝé f̂ŕôḿ b̂éîńĝ él̂íĝíb̂ĺê f́ôŕ B̂áĉḱ-F̂ór̂ẃâŕd̂ Ćâćĥé îń â f́ût́ûŕê v́êŕŝíôń ôf́ Ĉh́r̂óm̂é."
2710
2725
  },
2711
2726
  "panels/application/BackForwardCacheView.ts | unavailable": {
2712
2727
  "message": "ûńâv́âíl̂áb̂ĺê"
@@ -5372,8 +5387,14 @@
5372
5387
  "panels/issues/HiddenIssuesRow.ts | unhideAll": {
5373
5388
  "message": "Ûńĥíd̂é âĺl̂"
5374
5389
  },
5375
- "panels/issues/IssueKindView.ts | hideAllCurrent": {
5376
- "message": "Ĥíd̂é âĺl̂ ćûŕr̂én̂t́ {PH1}"
5390
+ "panels/issues/IssueKindView.ts | hideAllCurrentBreakingChanges": {
5391
+ "message": "Ĥíd̂é âĺl̂ ćûŕr̂én̂t́ B̂ŕêák̂ín̂ǵ Ĉh́âńĝéŝ"
5392
+ },
5393
+ "panels/issues/IssueKindView.ts | hideAllCurrentImprovements": {
5394
+ "message": "Ĥíd̂é âĺl̂ ćûŕr̂én̂t́ Îḿp̂ŕôv́êḿêńt̂ś"
5395
+ },
5396
+ "panels/issues/IssueKindView.ts | hideAllCurrentPageErrors": {
5397
+ "message": "Ĥíd̂é âĺl̂ ćûŕr̂én̂t́ P̂áĝé Êŕr̂ór̂ś"
5377
5398
  },
5378
5399
  "panels/issues/issues-meta.ts | cspViolations": {
5379
5400
  "message": "ĈŚP̂ V́îól̂át̂íôńŝ"
@@ -11432,6 +11453,18 @@
11432
11453
  "ui/components/linear_memory_inspector/ValueInterpreterSettings.ts | otherGroup": {
11433
11454
  "message": "Ôt́ĥér̂"
11434
11455
  },
11456
+ "ui/components/panel_feedback/PanelFeedback.ts | previewFeature": {
11457
+ "message": "P̂ŕêv́îéŵ f́êát̂úr̂é"
11458
+ },
11459
+ "ui/components/panel_feedback/PanelFeedback.ts | previewText": {
11460
+ "message": "Ôúr̂ t́êám̂ íŝ áĉt́îv́êĺŷ ẃôŕk̂ín̂ǵ ôń t̂h́îś f̂éât́ûŕê án̂d́ ŵé ŵóûĺd̂ ĺôv́ê t́ô ḱn̂óŵ ẃĥát̂ ýôú t̂h́îńk̂."
11461
+ },
11462
+ "ui/components/panel_feedback/PanelFeedback.ts | previewTextFeedbackLink": {
11463
+ "message": "Ŝén̂d́ ûś ŷóûŕ f̂éêd́b̂áĉḱ."
11464
+ },
11465
+ "ui/components/panel_feedback/PanelFeedback.ts | videoAndDocumentation": {
11466
+ "message": "V̂íd̂éô án̂d́ d̂óĉúm̂én̂t́ât́îón̂"
11467
+ },
11435
11468
  "ui/components/request_link_icon/RequestLinkIcon.ts | clickToShowRequestInTheNetwork": {
11436
11469
  "message": "Ĉĺîćk̂ t́ô óp̂én̂ t́ĥé n̂ét̂ẃôŕk̂ ṕâńêĺ âńd̂ śĥóŵ ŕêq́ûéŝt́ f̂ór̂ ÚR̂Ĺ: {url}"
11437
11470
  },
@@ -644,6 +644,10 @@ export class TargetBase {
644
644
  return this.getAgent('Emulation');
645
645
  }
646
646
 
647
+ eventBreakpointsAgent(): ProtocolProxyApi.EventBreakpointsApi {
648
+ return this.getAgent('EventBreakpoints');
649
+ }
650
+
647
651
  heapProfilerAgent(): ProtocolProxyApi.HeapProfilerApi {
648
652
  return this.getAgent('HeapProfiler');
649
653
  }
@@ -232,6 +232,10 @@ export class Runtime {
232
232
  getModulesMap(): {[x: string]: Module} {
233
233
  return this.modulesMap;
234
234
  }
235
+
236
+ loadLegacyModule(modulePath: string): Promise<void> {
237
+ return import(`../../${modulePath}`);
238
+ }
235
239
  }
236
240
 
237
241
  export class ModuleDescriptor {
@@ -0,0 +1,35 @@
1
+ // Copyright 2021 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ export class CategorizedBreakpoint {
6
+ readonly #categoryInternal: string;
7
+ titleInternal: string;
8
+ enabledInternal: boolean;
9
+
10
+ constructor(category: string, title: string) {
11
+ this.#categoryInternal = category;
12
+ this.titleInternal = title;
13
+ this.enabledInternal = false;
14
+ }
15
+
16
+ category(): string {
17
+ return this.#categoryInternal;
18
+ }
19
+
20
+ enabled(): boolean {
21
+ return this.enabledInternal;
22
+ }
23
+
24
+ setEnabled(enabled: boolean): void {
25
+ this.enabledInternal = enabled;
26
+ }
27
+
28
+ title(): string {
29
+ return this.titleInternal;
30
+ }
31
+
32
+ setTitle(title: string): void {
33
+ this.titleInternal = title;
34
+ }
35
+ }