chrome-devtools-frontend 1.0.1543472 → 1.0.1544076

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 (109) hide show
  1. package/AUTHORS +1 -0
  2. package/front_end/core/host/AidaClient.ts +10 -7
  3. package/front_end/core/host/DispatchHttpRequestClient.ts +18 -3
  4. package/front_end/core/root/Runtime.ts +8 -7
  5. package/front_end/core/sdk/CPUThrottlingManager.ts +0 -4
  6. package/front_end/core/sdk/CSSMatchedStyles.ts +7 -9
  7. package/front_end/core/sdk/CSSModel.ts +1 -1
  8. package/front_end/core/sdk/CSSRule.ts +18 -6
  9. package/front_end/core/sdk/ChildTargetManager.ts +2 -2
  10. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +2 -0
  11. package/front_end/entrypoints/main/MainImpl.ts +0 -16
  12. package/front_end/foundation/Universe.ts +12 -1
  13. package/front_end/models/ai_assistance/agents/AiAgent.ts +10 -8
  14. package/front_end/models/ai_assistance/agents/PatchAgent.ts +7 -1
  15. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +0 -5
  16. package/front_end/models/ai_assistance/agents/StylingAgent.ts +4 -8
  17. package/front_end/models/ai_code_completion/AiCodeCompletion.ts +1 -1
  18. package/front_end/models/ai_code_generation/AiCodeGeneration.ts +5 -3
  19. package/front_end/models/bindings/CSSWorkspaceBinding.ts +8 -7
  20. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +9 -8
  21. package/front_end/models/bindings/ResourceMapping.ts +57 -15
  22. package/front_end/models/live-metrics/LiveMetrics.ts +12 -20
  23. package/front_end/panels/accessibility/AccessibilityNodeView.ts +6 -2
  24. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +1 -1
  25. package/front_end/panels/ai_assistance/components/ChatView.ts +2 -4
  26. package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +2 -1
  27. package/front_end/panels/animation/AnimationTimeline.ts +6 -6
  28. package/front_end/panels/application/components/ReportsGrid.ts +7 -2
  29. package/front_end/panels/application/components/SharedStorageAccessGrid.ts +5 -3
  30. package/front_end/panels/application/components/TrustTokensView.ts +7 -1
  31. package/front_end/panels/application/preloading/PreloadingView.ts +10 -4
  32. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +7 -11
  33. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +15 -3
  34. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +12 -13
  35. package/front_end/panels/{elements → common}/DOMLinkifier.ts +6 -6
  36. package/front_end/panels/common/common.ts +1 -0
  37. package/front_end/panels/console/ConsoleViewMessage.ts +4 -4
  38. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -1
  39. package/front_end/panels/elements/ElementsTreeElement.ts +3 -1
  40. package/front_end/panels/elements/StylePropertiesSection.ts +52 -15
  41. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -3
  42. package/front_end/panels/elements/StylesSidebarPane.ts +24 -14
  43. package/front_end/panels/elements/elements-meta.ts +11 -2
  44. package/front_end/panels/elements/elements.ts +0 -3
  45. package/front_end/panels/explain/components/ConsoleInsight.ts +31 -20
  46. package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
  47. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +2 -1
  48. package/front_end/panels/network/NetworkLogView.ts +1 -1
  49. package/front_end/panels/recorder/RecorderController.ts +7 -1
  50. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +42 -294
  51. package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
  52. package/front_end/panels/sources/SourcesPanel.ts +5 -1
  53. package/front_end/panels/timeline/TimelineUIUtils.ts +3 -2
  54. package/front_end/panels/timeline/components/LiveMetricsView.ts +7 -4
  55. package/front_end/panels/timeline/components/insights/NodeLink.ts +3 -2
  56. package/front_end/third_party/puppeteer/README.chromium +2 -2
  57. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  58. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  59. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +4 -1
  60. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
  61. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.d.ts +1 -0
  62. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.d.ts.map +1 -1
  63. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.js +8 -0
  64. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.js.map +1 -1
  65. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  66. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +22 -0
  67. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
  68. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  69. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  70. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  71. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  72. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  73. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  74. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  75. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +34 -6
  76. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  77. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  78. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +4 -1
  79. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
  80. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.d.ts +1 -0
  81. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.d.ts.map +1 -1
  82. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.js +8 -0
  83. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.js.map +1 -1
  84. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  85. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +22 -0
  86. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
  87. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  88. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  89. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  90. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  91. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  92. package/front_end/third_party/puppeteer/package/package.json +2 -2
  93. package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +5 -1
  94. package/front_end/third_party/puppeteer/package/src/cdp/NetworkEventManager.ts +16 -1
  95. package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +28 -0
  96. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  97. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  98. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +8 -5
  99. package/front_end/ui/i18n/i18n.ts +16 -0
  100. package/front_end/ui/legacy/UIUtils.ts +1 -1
  101. package/front_end/ui/legacy/Widget.ts +56 -25
  102. package/front_end/ui/legacy/XLink.ts +0 -2
  103. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +3 -1
  104. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +155 -198
  105. package/front_end/ui/legacy/inspectorCommon.css +0 -4
  106. package/mcp/mcp.ts +1 -0
  107. package/package.json +1 -1
  108. package/front_end/ui/components/expandable_list/ExpandableList.docs.ts +0 -30
  109. /package/front_end/panels/{elements → common}/domLinkifier.css +0 -0
