chrome-devtools-frontend 1.0.1717709 → 1.0.1721762
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/.agents/rules/models-and-core/core-ai-agent-context-and-prompt-discipline.md +29 -0
- package/.agents/rules/models-and-core/core-cdp-and-extension-error-handling.md +34 -0
- package/.agents/rules/models-and-core/core-gn-build-and-module-layering.md +23 -0
- package/.agents/rules/models-and-core/core-runtime-neutrality-and-platform-utils.md +28 -0
- package/.agents/rules/models-and-core/core-sdk-model-and-target-lifecycle.md +35 -0
- package/.agents/rules/models-and-core/core-security-origin-and-capability-guards.md +33 -0
- package/.agents/rules/models-and-core/core-settings-and-storage-migration.md +31 -0
- package/.agents/rules/models-and-core/core-sourcemap-and-workspace-mapping.md +28 -0
- package/.agents/rules/models-and-core/core-trace-engine-handler-invariants.md +32 -0
- package/.agents/rules/models-and-core/core-trace-insight-models-and-timing-types.md +28 -0
- package/.agents/rules/tests/test-cleanup-mutated-globals-and-widgets.md +40 -0
- package/.agents/rules/tests/test-deterministic-async-synchronization.md +30 -0
- package/.agents/rules/tests/test-modular-hooks-and-test-universe.md +38 -0
- package/.agents/rules/tests/test-public-api-and-encapsulation.md +30 -0
- package/.agents/rules/tests/test-shared-fixture-and-helper-reuse.md +29 -0
- package/.agents/rules/tests/test-single-responsibility-and-conciseness.md +37 -0
- package/.agents/rules/tests/test-strict-assertions-and-literal-expectations.md +31 -0
- package/.agents/rules/tests/test-type-safe-mocks-and-events.md +30 -0
- package/.agents/rules/tests/test-view-and-presenter-isolation.md +32 -0
- package/.agents/rules/ui-and-widgets/ui-accessibility-and-semantic-html.md +32 -0
- package/.agents/rules/ui-and-widgets/ui-await-update-complete-post-render.md +30 -0
- package/.agents/rules/ui-and-widgets/ui-css-scoping-and-flex-layout.md +27 -0
- package/.agents/rules/ui-and-widgets/ui-declarative-child-widget-composition.md +29 -0
- package/.agents/rules/ui-and-widgets/ui-lit-declarative-templates-and-directives.md +33 -0
- package/.agents/rules/ui-and-widgets/ui-localization-and-uistrings-hygiene.md +36 -0
- package/.agents/rules/ui-and-widgets/ui-modern-component-and-encapsulation-standards.md +32 -0
- package/.agents/rules/ui-and-widgets/ui-panel-and-meta-registration.md +35 -0
- package/.agents/rules/ui-and-widgets/ui-performance-and-flamechart-rendering.md +34 -0
- package/.agents/rules/ui-and-widgets/ui-pure-view-and-presenter-separation.md +31 -0
- package/.agents/rules/ui-and-widgets/ui-reactive-widget-update-lifecycle.md +34 -0
- package/.agents/rules/ui-and-widgets/ui-security-and-output-sanitization.md +28 -0
- package/.agents/rules/ui-and-widgets/ui-type-safety-and-exhaustiveness.md +37 -0
- package/.agents/rules/ui-and-widgets/ui-view-output-and-callback-contracts.md +35 -0
- package/.agents/rules/ui-and-widgets/ui-visual-logging-instrumentation.md +29 -0
- package/.agents/rules/ui-and-widgets/ui-weak-dom-references-and-observer-cleanup.md +29 -0
- package/.agents/rules/ui-and-widgets/ui-widget-dom-and-listener-lifecycle.md +38 -0
- package/.agents/skills/code-review/SKILL.md +3 -0
- package/.agents/skills/devtools-testing-guidance/SKILL.md +1 -0
- package/.agents/skills/review-models-core/SKILL.md +73 -0
- package/.agents/skills/review-tests/SKILL.md +67 -0
- package/.agents/skills/review-ui-widgets/SKILL.md +115 -0
- package/.agents/skills/ui-eng-vision-local-lit-renderer/SKILL.md +19 -3
- package/.agents/skills/ui-eng-vision-widget-promoter/SKILL.md +2 -1
- package/.agents/skills/ui-widgets/SKILL.md +3 -1
- package/AUTHORS +3 -0
- package/DIR_METADATA +51 -1
- package/eslint.config.mjs +63 -21
- package/front_end/core/platform/api/HostRuntime.ts +1 -0
- package/front_end/core/platform/browser/HostRuntime.ts +10 -0
- package/front_end/core/platform/node/HostRuntime.ts +1 -0
- package/front_end/core/sdk/CSSMatchedStyles.ts +60 -20
- package/front_end/core/sdk/CSSProperty.ts +2 -2
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +28 -9
- package/front_end/core/sdk/NetworkManager.ts +9 -3
- package/front_end/core/sdk/OverlayModel.ts +2 -8
- package/front_end/core/sdk/PrivateVerificationTokensModel.ts +79 -0
- package/front_end/core/sdk/SecurityOrigin.ts +1 -1
- package/front_end/core/sdk/SourceMapCache.ts +20 -15
- package/front_end/core/sdk/SourceMapManager.ts +28 -9
- package/front_end/core/sdk/TargetManager.ts +7 -4
- package/front_end/core/sdk/WebAuthnModel.ts +11 -2
- package/front_end/core/sdk/sdk.ts +2 -0
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +0 -2
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +10 -0
- package/front_end/entrypoints/main/GlobalAiButton.ts +1 -1
- package/front_end/entrypoints/main/MainImpl.ts +5 -2
- package/front_end/foundation/Universe.ts +1 -1
- package/front_end/generated/Deprecation.ts +4 -0
- package/front_end/generated/InspectorBackendCommands.ts +3 -3
- package/front_end/generated/SupportedCSSProperties.ts +89 -17
- package/front_end/generated/protocol-mapping.d.ts +1 -0
- package/front_end/generated/protocol-proxy-api.d.ts +1 -0
- package/front_end/generated/protocol.ts +5 -3
- package/front_end/models/{ai_assistance → ai-utils}/AiHistoryStorage.ts +6 -5
- package/front_end/models/{ai_assistance → ai-utils}/AiUtils.ts +9 -0
- package/front_end/models/{ai_assistance → ai-utils}/BuiltInAi.ts +1 -1
- package/front_end/models/ai-utils/ai-utils.ts +17 -0
- package/front_end/models/ai_assistance/AiAgent2.ts +3 -1
- package/front_end/models/ai_assistance/AiConversation.ts +34 -22
- package/front_end/models/ai_assistance/AlwaysAllowedTools.ts +107 -0
- package/front_end/models/ai_assistance/ConversationSummary.ts +2 -1
- package/front_end/models/ai_assistance/PerformanceAnnotations.ts +3 -1
- package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +3 -1
- package/front_end/models/ai_assistance/agents/AiAgent.ts +15 -7
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +3 -1
- package/front_end/models/ai_assistance/agents/ExecuteJavascript.ts +3 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +1 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +3 -1
- package/front_end/models/ai_assistance/ai_assistance.ts +9 -10
- package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +27 -6
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +3 -3
- package/front_end/models/ai_assistance/skills/sources.md +3 -1
- package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +1 -0
- package/front_end/models/ai_assistance/tools/GetCookieValues.ts +1 -0
- package/front_end/models/ai_assistance/tools/GetInsightDetails.ts +3 -1
- package/front_end/models/ai_assistance/tools/GetSourceContent.ts +46 -4
- package/front_end/models/ai_assistance/tools/GetStorageValues.ts +1 -0
- package/front_end/models/ai_assistance/tools/Tool.ts +6 -0
- package/front_end/models/breakpoints/BreakpointManager.ts +0 -4
- package/front_end/models/change_tracker/ChangeTracker.ts +2 -0
- package/front_end/models/comment_manager/CommentManager.ts +12 -0
- package/front_end/models/comment_manager/CommentThread.ts +21 -1
- package/front_end/models/elements/ChangeTrackingUtils.ts +37 -0
- package/front_end/models/elements/DOMChanges.ts +24 -36
- package/front_end/models/elements/StyleChanges.ts +97 -0
- package/front_end/models/elements/elements.ts +4 -0
- package/front_end/models/emulation/DeviceModeModel.ts +19 -0
- package/front_end/models/javascript_metadata/NativeFunctions.ts +11 -1
- package/front_end/models/trace/EventsSerializer.ts +35 -2
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +17 -21
- package/front_end/models/trace/helpers/SyntheticEvents.ts +4 -2
- package/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +12 -8
- package/front_end/models/trace/types/File.ts +20 -3
- package/front_end/models/trace/types/TraceEvents.ts +8 -3
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +14 -0
- package/front_end/panels/ai_assistance/README.md +1 -1
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +1 -1
- package/front_end/panels/ai_assistance/ai_assistance.ts +2 -0
- package/front_end/panels/ai_assistance/components/ChatInput.ts +5 -43
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +52 -147
- package/front_end/panels/ai_assistance/components/ChatView.ts +28 -3
- package/front_end/panels/ai_assistance/components/PermissionPrompt.ts +151 -0
- package/front_end/panels/ai_assistance/components/RelevantDataDisclaimer.ts +73 -0
- package/front_end/panels/ai_assistance/components/chatInput.css +0 -59
- package/front_end/panels/ai_assistance/components/chatMessage.css +0 -47
- package/front_end/panels/ai_assistance/components/chatView.css +5 -30
- package/front_end/panels/ai_assistance/components/permissionPrompt.css +55 -0
- package/front_end/panels/ai_assistance/components/relevantDataDisclaimer.css +35 -0
- package/front_end/panels/application/ApplicationPanelSidebar.ts +3 -7
- package/front_end/panels/application/BackgroundServiceView.ts +8 -8
- package/front_end/panels/application/IndexedDBViews.ts +102 -73
- package/front_end/panels/application/OpenedWindowDetailsView.ts +167 -130
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +288 -346
- package/front_end/panels/application/StorageBucketsTreeElement.ts +22 -27
- package/front_end/panels/application/StorageItemsToolbar.ts +2 -2
- package/front_end/panels/application/components/StorageMetadataView.ts +207 -160
- package/front_end/panels/application/openedWindowDetailsView.css +7 -30
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
- package/front_end/panels/changes/changesView.css +0 -6
- package/front_end/panels/console/ConsoleInsightTeaser.ts +5 -1
- package/front_end/panels/console/ConsolePinPane.ts +1 -1
- package/front_end/panels/console/ConsoleView.ts +1 -0
- package/front_end/panels/elements/CSSValueTraceView.ts +5 -5
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +14 -6
- package/front_end/panels/elements/ComputedStyleWidget.ts +14 -5
- package/front_end/panels/elements/DOMTreeElementWidget.ts +2 -2
- package/front_end/panels/elements/DOMTreeWidget.ts +7 -3
- package/front_end/panels/elements/EventListenersWidget.ts +1 -1
- package/front_end/panels/elements/LayersWidget.ts +1 -1
- package/front_end/panels/elements/PropertyRenderer.ts +91 -16
- package/front_end/panels/elements/StandaloneStylesContainer.ts +33 -6
- package/front_end/panels/elements/StylePropertiesSection.ts +1 -0
- package/front_end/panels/elements/StylePropertyTreeElement.ts +211 -121
- package/front_end/panels/elements/StylesContainer.ts +2 -0
- package/front_end/panels/elements/StylesSidebarPane.ts +34 -16
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/elements/elementStatePaneWidget.css +1 -1
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +1 -1
- package/front_end/panels/elements/stylesSidebarPane.css +4 -0
- package/front_end/panels/emulation/DeviceModeToolbar.ts +57 -25
- package/front_end/panels/emulation/DeviceModeView.ts +27 -1
- package/front_end/panels/emulation/InspectedPagePlaceholder.ts +6 -0
- package/front_end/panels/emulation/MediaQueryInspector.ts +14 -4
- package/front_end/panels/explain/components/ConsoleInsight.ts +2 -3
- package/front_end/panels/explain/explain-meta.ts +1 -1
- package/front_end/panels/issues/AffectedMetadataAllowedSitesView.ts +67 -34
- package/front_end/panels/issues/issues.ts +2 -0
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +7 -3
- package/front_end/panels/lighthouse/LighthouseController.ts +1 -1
- package/front_end/panels/media/PlayerMessagesView.ts +1 -1
- package/front_end/panels/mobile_throttling/CPUThrottlingSelector.ts +1 -1
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +45 -15
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +3 -3
- package/front_end/panels/network/BinaryResourceView.ts +54 -50
- package/front_end/panels/network/RequestHeadersView.ts +6 -2
- package/front_end/panels/network/RequestPreviewView.ts +28 -5
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +1 -0
- package/front_end/panels/network/components/EditableSpan.ts +11 -30
- package/front_end/panels/network/components/HeaderSectionRow.ts +2 -2
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +10 -6
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +112 -22
- package/front_end/panels/profiler/HeapProfileView.ts +3 -3
- package/front_end/panels/profiler/HeapSnapshotView.ts +12 -2
- package/front_end/panels/profiler/HeapTimelineOverview.ts +16 -2
- package/front_end/panels/profiler/profiler.ts +0 -2
- package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -1
- package/front_end/panels/recorder/CreateRecordingView.ts +1 -1
- package/front_end/panels/recorder/RecordingView.ts +3 -3
- package/front_end/panels/recorder/ReplaySection.ts +1 -1
- package/front_end/panels/screencast/ScreencastApp.ts +83 -57
- package/front_end/panels/screencast/screencastView.css +1 -1
- package/front_end/panels/settings/AISettingsTab.ts +107 -4
- package/front_end/panels/settings/aiSettingsTab.css +53 -0
- package/front_end/panels/settings/settings-meta.ts +1 -1
- package/front_end/panels/settings/settingsScreen.css +0 -4
- package/front_end/panels/sources/BreakpointsView.ts +2 -2
- package/front_end/panels/sources/DebuggerPlugin.ts +7 -0
- package/front_end/panels/sources/NavigatorView.ts +61 -18
- package/front_end/panels/sources/SourcesNavigator.ts +22 -7
- package/front_end/panels/sources/SourcesPanel.ts +1 -0
- package/front_end/panels/timeline/README.md +12 -0
- package/front_end/panels/timeline/StatusDialog.ts +1 -1
- package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -3
- package/front_end/panels/timeline/TimelineCommentController.ts +346 -0
- package/front_end/panels/timeline/TimelineDetailsView.ts +24 -1
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +34 -30
- package/front_end/panels/timeline/TimelineFlameChartView.ts +22 -1
- package/front_end/panels/timeline/TimelinePanel.ts +12 -5
- package/front_end/panels/timeline/TimelineTreeView.ts +28 -6
- package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
- package/front_end/panels/timeline/components/fieldSettingsDialog.css +2 -2
- package/front_end/panels/timeline/components/insights/baseInsightComponent.css +1 -1
- package/front_end/panels/timeline/overlays/components/entriesLinkOverlay.css +2 -2
- package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +9 -9
- package/front_end/panels/timeline/timeline-meta.ts +2 -2
- package/front_end/panels/timeline/timeline.ts +4 -0
- package/front_end/panels/timeline/timelineFlamechartPopover.css +2 -2
- package/front_end/panels/timeline/timelinePanel.css +2 -2
- package/front_end/panels/web_audio/WebAudioView.ts +7 -4
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/codemirror.next/chunk/angular.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/angular.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/cpp.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/cpp.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/java.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/less.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/less.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/markdown.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/python.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/sass.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/svelte.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/svelte.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/vue.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/vue.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/wast.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/wast.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/xml.js.map +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
- package/front_end/third_party/codemirror.next/rollup.config.mjs +1 -1
- package/front_end/tsconfig.json +1 -1
- package/front_end/ui/comments/CommentAnchorResolver.ts +1 -1
- package/front_end/ui/components/buttons/Button.ts +29 -18
- package/front_end/ui/components/code_highlighter/CodeHighlighter.ts +1 -1
- package/front_end/ui/components/dialogs/TypeToAllowDialog.ts +94 -39
- package/front_end/ui/components/dialogs/dialog.css +1 -1
- package/front_end/ui/components/menus/menuItem.css +11 -0
- package/front_end/ui/components/text_editor/AccessiblePlaceholder.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionTeaser.ts +1 -1
- package/front_end/ui/components/text_editor/config.ts +2 -1
- package/front_end/ui/components/text_editor/javascript.ts +2 -1
- package/front_end/ui/legacy/InspectorView.ts +4 -2
- package/front_end/ui/legacy/SplitWidget.ts +14 -16
- package/front_end/ui/legacy/TabbedPane.ts +9 -1
- package/front_end/ui/legacy/UIUtils.ts +60 -40
- package/front_end/ui/legacy/components/color_picker/spectrum.css +2 -2
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +9 -0
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +0 -1
- package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +5 -7
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/PieChart.ts +11 -0
- package/front_end/ui/legacy/components/perf_ui/chartViewport.css +4 -4
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +6 -0
- package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +38 -13
- package/front_end/ui/legacy/dropTarget.css +1 -1
- package/front_end/ui/legacy/statusBar.css +7 -0
- package/front_end/ui/legacy/tabbedPane.css +0 -7
- package/front_end/ui/visual_logging/KnownContextValues.ts +13 -0
- package/inspector_overlay/main.ts +2 -15
- package/inspector_overlay/tool_persistent.ts +0 -14
- package/mcp/mcp.ts +3 -0
- package/package.json +1 -1
- package/front_end/panels/ai_assistance/components/StylingAgentMarkdownRenderer.ts +0 -178
- package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +0 -147
- package/front_end/panels/profiler/heapDetachedElementsDataGrid.css +0 -14
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +0 -62
- package/front_end/ui/components/legacy_wrapper/legacy_wrapper.ts +0 -8
- package/inspector_overlay/tool_green_dev_anchors.css +0 -54
- package/inspector_overlay/tool_green_dev_anchors.ts +0 -164
- /package/front_end/models/{ai_assistance → ai-utils}/AiSetting.ts +0 -0
- /package/front_end/models/{ai_assistance → ai-utils}/debug.ts +0 -0
|
@@ -113,8 +113,6 @@ export class InspectorMainImpl implements Common.Runnable.Runnable {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
Common.Runnable.registerEarlyInitializationRunnable(() => new InspectorMainImpl());
|
|
117
|
-
|
|
118
116
|
export class ReloadActionDelegate implements UI.ActionRegistration.ActionDelegate {
|
|
119
117
|
handleAction(_context: UI.Context.Context, actionId: string): boolean {
|
|
120
118
|
switch (actionId) {
|
|
@@ -358,6 +358,16 @@ async function loadInspectorMainModule(): Promise<typeof InspectorMain> {
|
|
|
358
358
|
return loadedInspectorMainModule;
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
+
Common.Runnable.registerEarlyInitializationRunnable(function() {
|
|
362
|
+
return {
|
|
363
|
+
async run() {
|
|
364
|
+
const InspectorMain = await loadInspectorMainModule();
|
|
365
|
+
const runnable = new InspectorMain.InspectorMain.InspectorMainImpl();
|
|
366
|
+
await runnable.run();
|
|
367
|
+
},
|
|
368
|
+
};
|
|
369
|
+
});
|
|
370
|
+
|
|
361
371
|
UI.ViewManager.registerViewExtension({
|
|
362
372
|
location: UI.ViewManager.ViewLocationValues.DRAWER_VIEW,
|
|
363
373
|
id: 'rendering',
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
7
|
import * as Root from '../../core/root/root.js';
|
|
8
|
-
import * as AIAssistance from '../../models/
|
|
8
|
+
import * as AIAssistance from '../../models/ai-utils/ai-utils.js';
|
|
9
9
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
10
10
|
import * as Lit from '../../ui/lit/lit.js';
|
|
11
11
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
@@ -42,7 +42,7 @@ import * as ProtocolClient from '../../core/protocol_client/protocol_client.js';
|
|
|
42
42
|
import * as Root from '../../core/root/root.js';
|
|
43
43
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
44
44
|
import * as Foundation from '../../foundation/foundation.js';
|
|
45
|
-
import * as AiAssistanceModel from '../../models/
|
|
45
|
+
import * as AiAssistanceModel from '../../models/ai-utils/ai-utils.js';
|
|
46
46
|
import * as Badges from '../../models/badges/badges.js';
|
|
47
47
|
import * as CommentManager from '../../models/comment_manager/comment_manager.js';
|
|
48
48
|
import * as CrUXManager from '../../models/crux-manager/crux-manager.js';
|
|
@@ -147,6 +147,7 @@ const WINDOW_LOCAL_STORAGE: Common.Settings.SettingsBackingStore = {
|
|
|
147
147
|
export class MainImpl {
|
|
148
148
|
#readyForTestPromise = Promise.withResolvers<void>();
|
|
149
149
|
#veStartPromise!: Promise<void>;
|
|
150
|
+
#toolbarsPromise!: Promise<void>;
|
|
150
151
|
#universe!: Foundation.Universe.Universe;
|
|
151
152
|
#supportsEmulation = false;
|
|
152
153
|
|
|
@@ -535,7 +536,7 @@ export class MainImpl {
|
|
|
535
536
|
Persistence.NetworkPersistenceManager.Events.LOCAL_OVERRIDES_REQUESTED, event => {
|
|
536
537
|
inspectorView.displaySelectOverrideFolderInfobar(event.data);
|
|
537
538
|
});
|
|
538
|
-
|
|
539
|
+
this.#toolbarsPromise = inspectorView.createToolbars();
|
|
539
540
|
inspectorView.renderStatusBar(this.#universe.commentManager.isAgentAttached());
|
|
540
541
|
this.#universe.commentManager.addEventListener(
|
|
541
542
|
CommentManager.CommentManager.Events.AGENT_ATTACHED_CHANGED,
|
|
@@ -551,6 +552,7 @@ export class MainImpl {
|
|
|
551
552
|
|
|
552
553
|
// Allow UI cycles to repaint prior to creating connection.
|
|
553
554
|
window.setTimeout(this.#initializeTarget.bind(this), 0);
|
|
555
|
+
await this.#toolbarsPromise;
|
|
554
556
|
MainImpl.timeEnd('Main._showAppUI');
|
|
555
557
|
}
|
|
556
558
|
|
|
@@ -564,6 +566,7 @@ export class MainImpl {
|
|
|
564
566
|
await runnableInstanceFunction().run();
|
|
565
567
|
}
|
|
566
568
|
await this.#veStartPromise;
|
|
569
|
+
await this.#toolbarsPromise;
|
|
567
570
|
// Used for browser tests.
|
|
568
571
|
Host.InspectorFrontendHost.InspectorFrontendHostInstance.readyForTest();
|
|
569
572
|
this.#readyForTestPromise.resolve();
|
|
@@ -6,7 +6,7 @@ import * as Common from '../core/common/common.js';
|
|
|
6
6
|
import * as Host from '../core/host/host.js';
|
|
7
7
|
import * as Root from '../core/root/root.js';
|
|
8
8
|
import * as SDK from '../core/sdk/sdk.js';
|
|
9
|
-
import * as AiAssistance from '../models/
|
|
9
|
+
import * as AiAssistance from '../models/ai-utils/ai-utils.js';
|
|
10
10
|
import * as AutofillManager from '../models/autofill_manager/autofill_manager.js';
|
|
11
11
|
import * as Badges from '../models/badges/badges.js';
|
|
12
12
|
import * as Bindings from '../models/bindings/bindings.js';
|
|
@@ -274,6 +274,10 @@ export const UIStrings = {
|
|
|
274
274
|
* @description A deprecation warning shown in the DevTools Issues tab. The placeholder is always the noun 'SharedArrayBuffer' which refers to a JavaScript construct. 'Extensions' refers to Chrome extensions. The warning is shown when Chrome Extensions attempt to use 'SharedArrayBuffer's under insecure circumstances.
|
|
275
275
|
*/
|
|
276
276
|
V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.",
|
|
277
|
+
/**
|
|
278
|
+
* @description Warning displayed to developers when an SVG filter is applied to view transition content, which is disallowed because the content may contain cross-origin iframes or plugins. `::view-transition-old()` and `::view-transition-new()` are CSS pseudo-element names and should not be translated.
|
|
279
|
+
*/
|
|
280
|
+
ViewTransitionPreventSvgFilterPaint: "SVG filters cannot be applied to view transition content, such as `::view-transition-old()` and `::view-transition-new()`, as it may contain cross-origin iframes or plugins.",
|
|
277
281
|
/**
|
|
278
282
|
* @description This warning occurs when the deprecated `BluetoothRemoteGATTCharacteristic.writeValue()` method is used. Developers should use `writeValueWithResponse()` or `writeValueWithoutResponse()` instead.
|
|
279
283
|
*/
|
|
@@ -151,7 +151,7 @@ inspectorBackend.registerType("Audits.InspectorIssue", [{"name": "code", "type":
|
|
|
151
151
|
// Autofill.
|
|
152
152
|
inspectorBackend.registerEnum("Autofill.FillingStrategy", {AutocompleteAttribute: "autocompleteAttribute", AutofillInferred: "autofillInferred"});
|
|
153
153
|
inspectorBackend.registerEvent("Autofill.addressFormFilled", ["filledFields", "addressUi"]);
|
|
154
|
-
inspectorBackend.registerCommand("Autofill.trigger", [{"name": "fieldId", "type": "number", "optional": false, "description": "Identifies a field that serves as an anchor for autofill.", "typeRef": "DOM.BackendNodeId"}, {"name": "frameId", "type": "string", "optional": true, "description": "Identifies the frame that field belongs to.", "typeRef": "Page.FrameId"}, {"name": "card", "type": "object", "optional": true, "description": "Credit card information to fill out the form. Credit card data is not saved. Mutually exclusive with `address`.", "typeRef": "Autofill.CreditCard"}, {"name": "address", "type": "object", "optional": true, "description": "Address to fill out the form. Address data is not saved. Mutually exclusive with `card`.", "typeRef": "Autofill.Address"}], [], "Trigger autofill on a form identified by the fieldId. If the field and related form cannot be autofilled, returns an error.");
|
|
154
|
+
inspectorBackend.registerCommand("Autofill.trigger", [{"name": "fieldId", "type": "number", "optional": false, "description": "Identifies a field that serves as an anchor for autofill.", "typeRef": "DOM.BackendNodeId"}, {"name": "frameId", "type": "string", "optional": true, "description": "Identifies the frame that field belongs to.", "typeRef": "Page.FrameId"}, {"name": "card", "type": "object", "optional": true, "description": "Credit card information to fill out the form. Credit card data is not saved. Mutually exclusive with `address`.", "typeRef": "Autofill.CreditCard"}, {"name": "address", "type": "object", "optional": true, "description": "Address to fill out the form. Address data is not saved. Mutually exclusive with `card`.", "typeRef": "Autofill.Address"}], [], "Trigger autofill on a form identified by the fieldId. If the field and related form cannot be autofilled, returns an error. Returns once the values have been applied to the form fields.");
|
|
155
155
|
inspectorBackend.registerCommand("Autofill.setAddresses", [{"name": "addresses", "type": "array", "optional": false, "description": "", "typeRef": "Autofill.Address"}], [], "Set addresses so that developers can verify their forms implementation.");
|
|
156
156
|
inspectorBackend.registerCommand("Autofill.disable", [], [], "Disables autofill domain notifications.");
|
|
157
157
|
inspectorBackend.registerCommand("Autofill.enable", [], [], "Enables autofill domain notifications.");
|
|
@@ -221,7 +221,7 @@ inspectorBackend.registerCommand("Browser.crash", [], [], "Crashes browser on th
|
|
|
221
221
|
inspectorBackend.registerCommand("Browser.crashGpuProcess", [], [], "Crashes GPU process.");
|
|
222
222
|
inspectorBackend.registerCommand("Browser.getVersion", [], ["protocolVersion", "product", "revision", "userAgent", "jsVersion"], "Returns version information.");
|
|
223
223
|
inspectorBackend.registerCommand("Browser.getBrowserCommandLine", [], ["arguments"], "Returns the command line switches for the browser process if, and only if --enable-automation is on the commandline.");
|
|
224
|
-
inspectorBackend.registerCommand("Browser.addMockCamera", [{"name": "deviceId", "type": "string", "optional": false, "description": "Required non-empty identifier for the mock camera.
|
|
224
|
+
inspectorBackend.registerCommand("Browser.addMockCamera", [{"name": "deviceId", "type": "string", "optional": false, "description": "Required non-empty identifier for the mock camera within the current DevTools session. Different sessions can use the same identifier without replacing each other's cameras. This is not the MediaDeviceInfo.deviceId exposed to the page.", "typeRef": null}], [], "Adds or updates a mock camera in the shared video capture device list for test automation. The mock camera is not scoped to a particular page or frame and is removed when the DevTools session that created it disconnects.");
|
|
225
225
|
inspectorBackend.registerCommand("Browser.getHistograms", [{"name": "query", "type": "string", "optional": true, "description": "Requested substring in name. Only histograms which have query as a substring in their name are extracted. An empty or absent query returns all histograms.", "typeRef": null}, {"name": "delta", "type": "boolean", "optional": true, "description": "If true, retrieve delta since last delta call.", "typeRef": null}], ["histograms"], "Get Chrome histograms.");
|
|
226
226
|
inspectorBackend.registerCommand("Browser.getHistogram", [{"name": "name", "type": "string", "optional": false, "description": "Requested histogram name.", "typeRef": null}, {"name": "delta", "type": "boolean", "optional": true, "description": "If true, retrieve delta since last delta call.", "typeRef": null}], ["histogram"], "Get a Chrome histogram by name.");
|
|
227
227
|
inspectorBackend.registerCommand("Browser.getWindowBounds", [{"name": "windowId", "type": "number", "optional": false, "description": "Browser window id.", "typeRef": "Browser.WindowID"}], ["bounds"], "Get position and size of the browser window.");
|
|
@@ -839,7 +839,7 @@ inspectorBackend.registerEnum("Network.ReportStatus", {Queued: "Queued", Pending
|
|
|
839
839
|
inspectorBackend.registerEnum("Network.DeviceBoundSessionWithUsageUsage", {NotInScope: "NotInScope", InScopeRefreshNotYetNeeded: "InScopeRefreshNotYetNeeded", InScopeRefreshNotAllowed: "InScopeRefreshNotAllowed", ProactiveRefreshNotPossible: "ProactiveRefreshNotPossible", ProactiveRefreshAttempted: "ProactiveRefreshAttempted", Deferred: "Deferred"});
|
|
840
840
|
inspectorBackend.registerEnum("Network.DeviceBoundSessionUrlRuleRuleType", {Exclude: "Exclude", Include: "Include"});
|
|
841
841
|
inspectorBackend.registerEnum("Network.DeviceBoundSessionFetchResult", {Success: "Success", SigningKeyGenerationError: "SigningKeyGenerationError", AttestationKeyGenerationError: "AttestationKeyGenerationError", SigningError: "SigningError", TransientSigningError: "TransientSigningError", ServerRequestedTermination: "ServerRequestedTermination", InvalidSessionId: "InvalidSessionId", InvalidChallenge: "InvalidChallenge", TooManyChallenges: "TooManyChallenges", InvalidFetcherUrl: "InvalidFetcherUrl", InvalidRefreshUrl: "InvalidRefreshUrl", TransientHttpError: "TransientHttpError", ScopeOriginSameSiteMismatch: "ScopeOriginSameSiteMismatch", RefreshUrlSameSiteMismatch: "RefreshUrlSameSiteMismatch", MismatchedSessionId: "MismatchedSessionId", MissingScope: "MissingScope", NoCredentials: "NoCredentials", SubdomainRegistrationWellKnownUnavailable: "SubdomainRegistrationWellKnownUnavailable", SubdomainRegistrationUnauthorized: "SubdomainRegistrationUnauthorized", SubdomainRegistrationWellKnownMalformed: "SubdomainRegistrationWellKnownMalformed", SessionProviderWellKnownUnavailable: "SessionProviderWellKnownUnavailable", RelyingPartyWellKnownUnavailable: "RelyingPartyWellKnownUnavailable", FederatedKeyThumbprintMismatch: "FederatedKeyThumbprintMismatch", InvalidFederatedSessionUrl: "InvalidFederatedSessionUrl", InvalidFederatedKey: "InvalidFederatedKey", TooManyRelyingOriginLabels: "TooManyRelyingOriginLabels", BoundCookieSetForbidden: "BoundCookieSetForbidden", NetError: "NetError", ProxyError: "ProxyError", EmptySessionConfig: "EmptySessionConfig", InvalidCredentialsConfig: "InvalidCredentialsConfig", InvalidCredentialsType: "InvalidCredentialsType", InvalidCredentialsEmptyName: "InvalidCredentialsEmptyName", InvalidCredentialsCookie: "InvalidCredentialsCookie", PersistentHttpError: "PersistentHttpError", RegistrationAttemptedChallenge: "RegistrationAttemptedChallenge", InvalidScopeOrigin: "InvalidScopeOrigin", ScopeOriginContainsPath: "ScopeOriginContainsPath", RefreshInitiatorNotString: "RefreshInitiatorNotString", RefreshInitiatorInvalidHostPattern: "RefreshInitiatorInvalidHostPattern", InvalidScopeSpecification: "InvalidScopeSpecification", MissingScopeSpecificationType: "MissingScopeSpecificationType", EmptyScopeSpecificationDomain: "EmptyScopeSpecificationDomain", EmptyScopeSpecificationPath: "EmptyScopeSpecificationPath", InvalidScopeSpecificationType: "InvalidScopeSpecificationType", InvalidScopeIncludeSite: "InvalidScopeIncludeSite", MissingScopeIncludeSite: "MissingScopeIncludeSite", FederatedNotAuthorizedByProvider: "FederatedNotAuthorizedByProvider", FederatedNotAuthorizedByRelyingParty: "FederatedNotAuthorizedByRelyingParty", SessionProviderWellKnownMalformed: "SessionProviderWellKnownMalformed", SessionProviderWellKnownHasProviderOrigin: "SessionProviderWellKnownHasProviderOrigin", RelyingPartyWellKnownMalformed: "RelyingPartyWellKnownMalformed", RelyingPartyWellKnownHasRelyingOrigins: "RelyingPartyWellKnownHasRelyingOrigins", InvalidFederatedSessionProviderSessionMissing: "InvalidFederatedSessionProviderSessionMissing", InvalidFederatedSessionWrongProviderOrigin: "InvalidFederatedSessionWrongProviderOrigin", InvalidCredentialsCookieCreationTime: "InvalidCredentialsCookieCreationTime", InvalidCredentialsCookieName: "InvalidCredentialsCookieName", InvalidCredentialsCookieParsing: "InvalidCredentialsCookieParsing", InvalidCredentialsCookieUnpermittedAttribute: "InvalidCredentialsCookieUnpermittedAttribute", InvalidCredentialsCookieInvalidDomain: "InvalidCredentialsCookieInvalidDomain", InvalidCredentialsCookiePrefix: "InvalidCredentialsCookiePrefix", InvalidScopeRulePath: "InvalidScopeRulePath", InvalidScopeRuleHostPattern: "InvalidScopeRuleHostPattern", ScopeRuleOriginScopedHostPatternMismatch: "ScopeRuleOriginScopedHostPatternMismatch", ScopeRuleSiteScopedHostPatternMismatch: "ScopeRuleSiteScopedHostPatternMismatch", SigningQuotaExceeded: "SigningQuotaExceeded", InvalidConfigJson: "InvalidConfigJson", InvalidFederatedSessionProviderFailedToRestoreKey: "InvalidFederatedSessionProviderFailedToRestoreKey", FailedToUnwrapKey: "FailedToUnwrapKey", SessionDeletedDuringRefresh: "SessionDeletedDuringRefresh", CrossOriginRegistrationSiteNotIncluded: "CrossOriginRegistrationSiteNotIncluded", InvalidPreProvisionedKeyInitiatorMissing: "InvalidPreProvisionedKeyInitiatorMissing", PreProvisionedKeyAccessNotGranted: "PreProvisionedKeyAccessNotGranted", PreProvisionedKeyNotFound: "PreProvisionedKeyNotFound", AttestationCertificationError: "AttestationCertificationError", AttestationSigningError: "AttestationSigningError"});
|
|
842
|
-
inspectorBackend.registerEnum("Network.RefreshEventDetailsRefreshResult", {Refreshed: "Refreshed", InitializedService: "InitializedService", Unreachable: "Unreachable", ServerError: "ServerError", FatalError: "FatalError", SigningQuotaExceeded: "SigningQuotaExceeded", RefreshedAsWaiter: "RefreshedAsWaiter", TransientSigningError: "TransientSigningError", InScopeRefreshNotYetNeeded: "InScopeRefreshNotYetNeeded"});
|
|
842
|
+
inspectorBackend.registerEnum("Network.RefreshEventDetailsRefreshResult", {Refreshed: "Refreshed", InitializedService: "InitializedService", Unreachable: "Unreachable", ServerError: "ServerError", FatalError: "FatalError", SigningQuotaExceeded: "SigningQuotaExceeded", RefreshedAsWaiter: "RefreshedAsWaiter", TransientSigningError: "TransientSigningError", InScopeRefreshNotYetNeeded: "InScopeRefreshNotYetNeeded", Canceled: "Canceled"});
|
|
843
843
|
inspectorBackend.registerEnum("Network.TerminationEventDetailsDeletionReason", {Expired: "Expired", FailedToRestoreKey: "FailedToRestoreKey", FailedToUnwrapKey: "FailedToUnwrapKey", StoragePartitionCleared: "StoragePartitionCleared", ClearBrowsingData: "ClearBrowsingData", ServerRequested: "ServerRequested", InvalidSessionParams: "InvalidSessionParams", RefreshFatalError: "RefreshFatalError", DevTools: "DevTools", Replaced: "Replaced"});
|
|
844
844
|
inspectorBackend.registerEnum("Network.ChallengeEventDetailsChallengeResult", {Success: "Success", NoSessionId: "NoSessionId", NoSessionMatch: "NoSessionMatch", CantSetBoundCookie: "CantSetBoundCookie"});
|
|
845
845
|
inspectorBackend.registerEvent("Network.dataReceived", ["requestId", "timestamp", "dataLength", "encodedDataLength", "data"]);
|
|
@@ -580,6 +580,7 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
580
580
|
"fill-opacity",
|
|
581
581
|
"fill-rule",
|
|
582
582
|
"filter",
|
|
583
|
+
"fit-tolerance",
|
|
583
584
|
"flex-basis",
|
|
584
585
|
"flex-direction",
|
|
585
586
|
"flex-grow",
|
|
@@ -589,7 +590,6 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
589
590
|
"float",
|
|
590
591
|
"flood-color",
|
|
591
592
|
"flood-opacity",
|
|
592
|
-
"flow-tolerance",
|
|
593
593
|
"font-display",
|
|
594
594
|
"font-family",
|
|
595
595
|
"font-feature-settings",
|
|
@@ -1331,6 +1331,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1331
1331
|
],
|
|
1332
1332
|
"name": "border-block-end-color"
|
|
1333
1333
|
},
|
|
1334
|
+
{
|
|
1335
|
+
"longhands": [
|
|
1336
|
+
"border-end-start-radius",
|
|
1337
|
+
"border-end-end-radius"
|
|
1338
|
+
],
|
|
1339
|
+
"name": "border-block-end-radius",
|
|
1340
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1341
|
+
"runtime_flag_status": "experimental"
|
|
1342
|
+
},
|
|
1334
1343
|
{
|
|
1335
1344
|
"keywords": [
|
|
1336
1345
|
"none",
|
|
@@ -1368,6 +1377,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1368
1377
|
],
|
|
1369
1378
|
"name": "border-block-start-color"
|
|
1370
1379
|
},
|
|
1380
|
+
{
|
|
1381
|
+
"longhands": [
|
|
1382
|
+
"border-start-start-radius",
|
|
1383
|
+
"border-start-end-radius"
|
|
1384
|
+
],
|
|
1385
|
+
"name": "border-block-start-radius",
|
|
1386
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1387
|
+
"runtime_flag_status": "experimental"
|
|
1388
|
+
},
|
|
1371
1389
|
{
|
|
1372
1390
|
"keywords": [
|
|
1373
1391
|
"none",
|
|
@@ -1422,6 +1440,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1422
1440
|
{
|
|
1423
1441
|
"name": "border-bottom-left-radius"
|
|
1424
1442
|
},
|
|
1443
|
+
{
|
|
1444
|
+
"longhands": [
|
|
1445
|
+
"border-bottom-left-radius",
|
|
1446
|
+
"border-bottom-right-radius"
|
|
1447
|
+
],
|
|
1448
|
+
"name": "border-bottom-radius",
|
|
1449
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1450
|
+
"runtime_flag_status": "experimental"
|
|
1451
|
+
},
|
|
1425
1452
|
{
|
|
1426
1453
|
"name": "border-bottom-right-radius"
|
|
1427
1454
|
},
|
|
@@ -1547,6 +1574,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1547
1574
|
],
|
|
1548
1575
|
"name": "border-inline-end-color"
|
|
1549
1576
|
},
|
|
1577
|
+
{
|
|
1578
|
+
"longhands": [
|
|
1579
|
+
"border-start-end-radius",
|
|
1580
|
+
"border-end-end-radius"
|
|
1581
|
+
],
|
|
1582
|
+
"name": "border-inline-end-radius",
|
|
1583
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1584
|
+
"runtime_flag_status": "experimental"
|
|
1585
|
+
},
|
|
1550
1586
|
{
|
|
1551
1587
|
"keywords": [
|
|
1552
1588
|
"none",
|
|
@@ -1584,6 +1620,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1584
1620
|
],
|
|
1585
1621
|
"name": "border-inline-start-color"
|
|
1586
1622
|
},
|
|
1623
|
+
{
|
|
1624
|
+
"longhands": [
|
|
1625
|
+
"border-start-start-radius",
|
|
1626
|
+
"border-end-start-radius"
|
|
1627
|
+
],
|
|
1628
|
+
"name": "border-inline-start-radius",
|
|
1629
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1630
|
+
"runtime_flag_status": "experimental"
|
|
1631
|
+
},
|
|
1587
1632
|
{
|
|
1588
1633
|
"keywords": [
|
|
1589
1634
|
"none",
|
|
@@ -1635,6 +1680,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1635
1680
|
],
|
|
1636
1681
|
"name": "border-left-color"
|
|
1637
1682
|
},
|
|
1683
|
+
{
|
|
1684
|
+
"longhands": [
|
|
1685
|
+
"border-top-left-radius",
|
|
1686
|
+
"border-bottom-left-radius"
|
|
1687
|
+
],
|
|
1688
|
+
"name": "border-left-radius",
|
|
1689
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1690
|
+
"runtime_flag_status": "experimental"
|
|
1691
|
+
},
|
|
1638
1692
|
{
|
|
1639
1693
|
"keywords": [
|
|
1640
1694
|
"none",
|
|
@@ -1681,6 +1735,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1681
1735
|
],
|
|
1682
1736
|
"name": "border-right-color"
|
|
1683
1737
|
},
|
|
1738
|
+
{
|
|
1739
|
+
"longhands": [
|
|
1740
|
+
"border-top-right-radius",
|
|
1741
|
+
"border-bottom-right-radius"
|
|
1742
|
+
],
|
|
1743
|
+
"name": "border-right-radius",
|
|
1744
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1745
|
+
"runtime_flag_status": "experimental"
|
|
1746
|
+
},
|
|
1684
1747
|
{
|
|
1685
1748
|
"keywords": [
|
|
1686
1749
|
"none",
|
|
@@ -1755,6 +1818,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
1755
1818
|
{
|
|
1756
1819
|
"name": "border-top-left-radius"
|
|
1757
1820
|
},
|
|
1821
|
+
{
|
|
1822
|
+
"longhands": [
|
|
1823
|
+
"border-top-left-radius",
|
|
1824
|
+
"border-top-right-radius"
|
|
1825
|
+
],
|
|
1826
|
+
"name": "border-top-radius",
|
|
1827
|
+
"runtime_flag": "CSSBorderRadiusSideShorthands",
|
|
1828
|
+
"runtime_flag_status": "experimental"
|
|
1829
|
+
},
|
|
1758
1830
|
{
|
|
1759
1831
|
"name": "border-top-right-radius"
|
|
1760
1832
|
},
|
|
@@ -2829,6 +2901,15 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
2829
2901
|
],
|
|
2830
2902
|
"name": "filter"
|
|
2831
2903
|
},
|
|
2904
|
+
{
|
|
2905
|
+
"keywords": [
|
|
2906
|
+
"normal",
|
|
2907
|
+
"infinite"
|
|
2908
|
+
],
|
|
2909
|
+
"name": "fit-tolerance",
|
|
2910
|
+
"runtime_flag": "CSSGridLanesLayout",
|
|
2911
|
+
"runtime_flag_status": "experimental"
|
|
2912
|
+
},
|
|
2832
2913
|
{
|
|
2833
2914
|
"devtools_keywords": [
|
|
2834
2915
|
"none",
|
|
@@ -2911,15 +2992,6 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
2911
2992
|
{
|
|
2912
2993
|
"name": "flood-opacity"
|
|
2913
2994
|
},
|
|
2914
|
-
{
|
|
2915
|
-
"keywords": [
|
|
2916
|
-
"normal",
|
|
2917
|
-
"infinite"
|
|
2918
|
-
],
|
|
2919
|
-
"name": "flow-tolerance",
|
|
2920
|
-
"runtime_flag": "CSSGridLanesLayout",
|
|
2921
|
-
"runtime_flag_status": "experimental"
|
|
2922
|
-
},
|
|
2923
2995
|
{
|
|
2924
2996
|
"devtools_keywords": [],
|
|
2925
2997
|
"inherited": true,
|
|
@@ -5523,7 +5595,7 @@ export const generatedProperties: CSSProperty[] = [
|
|
|
5523
5595
|
],
|
|
5524
5596
|
"name": "text-decoration-skip-spaces",
|
|
5525
5597
|
"runtime_flag": "CSSTextDecorationSkipSpaces",
|
|
5526
|
-
"runtime_flag_status": "
|
|
5598
|
+
"runtime_flag_status": "experimental"
|
|
5527
5599
|
},
|
|
5528
5600
|
{
|
|
5529
5601
|
"keywords": [
|
|
@@ -7444,6 +7516,12 @@ export const generatedPropertyValues: Record<string, CSSPropertyValue> = {
|
|
|
7444
7516
|
"none"
|
|
7445
7517
|
]
|
|
7446
7518
|
},
|
|
7519
|
+
"fit-tolerance": {
|
|
7520
|
+
"values": [
|
|
7521
|
+
"normal",
|
|
7522
|
+
"infinite"
|
|
7523
|
+
]
|
|
7524
|
+
},
|
|
7447
7525
|
"flex": {
|
|
7448
7526
|
"values": [
|
|
7449
7527
|
"none",
|
|
@@ -7494,12 +7572,6 @@ export const generatedPropertyValues: Record<string, CSSPropertyValue> = {
|
|
|
7494
7572
|
"currentcolor"
|
|
7495
7573
|
]
|
|
7496
7574
|
},
|
|
7497
|
-
"flow-tolerance": {
|
|
7498
|
-
"values": [
|
|
7499
|
-
"normal",
|
|
7500
|
-
"infinite"
|
|
7501
|
-
]
|
|
7502
|
-
},
|
|
7503
7575
|
"font": {
|
|
7504
7576
|
"values": []
|
|
7505
7577
|
},
|
|
@@ -1180,6 +1180,7 @@ export namespace ProtocolMapping {
|
|
|
1180
1180
|
/**
|
|
1181
1181
|
* Trigger autofill on a form identified by the fieldId.
|
|
1182
1182
|
* If the field and related form cannot be autofilled, returns an error.
|
|
1183
|
+
* Returns once the values have been applied to the form fields.
|
|
1183
1184
|
*/
|
|
1184
1185
|
'Autofill.trigger': {
|
|
1185
1186
|
paramsType: [Protocol.Autofill.TriggerRequest];
|
|
@@ -446,6 +446,7 @@ declare namespace ProtocolProxyApi {
|
|
|
446
446
|
/**
|
|
447
447
|
* Trigger autofill on a form identified by the fieldId.
|
|
448
448
|
* If the field and related form cannot be autofilled, returns an error.
|
|
449
|
+
* Returns once the values have been applied to the form fields.
|
|
449
450
|
*/
|
|
450
451
|
invoke_trigger(params: Protocol.Autofill.TriggerRequest): Promise<Protocol.ProtocolResponseWithError>;
|
|
451
452
|
|
|
@@ -2679,9 +2679,10 @@ export namespace Browser {
|
|
|
2679
2679
|
|
|
2680
2680
|
export interface AddMockCameraRequest {
|
|
2681
2681
|
/**
|
|
2682
|
-
* Required non-empty identifier for the mock camera
|
|
2683
|
-
*
|
|
2684
|
-
*
|
|
2682
|
+
* Required non-empty identifier for the mock camera within the current
|
|
2683
|
+
* DevTools session. Different sessions can use the same identifier
|
|
2684
|
+
* without replacing each other's cameras. This is not the
|
|
2685
|
+
* MediaDeviceInfo.deviceId exposed to the page.
|
|
2685
2686
|
*/
|
|
2686
2687
|
deviceId: string;
|
|
2687
2688
|
}
|
|
@@ -12304,6 +12305,7 @@ export namespace Network {
|
|
|
12304
12305
|
RefreshedAsWaiter = 'RefreshedAsWaiter',
|
|
12305
12306
|
TransientSigningError = 'TransientSigningError',
|
|
12306
12307
|
InScopeRefreshNotYetNeeded = 'InScopeRefreshNotYetNeeded',
|
|
12308
|
+
Canceled = 'Canceled',
|
|
12307
12309
|
}
|
|
12308
12310
|
|
|
12309
12311
|
/**
|
|
@@ -6,8 +6,6 @@
|
|
|
6
6
|
import * as Common from '../../core/common/common.js';
|
|
7
7
|
import * as Root from '../../core/root/root.js';
|
|
8
8
|
|
|
9
|
-
import {ResponseType, type SerializedResponseData} from './agents/AiAgent.js';
|
|
10
|
-
|
|
11
9
|
export const enum ConversationType {
|
|
12
10
|
NONE = 'none',
|
|
13
11
|
STYLING = 'freestyler',
|
|
@@ -18,10 +16,13 @@ export const enum ConversationType {
|
|
|
18
16
|
STORAGE = 'storage',
|
|
19
17
|
}
|
|
20
18
|
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
|
+
export type SerializedResponseItem = Record<string, any>;
|
|
21
|
+
|
|
21
22
|
export interface SerializedConversation {
|
|
22
23
|
id: string;
|
|
23
24
|
type: ConversationType;
|
|
24
|
-
history:
|
|
25
|
+
history: SerializedResponseItem[];
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export interface SerializedImage {
|
|
@@ -108,9 +109,9 @@ export class AiHistoryStorage extends Common.ObjectWrapper.ObjectWrapper<EventTy
|
|
|
108
109
|
return structuredClone(this.#recentPromptsSetting.get());
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
#getImageIdsFromHistory(history:
|
|
112
|
+
#getImageIdsFromHistory(history: SerializedResponseItem[]): string[] {
|
|
112
113
|
return history.flatMap(item => {
|
|
113
|
-
if (item.type ===
|
|
114
|
+
if (item.type === 'user-query' && typeof item.imageId === 'string' && item.imageId) {
|
|
114
115
|
return [item.imageId];
|
|
115
116
|
}
|
|
116
117
|
return [];
|
|
@@ -5,10 +5,19 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
|
+
import type * as Platform from '../../core/platform/platform.js';
|
|
8
9
|
import * as Root from '../../core/root/root.js';
|
|
9
10
|
|
|
10
11
|
import {debugLog} from './debug.js';
|
|
11
12
|
|
|
13
|
+
/**
|
|
14
|
+
* The Google legal troubleshooter form that users are sent to when they
|
|
15
|
+
* report a legal issue with AI generated content.
|
|
16
|
+
*/
|
|
17
|
+
export const REPORT_LEGAL_ISSUE_URL =
|
|
18
|
+
'https://support.google.com/legal/troubleshooter/1114905?hl=en#ts=1115658%2C13380504' as
|
|
19
|
+
Platform.DevToolsPath.UrlString;
|
|
20
|
+
|
|
12
21
|
export const enum DisabledReason {
|
|
13
22
|
GEO_RESTRICTED = 'geo-restricted',
|
|
14
23
|
POLICY_RESTRICTED = 'policy-restricted',
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright 2026 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as AiHistoryStorage from './AiHistoryStorage.js';
|
|
6
|
+
import * as AiSetting from './AiSetting.js';
|
|
7
|
+
import * as AiUtils from './AiUtils.js';
|
|
8
|
+
import * as BuiltInAi from './BuiltInAi.js';
|
|
9
|
+
import * as Debug from './debug.js';
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
AiHistoryStorage,
|
|
13
|
+
AiSetting,
|
|
14
|
+
AiUtils,
|
|
15
|
+
BuiltInAi,
|
|
16
|
+
Debug,
|
|
17
|
+
};
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import * as Host from '../../core/host/host.js';
|
|
6
6
|
import * as Root from '../../core/root/root.js';
|
|
7
7
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
8
|
+
import * as AiUtils from '../ai-utils/ai-utils.js';
|
|
8
9
|
import type * as LHModel from '../lighthouse/lighthouse.js';
|
|
9
10
|
import type * as Trace from '../trace/trace.js';
|
|
10
11
|
|
|
@@ -23,7 +24,6 @@ import {ChangeManager} from './ChangeManager.js';
|
|
|
23
24
|
import {DOMNodeContext} from './contexts/DOMNodeContext.js';
|
|
24
25
|
import {LighthouseContext} from './contexts/LighthouseContext.js';
|
|
25
26
|
import {PerformanceTraceContext} from './contexts/PerformanceTraceContext.js';
|
|
26
|
-
import {debugLog} from './debug.js';
|
|
27
27
|
import {ExtensionScope} from './ExtensionScope.js';
|
|
28
28
|
import type {Skill, SkillName} from './skills/Skill.js';
|
|
29
29
|
import {SKILLS} from './skills/SkillRegistry.js';
|
|
@@ -36,6 +36,8 @@ import {
|
|
|
36
36
|
} from './tools/Tool.js';
|
|
37
37
|
import {ToolRegistry} from './tools/ToolRegistry.js';
|
|
38
38
|
|
|
39
|
+
const {debugLog} = AiUtils.Debug;
|
|
40
|
+
|
|
39
41
|
const SKILL_DISPLAY_NAMES: Record<SkillName, string> = {
|
|
40
42
|
styling: 'CSS and styling',
|
|
41
43
|
network: 'Network requests',
|