chrome-devtools-frontend 1.0.1583146 → 1.0.1585538
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/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
- package/front_end/core/host/InspectorFrontendHostStub.ts +2 -0
- package/front_end/core/root/Runtime.ts +12 -6
- package/front_end/core/sdk/CSSMatchedStyles.ts +3 -0
- package/front_end/core/sdk/CSSMetadata.ts +3 -0
- package/front_end/entrypoints/main/MainImpl.ts +1 -0
- package/front_end/generated/Deprecation.ts +21 -0
- package/front_end/generated/InspectorBackendCommands.ts +5 -3
- package/front_end/generated/SupportedCSSProperties.js +6 -2
- package/front_end/generated/protocol-mapping.d.ts +2 -1
- package/front_end/generated/protocol-proxy-api.d.ts +2 -1
- package/front_end/generated/protocol.ts +14 -0
- package/front_end/models/ai_assistance/AiConversation.ts +34 -2
- package/front_end/models/ai_assistance/BuiltInAi.ts +1 -2
- package/front_end/models/ai_assistance/agents/AiAgent.ts +3 -10
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.snapshot.txt +1 -1
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +17 -9
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +0 -24
- package/front_end/models/ai_code_generation/AiCodeGeneration.ts +5 -0
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +16 -8
- package/front_end/models/computed_style/ComputedStyleModel.ts +20 -15
- package/front_end/models/greendev/Prototypes.ts +1 -5
- package/front_end/models/issues_manager/CorsIssue.ts +2 -9
- package/front_end/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +2 -2
- package/front_end/models/javascript_metadata/NativeFunctions.js +20 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +13 -36
- package/front_end/panels/ai_assistance/components/ChatInput.ts +73 -95
- package/front_end/panels/ai_assistance/components/ChatView.ts +0 -2
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +10 -0
- package/front_end/panels/console/ConsoleView.ts +1 -2
- package/front_end/panels/console/ConsoleViewMessage.ts +18 -11
- package/front_end/panels/elements/ComputedStyleWidget.ts +41 -21
- package/front_end/panels/elements/ElementsPanel.ts +18 -5
- package/front_end/panels/elements/ElementsTreeElement.ts +27 -64
- package/front_end/panels/elements/NodeStackTraceWidget.ts +1 -3
- package/front_end/panels/elements/computedStyleWidget.css +1 -6
- package/front_end/panels/issues/AffectedResourcesView.ts +1 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +0 -8
- package/front_end/panels/network/RequestConditionsDrawer.ts +138 -112
- package/front_end/panels/settings/SettingsScreen.ts +12 -4
- package/front_end/panels/snippets/SnippetsQuickOpen.ts +6 -9
- package/front_end/panels/sources/CallStackSidebarPane.ts +4 -6
- package/front_end/panels/sources/DebuggerPlugin.ts +2 -1
- package/front_end/panels/sources/GoToLineQuickOpen.ts +0 -4
- package/front_end/panels/sources/OpenFileQuickOpen.ts +0 -4
- package/front_end/panels/sources/OutlineQuickOpen.ts +0 -4
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +3 -1
- package/front_end/panels/sources/sources-meta.ts +9 -6
- package/front_end/panels/timeline/TimelineFlameChartView.ts +0 -12
- package/front_end/panels/timeline/TimelinePanel.ts +35 -15
- package/front_end/panels/timeline/components/Sidebar.ts +21 -0
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +1 -20
- package/front_end/panels/timeline/components/insights/InsightRenderer.ts +0 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +2 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js +5 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +8 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +2 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/encoding.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/encoding.js +5 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/encoding.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/package.json +4 -4
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +4 -3
- package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/util/encoding.ts +5 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +3 -0
- package/front_end/ui/components/linkifier/LinkifierUtils.ts +3 -0
- package/front_end/ui/components/text_editor/AiCodeGenerationParser.ts +29 -7
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +34 -18
- package/front_end/ui/legacy/InspectorView.ts +41 -15
- package/front_end/ui/legacy/UIUtils.ts +30 -6
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +4 -3
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +2 -1
- package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +8 -2
- package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +8 -8
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +12 -9
- package/front_end/ui/legacy/components/utils/Linkifier.ts +116 -87
- package/front_end/ui/legacy/legacy.ts +0 -2
- package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
- package/mcp/HostBindings.ts +3 -0
- package/package.json +1 -1
- package/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +0 -10
- package/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +0 -10
- package/front_end/models/issues_manager/descriptions/corsPrivateNetworkPermissionDenied.md +0 -10
- package/front_end/ui/legacy/Floaty.ts +0 -438
- package/front_end/ui/legacy/floaty.css +0 -77
|
@@ -175,6 +175,7 @@ export class ExperimentsSupport {
|
|
|
175
175
|
title: string,
|
|
176
176
|
aboutFlag: string,
|
|
177
177
|
isEnabled: boolean,
|
|
178
|
+
requiresChromeRestart: boolean,
|
|
178
179
|
docLink?: Platform.DevToolsPath.UrlString,
|
|
179
180
|
readonly feedbackLink?: Platform.DevToolsPath.UrlString,
|
|
180
181
|
}): HostExperiment {
|
|
@@ -377,6 +378,7 @@ export class HostExperiment {
|
|
|
377
378
|
// It is NOT the the name of the corresponding Chromium `base::Feature`.
|
|
378
379
|
aboutFlag: string;
|
|
379
380
|
#isEnabled: boolean;
|
|
381
|
+
readonly requiresChromeRestart: boolean;
|
|
380
382
|
docLink?: Platform.DevToolsPath.UrlString;
|
|
381
383
|
readonly feedbackLink?: Platform.DevToolsPath.UrlString;
|
|
382
384
|
|
|
@@ -386,6 +388,7 @@ export class HostExperiment {
|
|
|
386
388
|
experiments: ExperimentsSupport,
|
|
387
389
|
aboutFlag: string,
|
|
388
390
|
isEnabled: boolean,
|
|
391
|
+
requiresChromeRestart: boolean,
|
|
389
392
|
docLink?: Platform.DevToolsPath.UrlString,
|
|
390
393
|
feedbackLink?: Platform.DevToolsPath.UrlString,
|
|
391
394
|
}) {
|
|
@@ -394,6 +397,7 @@ export class HostExperiment {
|
|
|
394
397
|
this.#experiments = params.experiments;
|
|
395
398
|
this.aboutFlag = params.aboutFlag;
|
|
396
399
|
this.#isEnabled = params.isEnabled;
|
|
400
|
+
this.requiresChromeRestart = params.requiresChromeRestart;
|
|
397
401
|
this.docLink = params.docLink;
|
|
398
402
|
this.feedbackLink = params.feedbackLink;
|
|
399
403
|
}
|
|
@@ -486,6 +490,13 @@ export interface HostConfigAiCodeGeneration {
|
|
|
486
490
|
userTier: string;
|
|
487
491
|
}
|
|
488
492
|
|
|
493
|
+
export interface HostConfigAiCodeCompletionStyles {
|
|
494
|
+
modelId: string;
|
|
495
|
+
temperature: number;
|
|
496
|
+
enabled: boolean;
|
|
497
|
+
userTier: string;
|
|
498
|
+
}
|
|
499
|
+
|
|
489
500
|
export interface HostConfigDeepLinksViaExtensibilityApi {
|
|
490
501
|
enabled: boolean;
|
|
491
502
|
}
|
|
@@ -577,11 +588,6 @@ interface DeviceBoundSessionsDebugging {
|
|
|
577
588
|
enabled: boolean;
|
|
578
589
|
}
|
|
579
590
|
|
|
580
|
-
interface AiPromptApi {
|
|
581
|
-
enabled: boolean;
|
|
582
|
-
allowWithoutGpu: boolean;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
591
|
export interface DevToolsEnableDurableMessages {
|
|
586
592
|
enabled: boolean;
|
|
587
593
|
}
|
|
@@ -625,6 +631,7 @@ export type HostConfig = Platform.TypeScriptUtilities.RecursivePartial<{
|
|
|
625
631
|
devToolsAiAssistanceV2: HostConfigAiAssistanceV2,
|
|
626
632
|
devToolsAiCodeCompletion: HostConfigAiCodeCompletion,
|
|
627
633
|
devToolsAiCodeGeneration: HostConfigAiCodeGeneration,
|
|
634
|
+
devToolsAiCodeCompletionStyles: HostConfigAiCodeCompletionStyles,
|
|
628
635
|
devToolsVeLogging: HostConfigVeLogging,
|
|
629
636
|
devToolsWellKnown: HostConfigWellKnown,
|
|
630
637
|
/**
|
|
@@ -643,7 +650,6 @@ export type HostConfig = Platform.TypeScriptUtilities.RecursivePartial<{
|
|
|
643
650
|
devToolsLiveEdit: LiveEdit,
|
|
644
651
|
devToolsFlexibleLayout: DevToolsFlexibleLayout,
|
|
645
652
|
deviceBoundSessionsDebugging: DeviceBoundSessionsDebugging,
|
|
646
|
-
devToolsAiPromptApi: AiPromptApi,
|
|
647
653
|
devToolsEnableDurableMessages: DevToolsEnableDurableMessages,
|
|
648
654
|
devToolsAiAssistanceContextSelectionAgent: HostConfigAiAssistanceContextSelectionAgent,
|
|
649
655
|
devToolsConsoleInsightsTeasers: ConsoleInsightsTeasers,
|
|
@@ -1332,6 +1332,9 @@ class DOMInheritanceCascade {
|
|
|
1332
1332
|
case CSSWideKeyword.REVERT_LAYER:
|
|
1333
1333
|
return this.#findPropertyInPreviousStyle(property, isPreviousLayer) ??
|
|
1334
1334
|
this.resolveGlobalKeyword(property, CSSWideKeyword.REVERT);
|
|
1335
|
+
case CSSWideKeyword.REVERT_RULE:
|
|
1336
|
+
return this.#findPropertyInPreviousStyle(property, () => true) ??
|
|
1337
|
+
this.resolveGlobalKeyword(property, CSSWideKeyword.UNSET);
|
|
1335
1338
|
case CSSWideKeyword.UNSET:
|
|
1336
1339
|
return this.#findPropertyInParentCascadeIfInherited(property) ??
|
|
1337
1340
|
this.#findCustomPropertyRegistration(property.name);
|
|
@@ -368,17 +368,20 @@ export const enum CSSWideKeyword {
|
|
|
368
368
|
INITIAL = 'initial',
|
|
369
369
|
REVERT = 'revert',
|
|
370
370
|
REVERT_LAYER = 'revert-layer',
|
|
371
|
+
REVERT_RULE = 'revert-rule',
|
|
371
372
|
UNSET = 'unset',
|
|
372
373
|
}
|
|
373
374
|
/**
|
|
374
375
|
* Spec: https://drafts.csswg.org/css-cascade/#defaulting-keywords
|
|
375
376
|
* https://drafts.csswg.org/css-cascade-5/#revert-layer
|
|
377
|
+
* https://drafts.csswg.org/css-cascade-6/#revert-rule
|
|
376
378
|
**/
|
|
377
379
|
export const CSSWideKeywords: CSSWideKeyword[] = [
|
|
378
380
|
CSSWideKeyword.INHERIT,
|
|
379
381
|
CSSWideKeyword.INITIAL,
|
|
380
382
|
CSSWideKeyword.REVERT,
|
|
381
383
|
CSSWideKeyword.REVERT_LAYER,
|
|
384
|
+
CSSWideKeyword.REVERT_RULE,
|
|
382
385
|
CSSWideKeyword.UNSET,
|
|
383
386
|
];
|
|
384
387
|
|
|
@@ -352,6 +352,7 @@ export class MainImpl {
|
|
|
352
352
|
title: 'Protocol Monitor',
|
|
353
353
|
aboutFlag: 'devtools-protocol-monitor',
|
|
354
354
|
isEnabled: enableProtocolMonitor,
|
|
355
|
+
requiresChromeRestart: false,
|
|
355
356
|
docLink: 'https://developer.chrome.com/blog/new-in-devtools-92/#protocol-monitor' as
|
|
356
357
|
Platform.DevToolsPath.UrlString,
|
|
357
358
|
});
|
|
@@ -94,6 +94,18 @@ export const UIStrings = {
|
|
|
94
94
|
* @description Warning displayed to developers that instead of calling the `Intl.v8BreakIterator` constructor, which is not a standard JavaScript API, use ECMA402 standard API Intl.Segmenter shipped in end of 2020 instead.
|
|
95
95
|
*/
|
|
96
96
|
IntlV8BreakIterator: "`Intl.v8BreakIterator` is deprecated. Please use `Intl.Segmenter` instead.",
|
|
97
|
+
/**
|
|
98
|
+
* @description Warning message for web developers when they call the deprecated LanguageModel.params() method.
|
|
99
|
+
*/
|
|
100
|
+
LanguageModelParams: "LanguageModel.params() is deprecated and now only available in extension contexts. The topK and temperature related fields within its result are also deprecated.",
|
|
101
|
+
/**
|
|
102
|
+
* @description Warning message for web developers when they use the deprecated 'temperature' option in LanguageModel.create() or access the .temperature attribute.
|
|
103
|
+
*/
|
|
104
|
+
LanguageModelTemperature: "The 'temperature' parameter/attribute for LanguageModel is deprecated. It is only functional within extensions and may be removed in the future.",
|
|
105
|
+
/**
|
|
106
|
+
* @description Warning message for web developers when they use the deprecated 'topK' option in LanguageModel.create() or access the .topK attribute.
|
|
107
|
+
*/
|
|
108
|
+
LanguageModelTopK: "The 'topK' parameter/attribute for LanguageModel is deprecated. It is only functional within extensions and may be removed in the future.",
|
|
97
109
|
/**
|
|
98
110
|
* @description This warning occurs when a stylesheet loaded from a local file directive does not end in the file type `.css`.
|
|
99
111
|
*/
|
|
@@ -292,6 +304,15 @@ export const DEPRECATIONS_METADATA: Partial<Record<string, DeprecationDescriptor
|
|
|
292
304
|
"chromeStatusFeature": 5436853517811712,
|
|
293
305
|
"milestone": 92
|
|
294
306
|
},
|
|
307
|
+
"LanguageModelParams": {
|
|
308
|
+
"chromeStatusFeature": 5134603979063296
|
|
309
|
+
},
|
|
310
|
+
"LanguageModelTemperature": {
|
|
311
|
+
"chromeStatusFeature": 5134603979063296
|
|
312
|
+
},
|
|
313
|
+
"LanguageModelTopK": {
|
|
314
|
+
"chromeStatusFeature": 5134603979063296
|
|
315
|
+
},
|
|
295
316
|
"LocalCSSFileExtensionRejected": {
|
|
296
317
|
"milestone": 64
|
|
297
318
|
},
|
|
@@ -70,6 +70,7 @@ inspectorBackend.registerEnum("Audits.CookieExclusionReason", {ExcludeSameSiteUn
|
|
|
70
70
|
inspectorBackend.registerEnum("Audits.CookieWarningReason", {WarnSameSiteUnspecifiedCrossSiteContext: "WarnSameSiteUnspecifiedCrossSiteContext", WarnSameSiteNoneInsecure: "WarnSameSiteNoneInsecure", WarnSameSiteUnspecifiedLaxAllowUnsafe: "WarnSameSiteUnspecifiedLaxAllowUnsafe", WarnSameSiteStrictLaxDowngradeStrict: "WarnSameSiteStrictLaxDowngradeStrict", WarnSameSiteStrictCrossDowngradeStrict: "WarnSameSiteStrictCrossDowngradeStrict", WarnSameSiteStrictCrossDowngradeLax: "WarnSameSiteStrictCrossDowngradeLax", WarnSameSiteLaxCrossDowngradeStrict: "WarnSameSiteLaxCrossDowngradeStrict", WarnSameSiteLaxCrossDowngradeLax: "WarnSameSiteLaxCrossDowngradeLax", WarnAttributeValueExceedsMaxSize: "WarnAttributeValueExceedsMaxSize", WarnDomainNonASCII: "WarnDomainNonASCII", WarnThirdPartyPhaseout: "WarnThirdPartyPhaseout", WarnCrossSiteRedirectDowngradeChangesInclusion: "WarnCrossSiteRedirectDowngradeChangesInclusion", WarnDeprecationTrialMetadata: "WarnDeprecationTrialMetadata", WarnThirdPartyCookieHeuristic: "WarnThirdPartyCookieHeuristic"});
|
|
71
71
|
inspectorBackend.registerEnum("Audits.CookieOperation", {SetCookie: "SetCookie", ReadCookie: "ReadCookie"});
|
|
72
72
|
inspectorBackend.registerEnum("Audits.InsightType", {GitHubResource: "GitHubResource", GracePeriod: "GracePeriod", Heuristics: "Heuristics"});
|
|
73
|
+
inspectorBackend.registerEnum("Audits.PerformanceIssueType", {DocumentCookie: "DocumentCookie"});
|
|
73
74
|
inspectorBackend.registerEnum("Audits.MixedContentResolutionStatus", {MixedContentBlocked: "MixedContentBlocked", MixedContentAutomaticallyUpgraded: "MixedContentAutomaticallyUpgraded", MixedContentWarning: "MixedContentWarning"});
|
|
74
75
|
inspectorBackend.registerEnum("Audits.MixedContentResourceType", {AttributionSrc: "AttributionSrc", Audio: "Audio", Beacon: "Beacon", CSPReport: "CSPReport", Download: "Download", EventSource: "EventSource", Favicon: "Favicon", Font: "Font", Form: "Form", Frame: "Frame", Image: "Image", Import: "Import", JSON: "JSON", Manifest: "Manifest", Ping: "Ping", PluginData: "PluginData", PluginResource: "PluginResource", Prefetch: "Prefetch", Resource: "Resource", Script: "Script", ServiceWorker: "ServiceWorker", SharedWorker: "SharedWorker", SpeculationRules: "SpeculationRules", Stylesheet: "Stylesheet", Track: "Track", Video: "Video", Worker: "Worker", XMLHttpRequest: "XMLHttpRequest", XSLT: "XSLT"});
|
|
75
76
|
inspectorBackend.registerEnum("Audits.BlockedByResponseReason", {CoepFrameResourceNeedsCoepHeader: "CoepFrameResourceNeedsCoepHeader", CoopSandboxedIFrameCannotNavigateToCoopPage: "CoopSandboxedIFrameCannotNavigateToCoopPage", CorpNotSameOrigin: "CorpNotSameOrigin", CorpNotSameOriginAfterDefaultedToSameOriginByCoep: "CorpNotSameOriginAfterDefaultedToSameOriginByCoep", CorpNotSameOriginAfterDefaultedToSameOriginByDip: "CorpNotSameOriginAfterDefaultedToSameOriginByDip", CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip: "CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip", CorpNotSameSite: "CorpNotSameSite", SRIMessageSignatureMismatch: "SRIMessageSignatureMismatch"});
|
|
@@ -92,7 +93,7 @@ inspectorBackend.registerEnum("Audits.StyleSheetLoadingIssueReason", {LateImport
|
|
|
92
93
|
inspectorBackend.registerEnum("Audits.PropertyRuleIssueReason", {InvalidSyntax: "InvalidSyntax", InvalidInitialValue: "InvalidInitialValue", InvalidInherits: "InvalidInherits", InvalidName: "InvalidName"});
|
|
93
94
|
inspectorBackend.registerEnum("Audits.UserReidentificationIssueType", {BlockedFrameNavigation: "BlockedFrameNavigation", BlockedSubresource: "BlockedSubresource", NoisedCanvasReadback: "NoisedCanvasReadback"});
|
|
94
95
|
inspectorBackend.registerEnum("Audits.PermissionElementIssueType", {InvalidType: "InvalidType", FencedFrameDisallowed: "FencedFrameDisallowed", CspFrameAncestorsMissing: "CspFrameAncestorsMissing", PermissionsPolicyBlocked: "PermissionsPolicyBlocked", PaddingRightUnsupported: "PaddingRightUnsupported", PaddingBottomUnsupported: "PaddingBottomUnsupported", InsetBoxShadowUnsupported: "InsetBoxShadowUnsupported", RequestInProgress: "RequestInProgress", UntrustedEvent: "UntrustedEvent", RegistrationFailed: "RegistrationFailed", TypeNotSupported: "TypeNotSupported", InvalidTypeActivation: "InvalidTypeActivation", SecurityChecksFailed: "SecurityChecksFailed", ActivationDisabled: "ActivationDisabled", GeolocationDeprecated: "GeolocationDeprecated", InvalidDisplayStyle: "InvalidDisplayStyle", NonOpaqueColor: "NonOpaqueColor", LowContrast: "LowContrast", FontSizeTooSmall: "FontSizeTooSmall", FontSizeTooLarge: "FontSizeTooLarge", InvalidSizeValue: "InvalidSizeValue"});
|
|
95
|
-
inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", LowTextContrastIssue: "LowTextContrastIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", PartitioningBlobURLIssue: "PartitioningBlobURLIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue", BounceTrackingIssue: "BounceTrackingIssue", CookieDeprecationMetadataIssue: "CookieDeprecationMetadataIssue", StylesheetLoadingIssue: "StylesheetLoadingIssue", FederatedAuthUserInfoRequestIssue: "FederatedAuthUserInfoRequestIssue", PropertyRuleIssue: "PropertyRuleIssue", SharedDictionaryIssue: "SharedDictionaryIssue", ElementAccessibilityIssue: "ElementAccessibilityIssue", SRIMessageSignatureIssue: "SRIMessageSignatureIssue", UnencodedDigestIssue: "UnencodedDigestIssue", ConnectionAllowlistIssue: "ConnectionAllowlistIssue", UserReidentificationIssue: "UserReidentificationIssue", PermissionElementIssue: "PermissionElementIssue"});
|
|
96
|
+
inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", LowTextContrastIssue: "LowTextContrastIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", PartitioningBlobURLIssue: "PartitioningBlobURLIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue", BounceTrackingIssue: "BounceTrackingIssue", CookieDeprecationMetadataIssue: "CookieDeprecationMetadataIssue", StylesheetLoadingIssue: "StylesheetLoadingIssue", FederatedAuthUserInfoRequestIssue: "FederatedAuthUserInfoRequestIssue", PropertyRuleIssue: "PropertyRuleIssue", SharedDictionaryIssue: "SharedDictionaryIssue", ElementAccessibilityIssue: "ElementAccessibilityIssue", SRIMessageSignatureIssue: "SRIMessageSignatureIssue", UnencodedDigestIssue: "UnencodedDigestIssue", ConnectionAllowlistIssue: "ConnectionAllowlistIssue", UserReidentificationIssue: "UserReidentificationIssue", PermissionElementIssue: "PermissionElementIssue", PerformanceIssue: "PerformanceIssue"});
|
|
96
97
|
inspectorBackend.registerEvent("Audits.issueAdded", ["issue"]);
|
|
97
98
|
inspectorBackend.registerEnum("Audits.GetEncodedResponseRequestEncoding", {Webp: "webp", Jpeg: "jpeg", Png: "png"});
|
|
98
99
|
inspectorBackend.registerCommand("Audits.getEncodedResponse", [{"name": "requestId", "type": "string", "optional": false, "description": "Identifier of the network request to get content for.", "typeRef": "Network.RequestId"}, {"name": "encoding", "type": "string", "optional": false, "description": "The encoding to use.", "typeRef": "Audits.GetEncodedResponseRequestEncoding"}, {"name": "quality", "type": "number", "optional": true, "description": "The quality of the encoding (0-1). (defaults to 1)", "typeRef": null}, {"name": "sizeOnly", "type": "boolean", "optional": true, "description": "Whether to only return the size information (defaults to false).", "typeRef": null}], ["body", "originalSize", "encodedSize"], "Returns the response body and size if it were re-encoded with the specified settings. Only applies to images.");
|
|
@@ -105,6 +106,7 @@ inspectorBackend.registerType("Audits.AffectedRequest", [{"name": "requestId", "
|
|
|
105
106
|
inspectorBackend.registerType("Audits.AffectedFrame", [{"name": "frameId", "type": "string", "optional": false, "description": "", "typeRef": "Page.FrameId"}]);
|
|
106
107
|
inspectorBackend.registerType("Audits.CookieIssueInsight", [{"name": "type", "type": "string", "optional": false, "description": "", "typeRef": "Audits.InsightType"}, {"name": "tableEntryUrl", "type": "string", "optional": true, "description": "Link to table entry in third-party cookie migration readiness list.", "typeRef": null}]);
|
|
107
108
|
inspectorBackend.registerType("Audits.CookieIssueDetails", [{"name": "cookie", "type": "object", "optional": true, "description": "If AffectedCookie is not set then rawCookieLine contains the raw Set-Cookie header string. This hints at a problem where the cookie line is syntactically or semantically malformed in a way that no valid cookie could be created.", "typeRef": "Audits.AffectedCookie"}, {"name": "rawCookieLine", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "cookieWarningReasons", "type": "array", "optional": false, "description": "", "typeRef": "Audits.CookieWarningReason"}, {"name": "cookieExclusionReasons", "type": "array", "optional": false, "description": "", "typeRef": "Audits.CookieExclusionReason"}, {"name": "operation", "type": "string", "optional": false, "description": "Optionally identifies the site-for-cookies and the cookie url, which may be used by the front-end as additional context.", "typeRef": "Audits.CookieOperation"}, {"name": "siteForCookies", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "cookieUrl", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "request", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AffectedRequest"}, {"name": "insight", "type": "object", "optional": true, "description": "The recommended solution to the issue.", "typeRef": "Audits.CookieIssueInsight"}]);
|
|
109
|
+
inspectorBackend.registerType("Audits.PerformanceIssueDetails", [{"name": "performanceIssueType", "type": "string", "optional": false, "description": "", "typeRef": "Audits.PerformanceIssueType"}, {"name": "sourceCodeLocation", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SourceCodeLocation"}]);
|
|
108
110
|
inspectorBackend.registerType("Audits.MixedContentIssueDetails", [{"name": "resourceType", "type": "string", "optional": true, "description": "The type of resource causing the mixed content issue (css, js, iframe, form,...). Marked as optional because it is mapped to from blink::mojom::RequestContextType, which will be replaced by network::mojom::RequestDestination", "typeRef": "Audits.MixedContentResourceType"}, {"name": "resolutionStatus", "type": "string", "optional": false, "description": "The way the mixed content issue is being resolved.", "typeRef": "Audits.MixedContentResolutionStatus"}, {"name": "insecureURL", "type": "string", "optional": false, "description": "The unsafe http url causing the mixed content issue.", "typeRef": null}, {"name": "mainResourceURL", "type": "string", "optional": false, "description": "The url responsible for the call to an unsafe url.", "typeRef": null}, {"name": "request", "type": "object", "optional": true, "description": "The mixed content request. Does not always exist (e.g. for unsafe form submission urls).", "typeRef": "Audits.AffectedRequest"}, {"name": "frame", "type": "object", "optional": true, "description": "Optional because not every mixed content issue is necessarily linked to a frame.", "typeRef": "Audits.AffectedFrame"}]);
|
|
109
111
|
inspectorBackend.registerType("Audits.BlockedByResponseIssueDetails", [{"name": "request", "type": "object", "optional": false, "description": "", "typeRef": "Audits.AffectedRequest"}, {"name": "parentFrame", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AffectedFrame"}, {"name": "blockedFrame", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AffectedFrame"}, {"name": "reason", "type": "string", "optional": false, "description": "", "typeRef": "Audits.BlockedByResponseReason"}]);
|
|
110
112
|
inspectorBackend.registerType("Audits.HeavyAdIssueDetails", [{"name": "resolution", "type": "string", "optional": false, "description": "The resolution status, either blocking the content or warning.", "typeRef": "Audits.HeavyAdResolutionStatus"}, {"name": "reason", "type": "string", "optional": false, "description": "The reason the ad was blocked, total network or cpu or peak cpu.", "typeRef": "Audits.HeavyAdReason"}, {"name": "frame", "type": "object", "optional": false, "description": "The frame that was blocked.", "typeRef": "Audits.AffectedFrame"}]);
|
|
@@ -134,7 +136,7 @@ inspectorBackend.registerType("Audits.StylesheetLoadingIssueDetails", [{"name":
|
|
|
134
136
|
inspectorBackend.registerType("Audits.PropertyRuleIssueDetails", [{"name": "sourceCodeLocation", "type": "object", "optional": false, "description": "Source code position of the property rule.", "typeRef": "Audits.SourceCodeLocation"}, {"name": "propertyRuleIssueReason", "type": "string", "optional": false, "description": "Reason why the property rule was discarded.", "typeRef": "Audits.PropertyRuleIssueReason"}, {"name": "propertyValue", "type": "string", "optional": true, "description": "The value of the property rule property that failed to parse", "typeRef": null}]);
|
|
135
137
|
inspectorBackend.registerType("Audits.UserReidentificationIssueDetails", [{"name": "type", "type": "string", "optional": false, "description": "", "typeRef": "Audits.UserReidentificationIssueType"}, {"name": "request", "type": "object", "optional": true, "description": "Applies to BlockedFrameNavigation and BlockedSubresource issue types.", "typeRef": "Audits.AffectedRequest"}, {"name": "sourceCodeLocation", "type": "object", "optional": true, "description": "Applies to NoisedCanvasReadback issue type.", "typeRef": "Audits.SourceCodeLocation"}]);
|
|
136
138
|
inspectorBackend.registerType("Audits.PermissionElementIssueDetails", [{"name": "issueType", "type": "string", "optional": false, "description": "", "typeRef": "Audits.PermissionElementIssueType"}, {"name": "type", "type": "string", "optional": true, "description": "The value of the type attribute.", "typeRef": null}, {"name": "nodeId", "type": "number", "optional": true, "description": "The node ID of the <permission> element.", "typeRef": "DOM.BackendNodeId"}, {"name": "isWarning", "type": "boolean", "optional": true, "description": "True if the issue is a warning, false if it is an error.", "typeRef": null}, {"name": "permissionName", "type": "string", "optional": true, "description": "Fields for message construction: Used for messages that reference a specific permission name", "typeRef": null}, {"name": "occluderNodeInfo", "type": "string", "optional": true, "description": "Used for messages about occlusion", "typeRef": null}, {"name": "occluderParentNodeInfo", "type": "string", "optional": true, "description": "Used for messages about occluder's parent", "typeRef": null}, {"name": "disableReason", "type": "string", "optional": true, "description": "Used for messages about activation disabled reason", "typeRef": null}]);
|
|
137
|
-
inspectorBackend.registerType("Audits.InspectorIssueDetails", [{"name": "cookieIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CookieIssueDetails"}, {"name": "mixedContentIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.MixedContentIssueDetails"}, {"name": "blockedByResponseIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.BlockedByResponseIssueDetails"}, {"name": "heavyAdIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.HeavyAdIssueDetails"}, {"name": "contentSecurityPolicyIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ContentSecurityPolicyIssueDetails"}, {"name": "sharedArrayBufferIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SharedArrayBufferIssueDetails"}, {"name": "lowTextContrastIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.LowTextContrastIssueDetails"}, {"name": "corsIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CorsIssueDetails"}, {"name": "attributionReportingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AttributionReportingIssueDetails"}, {"name": "quirksModeIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.QuirksModeIssueDetails"}, {"name": "partitioningBlobURLIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PartitioningBlobURLIssueDetails"}, {"name": "navigatorUserAgentIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.NavigatorUserAgentIssueDetails"}, {"name": "genericIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.GenericIssueDetails"}, {"name": "deprecationIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.DeprecationIssueDetails"}, {"name": "clientHintIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ClientHintIssueDetails"}, {"name": "federatedAuthRequestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.FederatedAuthRequestIssueDetails"}, {"name": "bounceTrackingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.BounceTrackingIssueDetails"}, {"name": "cookieDeprecationMetadataIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CookieDeprecationMetadataIssueDetails"}, {"name": "stylesheetLoadingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.StylesheetLoadingIssueDetails"}, {"name": "propertyRuleIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PropertyRuleIssueDetails"}, {"name": "federatedAuthUserInfoRequestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.FederatedAuthUserInfoRequestIssueDetails"}, {"name": "sharedDictionaryIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SharedDictionaryIssueDetails"}, {"name": "elementAccessibilityIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ElementAccessibilityIssueDetails"}, {"name": "sriMessageSignatureIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SRIMessageSignatureIssueDetails"}, {"name": "unencodedDigestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.UnencodedDigestIssueDetails"}, {"name": "connectionAllowlistIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ConnectionAllowlistIssueDetails"}, {"name": "userReidentificationIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.UserReidentificationIssueDetails"}, {"name": "permissionElementIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PermissionElementIssueDetails"}]);
|
|
139
|
+
inspectorBackend.registerType("Audits.InspectorIssueDetails", [{"name": "cookieIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CookieIssueDetails"}, {"name": "mixedContentIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.MixedContentIssueDetails"}, {"name": "blockedByResponseIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.BlockedByResponseIssueDetails"}, {"name": "heavyAdIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.HeavyAdIssueDetails"}, {"name": "contentSecurityPolicyIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ContentSecurityPolicyIssueDetails"}, {"name": "sharedArrayBufferIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SharedArrayBufferIssueDetails"}, {"name": "lowTextContrastIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.LowTextContrastIssueDetails"}, {"name": "corsIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CorsIssueDetails"}, {"name": "attributionReportingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AttributionReportingIssueDetails"}, {"name": "quirksModeIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.QuirksModeIssueDetails"}, {"name": "partitioningBlobURLIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PartitioningBlobURLIssueDetails"}, {"name": "navigatorUserAgentIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.NavigatorUserAgentIssueDetails"}, {"name": "genericIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.GenericIssueDetails"}, {"name": "deprecationIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.DeprecationIssueDetails"}, {"name": "clientHintIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ClientHintIssueDetails"}, {"name": "federatedAuthRequestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.FederatedAuthRequestIssueDetails"}, {"name": "bounceTrackingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.BounceTrackingIssueDetails"}, {"name": "cookieDeprecationMetadataIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CookieDeprecationMetadataIssueDetails"}, {"name": "stylesheetLoadingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.StylesheetLoadingIssueDetails"}, {"name": "propertyRuleIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PropertyRuleIssueDetails"}, {"name": "federatedAuthUserInfoRequestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.FederatedAuthUserInfoRequestIssueDetails"}, {"name": "sharedDictionaryIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SharedDictionaryIssueDetails"}, {"name": "elementAccessibilityIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ElementAccessibilityIssueDetails"}, {"name": "sriMessageSignatureIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SRIMessageSignatureIssueDetails"}, {"name": "unencodedDigestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.UnencodedDigestIssueDetails"}, {"name": "connectionAllowlistIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ConnectionAllowlistIssueDetails"}, {"name": "userReidentificationIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.UserReidentificationIssueDetails"}, {"name": "permissionElementIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PermissionElementIssueDetails"}, {"name": "performanceIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PerformanceIssueDetails"}]);
|
|
138
140
|
inspectorBackend.registerType("Audits.InspectorIssue", [{"name": "code", "type": "string", "optional": false, "description": "", "typeRef": "Audits.InspectorIssueCode"}, {"name": "details", "type": "object", "optional": false, "description": "", "typeRef": "Audits.InspectorIssueDetails"}, {"name": "issueId", "type": "string", "optional": true, "description": "A unique id for this issue. May be omitted if no other entity (e.g. exception, CDP message, etc.) is referencing this issue.", "typeRef": "Audits.IssueId"}]);
|
|
139
141
|
|
|
140
142
|
// Autofill.
|
|
@@ -547,7 +549,7 @@ inspectorBackend.registerCommand("Emulation.setHardwareConcurrencyOverride", [{"
|
|
|
547
549
|
inspectorBackend.registerCommand("Emulation.setUserAgentOverride", [{"name": "userAgent", "type": "string", "optional": false, "description": "User agent to use.", "typeRef": null}, {"name": "acceptLanguage", "type": "string", "optional": true, "description": "Browser language to emulate.", "typeRef": null}, {"name": "platform", "type": "string", "optional": true, "description": "The platform navigator.platform should return.", "typeRef": null}, {"name": "userAgentMetadata", "type": "object", "optional": true, "description": "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData", "typeRef": "Emulation.UserAgentMetadata"}], [], "Allows overriding user agent with the given string. `userAgentMetadata` must be set for Client Hint headers to be sent.");
|
|
548
550
|
inspectorBackend.registerCommand("Emulation.setAutomationOverride", [{"name": "enabled", "type": "boolean", "optional": false, "description": "Whether the override should be enabled.", "typeRef": null}], [], "Allows overriding the automation flag.");
|
|
549
551
|
inspectorBackend.registerCommand("Emulation.setSmallViewportHeightDifferenceOverride", [{"name": "difference", "type": "number", "optional": false, "description": "This will cause an element of size 100svh to be `difference` pixels smaller than an element of size 100lvh.", "typeRef": null}], [], "Allows overriding the difference between the small and large viewport sizes, which determine the value of the `svh` and `lvh` unit, respectively. Only supported for top-level frames.");
|
|
550
|
-
inspectorBackend.registerCommand("Emulation.getScreenInfos", [], ["screenInfos"], "Returns device's screen configuration.");
|
|
552
|
+
inspectorBackend.registerCommand("Emulation.getScreenInfos", [], ["screenInfos"], "Returns device's screen configuration. In headful mode, the physical screens configuration is returned, whereas in headless mode, a virtual headless screen configuration is provided instead.");
|
|
551
553
|
inspectorBackend.registerCommand("Emulation.addScreen", [{"name": "left", "type": "number", "optional": false, "description": "Offset of the left edge of the screen in pixels.", "typeRef": null}, {"name": "top", "type": "number", "optional": false, "description": "Offset of the top edge of the screen in pixels.", "typeRef": null}, {"name": "width", "type": "number", "optional": false, "description": "The width of the screen in pixels.", "typeRef": null}, {"name": "height", "type": "number", "optional": false, "description": "The height of the screen in pixels.", "typeRef": null}, {"name": "workAreaInsets", "type": "object", "optional": true, "description": "Specifies the screen's work area. Default is entire screen.", "typeRef": "Emulation.WorkAreaInsets"}, {"name": "devicePixelRatio", "type": "number", "optional": true, "description": "Specifies the screen's device pixel ratio. Default is 1.", "typeRef": null}, {"name": "rotation", "type": "number", "optional": true, "description": "Specifies the screen's rotation angle. Available values are 0, 90, 180 and 270. Default is 0.", "typeRef": null}, {"name": "colorDepth", "type": "number", "optional": true, "description": "Specifies the screen's color depth in bits. Default is 24.", "typeRef": null}, {"name": "label", "type": "string", "optional": true, "description": "Specifies the descriptive label for the screen. Default is none.", "typeRef": null}, {"name": "isInternal", "type": "boolean", "optional": true, "description": "Indicates whether the screen is internal to the device or external, attached to the device. Default is false.", "typeRef": null}], ["screenInfo"], "Add a new screen to the device. Only supported in headless mode.");
|
|
552
554
|
inspectorBackend.registerCommand("Emulation.removeScreen", [{"name": "screenId", "type": "string", "optional": false, "description": "", "typeRef": "Emulation.ScreenId"}], [], "Remove screen from the device. Only supported in headless mode.");
|
|
553
555
|
inspectorBackend.registerType("Emulation.SafeAreaInsets", [{"name": "top", "type": "number", "optional": true, "description": "Overrides safe-area-inset-top.", "typeRef": null}, {"name": "topMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-top.", "typeRef": null}, {"name": "left", "type": "number", "optional": true, "description": "Overrides safe-area-inset-left.", "typeRef": null}, {"name": "leftMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-left.", "typeRef": null}, {"name": "bottom", "type": "number", "optional": true, "description": "Overrides safe-area-inset-bottom.", "typeRef": null}, {"name": "bottomMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-bottom.", "typeRef": null}, {"name": "right", "type": "number", "optional": true, "description": "Overrides safe-area-inset-right.", "typeRef": null}, {"name": "rightMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-right.", "typeRef": null}]);
|
|
@@ -1795,6 +1795,7 @@ export const generatedProperties = [
|
|
|
1795
1795
|
"inherited": false,
|
|
1796
1796
|
"keywords": [
|
|
1797
1797
|
"all",
|
|
1798
|
+
"auto",
|
|
1798
1799
|
"around",
|
|
1799
1800
|
"between"
|
|
1800
1801
|
],
|
|
@@ -3841,6 +3842,7 @@ export const generatedProperties = [
|
|
|
3841
3842
|
"inherited": false,
|
|
3842
3843
|
"keywords": [
|
|
3843
3844
|
"all",
|
|
3845
|
+
"auto",
|
|
3844
3846
|
"around",
|
|
3845
3847
|
"between"
|
|
3846
3848
|
],
|
|
@@ -4548,12 +4550,12 @@ export const generatedProperties = [
|
|
|
4548
4550
|
{
|
|
4549
4551
|
"inherited": true,
|
|
4550
4552
|
"keywords": [
|
|
4553
|
+
"none",
|
|
4551
4554
|
"capitalize",
|
|
4552
4555
|
"uppercase",
|
|
4553
4556
|
"lowercase",
|
|
4554
4557
|
"full-width",
|
|
4555
4558
|
"full-size-kana",
|
|
4556
|
-
"none",
|
|
4557
4559
|
"math-auto"
|
|
4558
4560
|
],
|
|
4559
4561
|
"name": "text-transform"
|
|
@@ -5559,6 +5561,7 @@ export const generatedPropertyValues = {
|
|
|
5559
5561
|
"column-rule-visibility-items": {
|
|
5560
5562
|
"values": [
|
|
5561
5563
|
"all",
|
|
5564
|
+
"auto",
|
|
5562
5565
|
"around",
|
|
5563
5566
|
"between"
|
|
5564
5567
|
]
|
|
@@ -6692,6 +6695,7 @@ export const generatedPropertyValues = {
|
|
|
6692
6695
|
"row-rule-visibility-items": {
|
|
6693
6696
|
"values": [
|
|
6694
6697
|
"all",
|
|
6698
|
+
"auto",
|
|
6695
6699
|
"around",
|
|
6696
6700
|
"between"
|
|
6697
6701
|
]
|
|
@@ -7045,12 +7049,12 @@ export const generatedPropertyValues = {
|
|
|
7045
7049
|
},
|
|
7046
7050
|
"text-transform": {
|
|
7047
7051
|
"values": [
|
|
7052
|
+
"none",
|
|
7048
7053
|
"capitalize",
|
|
7049
7054
|
"uppercase",
|
|
7050
7055
|
"lowercase",
|
|
7051
7056
|
"full-width",
|
|
7052
7057
|
"full-size-kana",
|
|
7053
|
-
"none",
|
|
7054
7058
|
"math-auto"
|
|
7055
7059
|
]
|
|
7056
7060
|
},
|
|
@@ -2757,7 +2757,8 @@ export namespace ProtocolMapping {
|
|
|
2757
2757
|
returnType: void;
|
|
2758
2758
|
};
|
|
2759
2759
|
/**
|
|
2760
|
-
* Returns device's screen configuration.
|
|
2760
|
+
* Returns device's screen configuration. In headful mode, the physical screens configuration is returned,
|
|
2761
|
+
* whereas in headless mode, a virtual headless screen configuration is provided instead.
|
|
2761
2762
|
*/
|
|
2762
2763
|
'Emulation.getScreenInfos': {
|
|
2763
2764
|
paramsType: [];
|
|
@@ -1832,7 +1832,8 @@ declare namespace ProtocolProxyApi {
|
|
|
1832
1832
|
invoke_setSmallViewportHeightDifferenceOverride(params: Protocol.Emulation.SetSmallViewportHeightDifferenceOverrideRequest): Promise<Protocol.ProtocolResponseWithError>;
|
|
1833
1833
|
|
|
1834
1834
|
/**
|
|
1835
|
-
* Returns device's screen configuration.
|
|
1835
|
+
* Returns device's screen configuration. In headful mode, the physical screens configuration is returned,
|
|
1836
|
+
* whereas in headless mode, a virtual headless screen configuration is provided instead.
|
|
1836
1837
|
*/
|
|
1837
1838
|
invoke_getScreenInfos(): Promise<Protocol.Emulation.GetScreenInfosResponse>;
|
|
1838
1839
|
|
|
@@ -850,6 +850,18 @@ export namespace Audits {
|
|
|
850
850
|
insight?: CookieIssueInsight;
|
|
851
851
|
}
|
|
852
852
|
|
|
853
|
+
export const enum PerformanceIssueType {
|
|
854
|
+
DocumentCookie = 'DocumentCookie',
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
* Details for a performance issue.
|
|
859
|
+
*/
|
|
860
|
+
export interface PerformanceIssueDetails {
|
|
861
|
+
performanceIssueType: PerformanceIssueType;
|
|
862
|
+
sourceCodeLocation?: SourceCodeLocation;
|
|
863
|
+
}
|
|
864
|
+
|
|
853
865
|
export const enum MixedContentResolutionStatus {
|
|
854
866
|
MixedContentBlocked = 'MixedContentBlocked',
|
|
855
867
|
MixedContentAutomaticallyUpgraded = 'MixedContentAutomaticallyUpgraded',
|
|
@@ -1564,6 +1576,7 @@ export namespace Audits {
|
|
|
1564
1576
|
ConnectionAllowlistIssue = 'ConnectionAllowlistIssue',
|
|
1565
1577
|
UserReidentificationIssue = 'UserReidentificationIssue',
|
|
1566
1578
|
PermissionElementIssue = 'PermissionElementIssue',
|
|
1579
|
+
PerformanceIssue = 'PerformanceIssue',
|
|
1567
1580
|
}
|
|
1568
1581
|
|
|
1569
1582
|
/**
|
|
@@ -1603,6 +1616,7 @@ export namespace Audits {
|
|
|
1603
1616
|
connectionAllowlistIssueDetails?: ConnectionAllowlistIssueDetails;
|
|
1604
1617
|
userReidentificationIssueDetails?: UserReidentificationIssueDetails;
|
|
1605
1618
|
permissionElementIssueDetails?: PermissionElementIssueDetails;
|
|
1619
|
+
performanceIssueDetails?: PerformanceIssueDetails;
|
|
1606
1620
|
}
|
|
1607
1621
|
|
|
1608
1622
|
/**
|
|
@@ -14,7 +14,8 @@ import {
|
|
|
14
14
|
type ConversationContext,
|
|
15
15
|
type MultimodalInput,
|
|
16
16
|
type ResponseData,
|
|
17
|
-
ResponseType
|
|
17
|
+
ResponseType,
|
|
18
|
+
type UserQuery
|
|
18
19
|
} from './agents/AiAgent.js';
|
|
19
20
|
import {ContextSelectionAgent} from './agents/ContextSelectionAgent.js';
|
|
20
21
|
import {FileAgent, FileContext} from './agents/FileAgent.js';
|
|
@@ -56,6 +57,7 @@ export class AiConversation {
|
|
|
56
57
|
undefined,
|
|
57
58
|
serializedConversation.isExternal,
|
|
58
59
|
undefined,
|
|
60
|
+
undefined,
|
|
59
61
|
);
|
|
60
62
|
}
|
|
61
63
|
|
|
@@ -77,6 +79,7 @@ export class AiConversation {
|
|
|
77
79
|
|
|
78
80
|
#performanceRecordAndReload?: () => Promise<Trace.TraceModel.ParsedTrace>;
|
|
79
81
|
#onInspectElement?: () => Promise<SDK.DOMModel.DOMNode|null>;
|
|
82
|
+
#networkTimeCalculator?: NetworkTimeCalculator.NetworkTransferTimeCalculator;
|
|
80
83
|
|
|
81
84
|
constructor(
|
|
82
85
|
type: ConversationType,
|
|
@@ -88,11 +91,13 @@ export class AiConversation {
|
|
|
88
91
|
isExternal = false,
|
|
89
92
|
performanceRecordAndReload?: () => Promise<Trace.TraceModel.ParsedTrace>,
|
|
90
93
|
onInspectElement?: () => Promise<SDK.DOMModel.DOMNode|null>,
|
|
94
|
+
networkTimeCalculator?: NetworkTimeCalculator.NetworkTransferTimeCalculator,
|
|
91
95
|
) {
|
|
92
96
|
this.#changeManager = changeManager;
|
|
93
97
|
this.#aidaClient = aidaClient;
|
|
94
98
|
this.#performanceRecordAndReload = performanceRecordAndReload;
|
|
95
99
|
this.#onInspectElement = onInspectElement;
|
|
100
|
+
this.#networkTimeCalculator = networkTimeCalculator;
|
|
96
101
|
|
|
97
102
|
this.id = id;
|
|
98
103
|
this.#isReadOnly = isReadOnly;
|
|
@@ -288,6 +293,7 @@ export class AiConversation {
|
|
|
288
293
|
changeManager: this.#changeManager,
|
|
289
294
|
performanceRecordAndReload: this.#performanceRecordAndReload,
|
|
290
295
|
onInspectElement: this.#onInspectElement,
|
|
296
|
+
networkTimeCalculator: this.#networkTimeCalculator,
|
|
291
297
|
};
|
|
292
298
|
switch (type) {
|
|
293
299
|
case ConversationType.STYLING: {
|
|
@@ -393,12 +399,20 @@ Time: ${micros(time)}`;
|
|
|
393
399
|
run(
|
|
394
400
|
initialQuery: string,
|
|
395
401
|
options: {
|
|
396
|
-
|
|
397
402
|
signal?: AbortSignal,
|
|
398
403
|
extraContext?: ExtraContext[],
|
|
399
404
|
multimodalInput?: MultimodalInput,
|
|
400
405
|
} = {},
|
|
401
406
|
): AsyncGenerator<ResponseData, void, void> {
|
|
407
|
+
const userQuery: UserQuery = {
|
|
408
|
+
type: ResponseType.USER_QUERY,
|
|
409
|
+
query: initialQuery,
|
|
410
|
+
imageInput: options.multimodalInput?.input,
|
|
411
|
+
imageId: options.multimodalInput?.id,
|
|
412
|
+
};
|
|
413
|
+
void this.addHistoryItem(userQuery);
|
|
414
|
+
yield userQuery;
|
|
415
|
+
|
|
402
416
|
if (options.extraContext) {
|
|
403
417
|
await this.#createFactsForExtraContext(options.extraContext);
|
|
404
418
|
}
|
|
@@ -408,6 +422,18 @@ Time: ${micros(time)}`;
|
|
|
408
422
|
throw new Error('Cross-origin context data should not be included');
|
|
409
423
|
}
|
|
410
424
|
|
|
425
|
+
yield* this.#runAgent(initialQuery, options);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
async *
|
|
429
|
+
#runAgent(
|
|
430
|
+
initialQuery: string,
|
|
431
|
+
options: {
|
|
432
|
+
signal?: AbortSignal,
|
|
433
|
+
extraContext?: ExtraContext[],
|
|
434
|
+
multimodalInput?: MultimodalInput,
|
|
435
|
+
} = {},
|
|
436
|
+
): AsyncGenerator<ResponseData, void, void> {
|
|
411
437
|
function shouldAddToHistory(data: ResponseData): boolean {
|
|
412
438
|
if (data.type === ResponseType.CONTEXT_CHANGE) {
|
|
413
439
|
return false;
|
|
@@ -433,6 +459,12 @@ Time: ${micros(time)}`;
|
|
|
433
459
|
if (shouldAddToHistory(data)) {
|
|
434
460
|
void this.addHistoryItem(data);
|
|
435
461
|
}
|
|
462
|
+
if (data.type === ResponseType.CONTEXT_CHANGE) {
|
|
463
|
+
this.setContext(data.context);
|
|
464
|
+
yield* this.#runAgent(initialQuery, options);
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
|
|
436
468
|
yield data;
|
|
437
469
|
}
|
|
438
470
|
}
|
|
@@ -47,8 +47,7 @@ export class BuiltInAi extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
async getLanguageModelAvailability(): Promise<LanguageModelAvailability> {
|
|
50
|
-
if (!Root.Runtime.hostConfig.devToolsConsoleInsightsTeasers?.enabled
|
|
51
|
-
(Root.Runtime.hostConfig.devToolsAiPromptApi && !Root.Runtime.hostConfig.devToolsAiPromptApi.enabled)) {
|
|
50
|
+
if (!Root.Runtime.hostConfig.devToolsConsoleInsightsTeasers?.enabled) {
|
|
52
51
|
this.#availability = LanguageModelAvailability.DISABLED;
|
|
53
52
|
return this.#availability;
|
|
54
53
|
}
|
|
@@ -88,7 +88,7 @@ export interface SideEffectResponse {
|
|
|
88
88
|
}
|
|
89
89
|
export interface ContextChangeResponse {
|
|
90
90
|
type: ResponseType.CONTEXT_CHANGE;
|
|
91
|
-
context: unknown
|
|
91
|
+
context: ConversationContext<unknown>;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
interface SerializedSideEffectResponse extends Omit<SideEffectResponse, 'confirm'> {}
|
|
@@ -517,13 +517,6 @@ export abstract class AiAgent<T> {
|
|
|
517
517
|
// Request is built here to capture history up to this point.
|
|
518
518
|
let request = this.buildRequest(query, Host.AidaClient.Role.USER);
|
|
519
519
|
|
|
520
|
-
yield {
|
|
521
|
-
type: ResponseType.USER_QUERY,
|
|
522
|
-
query: initialQuery,
|
|
523
|
-
imageInput: multimodalInput?.input,
|
|
524
|
-
imageId: multimodalInput?.id,
|
|
525
|
-
};
|
|
526
|
-
|
|
527
520
|
yield* this.handleContextDetails(options.selected);
|
|
528
521
|
|
|
529
522
|
for (let i = 0; i < MAX_STEPS; i++) {
|
|
@@ -650,7 +643,7 @@ export abstract class AiAgent<T> {
|
|
|
650
643
|
name: string,
|
|
651
644
|
args: Record<string, unknown>,
|
|
652
645
|
options?: FunctionHandlerOptions&{explanation?: string},
|
|
653
|
-
): AsyncGenerator<FunctionCallResponseData, {result: unknown}|{context: unknown}> {
|
|
646
|
+
): AsyncGenerator<FunctionCallResponseData, {result: unknown}|{context: ConversationContext<unknown>}> {
|
|
654
647
|
const call = this.#functionDeclarations.get(name);
|
|
655
648
|
if (!call) {
|
|
656
649
|
throw new Error(`Function ${name} is not found.`);
|
|
@@ -762,7 +755,7 @@ export abstract class AiAgent<T> {
|
|
|
762
755
|
}
|
|
763
756
|
|
|
764
757
|
if ('context' in result) {
|
|
765
|
-
return result as {context: unknown};
|
|
758
|
+
return result as {context: ConversationContext<unknown>};
|
|
766
759
|
}
|
|
767
760
|
|
|
768
761
|
return result as {result: unknown};
|
|
@@ -31,7 +31,7 @@ Content:
|
|
|
31
31
|
"function_declarations": [
|
|
32
32
|
{
|
|
33
33
|
"name": "listNetworkRequests",
|
|
34
|
-
"description": "Gives a list of network requests including URL, status code, and duration
|
|
34
|
+
"description": "Gives a list of network requests including URL, status code, and duration.",
|
|
35
35
|
"parameters": {
|
|
36
36
|
"type": 6,
|
|
37
37
|
"description": "",
|