@@ -2,53 +2,23 @@
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 * as Common from '../../core/common/common.js';
6
5
  import * as Host from '../../core/host/host.js';
7
6
  import * as i18n from '../../core/i18n/i18n.js';
8
- import * as Root from '../../core/root/root.js';
9
7
  import * as AiCodeCompletion from '../../models/ai_code_completion/ai_code_completion.js';
10
8
  import type * as Workspace from '../../models/workspace/workspace.js';
11
- import * as CodeMirror from '../../third_party/codemirror.next/codemirror.next.js';
9
+ import type * as CodeMirror from '../../third_party/codemirror.next/codemirror.next.js';
12
10
  import * as TextEditor from '../../ui/components/text_editor/text_editor.js';
13
11
  import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
14
12
  import * as UI from '../../ui/legacy/legacy.js';
15
- import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
16
13
  import * as PanelCommon from '../common/common.js';
17
14
 
18
15
  import {Plugin} from './Plugin.js';
19
16
 
20
- const AI_CODE_COMPLETION_CHARACTER_LIMIT = 20_000;
21
17
  const DISCLAIMER_TOOLTIP_ID = 'sources-ai-code-completion-disclaimer-tooltip';
22
18
  const SPINNER_TOOLTIP_ID = 'sources-ai-code-completion-spinner-tooltip';
23
19
  const CITATIONS_TOOLTIP_ID = 'sources-ai-code-completion-citations-tooltip';
24
20
 
