chrome-devtools-frontend 1.0.1544076 → 1.0.1547147
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.
- package/config/typescript/tsconfig.eslint.json +1 -0
- package/docs/styleguide/ux/styles.md +1 -1
- package/eslint.config.mjs +1 -1
- package/front_end/Images/src/arrow-down.svg +8 -1
- package/front_end/Images/src/arrow-up.svg +8 -1
- package/front_end/core/common/ParsedURL.ts +1 -1
- package/front_end/core/common/common.ts +0 -2
- package/front_end/core/host/AidaClient.ts +1 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
- package/front_end/core/host/UserMetrics.ts +0 -5
- package/front_end/core/platform/HostRuntime.ts +18 -0
- package/front_end/core/platform/KeyboardUtilities.ts +2 -2
- package/front_end/core/platform/StringUtilities.ts +1 -1
- package/front_end/core/platform/api/HostRuntime.ts +20 -0
- package/front_end/core/platform/api/api.ts +7 -0
- package/front_end/core/platform/browser/HostRuntime.ts +14 -0
- package/front_end/core/platform/browser/browser.ts +7 -0
- package/front_end/core/platform/node/HostRuntime.ts +13 -0
- package/front_end/core/platform/node/node.ts +7 -0
- package/front_end/core/platform/platform.ts +2 -2
- package/front_end/core/protocol_client/CDPConnection.ts +3 -3
- package/front_end/core/protocol_client/DevToolsCDPConnection.ts +2 -1
- package/front_end/core/sdk/CSSMetadata.ts +17 -5
- package/front_end/core/sdk/NetworkManager.ts +6 -8
- package/front_end/core/sdk/NetworkRequest.ts +4 -0
- package/front_end/core/sdk/SDKModel.ts +4 -2
- package/front_end/core/sdk/SourceMapScopesInfo.ts +141 -23
- package/front_end/core/sdk/Target.ts +5 -14
- package/front_end/core/sdk/TargetManager.ts +39 -18
- package/front_end/core/sdk/sdk-meta.ts +62 -0
- package/front_end/devtools_compatibility.js +0 -1
- package/front_end/entrypoints/main/MainImpl.ts +2 -2
- package/front_end/foundation/Universe.ts +2 -2
- package/front_end/generated/Deprecation.ts +11 -0
- package/front_end/generated/InspectorBackendCommands.ts +3 -6
- package/front_end/generated/SupportedCSSProperties.js +4 -25
- package/front_end/generated/protocol-mapping.d.ts +0 -15
- package/front_end/generated/protocol-proxy-api.d.ts +0 -11
- package/front_end/generated/protocol.ts +5 -36
- package/front_end/models/ai_assistance/AiConversation.ts +188 -0
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +1 -172
- package/front_end/models/ai_assistance/ConversationHandler.ts +5 -5
- package/front_end/models/ai_assistance/agents/AiAgent.ts +1 -3
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +6 -2
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +1 -1
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +3 -9
- package/front_end/models/ai_assistance/ai_assistance.ts +2 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +313 -313
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +8 -6
- package/front_end/models/ai_assistance/performance/AICallTree.snapshot.txt +33 -33
- package/front_end/models/ai_assistance/performance/AICallTree.ts +9 -3
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +5 -3
- package/front_end/models/bindings/SASSSourceMapping.ts +6 -4
- package/front_end/models/cpu_profile/CPUProfileDataModel.ts +10 -7
- package/front_end/models/crux-manager/CrUXManager.ts +7 -4
- package/front_end/models/issues_manager/GenericIssue.ts +12 -9
- package/front_end/models/javascript_metadata/NativeFunctions.js +4 -0
- package/front_end/models/trace/handlers/SamplesHandler.ts +3 -0
- package/front_end/models/trace/helpers/Trace.ts +13 -0
- package/front_end/models/trace/types/TraceEvents.ts +2 -1
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +29 -0
- package/front_end/models/workspace/IgnoreListManager.ts +1 -2
- package/front_end/models/workspace/UISourceCode.ts +50 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +11 -10
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +8 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +2 -2
- package/front_end/panels/ai_assistance/components/UserActionRow.ts +2 -1
- package/front_end/panels/animation/AnimationTimeline.ts +0 -8
- package/front_end/panels/application/ApplicationPanelSidebar.ts +6 -7
- package/front_end/panels/application/{components/FrameDetailsView.ts → FrameDetailsView.ts} +140 -171
- package/front_end/panels/application/{components/OriginTrialTreeView.ts → OriginTrialTreeView.ts} +9 -9
- package/front_end/panels/application/application.ts +4 -0
- package/front_end/panels/application/components/StackTrace.ts +89 -88
- package/front_end/panels/application/components/components.ts +2 -4
- package/front_end/panels/application/{components/frameDetailsReportView.css → frameDetailsReportView.css} +5 -1
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +80 -0
- package/front_end/panels/common/BadgeNotification.ts +2 -1
- package/front_end/panels/common/DOMLinkifier.ts +7 -2
- package/front_end/panels/common/GdpSignUpDialog.ts +2 -1
- package/front_end/panels/common/common.ts +2 -1
- package/front_end/panels/console/ConsolePrompt.ts +3 -1
- package/front_end/panels/console/ConsoleViewport.ts +1 -2
- package/front_end/panels/elements/ElementIssueUtils.ts +2 -2
- package/front_end/panels/elements/ElementStatePaneWidget.ts +2 -1
- package/front_end/panels/elements/StylePropertiesSection.ts +1 -1
- package/front_end/panels/elements/StylePropertyTreeElement.ts +23 -19
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
- package/front_end/panels/elements/cssValueTraceView.css +1 -1
- package/front_end/panels/elements/elements-meta.ts +1 -22
- package/front_end/panels/explain/components/ConsoleInsight.ts +44 -57
- package/front_end/panels/explain/components/consoleInsight.css +46 -1
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +1 -2
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +3 -6
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +19 -0
- package/front_end/panels/network/RequestConditionsDrawer.ts +54 -24
- package/front_end/panels/network/networkLogView.css +11 -0
- package/front_end/panels/network/networkTimingTable.css +8 -6
- package/front_end/panels/network/requestConditionsDrawer.css +10 -1
- package/front_end/panels/profiler/ProfilesPanel.ts +1 -2
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +2 -1
- package/front_end/panels/settings/KeybindsSettingsTab.ts +20 -21
- package/front_end/panels/settings/SettingsScreen.ts +3 -2
- package/front_end/panels/sources/CoveragePlugin.ts +5 -5
- package/front_end/panels/sources/Plugin.ts +1 -1
- package/front_end/panels/sources/ProfilePlugin.ts +22 -14
- package/front_end/panels/sources/UISourceCodeFrame.ts +2 -1
- package/front_end/panels/sources/sources-meta.ts +0 -62
- package/front_end/panels/timeline/README.md +1 -9
- package/front_end/panels/timeline/ThreadAppender.ts +0 -7
- package/front_end/panels/timeline/TimelinePanel.ts +1 -1
- package/front_end/panels/timeline/TimelineUIUtils.ts +2 -0
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +15 -1
- package/front_end/panels/timeline/components/LiveMetricsView.ts +51 -6
- package/front_end/panels/timeline/components/MetricCard.ts +2 -2
- package/front_end/panels/timeline/components/exportTraceOptions.css +11 -2
- package/front_end/panels/timeline/components/insights/NodeLink.ts +2 -3
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -1
- package/front_end/panels/timeline/timeline-meta.ts +0 -10
- package/front_end/panels/timeline/timeline.ts +0 -2
- package/front_end/panels/whats_new/ReleaseNoteView.ts +2 -1
- package/front_end/panels/whats_new/WhatsNewImpl.ts +3 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/tsconfig.json +1 -0
- package/front_end/ui/components/buttons/Button.docs.ts +6 -5
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +1 -0
- package/front_end/ui/components/snackbars/Snackbars.docs.ts +1 -1
- package/front_end/ui/components/spinners/Spinners.docs.ts +1 -1
- package/front_end/ui/components/survey_link/SurveyLink.docs.ts +2 -1
- package/front_end/ui/components/switch/Switch.docs.ts +1 -1
- package/front_end/ui/components/tooltips/Tooltip.docs.ts +3 -3
- package/front_end/ui/helpers/OpenInNewTab.ts +87 -0
- package/front_end/ui/helpers/helpers.ts +5 -0
- package/front_end/ui/legacy/ARIAUtils.ts +2 -2
- package/front_end/ui/legacy/ActionRegistration.ts +11 -0
- package/front_end/ui/legacy/ContextMenu.docs.ts +12 -11
- package/front_end/ui/legacy/RadioButton.docs.ts +1 -1
- package/front_end/ui/legacy/SelectMenu.docs.ts +1 -1
- package/front_end/ui/legacy/Slider.docs.ts +1 -1
- package/front_end/ui/legacy/SoftDropDown.ts +2 -2
- package/front_end/ui/legacy/TextPrompt.ts +3 -2
- package/front_end/ui/legacy/Treeoutline.ts +2 -1
- package/front_end/ui/legacy/UIUtils.ts +11 -43
- package/front_end/ui/legacy/Widget.ts +3 -2
- package/front_end/ui/legacy/XLink.ts +4 -4
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +2 -1
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -2
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +144 -143
- package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +62 -39
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -7
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +1 -2
- package/front_end/ui/legacy/components/utils/Linkifier.ts +2 -1
- package/front_end/ui/legacy/inspectorCommon.css +2 -2
- package/front_end/ui/legacy/legacy.ts +2 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
- package/mcp/tsconfig.json +16 -0
- package/package.json +2 -2
- package/front_end/core/common/Linkifier.ts +0 -55
- package/front_end/panels/explain/components/consoleInsightSourcesList.css +0 -51
- package/front_end/panels/timeline/CLSLinkifier.ts +0 -58
- package/front_end/ui/components/docs/README.md +0 -6
- package/front_end/ui/components/docs/building-ui-documentation/ComponentEvents.md +0 -54
- package/front_end/ui/components/docs/building-ui-documentation/ComponentPerformance.md +0 -136
- package/front_end/ui/components/docs/building-ui-documentation/CreatingComponents.md +0 -242
- package/front_end/ui/components/docs/building-ui-documentation/README.md +0 -23
- package/front_end/ui/components/docs/building-ui-documentation/StylingComponents.md +0 -66
- package/front_end/ui/components/docs/building-ui-documentation/TestingComponents.md +0 -111
- package/front_end/ui/components/docs/component_docs.ts +0 -24
- package/front_end/ui/components/docs/component_docs_styles.css +0 -53
- package/front_end/ui/components/docs/create_breadcrumbs.ts +0 -44
- package/front_end/ui/components/docs/slider/basic.html +0 -20
- package/front_end/ui/components/docs/switch/basic.html +0 -20
- /package/front_end/models/issues_manager/descriptions/{genericFormAriaLabelledByToNonExistingId.md → genericFormAriaLabelledByToNonExistingIdError.md} +0 -0
- /package/front_end/models/issues_manager/descriptions/{genericFormLabelHasNeitherForNorNestedInput.md → genericFormLabelHasNeitherForNorNestedInputError.md} +0 -0
- /package/front_end/panels/application/{components/originTrialTokenRows.css → originTrialTokenRows.css} +0 -0
- /package/front_end/panels/application/{components/originTrialTreeView.css → originTrialTreeView.css} +0 -0
- /package/front_end/{core/platform → ui/legacy}/DOMUtilities.ts +0 -0
|
@@ -17,6 +17,7 @@ import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
|
17
17
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
18
18
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
19
19
|
import * as Snackbars from '../../ui/components/snackbars/snackbars.js';
|
|
20
|
+
import * as UIHelpers from '../../ui/helpers/helpers.js';
|
|
20
21
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
21
22
|
import * as Lit from '../../ui/lit/lit.js';
|
|
22
23
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
@@ -223,7 +224,7 @@ function selectedElementFilter(maybeNode: SDK.DOMModel.DOMNode|null): SDK.DOMMod
|
|
|
223
224
|
|
|
224
225
|
async function getEmptyStateSuggestions(
|
|
225
226
|
context: AiAssistanceModel.AiAgent.ConversationContext<unknown>|null,
|
|
226
|
-
conversation?: AiAssistanceModel.
|
|
227
|
+
conversation?: AiAssistanceModel.AiConversation.AiConversation):
|
|
227
228
|
Promise<AiAssistanceModel.AiAgent.ConversationSuggestion[]> {
|
|
228
229
|
if (context) {
|
|
229
230
|
const specialSuggestions = await context.getSuggestions();
|
|
@@ -269,7 +270,7 @@ async function getEmptyStateSuggestions(
|
|
|
269
270
|
|
|
270
271
|
function getMarkdownRenderer(
|
|
271
272
|
context: AiAssistanceModel.AiAgent.ConversationContext<unknown>|null,
|
|
272
|
-
conversation?: AiAssistanceModel.
|
|
273
|
+
conversation?: AiAssistanceModel.AiConversation.AiConversation): MarkdownRendererWithCodeBlock {
|
|
273
274
|
if (context instanceof AiAssistanceModel.PerformanceAgent.PerformanceTraceContext) {
|
|
274
275
|
if (!context.external) {
|
|
275
276
|
const focus = context.getItem();
|
|
@@ -494,7 +495,7 @@ export class AiAssistancePanel extends UI.Panel.Panel {
|
|
|
494
495
|
#mutex = new Common.Mutex.Mutex();
|
|
495
496
|
|
|
496
497
|
#conversationAgent?: AiAssistanceModel.AiAgent.AiAgent<unknown>;
|
|
497
|
-
#conversation?: AiAssistanceModel.
|
|
498
|
+
#conversation?: AiAssistanceModel.AiConversation.AiConversation;
|
|
498
499
|
|
|
499
500
|
#selectedFile: AiAssistanceModel.FileAgent.FileContext|null = null;
|
|
500
501
|
#selectedElement: AiAssistanceModel.StylingAgent.NodeContext|null = null;
|
|
@@ -719,7 +720,7 @@ export class AiAssistancePanel extends UI.Panel.Panel {
|
|
|
719
720
|
|
|
720
721
|
#updateConversationState(opts?: {
|
|
721
722
|
agent?: AiAssistanceModel.AiAgent.AiAgent<unknown>,
|
|
722
|
-
conversation?: AiAssistanceModel.
|
|
723
|
+
conversation?: AiAssistanceModel.AiConversation.AiConversation,
|
|
723
724
|
}): void {
|
|
724
725
|
if (this.#conversationAgent !== opts?.agent) {
|
|
725
726
|
// Cancel any previous conversation
|
|
@@ -732,7 +733,7 @@ export class AiAssistancePanel extends UI.Panel.Panel {
|
|
|
732
733
|
// If we get a new agent we need to
|
|
733
734
|
// create a new conversation along side it
|
|
734
735
|
if (opts?.agent) {
|
|
735
|
-
this.#conversation = new AiAssistanceModel.
|
|
736
|
+
this.#conversation = new AiAssistanceModel.AiConversation.AiConversation(
|
|
736
737
|
agentToConversationType(opts.agent),
|
|
737
738
|
[],
|
|
738
739
|
opts.agent.id,
|
|
@@ -957,7 +958,7 @@ export class AiAssistancePanel extends UI.Panel.Panel {
|
|
|
957
958
|
onDeleteClick: this.#onDeleteClicked.bind(this),
|
|
958
959
|
onExportConversationClick: this.#onExportConversationClick.bind(this),
|
|
959
960
|
onHelpClick: () => {
|
|
960
|
-
|
|
961
|
+
UIHelpers.openInNewTab(AI_ASSISTANCE_HELP);
|
|
961
962
|
},
|
|
962
963
|
onSettingsClick: () => {
|
|
963
964
|
void UI.ViewManager.ViewManager.instance().showView('chrome-ai');
|
|
@@ -1211,7 +1212,7 @@ export class AiAssistancePanel extends UI.Panel.Panel {
|
|
|
1211
1212
|
#populateHistoryMenu(contextMenu: UI.ContextMenu.ContextMenu): void {
|
|
1212
1213
|
const historicalConversations = AiAssistanceModel.AiHistoryStorage.AiHistoryStorage.instance().getHistory().map(
|
|
1213
1214
|
serializedConversation =>
|
|
1214
|
-
AiAssistanceModel.
|
|
1215
|
+
AiAssistanceModel.AiConversation.AiConversation.fromSerializedConversation(serializedConversation));
|
|
1215
1216
|
for (const conversation of historicalConversations.reverse()) {
|
|
1216
1217
|
if (conversation.isEmpty) {
|
|
1217
1218
|
continue;
|
|
@@ -1280,7 +1281,7 @@ export class AiAssistancePanel extends UI.Panel.Panel {
|
|
|
1280
1281
|
Workspace.FileManager.FileManager.instance().close(filename);
|
|
1281
1282
|
}
|
|
1282
1283
|
|
|
1283
|
-
async #openHistoricConversation(conversation: AiAssistanceModel.
|
|
1284
|
+
async #openHistoricConversation(conversation: AiAssistanceModel.AiConversation.AiConversation): Promise<void> {
|
|
1284
1285
|
if (this.#conversation === conversation) {
|
|
1285
1286
|
return;
|
|
1286
1287
|
}
|
|
@@ -1420,7 +1421,7 @@ export class AiAssistancePanel extends UI.Panel.Panel {
|
|
|
1420
1421
|
this.#blockedByCrossOrigin = !this.#selectedContext.isOriginAllowed(this.#conversationAgent.origin);
|
|
1421
1422
|
}
|
|
1422
1423
|
|
|
1423
|
-
#getConversationContext(conversation?: AiAssistanceModel.
|
|
1424
|
+
#getConversationContext(conversation?: AiAssistanceModel.AiConversation.AiConversation):
|
|
1424
1425
|
AiAssistanceModel.AiAgent.ConversationContext<unknown>|null {
|
|
1425
1426
|
if (!conversation) {
|
|
1426
1427
|
return null;
|
|
@@ -1655,7 +1656,7 @@ export function getResponseMarkdown(message: ModelChatMessage): string {
|
|
|
1655
1656
|
}
|
|
1656
1657
|
if (step.contextDetails) {
|
|
1657
1658
|
contentParts.push(
|
|
1658
|
-
AiAssistanceModel.
|
|
1659
|
+
AiAssistanceModel.AiConversation.AiConversation.generateContextDetailsMarkdown(step.contextDetails));
|
|
1659
1660
|
}
|
|
1660
1661
|
if (step.thought) {
|
|
1661
1662
|
contentParts.push(step.thought);
|
|
@@ -161,6 +161,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
161
161
|
},
|
|
162
162
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
163
163
|
title: titleForAiAssistanceActions,
|
|
164
|
+
configurableBindings: false,
|
|
164
165
|
featurePromotionId: 'ai-assistance',
|
|
165
166
|
async loadActionDelegate() {
|
|
166
167
|
const AiAssistance = await loadAiAssistanceModule();
|
|
@@ -176,6 +177,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
176
177
|
},
|
|
177
178
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
178
179
|
title: titleForAiAssistanceActions,
|
|
180
|
+
configurableBindings: false,
|
|
179
181
|
async loadActionDelegate() {
|
|
180
182
|
const AiAssistance = await loadAiAssistanceModule();
|
|
181
183
|
return new AiAssistance.ActionDelegate();
|
|
@@ -191,6 +193,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
191
193
|
},
|
|
192
194
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
193
195
|
title: titleForAiAssistanceActions,
|
|
196
|
+
configurableBindings: false,
|
|
194
197
|
async loadActionDelegate() {
|
|
195
198
|
const AiAssistance = await loadAiAssistanceModule();
|
|
196
199
|
return new AiAssistance.ActionDelegate();
|
|
@@ -206,6 +209,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
206
209
|
},
|
|
207
210
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
208
211
|
title: titleForAiAssistanceActions,
|
|
212
|
+
configurableBindings: false,
|
|
209
213
|
async loadActionDelegate() {
|
|
210
214
|
const AiAssistance = await loadAiAssistanceModule();
|
|
211
215
|
return new AiAssistance.ActionDelegate();
|
|
@@ -221,6 +225,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
221
225
|
},
|
|
222
226
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
223
227
|
title: titleForAiAssistanceActions,
|
|
228
|
+
configurableBindings: false,
|
|
224
229
|
async loadActionDelegate() {
|
|
225
230
|
const AiAssistance = await loadAiAssistanceModule();
|
|
226
231
|
return new AiAssistance.ActionDelegate();
|
|
@@ -236,6 +241,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
236
241
|
},
|
|
237
242
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
238
243
|
title: titleForAiAssistanceActions,
|
|
244
|
+
configurableBindings: false,
|
|
239
245
|
async loadActionDelegate() {
|
|
240
246
|
const AiAssistance = await loadAiAssistanceModule();
|
|
241
247
|
return new AiAssistance.ActionDelegate();
|
|
@@ -251,6 +257,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
251
257
|
},
|
|
252
258
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
253
259
|
title: titleForAiAssistanceActions,
|
|
260
|
+
configurableBindings: false,
|
|
254
261
|
async loadActionDelegate() {
|
|
255
262
|
const AiAssistance = await loadAiAssistanceModule();
|
|
256
263
|
return new AiAssistance.ActionDelegate();
|
|
@@ -265,6 +272,7 @@ UI.ActionRegistration.registerActionExtension({
|
|
|
265
272
|
},
|
|
266
273
|
category: UI.ActionRegistration.ActionCategory.GLOBAL,
|
|
267
274
|
title: titleForAiAssistanceActions,
|
|
275
|
+
configurableBindings: false,
|
|
268
276
|
async loadActionDelegate() {
|
|
269
277
|
const AiAssistance = await loadAiAssistanceModule();
|
|
270
278
|
return new AiAssistance.ActionDelegate();
|
|
@@ -698,7 +698,7 @@ function renderStep({step, isLoading, markdownRenderer, isLast}: {
|
|
|
698
698
|
}): Lit.LitTemplate {
|
|
699
699
|
const stepClasses = Lit.Directives.classMap({
|
|
700
700
|
step: true,
|
|
701
|
-
empty: !step.thought && !step.code && !step.contextDetails,
|
|
701
|
+
empty: !step.thought && !step.code && !step.contextDetails && !step.sideEffect,
|
|
702
702
|
paused: Boolean(step.sideEffect),
|
|
703
703
|
canceled: Boolean(step.canceled),
|
|
704
704
|
});
|
|
@@ -884,7 +884,7 @@ function renderChatMessage({
|
|
|
884
884
|
}
|
|
885
885
|
|
|
886
886
|
function renderImageChatMessage(inlineData: Host.AidaClient.MediaBlob): Lit.LitTemplate {
|
|
887
|
-
if (inlineData.data === AiAssistanceModel.
|
|
887
|
+
if (inlineData.data === AiAssistanceModel.AiConversation.NOT_FOUND_IMAGE_DATA) {
|
|
888
888
|
// clang-format off
|
|
889
889
|
return html`<div class="unavailable-image" title=${UIStringsNotTranslate.imageUnavailable}>
|
|
890
890
|
<devtools-icon name='file-image'></devtools-icon>
|
|
@@ -8,6 +8,7 @@ import * as i18n from '../../../core/i18n/i18n.js';
|
|
|
8
8
|
import type * as Platform from '../../../core/platform/platform.js';
|
|
9
9
|
import * as Buttons from '../../../ui/components/buttons/buttons.js';
|
|
10
10
|
import * as Input from '../../../ui/components/input/input.js';
|
|
11
|
+
import * as UIHelpers from '../../../ui/helpers/helpers.js';
|
|
11
12
|
import * as UI from '../../../ui/legacy/legacy.js';
|
|
12
13
|
import * as Lit from '../../../ui/lit/lit.js';
|
|
13
14
|
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
|
|
@@ -321,7 +322,7 @@ export class UserActionRow extends UI.Widget.Widget implements UserActionRowWidg
|
|
|
321
322
|
{
|
|
322
323
|
onSuggestionClick: this.onSuggestionClick,
|
|
323
324
|
onRatingClick: this.#handleRateClick.bind(this),
|
|
324
|
-
onReportClick: () =>
|
|
325
|
+
onReportClick: () => UIHelpers.openInNewTab(REPORT_URL),
|
|
325
326
|
onCopyResponseClick: this.onCopyResponseClick,
|
|
326
327
|
scrollSuggestionsScrollContainer: this.#scrollSuggestionsScrollContainer.bind(this),
|
|
327
328
|
onSuggestionsScrollOrResize: this.#handleSuggestionsScrollOrResize.bind(this),
|
|
@@ -508,14 +508,6 @@ export class AnimationTimeline extends UI.Widget.VBox implements
|
|
|
508
508
|
}
|
|
509
509
|
|
|
510
510
|
private setPlaybackRate(playbackRate: number): void {
|
|
511
|
-
if (playbackRate !== this.#playbackRate) {
|
|
512
|
-
Host.userMetrics.animationPlaybackRateChanged(
|
|
513
|
-
playbackRate === 0.1 ? Host.UserMetrics.AnimationsPlaybackRate.PERCENT_10 :
|
|
514
|
-
playbackRate === 0.25 ? Host.UserMetrics.AnimationsPlaybackRate.PERCENT_25 :
|
|
515
|
-
playbackRate === 1 ? Host.UserMetrics.AnimationsPlaybackRate.PERCENT_100 :
|
|
516
|
-
Host.UserMetrics.AnimationsPlaybackRate.OTHER);
|
|
517
|
-
}
|
|
518
|
-
|
|
519
511
|
this.#playbackRate = playbackRate;
|
|
520
512
|
for (const animationModel of SDK.TargetManager.TargetManager.instance().models(
|
|
521
513
|
SDK.AnimationModel.AnimationModel, {scoped: true})) {
|
|
@@ -51,13 +51,13 @@ import {BackForwardCacheTreeElement} from './BackForwardCacheTreeElement.js';
|
|
|
51
51
|
import {BackgroundServiceModel} from './BackgroundServiceModel.js';
|
|
52
52
|
import {BackgroundServiceView} from './BackgroundServiceView.js';
|
|
53
53
|
import {BounceTrackingMitigationsTreeElement} from './BounceTrackingMitigationsTreeElement.js';
|
|
54
|
-
import * as ApplicationComponents from './components/components.js';
|
|
55
54
|
import {type DOMStorage, DOMStorageModel, Events as DOMStorageModelEvents} from './DOMStorageModel.js';
|
|
56
55
|
import {
|
|
57
56
|
Events as ExtensionStorageModelEvents,
|
|
58
57
|
type ExtensionStorage,
|
|
59
58
|
ExtensionStorageModel,
|
|
60
59
|
} from './ExtensionStorageModel.js';
|
|
60
|
+
import {FrameDetailsReportView} from './FrameDetailsView.js';
|
|
61
61
|
import {
|
|
62
62
|
type Database as IndexedDBModelDatabase,
|
|
63
63
|
type DatabaseId,
|
|
@@ -2149,8 +2149,7 @@ export class FrameTreeElement extends ApplicationPanelTreeElement {
|
|
|
2149
2149
|
private readonly treeElementForResource: Map<string, FrameResourceTreeElement>;
|
|
2150
2150
|
private treeElementForWindow: Map<Protocol.Target.TargetID, FrameWindowTreeElement>;
|
|
2151
2151
|
private treeElementForWorker: Map<Protocol.Target.TargetID, WorkerTreeElement>;
|
|
2152
|
-
private view:
|
|
2153
|
-
.LegacyWrapper<UI.Widget.Widget, ApplicationComponents.FrameDetailsView.FrameDetailsReportView>|null;
|
|
2152
|
+
private view: FrameDetailsReportView|null;
|
|
2154
2153
|
|
|
2155
2154
|
constructor(section: ResourcesSection, frame: SDK.ResourceTreeModel.ResourceTreeFrame) {
|
|
2156
2155
|
super(section.panel, '', false, 'frame');
|
|
@@ -2195,8 +2194,8 @@ export class FrameTreeElement extends ApplicationPanelTreeElement {
|
|
|
2195
2194
|
this.treeElementForWorker.clear();
|
|
2196
2195
|
|
|
2197
2196
|
if (this.selected) {
|
|
2198
|
-
this.view =
|
|
2199
|
-
|
|
2197
|
+
this.view = new FrameDetailsReportView();
|
|
2198
|
+
this.view.frame = this.frame;
|
|
2200
2199
|
this.showView(this.view);
|
|
2201
2200
|
} else {
|
|
2202
2201
|
this.view = null;
|
|
@@ -2233,8 +2232,8 @@ export class FrameTreeElement extends ApplicationPanelTreeElement {
|
|
|
2233
2232
|
override onselect(selectedByUser?: boolean): boolean {
|
|
2234
2233
|
super.onselect(selectedByUser);
|
|
2235
2234
|
if (!this.view) {
|
|
2236
|
-
this.view =
|
|
2237
|
-
|
|
2235
|
+
this.view = new FrameDetailsReportView();
|
|
2236
|
+
this.view.frame = this.frame;
|
|
2238
2237
|
}
|
|
2239
2238
|
Host.userMetrics.panelShown('frame-details');
|
|
2240
2239
|
this.showView(this.view);
|