chrome-devtools-frontend 1.0.1590494 → 1.0.1592129

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 (79) hide show
  1. package/docs/ui_engineering.md +34 -1
  2. package/front_end/core/common/Gzip.ts +17 -2
  3. package/front_end/core/host/AidaClient.ts +38 -15
  4. package/front_end/core/host/DispatchHttpRequestClient.ts +7 -4
  5. package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -0
  6. package/front_end/core/host/UserMetrics.ts +2 -1
  7. package/front_end/core/root/ExperimentNames.ts +1 -0
  8. package/front_end/core/root/Runtime.ts +5 -0
  9. package/front_end/core/sdk/CSSMetadata.ts +18 -0
  10. package/front_end/core/sdk/EmulationModel.ts +6 -1
  11. package/front_end/core/sdk/NetworkManager.ts +49 -2
  12. package/front_end/core/sdk/NetworkRequest.ts +4 -0
  13. package/front_end/core/sdk/RuntimeModel.ts +2 -1
  14. package/front_end/core/sdk/sdk-meta.ts +26 -0
  15. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +34 -5
  16. package/front_end/entrypoints/main/MainImpl.ts +8 -0
  17. package/front_end/generated/InspectorBackendCommands.ts +1 -0
  18. package/front_end/generated/protocol-mapping.d.ts +10 -0
  19. package/front_end/generated/protocol-proxy-api.d.ts +8 -0
  20. package/front_end/generated/protocol.ts +6 -2
  21. package/front_end/models/ai_assistance/AiConversation.ts +9 -0
  22. package/front_end/models/ai_assistance/AiHistoryStorage.ts +1 -0
  23. package/front_end/models/ai_assistance/agents/AiAgent.ts +6 -1
  24. package/front_end/models/ai_assistance/agents/BreakpointDebuggerAgent.ts +722 -0
  25. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +1 -1
  26. package/front_end/models/ai_assistance/ai_assistance.ts +2 -0
  27. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +12 -12
  28. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +7 -7
  29. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +7 -7
  30. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +1 -1
  31. package/front_end/models/greendev/Prototypes.ts +7 -1
  32. package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
  33. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +3 -3
  34. package/front_end/models/trace/helpers/Network.ts +1 -1
  35. package/front_end/models/trace/insights/NetworkDependencyTree.ts +1 -1
  36. package/front_end/models/trace/insights/RenderBlocking.ts +5 -5
  37. package/front_end/models/trace/lantern/metrics/FirstContentfulPaint.ts +6 -6
  38. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +63 -0
  39. package/front_end/panels/ai_assistance/README.md +14 -0
  40. package/front_end/panels/ai_assistance/components/ChatInput.ts +1 -4
  41. package/front_end/panels/ai_assistance/components/ChatMessage.ts +45 -27
  42. package/front_end/panels/ai_assistance/components/chatInput.css +0 -8
  43. package/front_end/panels/ai_assistance/components/chatMessage.css +6 -0
  44. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +25 -46
  45. package/front_end/panels/common/AiCodeGenerationTeaser.ts +9 -4
  46. package/front_end/panels/console/ConsoleViewMessage.ts +100 -4
  47. package/front_end/panels/elements/ComputedStyleWidget.ts +46 -18
  48. package/front_end/panels/elements/ElementsPanel.ts +2 -2
  49. package/front_end/panels/elements/StyleEditorWidget.ts +10 -2
  50. package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -1
  51. package/front_end/panels/elements/StylesContainer.ts +2 -0
  52. package/front_end/panels/elements/StylesSidebarPane.ts +8 -0
  53. package/front_end/panels/network/NetworkDataGridNode.ts +1 -1
  54. package/front_end/panels/network/NetworkLogViewColumns.ts +1 -1
  55. package/front_end/panels/network/RequestPayloadView.ts +7 -6
  56. package/front_end/panels/network/RequestTimingView.ts +3 -3
  57. package/front_end/panels/search/SearchResultsPane.ts +2 -1
  58. package/front_end/panels/settings/SettingsScreen.ts +3 -2
  59. package/front_end/panels/settings/WorkspaceSettingsTab.ts +1 -1
  60. package/front_end/panels/sources/BreakpointsView.ts +1 -1
  61. package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
  62. package/front_end/panels/timeline/NetworkTrackAppender.ts +1 -1
  63. package/front_end/panels/timeline/components/IgnoreListSetting.ts +0 -1
  64. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +4 -4
  65. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +2 -2
  66. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +4 -4
  67. package/front_end/third_party/chromium/README.chromium +4 -2
  68. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +5 -1
  69. package/front_end/third_party/lighthouse/locales/en-GB.json +2 -2
  70. package/front_end/third_party/lighthouse/locales/en-US.json +2 -2
  71. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +1 -1
  72. package/front_end/ui/legacy/Treeoutline.ts +39 -0
  73. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +31 -8
  74. package/front_end/ui/legacy/components/object_ui/RemoteObjectPreviewFormatter.ts +10 -3
  75. package/front_end/ui/legacy/components/source_frame/XMLView.ts +20 -5
  76. package/front_end/ui/visual_logging/Debugging.ts +51 -34
  77. package/front_end/ui/visual_logging/KnownContextValues.ts +7 -1
  78. package/front_end/ui/visual_logging/LoggingEvents.ts +5 -2
  79. package/package.json +1 -1