25
- function createCallbacks(editor: TextEditor.TextEditor.TextEditor): AiCodeCompletion.AiCodeCompletion.Callbacks {
26
- return {
27
- getSelectionHead: () => editor.editor.state.selection.main.head,
28
- getCompletionHint: () => editor.editor.plugin(TextEditor.Config.showCompletionHint)?.currentHint,
29
- setAiAutoCompletion: (args: {
30
- text: string,
31
- from: number,
32
- startTime: number,
33
- onImpression: (rpcGlobalId: Host.AidaClient.RpcGlobalId, latency: number, sampleId?: number) => void,
34
- clearCachedRequest: () => void,
35
- rpcGlobalId?: Host.AidaClient.RpcGlobalId,
36
- sampleId?: number,
37
- }|null) => editor.editor.dispatch({effects: TextEditor.Config.setAiAutoCompleteSuggestion.of(args)}),
38
- };
39
- }
40
-
41
21
  export class AiCodeCompletionPlugin extends Plugin {
42
- #aidaClient?: Host.AidaClient.AidaClient;
43
- #aidaAvailability?: Host.AidaClient.AidaAccessPreconditions;
44
- #boundOnAidaAvailabilityChange: () => Promise<void>;
45
- #aiCodeCompletion?: AiCodeCompletion.AiCodeCompletion.AiCodeCompletion;
46
- #aiCodeCompletionSetting = Common.Settings.Settings.instance().createSetting('ai-code-completion-enabled', false);
47
- #aiCodeCompletionTeaserDismissedSetting =
48
- Common.Settings.Settings.instance().createSetting('ai-code-completion-teaser-dismissed', false);
49
- #teaserCompartment = new CodeMirror.Compartment();
50
- #teaser?: PanelCommon.AiCodeCompletionTeaser;
51
- #teaserDisplayTimeout?: number;
52
22
  #editor?: TextEditor.TextEditor.TextEditor;
53
23
  #aiCodeCompletionDisclaimer?: PanelCommon.AiCodeCompletionDisclaimer;
54
24
  #aiCodeCompletionDisclaimerContainer = document.createElement('div');
@@ -57,25 +27,39 @@ export class AiCodeCompletionPlugin extends Plugin {
57
27
  #aiCodeCompletionCitationsToolbar?: PanelCommon.AiCodeCompletionSummaryToolbar;
58
28
  #aiCodeCompletionCitationsToolbarContainer = document.createElement('div');
59
29
  #aiCodeCompletionCitationsToolbarAttached = false;
60
-
61
- #boundEditorKeyDown: (event: KeyboardEvent) => Promise<void>;
62
- #boundOnAiCodeCompletionSettingChanged: () => void;
30
+ aiCodeCompletionConfig: TextEditor.AiCodeCompletionProvider.AiCodeCompletionConfig;
31
+ #aiCodeCompletionProvider: TextEditor.AiCodeCompletionProvider.AiCodeCompletionProvider;
63
32
 
64
33
  constructor(uiSourceCode: Workspace.UISourceCode.UISourceCode) {
65
34
  super(uiSourceCode);
66
- if (!this.#isAiCodeCompletionEnabled()) {
35
+ const devtoolsLocale = i18n.DevToolsLocale.DevToolsLocale.instance();
36
+ if (!AiCodeCompletion.AiCodeCompletion.AiCodeCompletion.isAiCodeCompletionEnabled(devtoolsLocale.locale)) {
67
37
  throw new Error('AI code completion feature is not enabled.');
68
38
  }
69
- this.#boundEditorKeyDown = this.#editorKeyDown.bind(this);
70
- this.#boundOnAiCodeCompletionSettingChanged = this.#onAiCodeCompletionSettingChanged.bind(this);
71
- this.#boundOnAidaAvailabilityChange = this.#onAidaAvailabilityChange.bind(this);
72
- Host.AidaClient.HostConfigTracker.instance().addEventListener(
73
- Host.AidaClient.Events.AIDA_AVAILABILITY_CHANGED, this.#boundOnAidaAvailabilityChange);
74
- const showTeaser = !this.#aiCodeCompletionSetting.get() && !this.#aiCodeCompletionTeaserDismissedSetting.get();
75
- if (showTeaser) {
76
- this.#teaser = new PanelCommon.AiCodeCompletionTeaser({onDetach: this.#detachAiCodeCompletionTeaser.bind(this)});
77
- }
78
39
 
40
+ this.aiCodeCompletionConfig = {
41
+ completionContext: {
42
+ additionalFiles: this.uiSourceCode.url().startsWith('snippet://') ? [{
43
+ path: 'devtools-console-context.js',
44
+ content: AiCodeCompletion.AiCodeCompletion.consoleAdditionalContextFileContent,
45
+ included_reason: Host.AidaClient.Reason.RELATED_FILE,
46
+ }] :
47
+ undefined,
48
+ inferenceLanguage: this.#getInferenceLanguage()
49
+ },
50
+ onFeatureEnabled: () => {
51
+ this.#setupAiCodeCompletion();
52
+ },
53
+ onFeatureDisabled: () => {
54
+ this.#cleanupAiCodeCompletion();
55
+ },
56
+ onSuggestionAccepted: this.#onAiCodeCompletionSuggestionAccepted.bind(this),
57
+ onRequestTriggered: this.#onAiRequestTriggered.bind(this),
58
+ onResponseReceived: this.#onAiResponseReceived.bind(this),
59
+ panel: AiCodeCompletion.AiCodeCompletion.ContextFlavor.SOURCES,
60
+ };
61
+ this.#aiCodeCompletionProvider =
62
+ TextEditor.AiCodeCompletionProvider.AiCodeCompletionProvider.createInstance(this.aiCodeCompletionConfig);
79
63
  this.#aiCodeCompletionDisclaimerContainer.classList.add('ai-code-completion-disclaimer-container');
80
64
  this.#aiCodeCompletionDisclaimerContainer.style.paddingInline = 'var(--sys-size-3)';
81
65
  }
@@ -85,158 +69,28 @@ export class AiCodeCompletionPlugin extends Plugin {
85
69
  }
86
70
 
87
71
  override dispose(): void {
88
- this.#teaser = undefined;
89
- this.#aiCodeCompletionSetting.removeChangeListener(this.#boundOnAiCodeCompletionSettingChanged);
90
- Host.AidaClient.HostConfigTracker.instance().removeEventListener(
91
- Host.AidaClient.Events.AIDA_AVAILABILITY_CHANGED, this.#boundOnAidaAvailabilityChange);
92
- this.#editor?.removeEventListener('keydown', this.#boundEditorKeyDown);
93
- this.#cleanupAiCodeCompletion();
72
+ this.#aiCodeCompletionProvider.dispose();
94
73
  super.dispose();
95
74
  }
96
75
 
97
76
  override editorInitialized(editor: TextEditor.TextEditor.TextEditor): void {
98
77
  this.#editor = editor;
99
- this.#editor.addEventListener('keydown', this.#boundEditorKeyDown);
100
- this.#aiCodeCompletionSetting.addChangeListener(this.#boundOnAiCodeCompletionSettingChanged);
101
- this.#onAiCodeCompletionSettingChanged();
102
- void this.#onAidaAvailabilityChange();
78
+ this.#aiCodeCompletionProvider.editorInitialized(editor);
79
+ this.#editor.editor.dispatch({
80
+ effects: TextEditor.AiCodeCompletionProvider.setAiCodeCompletionTeaserMode.of(
81
+ TextEditor.AiCodeCompletionProvider.AiCodeCompletionTeaserMode.ON)
82
+ });
103
83
  }
104
84
 
105
85
  override editorExtension(): CodeMirror.Extension {
106
- return [
107
- CodeMirror.EditorView.updateListener.of(update => this.#editorUpdate(update)), this.#teaserCompartment.of([]),
108
- TextEditor.Config.aiAutoCompleteSuggestion, CodeMirror.Prec.highest(CodeMirror.keymap.of(this.#editorKeymap()))
109
- ];
86
+ return this.#aiCodeCompletionProvider.extension();
110
87
  }
111
88
 
112
89
  override rightToolbarItems(): UI.Toolbar.ToolbarItem[] {
113
90
  return [this.#aiCodeCompletionDisclaimerToolbarItem];
114
91
  }
115
92
 
116
- #editorUpdate(update: CodeMirror.ViewUpdate): void {
117
- if (this.#teaser) {
118
- if (update.docChanged) {
119
- update.view.dispatch({effects: this.#teaserCompartment.reconfigure([])});
120
- window.clearTimeout(this.#teaserDisplayTimeout);
121
- this.#addTeaserPluginToCompartment(update.view);
122
- } else if (update.selectionSet && update.state.doc.length > 0) {
123
- update.view.dispatch({effects: this.#teaserCompartment.reconfigure([])});
124
- }
125
- } else if (this.#aiCodeCompletion) {
126
- if (update.docChanged && update.state.doc !== update.startState.doc) {
127
- this.#triggerAiCodeCompletion();
128
- }
129
- }
130
- }
131
-
132
- #triggerAiCodeCompletion(): void {
133
- if (!this.#editor || !this.#aiCodeCompletion) {
134
- return;
135
- }
136
- const {doc, selection} = this.#editor.state;
137
- const query = doc.toString();
138
- const cursor = selection.main.head;
139
- let prefix = query.substring(0, cursor);
140
- if (prefix.trim().length === 0) {
141
- return;
142
- }
143
- let suffix = query.substring(cursor);
144
- if (prefix.length > AI_CODE_COMPLETION_CHARACTER_LIMIT) {
145
- prefix = prefix.substring(prefix.length - AI_CODE_COMPLETION_CHARACTER_LIMIT);
146
- }
147
- if (suffix.length > AI_CODE_COMPLETION_CHARACTER_LIMIT) {
148
- suffix = suffix.substring(0, AI_CODE_COMPLETION_CHARACTER_LIMIT);
149
- }
150
- this.#aiCodeCompletion.onTextChanged(prefix, suffix, cursor, this.#getInferenceLanguage());
151
- }
152
-
153
- #editorKeymap(): readonly CodeMirror.KeyBinding[] {
154
- return [
155
- {
156
- key: 'Escape',
157
- run: (): boolean => {
158
- if (this.#aiCodeCompletion && this.#editor && TextEditor.Config.hasActiveAiSuggestion(this.#editor.state)) {
159
- this.#editor.dispatch({
160
- effects: TextEditor.Config.setAiAutoCompleteSuggestion.of(null),
161
- });
162
- return true;
163
- }
164
- return false;
165
- },
166
- },
167
- {
168
- key: 'Tab',
169
- run: (): boolean => {
170
- if (this.#aiCodeCompletion && this.#editor && TextEditor.Config.hasActiveAiSuggestion(this.#editor.state)) {
171
- const {accepted, suggestion} = TextEditor.Config.acceptAiAutoCompleteSuggestion(this.#editor.editor);
172
- if (accepted) {
173
- if (suggestion?.rpcGlobalId) {
174
- this.#aiCodeCompletion?.registerUserAcceptance(suggestion.rpcGlobalId, suggestion.sampleId);
175
- }
176
- this.#onAiCodeCompletionSuggestionAccepted();
177
- }
178
- return accepted;
179
- }
180
- return false;
181
- },
182
- }
183
- ];
184
- }
185
-
186
- async #editorKeyDown(event: KeyboardEvent): Promise<void> {
187
- if (!this.#teaser?.isShowing()) {
188
- return;
189
- }
190
- const keyboardEvent = event;
191
- if (UI.KeyboardShortcut.KeyboardShortcut.eventHasCtrlEquivalentKey(keyboardEvent)) {
192
- if (keyboardEvent.key === 'i') {
193
- keyboardEvent.consume(true);
194
- void VisualLogging.logKeyDown(event.currentTarget, event, 'ai-code-completion-teaser.fre');
195
- await this.#teaser?.onAction(event);
196
- } else if (keyboardEvent.key === 'x') {
197
- keyboardEvent.consume(true);
198
- void VisualLogging.logKeyDown(event.currentTarget, event, 'ai-code-completion-teaser.dismiss');
199
- this.#teaser?.onDismiss(event);
200
- }
201
- }
202
- }
203
-
204
- #addTeaserPluginToCompartment = Common.Debouncer.debounce((view: CodeMirror.EditorView) => {
205
- this.#teaserDisplayTimeout = window.setTimeout(() => {
206
- this.#addTeaserPluginToCompartmentImmediate(view);
207
- }, AiCodeCompletion.AiCodeCompletion.DELAY_BEFORE_SHOWING_RESPONSE_MS);
208
- }, AiCodeCompletion.AiCodeCompletion.AIDA_REQUEST_DEBOUNCE_TIMEOUT_MS);
209
-
210
- #addTeaserPluginToCompartmentImmediate = (view: CodeMirror.EditorView): void => {
211
- if (!this.#teaser) {
212
- return;
213
- }
214
-
215
- view.dispatch({effects: this.#teaserCompartment.reconfigure([aiCodeCompletionTeaserExtension(this.#teaser)])});
216
- };
217
-
218
93
  #setupAiCodeCompletion(): void {
219
- if (!this.#editor) {
220
- return;
221
- }
222
- if (!this.#aidaClient) {
223
- this.#aidaClient = new Host.AidaClient.AidaClient();
224
- }
225
- if (this.#teaser) {
226
- this.#detachAiCodeCompletionTeaser();
227
- this.#teaser = undefined;
228
- }
229
- if (!this.#aiCodeCompletion) {
230
- const contextFlavor = this.uiSourceCode.url().startsWith('snippet://') ?
231
- AiCodeCompletion.AiCodeCompletion.ContextFlavor.CONSOLE :
232
- AiCodeCompletion.AiCodeCompletion.ContextFlavor.SOURCES;
233
- this.#aiCodeCompletion = new AiCodeCompletion.AiCodeCompletion.AiCodeCompletion(
234
- {aidaClient: this.#aidaClient}, contextFlavor, createCallbacks(this.#editor));
235
- this.#aiCodeCompletion.addEventListener(
236
- AiCodeCompletion.AiCodeCompletion.Events.REQUEST_TRIGGERED, this.#onAiRequestTriggered, this);
237
- this.#aiCodeCompletion.addEventListener(
238
- AiCodeCompletion.AiCodeCompletion.Events.RESPONSE_RECEIVED, this.#onAiResponseReceived, this);
239
- }
240
94
  this.#createAiCodeCompletionDisclaimer();
241
95
  this.#createAiCodeCompletionCitationsToolbar();
242
96
  }
@@ -281,46 +135,10 @@ export class AiCodeCompletionPlugin extends Plugin {
281
135
  }
282
136
  }
283
137
 
284
- #onAiCodeCompletionSettingChanged(): void {
285
- if (this.#aiCodeCompletionSetting.get()) {
286
- this.#setupAiCodeCompletion();
287
- } else if (this.#aiCodeCompletion) {
288
- this.#cleanupAiCodeCompletion();
289
- }
290
- }
291
-
292
- async #onAidaAvailabilityChange(): Promise<void> {
293
- const currentAidaAvailability = await Host.AidaClient.AidaClient.checkAccessPreconditions();
294
- if (currentAidaAvailability !== this.#aidaAvailability) {
295
- this.#aidaAvailability = currentAidaAvailability;
296
- if (this.#aidaAvailability === Host.AidaClient.AidaAccessPreconditions.AVAILABLE) {
297
- this.#onAiCodeCompletionSettingChanged();
298
- if (this.#editor?.state.doc.length === 0) {
299
- this.#addTeaserPluginToCompartmentImmediate(this.#editor?.editor);
300
- }
301
- } else if (this.#aiCodeCompletion) {
302
- this.#cleanupAiCodeCompletion();
303
- if (this.#teaser) {
304
- this.#editor?.dispatch({
305
- effects: this.#teaserCompartment.reconfigure([]),
306
- });
307
- }
308
- }
309
- }
310
- }
311
-
312
138
  #cleanupAiCodeCompletion(): void {
