chrome-devtools-frontend 1.0.1711155 → 1.0.1715126
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/skills/code-review/SKILL.md +16 -12
- package/AUTHORS +2 -0
- package/DIR_METADATA +32 -0
- package/eslint.config.mjs +1 -0
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +4 -1
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +2 -2
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +1 -1
- package/front_end/core/sdk/DebuggerModel.ts +19 -10
- package/front_end/core/sdk/NetworkRequest.ts +11 -11
- package/front_end/core/sdk/PageFunctions.ts +7 -2
- package/front_end/core/sdk/ResourceTreeModel.ts +17 -1
- package/front_end/core/sdk/ServerSentEventsProtocol.ts +4 -2
- package/front_end/core/sdk/SourceMap.ts +4 -3
- package/front_end/core/sdk/SourceMapScopesInfo.ts +21 -7
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +7 -7
- package/front_end/generated/Deprecation.ts +8 -0
- package/front_end/generated/InspectorBackendCommands.ts +3 -2
- package/front_end/generated/protocol-mapping.d.ts +10 -0
- package/front_end/generated/protocol-proxy-api.d.ts +8 -0
- package/front_end/generated/protocol.ts +15 -0
- package/front_end/models/ai_assistance/agents/AiAgent.ts +179 -13
- package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +7 -2
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +2 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +11 -16
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +2 -2
- package/front_end/models/ai_assistance/skills/lighthouse.md +2 -1
- package/front_end/models/ai_assistance/skills/performance.md +10 -6
- package/front_end/models/ai_assistance/tools/RecordPerformanceTrace.ts +1 -1
- package/front_end/models/ai_assistance/tools/ResolveDevtoolsNodePath.ts +12 -0
- package/front_end/models/ai_assistance/tools/RunLighthouse.ts +1 -1
- package/front_end/models/ai_assistance/tools/Tool.ts +11 -2
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +4 -0
- package/front_end/models/bindings/SourceMapStepping.ts +71 -3
- package/front_end/models/comment_manager/CommentManager.ts +8 -0
- package/front_end/models/issues_manager/Issue.ts +1 -1
- package/front_end/models/javascript_metadata/NativeFunctions.ts +28 -16
- package/front_end/models/trace/LanternComputationData.ts +3 -0
- package/front_end/models/trace/ModelImpl.ts +1 -1
- package/front_end/models/trace/Processor.ts +9 -3
- package/front_end/models/trace/extras/TraceTree.ts +1 -1
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +1 -1
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +2 -2
- package/front_end/models/trace/handlers/Threads.ts +1 -1
- package/front_end/models/trace/handlers/helpers.ts +1 -1
- package/front_end/models/trace/helpers/SamplesIntegrator.ts +1 -1
- package/front_end/models/trace/insights/CLSCulprits.ts +3 -3
- package/front_end/models/trace/insights/ImageDelivery.ts +3 -2
- package/front_end/models/trace/lantern/graph/CPUNode.ts +26 -7
- package/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +27 -2
- package/front_end/models/trace/lantern/metrics/LargestContentfulPaint.ts +8 -2
- package/front_end/models/trace/lantern/types/Lantern.ts +10 -0
- package/front_end/models/trace/types/File.ts +3 -3
- package/front_end/models/trace/types/TraceEvents.ts +39 -35
- package/front_end/models/workspace/IgnoreListManager.ts +38 -6
- package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingListView.ts +40 -8
- package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingView.ts +108 -2
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +2 -2
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +35 -5
- package/front_end/panels/ai_assistance/README.md +55 -14
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +3 -4
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +1 -1
- package/front_end/panels/ai_assistance/components/OptInChangeDialog.ts +1 -1
- package/front_end/panels/application/ResourcesPanel.ts +3 -4
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +3 -2
- package/front_end/panels/application/WebMCPView.ts +8 -4
- package/front_end/panels/application/components/AdsView.ts +28 -29
- package/front_end/panels/application/components/BackForwardCacheStrings.ts +188 -204
- package/front_end/panels/application/components/BackForwardCacheView.ts +33 -45
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +10 -12
- package/front_end/panels/application/components/CrashReportContextGrid.ts +4 -4
- package/front_end/panels/application/components/EndpointsGrid.ts +3 -5
- package/front_end/panels/application/components/PermissionsPolicySection.ts +12 -15
- package/front_end/panels/application/components/ProtocolHandlersView.ts +9 -9
- package/front_end/panels/application/components/ReportsGrid.ts +7 -12
- package/front_end/panels/application/components/StorageMetadataView.ts +22 -24
- package/front_end/panels/application/components/TrustTokensView.ts +8 -10
- package/front_end/panels/application/preloading/PreloadingView.ts +2 -2
- package/front_end/panels/application/preloading/components/PreloadingString.ts +28 -29
- package/front_end/panels/application/serviceWorkerUpdateCycleView.css +1 -1
- package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +5 -2
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +7 -3
- package/front_end/panels/comments/CommentsPane.ts +66 -17
- package/front_end/panels/comments/commentsPane.css +12 -15
- package/front_end/panels/common/CPUThrottlingOption.ts +1 -1
- package/front_end/panels/common/CommentThreadWidget.ts +129 -18
- package/front_end/panels/common/CommentsOverlayWidget.ts +33 -9
- package/front_end/panels/common/CommentsStatusBarPill.ts +8 -39
- package/front_end/panels/console/ConsoleInsightTeaser.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -0
- package/front_end/panels/console/ConsoleViewport.ts +35 -4
- package/front_end/panels/coverage/CoverageListView.ts +2 -2
- package/front_end/panels/coverage/CoverageView.ts +2 -2
- package/front_end/panels/elements/CSSRuleValidator.ts +1 -1
- package/front_end/panels/elements/DOMTreeWidget.ts +12 -19
- package/front_end/panels/elements/ElementsPanel.ts +3 -3
- package/front_end/panels/elements/ElementsTreeElement.ts +6 -3
- package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -1
- package/front_end/panels/elements/components/CSSVariableValueView.ts +1 -1
- package/front_end/panels/elements/elements-meta.ts +3 -3
- package/front_end/panels/explain/components/ConsoleInsight.ts +1 -1
- package/front_end/panels/issues/AffectedSharedArrayBufferIssueDetailsView.ts +2 -3
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +13 -17
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.ts +234 -182
- package/front_end/panels/linear_memory_inspector/components/linearMemoryInspector.css +2 -2
- package/front_end/panels/linear_memory_inspector/components/linearMemoryViewer.css +63 -56
- package/front_end/panels/network/FetchHeaderCommenting.ts +1 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +2 -2
- package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
- package/front_end/panels/network/RequestCookiesView.ts +1 -1
- package/front_end/panels/network/RequestDeviceBoundSessionsView.ts +3 -3
- package/front_end/panels/network/RequestPreviewView.ts +2 -6
- package/front_end/panels/network/components/RequestHeaderSection.ts +1 -1
- package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +5 -2
- package/front_end/panels/profiler/HeapSnapshotView.ts +5 -2
- package/front_end/panels/profiler/ProfilesPanel.ts +2 -6
- package/front_end/panels/protocol_monitor/JSONEditor.ts +10 -3
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +2 -1
- package/front_end/panels/recorder/RecordingView.ts +2 -2
- package/front_end/panels/recorder/StepView.ts +5 -3
- package/front_end/panels/recorder/stepView.css +4 -0
- package/front_end/panels/sensors/LocationsSettingsTab.ts +4 -9
- package/front_end/panels/sensors/SensorsView.ts +2 -2
- package/front_end/panels/sensors/sensors-meta.ts +0 -83
- package/front_end/panels/settings/AISettingsTab.ts +5 -5
- package/front_end/panels/settings/BackendLinkingSettingsTab.ts +1 -1
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +4 -4
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +36 -19
- package/front_end/panels/sources/BreakpointEditDialog.ts +1 -1
- package/front_end/panels/sources/DebuggerPlugin.ts +5 -2
- package/front_end/panels/sources/EditorHistory.ts +172 -0
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +4 -1
- package/front_end/panels/sources/NavigatorView.ts +9 -6
- package/front_end/panels/sources/PersistenceActions.ts +1 -1
- package/front_end/panels/sources/Plugin.ts +2 -2
- package/front_end/panels/sources/SnippetsPlugin.ts +20 -6
- package/front_end/panels/sources/SourcesPanel.ts +65 -12
- package/front_end/panels/sources/SourcesSearchScope.ts +4 -1
- package/front_end/panels/sources/SourcesView.ts +184 -183
- package/front_end/panels/sources/TabbedEditorContainer.ts +260 -419
- package/front_end/panels/sources/UISourceCodeFrame.ts +5 -5
- package/front_end/panels/sources/sources-meta.ts +32 -92
- package/front_end/panels/sources/sources.ts +2 -0
- package/front_end/panels/sources/tabbedEditorContainer.css +98 -0
- package/front_end/panels/timeline/CountersGraph.ts +18 -8
- package/front_end/panels/timeline/TimelinePanel.ts +12 -5
- package/front_end/panels/timeline/TimelineUIUtils.ts +7 -13
- package/front_end/panels/timeline/components/DetailsView.ts +4 -4
- package/front_end/panels/timeline/components/TimelineRangeSummaryView.ts +5 -8
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +8 -4
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +4 -4
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +9 -0
- package/front_end/panels/timeline/timeline-meta.ts +11 -21
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/legacy-javascript/README.chromium +2 -2
- package/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +337 -161
- package/front_end/third_party/legacy-javascript/package.json +1 -1
- package/front_end/ui/comments/CommentAnchorResolver.ts +105 -39
- package/front_end/ui/comments/CommentOverlayManager.ts +37 -15
- package/front_end/ui/components/lists/list.css +1 -2
- package/front_end/ui/components/suggestion_input/SuggestionInput.ts +8 -5
- package/front_end/ui/components/text_editor/AiCodeCompletionDisclaimer.ts +3 -3
- package/front_end/ui/components/text_editor/AiCodeCompletionTeaser.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeGenerationTeaser.ts +3 -3
- package/front_end/ui/components/text_editor/AiCodeGenerationUpgradeDialog.ts +1 -1
- package/front_end/ui/components/text_editor/config.ts +29 -26
- package/front_end/ui/legacy/SearchableView.ts +118 -99
- package/front_end/ui/legacy/SplitWidget.ts +30 -11
- package/front_end/ui/legacy/StackPane.ts +1 -2
- package/front_end/ui/legacy/StackedPane.ts +1 -2
- package/front_end/ui/legacy/Toolbar.ts +2 -2
- package/front_end/ui/legacy/View.ts +5 -5
- package/front_end/ui/legacy/ViewManager.ts +8 -14
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -0
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +4 -1
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +2 -5
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +98 -65
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +57 -24
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +123 -50
- package/front_end/ui/legacy/components/source_frame/imageView.css +27 -25
- package/front_end/ui/legacy/components/source_frame/resourceSourceFrame.css +8 -6
- package/front_end/ui/legacy/inspectorCommon.css +1 -1
- package/front_end/ui/legacy/listWidget.css +1 -6
- package/front_end/ui/legacy/tabbedPane.css +0 -91
- package/front_end/ui/settings/EmulationSettings.ts +91 -0
- package/front_end/ui/settings/SourcesSettings.ts +99 -0
- package/front_end/ui/settings/TimelineSettings.ts +28 -0
- package/front_end/ui/settings/settings.ts +2 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
- package/package.json +1 -1
- package/front_end/panels/common/commentsStatusBarPill.css +0 -13
|
@@ -10,17 +10,21 @@ Use it for self-review before upload and for reviewing other people's CLs.
|
|
|
10
10
|
|
|
11
11
|
## 1. Gather context
|
|
12
12
|
|
|
13
|
-
- **
|
|
14
|
-
|
|
15
|
-
`
|
|
16
|
-
- **
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
`
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
13
|
+
- **Automated Review Agent (diff already in prompt):** Do not run shell
|
|
14
|
+
commands. Use `read_file` to inspect enclosing classes/functions/tests and
|
|
15
|
+
`search_files` to verify callers or conventions across the repository.
|
|
16
|
+
- **Local CLI / Interactive session (no diff in prompt):**
|
|
17
|
+
- **Local change:** `git diff origin/main...HEAD` (or `git show HEAD` for a
|
|
18
|
+
single-commit branch). To learn about the branch and upload workflow, see the
|
|
19
|
+
`devtools-version-control` skill.
|
|
20
|
+
- **Gerrit CL:** strip the leading `)]}'` line from each response to get JSON:
|
|
21
|
+
- Diff: `git cl diff` (for the current branch), or fetch the patch set.
|
|
22
|
+
- Inline comments:
|
|
23
|
+
`curl -s https://chromium-review.googlesource.com/changes/devtools%2Fdevtools-frontend~<CL_NUMBER>/comments | tail -n +2`
|
|
24
|
+
- Messages:
|
|
25
|
+
`.../changes/devtools%2Fdevtools-frontend~<CL_NUMBER>/messages`
|
|
26
|
+
- Read the CL description first. Then check that the diff does what the
|
|
27
|
+
description says, and nothing else.
|
|
24
28
|
|
|
25
29
|
## 2. Consult the specialized skills
|
|
26
30
|
|
|
@@ -29,7 +33,7 @@ Load the skill that matches what the diff touches, and apply its rules:
|
|
|
29
33
|
| If the diff touches… | Use skill |
|
|
30
34
|
| :--- | :--- |
|
|
31
35
|
| Any `import` statement, or a new cross-module dependency | `devtools-imports` |
|
|
32
|
-
| `UI.Widget`, lit-html views, components, CSS | `
|
|
36
|
+
| `UI.Widget`, lit-html views, components, CSS | `ui-widgets` |
|
|
33
37
|
| Migration of legacy imperative DOM to widgets or Lit | `ui-eng-vision-orchestrator` (and its sub-skills) |
|
|
34
38
|
| New or changed tests: choosing unit, API, or E2E | `devtools-testing-guidance` |
|
|
35
39
|
| Tests that use `describeWithEnvironment` or `describeWithMockConnection`, or foundation modules | `foundation-test-migration` |
|
package/AUTHORS
CHANGED
|
@@ -53,6 +53,7 @@ Han Xu <suyanhanx@gmail.com>
|
|
|
53
53
|
Helmut Januschka <helmut@januschka.com>
|
|
54
54
|
Henry Lim <henry@limhenry.xyz>
|
|
55
55
|
Hojeong Park <parkhj062@gmail.com>
|
|
56
|
+
Hubert Gajewski <hubert@hubertgajewski.com>
|
|
56
57
|
Ivan Akulov <gxoptg@gmail.com>
|
|
57
58
|
Jacky Hu <flameddd@gmail.com>
|
|
58
59
|
Jake Mulhern <mulherje@gmail.com>
|
|
@@ -108,6 +109,7 @@ Sergio Avalos <sergio.avalos@gmail.com>
|
|
|
108
109
|
Shelley Vohr <shelley.vohr@gmail.com>
|
|
109
110
|
Simon Siefke <simon.siefke@gmail.com>
|
|
110
111
|
Stephen Tsoi-A-Sue <stsoiasue@gmail.com>
|
|
112
|
+
Steve Harrison <steve@steveharrison.dev>
|
|
111
113
|
Sunnylost <sunnylost@gmail.com>
|
|
112
114
|
Suyoung Jung <tdhitbtd@gmail.com>
|
|
113
115
|
TaegeonKim <aksen5240@gmail.com>
|
package/DIR_METADATA
CHANGED
|
@@ -2,3 +2,35 @@ team_email: "devtools-dev@chromium.org"
|
|
|
2
2
|
buganizer_public: {
|
|
3
3
|
component_id: 1457055
|
|
4
4
|
}
|
|
5
|
+
agentic_review: {
|
|
6
|
+
capability_groups: {
|
|
7
|
+
review_capability_skills: [".agents/skills/code-review/SKILL.md"]
|
|
8
|
+
}
|
|
9
|
+
capability_groups: {
|
|
10
|
+
path_expression: ["front_end/.*\\.ts", ".*BUILD\\.gn", ".*\\.gni"]
|
|
11
|
+
path_expression_exclusion: [".*\\.test\\.ts"]
|
|
12
|
+
review_capability_skills: [
|
|
13
|
+
".agents/skills/devtools-imports/SKILL.md",
|
|
14
|
+
".agents/skills/devtools-model-management/SKILL.md",
|
|
15
|
+
".agents/skills/devtools-setting-migration/SKILL.md",
|
|
16
|
+
".agents/skills/devtools-unicode-escaping/SKILL.md",
|
|
17
|
+
".agents/skills/devtools-ux-writing-refactor/SKILL.md"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
capability_groups: {
|
|
21
|
+
path_expression: ["front_end/(panels|ui)/.*\\.(ts|css)"]
|
|
22
|
+
path_expression_exclusion: [".*\\.test\\.ts"]
|
|
23
|
+
review_capability_skills: [
|
|
24
|
+
".agents/skills/ui-widgets/SKILL.md",
|
|
25
|
+
".agents/skills/ui-eng-vision-orchestrator/SKILL.md"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
capability_groups: {
|
|
29
|
+
path_expression: [".*\\.test\\.ts", "test/.*\\.ts"]
|
|
30
|
+
review_capability_skills: [
|
|
31
|
+
".agents/skills/devtools-testing-guidance/SKILL.md",
|
|
32
|
+
".agents/skills/foundation-test-migration/SKILL.md",
|
|
33
|
+
".agents/skills/fix-tests/SKILL.md"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
package/eslint.config.mjs
CHANGED
|
@@ -85,7 +85,10 @@ export class BaseVariableMatcher extends BaseVariableMatcherBase {
|
|
|
85
85
|
return null;
|
|
86
86
|
}
|
|
87
87
|
const nameNode = args[0][0];
|
|
88
|
-
|
|
88
|
+
// Skip the first comma and closing parenthesis, preserving commas in the fallback.
|
|
89
|
+
const fallback = args.length > 1 ?
|
|
90
|
+
Array.from(ASTUtils.stripComments(ASTUtils.siblings(nameNode.nextSibling))).slice(1, -1) :
|
|
91
|
+
undefined;
|
|
89
92
|
|
|
90
93
|
if (!isVariableNameNode(nameNode, matching.ast)) {
|
|
91
94
|
return null;
|
|
@@ -19,11 +19,11 @@ const UIStrings = {
|
|
|
19
19
|
/**
|
|
20
20
|
* @description Error message for when a CSS file can't be loaded.
|
|
21
21
|
*/
|
|
22
|
-
couldNotFindTheOriginalStyle: '
|
|
22
|
+
couldNotFindTheOriginalStyle: 'Couldn’t find the original style sheet',
|
|
23
23
|
/**
|
|
24
24
|
* @description Error message to display when a source CSS file could not be retrieved.
|
|
25
25
|
*/
|
|
26
|
-
couldNotRetrieveSourceStyles: '
|
|
26
|
+
couldNotRetrieveSourceStyles: 'Couldn’t retrieve source styles',
|
|
27
27
|
} as const;
|
|
28
28
|
const str_ = i18n.i18n.registerUIStrings('core/sdk/CSSStyleSheetHeader.ts', UIStrings);
|
|
29
29
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -15,7 +15,7 @@ const UIStrings = {
|
|
|
15
15
|
* @example {https://example.com/sourcemap.map} PH1
|
|
16
16
|
* @example {An error occurred} PH2
|
|
17
17
|
*/
|
|
18
|
-
couldNotLoadContentForSS: '
|
|
18
|
+
couldNotLoadContentForSS: 'Couldn’t load content for {PH1} ({PH2})',
|
|
19
19
|
} as const;
|
|
20
20
|
|
|
21
21
|
const str_ = i18n.i18n.registerUIStrings('core/sdk/CompilerSourceMappingContentProvider.ts', UIStrings);
|
|
@@ -134,10 +134,14 @@ export const enum StepMode {
|
|
|
134
134
|
STEP_OVER = 'StepOver',
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
/**
|
|
137
|
+
/**
|
|
138
|
+
* A CDP step command. `ranges` is passed as `skipList` to stepInto/stepOver, and ignored for stepOut. `enterRanges` is
|
|
139
|
+
* passed as `enterRanges` to stepOver: functions within them are entered as if by stepInto.
|
|
140
|
+
*/
|
|
138
141
|
export interface AutoStep {
|
|
139
142
|
readonly command: StepMode;
|
|
140
143
|
readonly ranges: readonly LocationRange[];
|
|
144
|
+
readonly enterRanges?: readonly LocationRange[];
|
|
141
145
|
}
|
|
142
146
|
|
|
143
147
|
/**
|
|
@@ -478,20 +482,25 @@ export class DebuggerModel extends SDKModel<EventTypes> {
|
|
|
478
482
|
this.#issueStep(step, breakOnAsyncCall);
|
|
479
483
|
}
|
|
480
484
|
|
|
481
|
-
#issueStep({command, ranges}: AutoStep, breakOnAsyncCall = false): void {
|
|
482
|
-
const
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
485
|
+
#issueStep({command, ranges, enterRanges}: AutoStep, breakOnAsyncCall = false): void {
|
|
486
|
+
const toProtocolRange = ({start, end}: LocationRange): Protocol.Debugger.LocationRange => ({
|
|
487
|
+
scriptId: start.scriptId,
|
|
488
|
+
start: {lineNumber: start.lineNumber, columnNumber: start.columnNumber},
|
|
489
|
+
end: {lineNumber: end.lineNumber, columnNumber: end.columnNumber},
|
|
490
|
+
});
|
|
491
|
+
const skipList = sortAndMergeRanges(ranges.map(toProtocolRange));
|
|
488
492
|
switch (command) {
|
|
489
493
|
case StepMode.STEP_INTO:
|
|
490
494
|
void this.agent.invoke_stepInto({breakOnAsyncCall, skipList});
|
|
491
495
|
break;
|
|
492
|
-
case StepMode.STEP_OVER:
|
|
493
|
-
|
|
496
|
+
case StepMode.STEP_OVER: {
|
|
497
|
+
const request: Protocol.Debugger.StepOverRequest = {skipList};
|
|
498
|
+
if (enterRanges?.length) {
|
|
499
|
+
request.enterRanges = sortAndMergeRanges(enterRanges.map(toProtocolRange));
|
|
500
|
+
}
|
|
501
|
+
void this.agent.invoke_stepOver(request);
|
|
494
502
|
break;
|
|
503
|
+
}
|
|
495
504
|
case StepMode.STEP_OUT:
|
|
496
505
|
void this.agent.invoke_stepOut();
|
|
497
506
|
break;
|
|
@@ -30,11 +30,11 @@ const UIStrings = {
|
|
|
30
30
|
/**
|
|
31
31
|
* @description Tooltip to explain why a cookie was blocked.
|
|
32
32
|
*/
|
|
33
|
-
secureOnly: 'This cookie was blocked because it had the "`Secure`" attribute and the connection
|
|
33
|
+
secureOnly: 'This cookie was blocked because it had the "`Secure`" attribute and the connection wasn’t secure',
|
|
34
34
|
/**
|
|
35
35
|
* @description Tooltip to explain why a cookie was blocked.
|
|
36
36
|
*/
|
|
37
|
-
notOnPath: 'This cookie was blocked because its path
|
|
37
|
+
notOnPath: 'This cookie was blocked because its path wasn’t an exact match for or a superdirectory of the request URL’s path',
|
|
38
38
|
/**
|
|
39
39
|
* @description Tooltip to explain why a cookie was blocked.
|
|
40
40
|
*/
|
|
@@ -46,15 +46,15 @@ const UIStrings = {
|
|
|
46
46
|
/**
|
|
47
47
|
* @description Tooltip to explain why a cookie was blocked.
|
|
48
48
|
*/
|
|
49
|
-
sameSiteLax: 'This cookie was blocked because it had the "`SameSite=Lax`" attribute and the request was made from a different site and
|
|
49
|
+
sameSiteLax: 'This cookie was blocked because it had the "`SameSite=Lax`" attribute and the request was made from a different site and wasn’t initiated by a top-level navigation',
|
|
50
50
|
/**
|
|
51
51
|
* @description Tooltip to explain why a cookie was blocked.
|
|
52
52
|
*/
|
|
53
|
-
sameSiteUnspecifiedTreatedAsLax: 'This cookie didn’t specify a "`SameSite`" attribute when it was stored and was defaulted to "`SameSite=Lax`", and was blocked because the request was made from a different site and
|
|
53
|
+
sameSiteUnspecifiedTreatedAsLax: 'This cookie didn’t specify a "`SameSite`" attribute when it was stored and was defaulted to "`SameSite=Lax`", and was blocked because the request was made from a different site and wasn’t initiated by a top-level navigation. The cookie had to have been set with "`SameSite=None`" to enable cross-site usage.',
|
|
54
54
|
/**
|
|
55
55
|
* @description Tooltip to explain why a cookie was blocked.
|
|
56
56
|
*/
|
|
57
|
-
sameSiteNoneInsecure: 'This cookie was blocked because it had the "`SameSite=None`" attribute but
|
|
57
|
+
sameSiteNoneInsecure: 'This cookie was blocked because it had the "`SameSite=None`" attribute but wasn’t marked "`Secure`". Cookies without SameSite restrictions must be marked "`Secure`" and sent over a secure connection.',
|
|
58
58
|
/**
|
|
59
59
|
* @description Tooltip to explain why a cookie was blocked.
|
|
60
60
|
*/
|
|
@@ -90,7 +90,7 @@ const UIStrings = {
|
|
|
90
90
|
/**
|
|
91
91
|
* @description Tooltip to explain why a cookie was blocked.
|
|
92
92
|
*/
|
|
93
|
-
theSchemeOfThisConnectionIsNot: 'The scheme of this connection
|
|
93
|
+
theSchemeOfThisConnectionIsNot: 'The scheme of this connection isn’t allowed to store cookies',
|
|
94
94
|
/**
|
|
95
95
|
* @description Tooltip to explain why a cookie was blocked.
|
|
96
96
|
*/
|
|
@@ -98,24 +98,24 @@ const UIStrings = {
|
|
|
98
98
|
/**
|
|
99
99
|
* @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
|
|
100
100
|
*/
|
|
101
|
-
blockedReasonSecureOnly: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it had the "`Secure`" attribute but
|
|
101
|
+
blockedReasonSecureOnly: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it had the "`Secure`" attribute but wasn’t received over a secure connection',
|
|
102
102
|
/**
|
|
103
103
|
* @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
|
|
104
104
|
* @example {SameSite=Strict} PH1
|
|
105
105
|
*/
|
|
106
|
-
blockedReasonSameSiteStrictLax: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it had the "{PH1}" attribute but came from a cross-site response which
|
|
106
|
+
blockedReasonSameSiteStrictLax: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it had the "{PH1}" attribute but came from a cross-site response which wasn’t the response to a top-level navigation',
|
|
107
107
|
/**
|
|
108
108
|
* @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
|
|
109
109
|
*/
|
|
110
|
-
blockedReasonSameSiteUnspecifiedTreatedAsLax: 'This "`Set-Cookie`" header didn’t specify a "`SameSite`" attribute and was defaulted to "`SameSite=Lax`", and was blocked because it came from a cross-site response which
|
|
110
|
+
blockedReasonSameSiteUnspecifiedTreatedAsLax: 'This "`Set-Cookie`" header didn’t specify a "`SameSite`" attribute and was defaulted to "`SameSite=Lax`", and was blocked because it came from a cross-site response which wasn’t the response to a top-level navigation. The "`Set-Cookie`" header had to have been set with "`SameSite=None`" to enable cross-site usage.',
|
|
111
111
|
/**
|
|
112
112
|
* @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
|
|
113
113
|
*/
|
|
114
|
-
blockedReasonSameSiteNoneInsecure: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it had the "`SameSite=None`" attribute but
|
|
114
|
+
blockedReasonSameSiteNoneInsecure: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it had the "`SameSite=None`" attribute but didn’t have the "`Secure`" attribute, which is required in order to use "`SameSite=None`"',
|
|
115
115
|
/**
|
|
116
116
|
* @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
|
|
117
117
|
*/
|
|
118
|
-
blockedReasonOverwriteSecure: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it
|
|
118
|
+
blockedReasonOverwriteSecure: 'This attempt to set a cookie via a "`Set-Cookie`" header was blocked because it wasn’t sent over a secure connection and would have overwritten a cookie with the "`Secure`" attribute',
|
|
119
119
|
/**
|
|
120
120
|
* @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
|
|
121
121
|
*/
|
|
@@ -109,7 +109,12 @@ export function toggleClassAndInjectStyleRule(this: Element, pseudoElementName:
|
|
|
109
109
|
const classNamePrefix = '__web-inspector-hide';
|
|
110
110
|
const classNameSuffix = '-shortcut__';
|
|
111
111
|
const styleTagId = '__web-inspector-hide-shortcut-style__';
|
|
112
|
-
|
|
112
|
+
let pseudoElementNameEscaped = '';
|
|
113
|
+
if (pseudoElementName) {
|
|
114
|
+
pseudoElementNameEscaped = pseudoElementName.replace(/[^a-zA-Z0-9-]/g, function(c) {
|
|
115
|
+
return '_' + c.charCodeAt(0).toString(16) + '_';
|
|
116
|
+
});
|
|
117
|
+
}
|
|
113
118
|
const className = classNamePrefix + pseudoElementNameEscaped + classNameSuffix;
|
|
114
119
|
this.classList.toggle(className, hidden);
|
|
115
120
|
|
|
@@ -117,7 +122,7 @@ export function toggleClassAndInjectStyleRule(this: Element, pseudoElementName:
|
|
|
117
122
|
while (localRoot.parentNode) {
|
|
118
123
|
localRoot = (localRoot.parentNode as Element);
|
|
119
124
|
}
|
|
120
|
-
if (localRoot.nodeType === Node.DOCUMENT_NODE) {
|
|
125
|
+
if (localRoot.nodeType === 9 /* Node.DOCUMENT_NODE */) {
|
|
121
126
|
localRoot = document.head;
|
|
122
127
|
}
|
|
123
128
|
|
|
@@ -291,6 +291,21 @@ export class ResourceTreeModel extends SDKModel<EventTypes> {
|
|
|
291
291
|
this.dispatchEventToListeners(Events.FrameNavigatedWithinDocument, frame);
|
|
292
292
|
}
|
|
293
293
|
|
|
294
|
+
frameStoppedLoading(frameId: Protocol.Page.FrameId): void {
|
|
295
|
+
const frame = this.framesInternal.get(frameId);
|
|
296
|
+
if (!frame) {
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
// The renderer sends `Page.frameNavigated` before it tells the browser
|
|
300
|
+
// process about the commit, so the `Storage.getStorageKey` request issued
|
|
301
|
+
// from `ResourceTreeFrame.navigate()` may be answered for the previous
|
|
302
|
+
// document (and fails outright if that document had an opaque origin, e.g.
|
|
303
|
+
// the initial about:blank). `Page.frameStoppedLoading` comes from the
|
|
304
|
+
// browser process after the commit, so re-fetch the storage key here.
|
|
305
|
+
void frame.getStorageKey(/* forceFetch */ true);
|
|
306
|
+
void this.updateStorageKeys();
|
|
307
|
+
}
|
|
308
|
+
|
|
294
309
|
frameDetached(frameId: Protocol.Page.FrameId, isSwap: boolean): void {
|
|
295
310
|
// Do nothing unless cached resource tree is processed - it will overwrite everything.
|
|
296
311
|
if (!this.#cachedResourcesProcessed) {
|
|
@@ -1145,7 +1160,8 @@ export class PageDispatcher implements ProtocolProxyApi.PageDispatcher {
|
|
|
1145
1160
|
frameStartedLoading({}: Protocol.Page.FrameStartedLoadingEvent): void {
|
|
1146
1161
|
}
|
|
1147
1162
|
|
|
1148
|
-
frameStoppedLoading({}: Protocol.Page.FrameStoppedLoadingEvent): void {
|
|
1163
|
+
frameStoppedLoading({frameId}: Protocol.Page.FrameStoppedLoadingEvent): void {
|
|
1164
|
+
this.#resourceTreeModel.frameStoppedLoading(frameId);
|
|
1149
1165
|
}
|
|
1150
1166
|
|
|
1151
1167
|
frameRequestedNavigation({}: Protocol.Page.FrameRequestedNavigationEvent): void {
|
|
@@ -95,8 +95,10 @@ export class ServerSentEventsParser {
|
|
|
95
95
|
this.#data += '\n';
|
|
96
96
|
}
|
|
97
97
|
if (fieldName === 'id') {
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
const id = this.#line.substring(fieldValueStart);
|
|
99
|
+
if (!id.includes('\0')) {
|
|
100
|
+
this.#id = id;
|
|
101
|
+
}
|
|
100
102
|
}
|
|
101
103
|
// Ignore all other fields. Also ignore "retry", we won't forward that to the backend.
|
|
102
104
|
}
|
|
@@ -900,9 +900,10 @@ export class SourceMap {
|
|
|
900
900
|
[];
|
|
901
901
|
}
|
|
902
902
|
|
|
903
|
-
/** See {@link SourceMapScopesInfo.
|
|
904
|
-
|
|
905
|
-
return this.hasEncodedScopeInfo()
|
|
903
|
+
/** See {@link SourceMapScopesInfo.outlinedFunctionRanges}. Empty without encoded scopes. */
|
|
904
|
+
outlinedFunctionRanges(generatedLine: number, generatedColumn: number): PositionRange[] {
|
|
905
|
+
return this.hasEncodedScopeInfo() ? this.#scopesInfo?.outlinedFunctionRanges(generatedLine, generatedColumn) ?? [] :
|
|
906
|
+
[];
|
|
906
907
|
}
|
|
907
908
|
|
|
908
909
|
/** See {@link SourceMapScopesInfo.artificialFunctionRanges}. Empty without encoded scopes. */
|
|
@@ -614,14 +614,28 @@ export class SourceMapScopesInfo {
|
|
|
614
614
|
}
|
|
615
615
|
|
|
616
616
|
/**
|
|
617
|
-
* @returns
|
|
618
|
-
* {@link GeneratedFrameKind.OUTLINED}).
|
|
617
|
+
* @returns the outlined parts of the authored function at the position: the hidden generated functions whose
|
|
618
|
+
* original scope lies within that function's original scope (see {@link GeneratedFrameKind.OUTLINED}).
|
|
619
|
+
* Includes the outlined part the position itself is in, if any. Sorted by start position.
|
|
619
620
|
*/
|
|
620
|
-
|
|
621
|
-
const
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
621
|
+
outlinedFunctionRanges(generatedLine: number, generatedColumn: number): PositionRange[] {
|
|
622
|
+
const rangeChain = this.#findGeneratedRangeChain(generatedLine, generatedColumn);
|
|
623
|
+
const functionScope = this.#findFunctionScopeInOriginalScopeChain(rangeChain.at(-1)?.originalScope);
|
|
624
|
+
if (!functionScope) {
|
|
625
|
+
return [];
|
|
626
|
+
}
|
|
627
|
+
const isWithinFunction = (scope: ScopesCodec.OriginalScope|undefined): boolean =>
|
|
628
|
+
scope !== undefined && (scope === functionScope || isWithinFunction(scope.parent));
|
|
629
|
+
const result: PositionRange[] = [];
|
|
630
|
+
(function walk(ranges: ScopesCodec.GeneratedRange[]) {
|
|
631
|
+
for (const range of ranges) {
|
|
632
|
+
if (range.isStackFrame && range.isHidden && isWithinFunction(range.originalScope)) {
|
|
633
|
+
result.push({start: range.start, end: range.end});
|
|
634
|
+
}
|
|
635
|
+
walk(range.children);
|
|
636
|
+
}
|
|
637
|
+
})(this.#generatedRanges);
|
|
638
|
+
return result;
|
|
625
639
|
}
|
|
626
640
|
|
|
627
641
|
/**
|
|
@@ -39,7 +39,7 @@ const UIStrings = {
|
|
|
39
39
|
/**
|
|
40
40
|
* @description Title of an option under the Rendering category that can be invoked through the Command Menu.
|
|
41
41
|
*/
|
|
42
|
-
doNotHighlightAdFrames: '
|
|
42
|
+
doNotHighlightAdFrames: 'Don’t highlight ad frames',
|
|
43
43
|
/**
|
|
44
44
|
* @description Title of an option under the Rendering category that can be invoked through the Command Menu.
|
|
45
45
|
*/
|
|
@@ -71,11 +71,11 @@ const UIStrings = {
|
|
|
71
71
|
/**
|
|
72
72
|
* @description Title of a Rendering setting that can be invoked through the Command Menu.
|
|
73
73
|
*/
|
|
74
|
-
doNotEmulateAFocusedPage: '
|
|
74
|
+
doNotEmulateAFocusedPage: 'Don’t emulate a focused page',
|
|
75
75
|
/**
|
|
76
76
|
* @description Title of a setting under the Rendering category that can be invoked through the Command Menu.
|
|
77
77
|
*/
|
|
78
|
-
doNotEmulateCssMediaType: '
|
|
78
|
+
doNotEmulateCssMediaType: 'Don’t emulate CSS media type',
|
|
79
79
|
/**
|
|
80
80
|
* @description A drop-down menu option to do not emulate css media type.
|
|
81
81
|
*/
|
|
@@ -108,7 +108,7 @@ const UIStrings = {
|
|
|
108
108
|
* @description Title of a setting under the Rendering drawer that can be invoked through the Command Menu.
|
|
109
109
|
* @example {prefers-color-scheme} PH1
|
|
110
110
|
*/
|
|
111
|
-
doNotEmulateCss: '
|
|
111
|
+
doNotEmulateCss: 'Don’t emulate CSS {PH1}',
|
|
112
112
|
/**
|
|
113
113
|
* @description Title of a setting under the Rendering drawer that can be invoked through the Command Menu.
|
|
114
114
|
* @example {prefers-color-scheme: light} PH1
|
|
@@ -172,7 +172,7 @@ const UIStrings = {
|
|
|
172
172
|
/**
|
|
173
173
|
* @description Title of a setting under the Rendering drawer that can be invoked through the Command Menu.
|
|
174
174
|
*/
|
|
175
|
-
doNotEmulateAnyVisionDeficiency: '
|
|
175
|
+
doNotEmulateAnyVisionDeficiency: 'Don’t emulate any vision deficiency',
|
|
176
176
|
/**
|
|
177
177
|
* @description Title of a setting under the Rendering drawer that can be invoked through the Command Menu.
|
|
178
178
|
*/
|
|
@@ -232,7 +232,7 @@ const UIStrings = {
|
|
|
232
232
|
/**
|
|
233
233
|
* @description Title of a setting under the Rendering category that can be invoked through the Command Menu.
|
|
234
234
|
*/
|
|
235
|
-
doNotEmulateOsTextScale: '
|
|
235
|
+
doNotEmulateOsTextScale: 'Don’t emulate OS text scale',
|
|
236
236
|
/**
|
|
237
237
|
* @description A drop-down menu option to not emulate OS text scale.
|
|
238
238
|
*/
|
|
@@ -340,7 +340,7 @@ const UIStrings = {
|
|
|
340
340
|
* @description A command available in the command menu to stop automatically opening DevTools when
|
|
341
341
|
* webpages create new popup windows.
|
|
342
342
|
*/
|
|
343
|
-
doNotAutoOpen: '
|
|
343
|
+
doNotAutoOpen: 'Don’t auto-open DevTools for popups',
|
|
344
344
|
/**
|
|
345
345
|
* @description Title of an action that toggles the "forces CSS prefers-color-scheme" media feature.
|
|
346
346
|
*/
|
|
@@ -242,6 +242,10 @@ export const UIStrings = {
|
|
|
242
242
|
* @description A deprecation warning shown in the DevTools Issues tab. It's shown when a video conferencing website uses a non-standard API for controlling the crypto method used, but is not having an effect because the desired behavior is already enabled-by-default.
|
|
243
243
|
*/
|
|
244
244
|
RTCConstraintEnableDtlsSrtpTrue: "The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `true` value for this constraint, which had no effect, but you can remove this constraint for tidiness.",
|
|
245
|
+
/**
|
|
246
|
+
* @description Warning displayed to developers when the non-standard RTCPeerConnection.createDTMFSender() method is used. Developers should use the standard RTCRtpSender.dtmf attribute instead.
|
|
247
|
+
*/
|
|
248
|
+
RTCPeerConnectionCreateDTMFSender: "RTCPeerConnection.createDTMFSender() is deprecated and will be removed. Please use RTCRtpSender.dtmf instead.",
|
|
245
249
|
/**
|
|
246
250
|
* @description WebRTC is set of JavaScript APIs for sending and receiving data, audio and video. getStats() is a method used to obtain network and quality metrics. There are two versions of this method, one is being deprecated because it is non-standard.
|
|
247
251
|
*/
|
|
@@ -427,6 +431,10 @@ export const DEPRECATIONS_METADATA: Partial<Record<string, DeprecationDescriptor
|
|
|
427
431
|
"RTCConstraintEnableDtlsSrtpTrue": {
|
|
428
432
|
"milestone": 97
|
|
429
433
|
},
|
|
434
|
+
"RTCPeerConnectionCreateDTMFSender": {
|
|
435
|
+
"chromeStatusFeature": 5160724576993280,
|
|
436
|
+
"milestone": 160
|
|
437
|
+
},
|
|
430
438
|
"RTCPeerConnectionGetStatsLegacyNonCompliant": {
|
|
431
439
|
"chromeStatusFeature": 4631626228695040,
|
|
432
440
|
"milestone": 117
|
|
@@ -89,7 +89,7 @@ inspectorBackend.registerEnum("Audits.SharedDictionaryError", {UseErrorCrossOrig
|
|
|
89
89
|
inspectorBackend.registerEnum("Audits.SRIMessageSignatureError", {MissingSignatureHeader: "MissingSignatureHeader", MissingSignatureInputHeader: "MissingSignatureInputHeader", InvalidSignatureHeader: "InvalidSignatureHeader", InvalidSignatureInputHeader: "InvalidSignatureInputHeader", SignatureHeaderValueIsNotByteSequence: "SignatureHeaderValueIsNotByteSequence", SignatureHeaderValueIsParameterized: "SignatureHeaderValueIsParameterized", SignatureHeaderValueIsIncorrectLength: "SignatureHeaderValueIsIncorrectLength", SignatureInputHeaderMissingLabel: "SignatureInputHeaderMissingLabel", SignatureInputHeaderValueNotInnerList: "SignatureInputHeaderValueNotInnerList", SignatureInputHeaderValueMissingComponents: "SignatureInputHeaderValueMissingComponents", SignatureInputHeaderInvalidComponentType: "SignatureInputHeaderInvalidComponentType", SignatureInputHeaderInvalidComponentName: "SignatureInputHeaderInvalidComponentName", SignatureInputHeaderInvalidHeaderComponentParameter: "SignatureInputHeaderInvalidHeaderComponentParameter", SignatureInputHeaderInvalidDerivedComponentParameter: "SignatureInputHeaderInvalidDerivedComponentParameter", SignatureInputHeaderKeyIdLength: "SignatureInputHeaderKeyIdLength", SignatureInputHeaderInvalidParameter: "SignatureInputHeaderInvalidParameter", SignatureInputHeaderMissingRequiredParameters: "SignatureInputHeaderMissingRequiredParameters", ValidationFailedSignatureExpired: "ValidationFailedSignatureExpired", ValidationFailedInvalidLength: "ValidationFailedInvalidLength", ValidationFailedSignatureMismatch: "ValidationFailedSignatureMismatch", ValidationFailedIntegrityMismatch: "ValidationFailedIntegrityMismatch", SignatureBaseUnknownDerivedComponent: "SignatureBaseUnknownDerivedComponent", SignatureBaseMissingHeader: "SignatureBaseMissingHeader", SignatureBaseInvalidUnencodedDigest: "SignatureBaseInvalidUnencodedDigest", SignatureBaseUnsupportedComponent: "SignatureBaseUnsupportedComponent"});
|
|
90
90
|
inspectorBackend.registerEnum("Audits.UnencodedDigestError", {MalformedDictionary: "MalformedDictionary", UnknownAlgorithm: "UnknownAlgorithm", IncorrectDigestType: "IncorrectDigestType", IncorrectDigestLength: "IncorrectDigestLength"});
|
|
91
91
|
inspectorBackend.registerEnum("Audits.ConnectionAllowlistError", {InvalidHeader: "InvalidHeader", MoreThanOneList: "MoreThanOneList", ItemNotInnerList: "ItemNotInnerList", InvalidAllowlistItemType: "InvalidAllowlistItemType", ReportingEndpointNotToken: "ReportingEndpointNotToken", InvalidUrlPattern: "InvalidUrlPattern", IFrameAttributeLoosensEmbeddingRequirement: "IFrameAttributeLoosensEmbeddingRequirement", InvalidAllowConnectionAllowlistFrom: "InvalidAllowConnectionAllowlistFrom", EmbeddingRequirementNotSatisfied: "EmbeddingRequirementNotSatisfied"});
|
|
92
|
-
inspectorBackend.registerEnum("Audits.GenericIssueErrorType", {FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingIdError: "FormAriaLabelledByToNonExistingIdError", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInputError: "FormLabelHasNeitherForNorNestedInputError", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError", FormInputHasWrongButWellIntendedAutocompleteValueError: "FormInputHasWrongButWellIntendedAutocompleteValueError", ResponseWasBlockedByORB: "ResponseWasBlockedByORB", NavigationEntryMarkedSkippable: "NavigationEntryMarkedSkippable", BackUINavigationWouldSkipAd: "BackUINavigationWouldSkipAd", AutofillAndManualTextPolicyControlledFeaturesInfo: "AutofillAndManualTextPolicyControlledFeaturesInfo", AutofillPolicyControlledFeatureInfo: "AutofillPolicyControlledFeatureInfo", ManualTextPolicyControlledFeatureInfo: "ManualTextPolicyControlledFeatureInfo", FormModelContextParameterMissingTitleAndDescription: "FormModelContextParameterMissingTitleAndDescription", FormModelContextMissingToolName: "FormModelContextMissingToolName", FormModelContextMissingToolDescription: "FormModelContextMissingToolDescription", FormModelContextRequiredParameterMissingName: "FormModelContextRequiredParameterMissingName", FormModelContextParameterMissingName: "FormModelContextParameterMissingName"});
|
|
92
|
+
inspectorBackend.registerEnum("Audits.GenericIssueErrorType", {FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingIdError: "FormAriaLabelledByToNonExistingIdError", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInputError: "FormLabelHasNeitherForNorNestedInputError", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError", FormInputHasWrongButWellIntendedAutocompleteValueError: "FormInputHasWrongButWellIntendedAutocompleteValueError", ResponseWasBlockedByORB: "ResponseWasBlockedByORB", NavigationEntryMarkedSkippable: "NavigationEntryMarkedSkippable", BackUINavigationWouldSkipAd: "BackUINavigationWouldSkipAd", AutofillAndManualTextPolicyControlledFeaturesInfo: "AutofillAndManualTextPolicyControlledFeaturesInfo", AutofillPolicyControlledFeatureInfo: "AutofillPolicyControlledFeatureInfo", ManualTextPolicyControlledFeatureInfo: "ManualTextPolicyControlledFeatureInfo", FormModelContextParameterMissingTitleAndDescription: "FormModelContextParameterMissingTitleAndDescription", FormModelContextMissingToolName: "FormModelContextMissingToolName", FormModelContextMissingToolDescription: "FormModelContextMissingToolDescription", FormModelContextRequiredParameterMissingName: "FormModelContextRequiredParameterMissingName", FormModelContextParameterMissingName: "FormModelContextParameterMissingName", GeolocationPromptWithoutUserGesture: "GeolocationPromptWithoutUserGesture"});
|
|
93
93
|
inspectorBackend.registerEnum("Audits.ClientHintIssueReason", {MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML"});
|
|
94
94
|
inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", {ShouldEmbargo: "ShouldEmbargo", TooManyRequests: "TooManyRequests", WellKnownHttpNotFound: "WellKnownHttpNotFound", WellKnownNoResponse: "WellKnownNoResponse", WellKnownBlockedByConnectionAllowlist: "WellKnownBlockedByConnectionAllowlist", WellKnownInvalidResponse: "WellKnownInvalidResponse", WellKnownListEmpty: "WellKnownListEmpty", WellKnownInvalidContentType: "WellKnownInvalidContentType", ConfigNotInWellKnown: "ConfigNotInWellKnown", WellKnownTooBig: "WellKnownTooBig", ConfigHttpNotFound: "ConfigHttpNotFound", ConfigNoResponse: "ConfigNoResponse", ConfigBlockedByConnectionAllowlist: "ConfigBlockedByConnectionAllowlist", ConfigInvalidResponse: "ConfigInvalidResponse", ConfigInvalidContentType: "ConfigInvalidContentType", IdpNotPotentiallyTrustworthy: "IdpNotPotentiallyTrustworthy", DisabledInSettings: "DisabledInSettings", DisabledInFlags: "DisabledInFlags", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsBlockedByConnectionAllowlist: "AccountsBlockedByConnectionAllowlist", AccountsInvalidResponse: "AccountsInvalidResponse", AccountsListEmpty: "AccountsListEmpty", AccountsInvalidContentType: "AccountsInvalidContentType", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenBlockedByConnectionAllowlist: "IdTokenBlockedByConnectionAllowlist", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenIdpErrorResponse: "IdTokenIdpErrorResponse", IdTokenCrossSiteIdpErrorResponse: "IdTokenCrossSiteIdpErrorResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", IdTokenInvalidContentType: "IdTokenInvalidContentType", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled", RpPageNotVisible: "RpPageNotVisible", SilentMediationFailure: "SilentMediationFailure", NotSignedInWithIdp: "NotSignedInWithIdp", MissingTransientUserActivation: "MissingTransientUserActivation", ReplacedByActiveMode: "ReplacedByActiveMode", RelyingPartyOriginIsOpaque: "RelyingPartyOriginIsOpaque", TypeNotMatching: "TypeNotMatching", UiDismissedNoEmbargo: "UiDismissedNoEmbargo", CorsError: "CorsError", SuppressedBySegmentationPlatform: "SuppressedBySegmentationPlatform", PopupBlockedByConnectionAllowlist: "PopupBlockedByConnectionAllowlist"});
|
|
95
95
|
inspectorBackend.registerEnum("Audits.FederatedAuthUserInfoRequestIssueReason", {NotSameOrigin: "NotSameOrigin", NotIframe: "NotIframe", NotPotentiallyTrustworthy: "NotPotentiallyTrustworthy", NoAPIPermission: "NoApiPermission", NotSignedInWithIdp: "NotSignedInWithIdp", NoAccountSharingPermission: "NoAccountSharingPermission", InvalidConfigOrWellKnown: "InvalidConfigOrWellKnown", InvalidAccountsResponse: "InvalidAccountsResponse", NoReturningUserFromFetchedAccounts: "NoReturningUserFromFetchedAccounts"});
|
|
@@ -1126,6 +1126,7 @@ inspectorBackend.registerCommand("Page.getAppId", [], ["appId", "recommendedId",
|
|
|
1126
1126
|
inspectorBackend.registerCommand("Page.getSubApps", [], ["subApps"], "Returns the list of installed child Sub-Apps for the inspected parent app.");
|
|
1127
1127
|
inspectorBackend.registerCommand("Page.getSiblingSubApps", [], ["subApps"], "Returns the list of sibling Sub-Apps sharing the same parent app if the inspected context is a Sub-App.");
|
|
1128
1128
|
inspectorBackend.registerCommand("Page.getAdScriptAncestry", [{"name": "frameId", "type": "string", "optional": false, "description": "", "typeRef": "Page.FrameId"}], ["adScriptAncestry"], "");
|
|
1129
|
+
inspectorBackend.registerCommand("Page.getSpellCheckCustomDictionary", [{"name": "frameId", "type": "string", "optional": false, "description": "", "typeRef": "Page.FrameId"}], ["words"], "Returns the words that the frame's document added to its spell check custom dictionary with `document.spellCheckCustomDictionary.addWords()`, sorted. Page script cannot read the dictionary back; this lets developers inspect it.");
|
|
1129
1130
|
inspectorBackend.registerCommand("Page.getFrameTree", [], ["frameTree"], "Returns present frame tree structure.");
|
|
1130
1131
|
inspectorBackend.registerCommand("Page.getLayoutMetrics", [], ["layoutViewport", "visualViewport", "contentSize", "cssLayoutViewport", "cssVisualViewport", "cssContentSize"], "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.");
|
|
1131
1132
|
inspectorBackend.registerCommand("Page.getNavigationHistory", [], ["currentIndex", "entries"], "Returns navigation history for the current page.");
|
|
@@ -1567,7 +1568,7 @@ inspectorBackend.registerCommand("Debugger.setSkipAllPauses", [{"name": "skip",
|
|
|
1567
1568
|
inspectorBackend.registerCommand("Debugger.setVariableValue", [{"name": "scopeNumber", "type": "number", "optional": false, "description": "0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually.", "typeRef": null}, {"name": "variableName", "type": "string", "optional": false, "description": "Variable name.", "typeRef": null}, {"name": "newValue", "type": "object", "optional": false, "description": "New variable value.", "typeRef": "Runtime.CallArgument"}, {"name": "callFrameId", "type": "string", "optional": false, "description": "Id of callframe that holds variable.", "typeRef": "Debugger.CallFrameId"}], [], "Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually.");
|
|
1568
1569
|
inspectorBackend.registerCommand("Debugger.stepInto", [{"name": "breakOnAsyncCall", "type": "boolean", "optional": true, "description": "Debugger will pause on the execution of the first async task which was scheduled before next pause.", "typeRef": null}, {"name": "skipList", "type": "array", "optional": true, "description": "The skipList specifies location ranges that should be skipped on step into.", "typeRef": "Debugger.LocationRange"}], [], "Steps into the function call.");
|
|
1569
1570
|
inspectorBackend.registerCommand("Debugger.stepOut", [], [], "Steps out of the function call.");
|
|
1570
|
-
inspectorBackend.registerCommand("Debugger.stepOver", [{"name": "skipList", "type": "array", "optional": true, "description": "The skipList specifies location ranges that should be skipped on step over.", "typeRef": "Debugger.LocationRange"}], [], "Steps over the statement.");
|
|
1571
|
+
inspectorBackend.registerCommand("Debugger.stepOver", [{"name": "skipList", "type": "array", "optional": true, "description": "The skipList specifies location ranges that should be skipped on step over.", "typeRef": "Debugger.LocationRange"}, {"name": "enterRanges", "type": "array", "optional": true, "description": "Functions whose source range lies within one of the enterRanges are entered as if by stepInto, even when they are called (directly or indirectly) from a call that is stepped over.", "typeRef": "Debugger.LocationRange"}], [], "Steps over the statement.");
|
|
1571
1572
|
inspectorBackend.registerType("Debugger.Location", [{"name": "scriptId", "type": "string", "optional": false, "description": "Script identifier as reported in the `Debugger.scriptParsed`.", "typeRef": "Runtime.ScriptId"}, {"name": "lineNumber", "type": "number", "optional": false, "description": "Line number in the script (0-based).", "typeRef": null}, {"name": "columnNumber", "type": "number", "optional": true, "description": "Column number in the script (0-based).", "typeRef": null}]);
|
|
1572
1573
|
inspectorBackend.registerType("Debugger.ScriptPosition", [{"name": "lineNumber", "type": "number", "optional": false, "description": "", "typeRef": null}, {"name": "columnNumber", "type": "number", "optional": false, "description": "", "typeRef": null}]);
|
|
1573
1574
|
inspectorBackend.registerType("Debugger.LocationRange", [{"name": "scriptId", "type": "string", "optional": false, "description": "", "typeRef": "Runtime.ScriptId"}, {"name": "start", "type": "object", "optional": false, "description": "", "typeRef": "Debugger.ScriptPosition"}, {"name": "end", "type": "object", "optional": false, "description": "", "typeRef": "Debugger.ScriptPosition"}]);
|
|
@@ -4228,6 +4228,16 @@ export namespace ProtocolMapping {
|
|
|
4228
4228
|
paramsType: [Protocol.Page.GetAdScriptAncestryRequest];
|
|
4229
4229
|
returnType: Protocol.Page.GetAdScriptAncestryResponse;
|
|
4230
4230
|
};
|
|
4231
|
+
/**
|
|
4232
|
+
* Returns the words that the frame's document added to its spell check custom
|
|
4233
|
+
* dictionary with `document.spellCheckCustomDictionary.addWords()`, sorted.
|
|
4234
|
+
* Page script cannot read the dictionary back; this lets developers inspect
|
|
4235
|
+
* it.
|
|
4236
|
+
*/
|
|
4237
|
+
'Page.getSpellCheckCustomDictionary': {
|
|
4238
|
+
paramsType: [Protocol.Page.GetSpellCheckCustomDictionaryRequest];
|
|
4239
|
+
returnType: Protocol.Page.GetSpellCheckCustomDictionaryResponse;
|
|
4240
|
+
};
|
|
4231
4241
|
/**
|
|
4232
4242
|
* Returns present frame tree structure.
|
|
4233
4243
|
*/
|
|
@@ -3422,6 +3422,14 @@ declare namespace ProtocolProxyApi {
|
|
|
3422
3422
|
|
|
3423
3423
|
invoke_getAdScriptAncestry(params: Protocol.Page.GetAdScriptAncestryRequest): Promise<Protocol.Page.GetAdScriptAncestryResponse>;
|
|
3424
3424
|
|
|
3425
|
+
/**
|
|
3426
|
+
* Returns the words that the frame's document added to its spell check custom
|
|
3427
|
+
* dictionary with `document.spellCheckCustomDictionary.addWords()`, sorted.
|
|
3428
|
+
* Page script cannot read the dictionary back; this lets developers inspect
|
|
3429
|
+
* it.
|
|
3430
|
+
*/
|
|
3431
|
+
invoke_getSpellCheckCustomDictionary(params: Protocol.Page.GetSpellCheckCustomDictionaryRequest): Promise<Protocol.Page.GetSpellCheckCustomDictionaryResponse>;
|
|
3432
|
+
|
|
3425
3433
|
/**
|
|
3426
3434
|
* Returns present frame tree structure.
|
|
3427
3435
|
*/
|
|
@@ -1291,6 +1291,7 @@ export namespace Audits {
|
|
|
1291
1291
|
FormModelContextMissingToolDescription = 'FormModelContextMissingToolDescription',
|
|
1292
1292
|
FormModelContextRequiredParameterMissingName = 'FormModelContextRequiredParameterMissingName',
|
|
1293
1293
|
FormModelContextParameterMissingName = 'FormModelContextParameterMissingName',
|
|
1294
|
+
GeolocationPromptWithoutUserGesture = 'GeolocationPromptWithoutUserGesture',
|
|
1294
1295
|
}
|
|
1295
1296
|
|
|
1296
1297
|
/**
|
|
@@ -16027,6 +16028,14 @@ export namespace Page {
|
|
|
16027
16028
|
adScriptAncestry?: Network.AdAncestry;
|
|
16028
16029
|
}
|
|
16029
16030
|
|
|
16031
|
+
export interface GetSpellCheckCustomDictionaryRequest {
|
|
16032
|
+
frameId: FrameId;
|
|
16033
|
+
}
|
|
16034
|
+
|
|
16035
|
+
export interface GetSpellCheckCustomDictionaryResponse extends ProtocolResponseWithError {
|
|
16036
|
+
words: string[];
|
|
16037
|
+
}
|
|
16038
|
+
|
|
16030
16039
|
export interface GetFrameTreeResponse extends ProtocolResponseWithError {
|
|
16031
16040
|
/**
|
|
16032
16041
|
* Present frame tree structure.
|
|
@@ -21405,6 +21414,12 @@ export namespace Debugger {
|
|
|
21405
21414
|
* The skipList specifies location ranges that should be skipped on step over.
|
|
21406
21415
|
*/
|
|
21407
21416
|
skipList?: LocationRange[];
|
|
21417
|
+
/**
|
|
21418
|
+
* Functions whose source range lies within one of the enterRanges are
|
|
21419
|
+
* entered as if by stepInto, even when they are called (directly or
|
|
21420
|
+
* indirectly) from a call that is stepped over.
|
|
21421
|
+
*/
|
|
21422
|
+
enterRanges?: LocationRange[];
|
|
21408
21423
|
}
|
|
21409
21424
|
|
|
21410
21425
|
/**
|