@@ -821,50 +821,67 @@ ${JSON.stringify(allLogs, null, 2)}
821
821
 
822
822
  let numMatchedEvents = 0;
823
823
 
824
+ function recordUnmatchedEvent(
825
+ pendingExpectation: PendingEventExpectation, actualEvent: TestLogEntry, expectedEvent: TestLogEntry,
826
+ matchedImpressions: Set<string>): void {
827
+ const unmatched = {...actualEvent};
828
+ if ('impressions' in unmatched && 'impressions' in expectedEvent) {
829
+ unmatched.impressions = unmatched.impressions.filter(impression => {
830
+ const matched = expectedEvent.impressions.includes(impression);
831
+ if (matched) {
832
+ matchedImpressions.add(impression);
833
+ }
834
+ return !matched;
835
+ });
836
+ }
837
+ pendingExpectation.unmatchedEvents.push(unmatched);
838
+ }
839
+
840
+ function processMissingEvents(
841
+ pendingExpectation: PendingEventExpectation, expectedEventIndex: number, matchedImpressions: Set<string>): void {
842
+ pendingExpectation.missingEvents = pendingExpectation.expectedEvents.slice(expectedEventIndex);
843
+ for (const event of pendingExpectation.missingEvents) {
844
+ if ('impressions' in event) {
845
+ event.impressions = event.impressions.filter(impression => !matchedImpressions.has(impression));
846
+ }
847
+ }
848
+ pendingExpectation.missingEvents =
849
+ pendingExpectation.missingEvents.filter(event => !('impressions' in event) || event.impressions.length > 0);
850
+ }
851
+
824
852
  function checkPendingEventExpectation(): void {
825
853
  if (!pendingEventExpectation) {
826
854
  return;
827
855
  }
828
- const actualEvents = [...veDebugEventsLog] as TestLogEntry[];
829
- let partialMatch = false;
856
+ const actualEvents = veDebugEventsLog as TestLogEntry[];
857
+ let actualEventIndex = 0;
858
+ let matchStarted = false;
830
859
  const matchedImpressions = new Set<string>();
831
860
  pendingEventExpectation.unmatchedEvents = [];
832
- for (let i = 0; i < pendingEventExpectation.expectedEvents.length; ++i) {
833
- const expectedEvent = pendingEventExpectation.expectedEvents[i];
834
- while (true) {
835
- if (actualEvents.length <= i) {
836
- pendingEventExpectation.missingEvents = pendingEventExpectation.expectedEvents.slice(i);
837
- for (const event of pendingEventExpectation.missingEvents) {
838
- if ('impressions' in event) {
839
- event.impressions = event.impressions.filter(impression => !matchedImpressions.has(impression));
840
- }
841
- }
842
- pendingEventExpectation.missingEvents = pendingEventExpectation.missingEvents.filter(
843
- event => !('impressions' in event) || event.impressions.length > 0);
844
- return;
845
- }
846
- if (!compareVeEvents(actualEvents[i], expectedEvent)) {
847
- if (partialMatch) {
848
- const unmatched = {...actualEvents[i]};
849
- if ('impressions' in unmatched && 'impressions' in expectedEvent) {
850
- unmatched.impressions = unmatched.impressions.filter(impression => {
851
- const matched = expectedEvent.impressions.includes(impression);
852
- if (matched) {
853
- matchedImpressions.add(impression);
854
- }
855
- return !matched;
856
- });
857
- }
858
- pendingEventExpectation.unmatchedEvents.push(unmatched);
859
- }
860
- actualEvents.splice(i, 1);
861
- } else {
862
- partialMatch = true;
861
+
862
+ for (let expectedEventIndex = 0; expectedEventIndex < pendingEventExpectation.expectedEvents.length;
863
+ ++expectedEventIndex) {
864
+ const expectedEvent = pendingEventExpectation.expectedEvents[expectedEventIndex];
865
+ let found = false;
866
+ while (actualEventIndex < actualEvents.length) {
867
+ if (compareVeEvents(actualEvents[actualEventIndex], expectedEvent)) {
868
+ found = true;
869
+ matchStarted = true;
870
+ actualEventIndex++;
863
871
  break;
864
872
  }
873
+ if (matchStarted) {
874
+ recordUnmatchedEvent(
875
+ pendingEventExpectation, actualEvents[actualEventIndex], expectedEvent, matchedImpressions);
876
+ }
877
+ actualEventIndex++;
878
+ }
879
+ if (!found) {
880
+ processMissingEvents(pendingEventExpectation, expectedEventIndex, matchedImpressions);
881
+ return;
865
882
  }
866
883
  }
867
- numMatchedEvents = veDebugEventsLog.length - actualEvents.length + pendingEventExpectation.expectedEvents.length;
884
+ numMatchedEvents = actualEventIndex;
868
885
  pendingEventExpectation.success();
869
886
  }
870
887
 
@@ -360,7 +360,8 @@ export const knownContextValues = new Set([
360
360
  'ai-code-generation-upgrade-dialog.manage-in-settings',
361
361
  'ai-code-generation-used',
362
362
  'ai-explorer',
363
- 'ai-show-walkthrough',
363
+ 'ai-hide-walkthrough-sidebar',
364
+ 'ai-show-walkthrough-sidebar',
364
365
  'ai_assistance',
365
366
  'align-content',
366
367
  'align-content-center',
@@ -1377,6 +1378,7 @@ export const knownContextValues = new Set([
1377
1378
  'drjones.sources-panel-context.performance',
1378
1379
  'drjones.sources-panel-context.script',
1379
1380
  'drop',
1381
+ 'durable-messages',
1380
1382
  'duration',
1381
1383
  'durationchange',
1382
1384
  'dynamic-local-setting',
@@ -1793,6 +1795,7 @@ export const knownContextValues = new Set([
1793
1795
  'greendev',
1794
1796
  'greendev-ai-annotations-enabled',
1795
1797
  'greendev-artifact-viewer-enabled',
1798
+ 'greendev-breakpoint-debugger-agent-enabled',
1796
1799
  'greendev-copy-to-gemini-enabled',
1797
1800
  'greendev-in-devtools-floaty-enabled',
1798
1801
  'greendev-inline-widgets-enabled',
@@ -2055,6 +2058,8 @@ export const knownContextValues = new Set([
2055
2058
  'java-script-disabled-true',
2056
2059
  'javascript',
2057
2060
  'javascript-context',
2061
+ 'jpeg-xl-format-disabled',
2062
+ 'jpeg-xl-format-disabled-true',
2058
2063
  'jpg-header',
2059
2064
  'js-event-listeners',
2060
2065
  'js-heap-total-size',
@@ -3545,6 +3550,7 @@ export const knownContextValues = new Set([
3545
3550
  'show-ad-highlights',
3546
3551
  'show-ad-highlights-true',
3547
3552
  'show-adorner-settings',
3553
+ 'show-all',
3548
3554
  'show-all-properties',
3549
3555
  'show-as-javascript-object',
3550
3556
  'show-console-insight-teasers',
@@ -40,8 +40,11 @@ export const logResize = (loggable: Loggable, size: DOMRect): void => {
40
40
  return;
41
41
  }
42
42
  loggingState.size = size;
43
- const resizeEvent: Host.InspectorFrontendHostAPI
44
- .ResizeEvent = {veid: loggingState.veid, width: loggingState.size.width, height: loggingState.size.height};
43
+ const resizeEvent: Host.InspectorFrontendHostAPI.ResizeEvent = {
44
+ veid: loggingState.veid,
45
+ width: Math.round(loggingState.size.width),
46
+ height: Math.round(loggingState.size.height)
47
+ };
45
48
  Host.InspectorFrontendHost.InspectorFrontendHostInstance.recordResize(resizeEvent);
46
49
  processEventForDebugging('Resize', loggingState, {width: Math.round(size.width), height: Math.round(size.height)});
47
50
  };
package/package.json CHANGED
@@ -105,5 +105,5 @@
105
105
  "flat-cache": "6.1.12"
106
106
  }
107
107
  },
108
- "version": "1.0.1590494"
108
+ "version": "1.0.1592129"
109
109
  }