313
- this.#aiCodeCompletion?.removeEventListener(
314
- AiCodeCompletion.AiCodeCompletion.Events.REQUEST_TRIGGERED, this.#onAiRequestTriggered, this);
315
- this.#aiCodeCompletion?.removeEventListener(
316
- AiCodeCompletion.AiCodeCompletion.Events.RESPONSE_RECEIVED, this.#onAiResponseReceived, this);
317
- this.#aiCodeCompletion?.remove();
318
- this.#aiCodeCompletion = undefined;
319
- this.#aiCodeCompletionCitations = [];
320
- this.#aiCodeCompletionDisclaimer?.detach();
139
+ this.#aiCodeCompletionDisclaimerContainer.removeChildren();
321
140
  this.#aiCodeCompletionDisclaimer = undefined;
322
141
  this.#removeAiCodeCompletionCitationsToolbar();
323
- this.#aiCodeCompletionCitationsToolbar = undefined;
324
142
  }
325
143
 
326
144
  #onAiRequestTriggered = (): void => {
@@ -329,13 +147,12 @@ export class AiCodeCompletionPlugin extends Plugin {
329
147
  }
330
148
  };
331
149
 
332
- #onAiResponseReceived =
333
- (event: Common.EventTarget.EventTargetEvent<AiCodeCompletion.AiCodeCompletion.ResponseReceivedEvent>): void => {
334
- this.#aiCodeCompletionCitations = event.data.citations ?? [];
335
- if (this.#aiCodeCompletionDisclaimer) {
336
- this.#aiCodeCompletionDisclaimer.loading = false;
337
- }
338
- };
150
+ #onAiResponseReceived = (citations: Host.AidaClient.Citation[]): void => {
151
+ this.#aiCodeCompletionCitations = citations;
152
+ if (this.#aiCodeCompletionDisclaimer) {
153
+ this.#aiCodeCompletionDisclaimer.loading = false;
154
+ }
155
+ };
339
156
 
340
157
  #onAiCodeCompletionSuggestionAccepted(): void {
341
158
  if (!this.#aiCodeCompletionCitationsToolbar || this.#aiCodeCompletionCitations.length === 0) {
@@ -349,28 +166,6 @@ export class AiCodeCompletionPlugin extends Plugin {
349
166
  }
350
167
  }
351
168
 
352
- #detachAiCodeCompletionTeaser(): void {
353
- this.#editor?.dispatch({
354
- effects: this.#teaserCompartment.reconfigure([]),
355
- });
356
- this.#teaser = undefined;
357
- }
358
-
359
- #isAiCodeCompletionEnabled(): boolean {
360
- const devtoolsLocale = i18n.DevToolsLocale.DevToolsLocale.instance();
361
- const aidaAvailability = Root.Runtime.hostConfig.aidaAvailability;
362
- if (!devtoolsLocale.locale.startsWith('en-')) {
363
- return false;
364
- }
365
- if (aidaAvailability?.blockedByGeo) {
366
- return false;
367
- }
368
- if (aidaAvailability?.blockedByAge) {
369
- return false;
370
- }
371
- return Boolean(Root.Runtime.hostConfig.devToolsAiCodeCompletion?.enabled);
372
- }
373
-
374
169
  #getInferenceLanguage(): Host.AidaClient.AidaInferenceLanguage|undefined {
375
170
  const mimeType = this.uiSourceCode.mimeType();
376
171
  switch (mimeType) {
@@ -435,51 +230,4 @@ export class AiCodeCompletionPlugin extends Plugin {
435
230
  return undefined;
436
231
  }
437
232
  }
438
-
439
- setAidaClientForTest(aidaClient: Host.AidaClient.AidaClient): void {
440
- this.#aidaClient = aidaClient;
441
- }
442
- }
443
-
444
- export function aiCodeCompletionTeaserExtension(teaser: PanelCommon.AiCodeCompletionTeaser): CodeMirror.Extension {
445
- const teaserPlugin = CodeMirror.ViewPlugin.fromClass(class {
446
- #teaserDecoration: CodeMirror.DecorationSet;
447
-
448
- constructor(readonly view: CodeMirror.EditorView) {
449
- const cursorPosition = this.view.state.selection.main.head;
450
- const line = this.view.state.doc.lineAt(cursorPosition);
451
- const column = cursorPosition - line.from;
452
- const isCursorAtEndOfLine = column >= line.length;
453
- if (isCursorAtEndOfLine) {
454
- this.#teaserDecoration = CodeMirror.Decoration.set([
455
- CodeMirror.Decoration
456
- .widget({
457
- widget: new TextEditor.AiCodeCompletionTeaserPlaceholder.AiCodeCompletionTeaserPlaceholder(teaser),
458
- side: 1
459
- })
460
- .range(cursorPosition),
461
- ]);
462
- } else {
463
- this.#teaserDecoration = CodeMirror.Decoration.none;
464
- }
465
- }
466
-
467
- declare update: () => void;
468
-
469
- get decorations(): CodeMirror.DecorationSet {
470
- return this.#teaserDecoration;
471
- }
472
- }, {
473
- decorations: v => v.decorations,
474
- eventHandlers: {
475
- mousedown(event: MouseEvent): boolean {
476
- // Required for mouse click to propagate to the "Don't show again" span in teaser.
477
- if (event.target instanceof Node && teaser.contentElement.contains(event.target)) {
478
- return true;
479
- }
480
- return false;
481
- },
482
- },
483
- });
484
- return teaserPlugin;
485
233
  }
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
- import * as Common from '../../core/common/common.js';
7
6
  import * as i18n from '../../core/i18n/i18n.js';
8
7
  import type * as Platform from '../../core/platform/platform.js';
9
8
  import * as SDK from '../../core/sdk/sdk.js';
@@ -14,6 +13,7 @@ import * as IconButton from '../../ui/components/icon_button/icon_button.js';
14
13
  import * as uiI18n from '../../ui/i18n/i18n.js';
15
14
  import * as UI from '../../ui/legacy/legacy.js';
16
15
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
16
+ import * as PanelsCommon from '../common/common.js';
17
17
 
18
18
  import {getLocalizedBreakpointName} from './CategorizedBreakpointL10n.js';
19
19
  import debuggerPausedMessageStyles from './debuggerPausedMessage.css.js';
@@ -168,11 +168,11 @@ export class DebuggerPausedMessage {
168
168
  i18nString(UIStrings.pausedOnS, {PH1: breakpointType ? breakpointType() : String(null)})));
169
169
 
170
170
  const subElement = messageWrapper.createChild('div', 'status-sub monospace');
171
- const linkifiedNode = await Common.Linkifier.Linkifier.linkify(data.node);
171
+ const linkifiedNode = PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(data.node);
172
172
  subElement.appendChild(linkifiedNode);
173
173
 
174
174
  if (data.targetNode) {
175
- const targetNodeLink = await Common.Linkifier.Linkifier.linkify(data.targetNode);
175
+ const targetNodeLink = PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(data.targetNode);
176
176
  let messageElement;
177
177
  if (data.insertion) {
178
178
  if (data.targetNode === data.node) {
@@ -252,8 +252,12 @@ export class SourcesPanel extends UI.Panel.Panel implements
252
252
  const initialDebugSidebarWidth = 225;
253
253
  this.splitWidget =
254
254
  new UI.SplitWidget.SplitWidget(true, true, 'sources-panel-split-view-state', initialDebugSidebarWidth);
255
- this.splitWidget.enableShowModeSaving();
256
255
  this.splitWidget.show(this.element);
256
+ if (Root.Runtime.Runtime.isTraceApp()) {
257
+ this.splitWidget.hideSidebar();
258
+ } else {
259
+ this.splitWidget.enableShowModeSaving();
260
+ }
257
261
 
258
262
  // Create scripts navigator
259
263
  const initialNavigatorWidth = 225;
@@ -56,6 +56,7 @@ import imagePreviewStyles from '../../ui/legacy/components/utils/imagePreview.cs
56
56
  import * as LegacyComponents from '../../ui/legacy/components/utils/utils.js';
57
57
  import * as UI from '../../ui/legacy/legacy.js';
58
58
  import * as ThemeSupport from '../../ui/legacy/theme_support/theme_support.js';
59
+ import * as PanelsCommon from '../common/common.js';
59
60
 
60
61
  import {getDurationString} from './AppenderUtils.js';
61
62
  import * as TimelineComponents from './components/components.js';
@@ -1483,7 +1484,7 @@ export class TimelineUIUtils {
1483
1484
  const relatedNodes = relatedNodesMap?.values() || [];
1484
1485
  for (const relatedNode of relatedNodes) {
1485
1486
  if (relatedNode) {
1486
- const nodeSpan = await Common.Linkifier.Linkifier.linkify(relatedNode);
1487
+ const nodeSpan = PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(relatedNode);
1487
1488
  contentHelper.appendElementRow(relatedNodeLabel || i18nString(UIStrings.relatedNode), nodeSpan);
1488
1489
  }
1489
1490
  }
@@ -1845,7 +1846,7 @@ export class TimelineUIUtils {
1845
1846
  null;
1846
1847
  if (node) {
1847
1848
  const nodeSpan = document.createElement('span');
1848
- void Common.Linkifier.Linkifier.linkify(node).then(link => nodeSpan.appendChild(link));
1849
+ nodeSpan.appendChild(PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(node));
1849
1850
  return nodeSpan;
1850
1851
  }
1851
1852
  if (invalidation.args.data.nodeName) {
@@ -30,6 +30,7 @@ import * as uiI18n from '../../../ui/i18n/i18n.js';
30
30
  import * as UI from '../../../ui/legacy/legacy.js';
31
31
  import * as Lit from '../../../ui/lit/lit.js';
32
32
  import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
33
+ import * as PanelsCommon from '../../common/common.js';
33
34
  import {getThrottlingRecommendations} from '../utils/Helpers.js';
34
35
 
35
36
  import {CPUThrottlingSelector} from './CPUThrottlingSelector.js';
@@ -449,7 +450,8 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
449
450
 
450
451
  #renderLcpCard(): Lit.LitTemplate {
451
452
  const fieldData = this.#cruxManager.getSelectedFieldMetricData('largest_contentful_paint');
452
- const nodeLink = this.#lcpValue?.nodeRef?.link;
453
+ const nodeLink =
454
+ this.#lcpValue?.nodeRef && PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(this.#lcpValue?.nodeRef);
453
455
  const phases = this.#lcpValue?.phases;
454
456
 
455
457
  const fieldPhases = this.#getLcpFieldPhases();
@@ -946,6 +948,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
946
948
 
947
949
  const isP98Excluded = this.#inpValue && this.#inpValue.value < interaction.duration;
948
950
  const isInp = this.#inpValue?.interactionId === interaction.interactionId;
951
+ const nodeLink = interaction.nodeRef ? PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(interaction.nodeRef) : Lit.nothing;
949
952
 
950
953
  return html`
951
954
  <li id=${interaction.interactionId} class="log-item interaction" tabindex="-1">
@@ -956,7 +959,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
956
959
  html`<span class="interaction-inp-chip" title=${i18nString(UIStrings.inpInteraction)}>INP</span>`
957
960
  : nothing}
958
961
  </span>
959
- <span class="interaction-node">${interaction.nodeRef?.link}</span>
962
+ <span class="interaction-node">${nodeLink}</span>
960
963
  ${isP98Excluded ? html`<devtools-icon
961
964
  class="interaction-info"
962
965
  name="info"
@@ -1062,8 +1065,8 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
1062
1065
  <li id=${layoutShift.uniqueLayoutShiftId} class="log-item layout-shift" tabindex="-1">
1063
1066
  <div class="layout-shift-score">Layout shift score: ${metricValue}</div>
1064
1067
  <div class="layout-shift-nodes">
1065
- ${layoutShift.affectedNodeRefs.map(({link}) => html`
1066
- <div class="layout-shift-node">${link}</div>
1068
+ ${layoutShift.affectedNodeRefs.map(node => html`
1069
+ <div class="layout-shift-node">${PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(node)}</div>
1067
1070
  `)}
1068
1071
  </div>
1069
1072
  </li>
@@ -5,7 +5,7 @@
5
5
 
6
6
  // TODO: move to ui/components/node_link?
7
7
 
8
- import * as Common from '../../../../core/common/common.js';
8
+ import type * as Common from '../../../../core/common/common.js';
9
9
  import type * as Platform from '../../../../core/platform/platform.js';
10
10
  import * as SDK from '../../../../core/sdk/sdk.js';
11
11
  import type * as Protocol from '../../../../generated/protocol.js';
@@ -13,6 +13,7 @@ import * as Buttons from '../../../../ui/components/buttons/buttons.js';
13
13
  import * as ComponentHelpers from '../../../../ui/components/helpers/helpers.js';
14
14
  import * as LegacyComponents from '../../../../ui/legacy/components/utils/utils.js';
15
15
  import * as Lit from '../../../../ui/lit/lit.js';
16
+ import * as PanelsCommon from '../../../common/common.js';
16
17
 
17
18
  const {html} = Lit;
18
19
 
@@ -92,7 +93,7 @@ export class NodeLink extends HTMLElement {
92
93
 
93
94
  // TODO: it'd be nice if we could specify what attributes to render,
94
95
  // ex for the Viewport insight: <meta content="..."> (instead of just <meta>)
95
- const linkedNode = await Common.Linkifier.Linkifier.linkify(node, this.#options);
96
+ const linkedNode = PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(node, this.#options);
96
97
  this.#linkifiedNodeForBackendId.set(this.#backendNodeId, linkedNode);
97
98
  return linkedNode;
98
99
  }
@@ -1,10 +1,10 @@
1
1
  Name: Puppeteer Core
2
2
  Short Name: Puppeteer Core
3
3
  URL: https://github.com/puppeteer/puppeteer/tree/main/packages/puppeteer-core
4
- Version: 24.29.1
4
+ Version: 24.30.0
5
5
  License: Apache-2.0
6
6
  License File: LICENSE
7
- Revision: ebadd3c75ee1af68e3febe7f73fa850f6d27c2a6
7
+ Revision: 1afcd1605bd49775cfc8c16ddfc76aae6dacbd8b
8
8
  Security Critical: no
9
9
  Shipped: yes
10
10
  Update Mechanism: Autoroll
@@ -44,6 +44,7 @@ export declare class CdpHTTPRequest extends HTTPRequest {
44
44
  */
45
45
  type?: Protocol.Network.ResourceType;
46
46
  }, redirectChain: CdpHTTPRequest[]);
47
+ updateHeaders(headers: Protocol.Network.Headers): void;
47
48
  url(): string;
48
49
  resourceType(): ResourceType;
49
50
  method(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../src/cdp/HTTPRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,KAAK,wBAAwB,EAE7B,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;;IACpC,EAAE,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAe1C,IAAa,MAAM,IAAI,UAAU,CAEhC;IAED,IAAa,MAAM,CAAC,SAAS,EAAE,UAAU,EAExC;gBAGC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,iBAAiB,EAAE,OAAO,EAC1B,IAAI,EAAE;QACJ;;WAEG;QACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC;;WAEG;QACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrC;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC;;WAEG;QACH,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACvC;;WAEG;QACH,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;KACtC,EACD,aAAa,EAAE,cAAc,EAAE;IAwBxB,GAAG,IAAI,MAAM;IAIb,YAAY,IAAI,YAAY;IAI5B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,WAAW,IAAI,OAAO;IAIhB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYlD,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKjC,QAAQ,IAAI,eAAe,GAAG,IAAI;IAIlC,KAAK,IAAI,KAAK,GAAG,IAAI;IAIrB,mBAAmB,IAAI,OAAO;IAI9B,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS;IAInD,aAAa,IAAI,cAAc,EAAE;IAIjC,OAAO,IAAI;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAS9C,SAAS,CAAC,gBAAgB,IAAI,OAAO;IAIrC;;OAEG;IACG,SAAS,CAAC,SAAS,GAAE,wBAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD9D,MAAM,CACV,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC;CAcjB"}
1
+ {"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../src/cdp/HTTPRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,KAAK,wBAAwB,EAE7B,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;;IACpC,EAAE,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAe1C,IAAa,MAAM,IAAI,UAAU,CAEhC;IAED,IAAa,MAAM,CAAC,SAAS,EAAE,UAAU,EAExC;gBAGC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,iBAAiB,EAAE,OAAO,EAC1B,IAAI,EAAE;QACJ;;WAEG;QACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC;;WAEG;QACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrC;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC;;WAEG;QACH,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACvC;;WAEG;QACH,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;KACtC,EACD,aAAa,EAAE,cAAc,EAAE;IAsBjC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI;IAM7C,GAAG,IAAI,MAAM;IAIb,YAAY,IAAI,YAAY;IAI5B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,WAAW,IAAI,OAAO;IAIhB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYlD,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKjC,QAAQ,IAAI,eAAe,GAAG,IAAI;IAIlC,KAAK,IAAI,KAAK,GAAG,IAAI;IAIrB,mBAAmB,IAAI,OAAO;IAI9B,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS;IAInD,aAAa,IAAI,cAAc,EAAE;IAIjC,OAAO,IAAI;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAS9C,SAAS,CAAC,gBAAgB,IAAI,OAAO;IAIrC;;OAEG;IACG,SAAS,CAAC,SAAS,GAAE,wBAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD9D,MAAM,CACV,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC;CAcjB"}
@@ -41,7 +41,10 @@ class CdpHTTPRequest extends HTTPRequest_js_1.HTTPRequest {
41
41
  this._redirectChain = redirectChain;
42
42
  this.#initiator = data.initiator;
43
43
  this.interception.enabled = allowInterception;
44
- for (const [key, value] of Object.entries(data.request.headers)) {
44
+ this.updateHeaders(data.request.headers);
45
+ }
46
+ updateHeaders(headers) {
47
+ for (const [key, value] of Object.entries(headers)) {
45
48
  this.#headers[key.toLowerCase()] = value;
46
49
  }
47
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/cdp/HTTPRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/cdp/HTTPRequest.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export type NetworkRequestId = string;
36
36
  export declare class NetworkEventManager {
37
37
  #private;
38
38
  forget(networkRequestId: NetworkRequestId): void;
39
+ requestExtraInfo(networkRequestId: NetworkRequestId): Protocol.Network.RequestWillBeSentExtraInfoEvent[];
39
40
  responseExtraInfo(networkRequestId: NetworkRequestId): Protocol.Network.ResponseReceivedExtraInfoEvent[];
40
41
  private queuedRedirectInfo;
41
42
  queueRedirectInfo(fetchRequestId: FetchRequestId, redirectInfo: RedirectInfo): void;