chrome-devtools-frontend 1.0.1568190 → 1.0.1569477
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/Images/src/grid-direction.svg +6 -0
- package/front_end/core/common/ParsedURL.ts +3 -0
- package/front_end/core/host/AidaClient.ts +1 -0
- package/front_end/core/root/Runtime.ts +4 -8
- package/front_end/entrypoints/main/MainImpl.ts +17 -20
- package/front_end/generated/InspectorBackendCommands.ts +6 -6
- package/front_end/generated/SupportedCSSProperties.js +14 -14
- package/front_end/generated/protocol.ts +0 -18
- package/front_end/models/ai_assistance/agents/PatchAgent.ts +4 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +12 -0
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +12 -2
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +4 -1
- package/front_end/models/ai_assistance/injected.ts +7 -22
- package/front_end/models/javascript_metadata/NativeFunctions.js +12 -0
- package/front_end/models/stack_trace/StackTraceImpl.ts +12 -2
- package/front_end/models/stack_trace/StackTraceModel.ts +9 -1
- package/front_end/models/trace/Styles.ts +11 -8
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +3 -2
- package/front_end/models/trace/types/TraceEvents.ts +19 -10
- package/front_end/panels/application/preloading/PreloadingView.ts +1 -3
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +13 -28
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +58 -15
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +1 -1
- package/front_end/panels/elements/ElementsPanel.ts +6 -3
- package/front_end/panels/elements/ElementsSidebarPane.ts +7 -28
- package/front_end/panels/elements/MetricsSidebarPane.ts +208 -216
- package/front_end/panels/elements/StylesSidebarPane.ts +6 -6
- package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +57 -4
- package/front_end/panels/elements/components/StylePropertyEditor.ts +93 -1
- package/front_end/panels/elements/metricsSidebarPane.css +3 -11
- package/front_end/panels/settings/SettingsScreen.ts +8 -38
- package/front_end/panels/settings/settingsScreen.css +0 -4
- package/front_end/panels/sources/BreakpointEditDialog.ts +203 -138
- package/front_end/panels/sources/DebuggerPlugin.ts +15 -7
- package/front_end/panels/timeline/TimelineUIUtils.ts +9 -3
- package/front_end/panels/timeline/TimingsTrackAppender.ts +1 -0
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +3 -1
- package/front_end/panels/timeline/timelineFlameChartView.css +1 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +23 -1
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +16 -4
- package/front_end/ui/kit/link/Link.ts +14 -8
- package/front_end/ui/kit/link/link.css +1 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +4 -0
- package/mcp/mcp.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M11 9V3L17 3V9H11Z" fill="black"/>
|
|
3
|
+
<path d="M3 9L3 3L9 3V9H3Z" fill="black"/>
|
|
4
|
+
<path d="M3 17L3 11H9V17H3Z" fill="black"/>
|
|
5
|
+
<path d="M15.1893 13.2803H10V14.7803H15.1894L13.4697 16.5L14.5303 17.5607L18.0607 14.0304L14.5303 10.5L13.4697 11.5607L15.1893 13.2803Z" fill="black"/>
|
|
6
|
+
</svg>
|
|
@@ -320,6 +320,9 @@ export class ParsedURL {
|
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
static extractName(url: string): string {
|
|
323
|
+
if (url.endsWith('/')) {
|
|
324
|
+
url = url.slice(0, -1);
|
|
325
|
+
}
|
|
323
326
|
let index = url.lastIndexOf('/');
|
|
324
327
|
const pathAndQuery = index !== -1 ? url.substr(index + 1) : url;
|
|
325
328
|
index = pathAndQuery.indexOf('?');
|
|
@@ -79,6 +79,7 @@ export interface FunctionObjectParam<T extends string|number|symbol = string> ex
|
|
|
79
79
|
type: ParametersTypes.OBJECT;
|
|
80
80
|
// TODO: this can be also be ObjectParams
|
|
81
81
|
properties: Record<T, FunctionPrimitiveParams|FunctionArrayParam>;
|
|
82
|
+
required: string[];
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
/**
|
|
@@ -167,15 +167,13 @@ export class ExperimentsSupport {
|
|
|
167
167
|
return result;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
register(
|
|
171
|
-
experimentName: string, experimentTitle: string, unstable?: boolean, docLink?: string,
|
|
172
|
-
feedbackLink?: string): void {
|
|
170
|
+
register(experimentName: string, experimentTitle: string, docLink?: string, feedbackLink?: string): void {
|
|
173
171
|
if (this.#experimentNames.has(experimentName)) {
|
|
174
172
|
throw new Error(`Duplicate registration of experiment '${experimentName}'`);
|
|
175
173
|
}
|
|
176
174
|
this.#experimentNames.add(experimentName);
|
|
177
175
|
this.#experiments.push(new Experiment(
|
|
178
|
-
this, experimentName, experimentTitle,
|
|
176
|
+
this, experimentName, experimentTitle,
|
|
179
177
|
docLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString,
|
|
180
178
|
feedbackLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString));
|
|
181
179
|
}
|
|
@@ -299,16 +297,14 @@ class ExperimentStorage {
|
|
|
299
297
|
export class Experiment {
|
|
300
298
|
name: string;
|
|
301
299
|
title: string;
|
|
302
|
-
unstable: boolean;
|
|
303
300
|
docLink?: Platform.DevToolsPath.UrlString;
|
|
304
301
|
readonly feedbackLink?: Platform.DevToolsPath.UrlString;
|
|
305
302
|
readonly #experiments: ExperimentsSupport;
|
|
306
303
|
constructor(
|
|
307
|
-
experiments: ExperimentsSupport, name: string, title: string,
|
|
308
|
-
|
|
304
|
+
experiments: ExperimentsSupport, name: string, title: string, docLink: Platform.DevToolsPath.UrlString,
|
|
305
|
+
feedbackLink: Platform.DevToolsPath.UrlString) {
|
|
309
306
|
this.name = name;
|
|
310
307
|
this.title = title;
|
|
311
|
-
this.unstable = unstable;
|
|
312
308
|
this.docLink = docLink;
|
|
313
309
|
this.feedbackLink = feedbackLink;
|
|
314
310
|
this.#experiments = experiments;
|
|
@@ -325,57 +325,53 @@ export class MainImpl {
|
|
|
325
325
|
|
|
326
326
|
#initializeExperiments(): void {
|
|
327
327
|
Root.Runtime.experiments.register('capture-node-creation-stacks', 'Capture node creation stacks');
|
|
328
|
-
Root.Runtime.experiments.register('live-heap-profile', 'Live heap profile'
|
|
328
|
+
Root.Runtime.experiments.register('live-heap-profile', 'Live heap profile');
|
|
329
329
|
Root.Runtime.experiments.register(
|
|
330
|
-
'protocol-monitor', 'Protocol Monitor',
|
|
330
|
+
'protocol-monitor', 'Protocol Monitor',
|
|
331
331
|
'https://developer.chrome.com/blog/new-in-devtools-92/#protocol-monitor');
|
|
332
|
-
Root.Runtime.experiments.register('sampling-heap-profiler-timeline', 'Sampling heap profiler timeline'
|
|
332
|
+
Root.Runtime.experiments.register('sampling-heap-profiler-timeline', 'Sampling heap profiler timeline');
|
|
333
333
|
Root.Runtime.experiments.register(
|
|
334
334
|
'show-option-tp-expose-internals-in-heap-snapshot', 'Show option to expose internals in heap snapshots');
|
|
335
335
|
|
|
336
336
|
// Timeline
|
|
337
|
+
Root.Runtime.experiments.register('timeline-invalidation-tracking', 'Performance panel: invalidation tracking');
|
|
338
|
+
Root.Runtime.experiments.register('timeline-show-all-events', 'Performance panel: show all events');
|
|
339
|
+
Root.Runtime.experiments.register('timeline-v8-runtime-call-stats', 'Performance panel: V8 runtime call stats');
|
|
337
340
|
Root.Runtime.experiments.register(
|
|
338
|
-
|
|
339
|
-
Root.Runtime.experiments.register('timeline-show-all-events', 'Performance panel: show all events', true);
|
|
340
|
-
Root.Runtime.experiments.register(
|
|
341
|
-
'timeline-v8-runtime-call-stats', 'Performance panel: V8 runtime call stats', true);
|
|
342
|
-
Root.Runtime.experiments.register(
|
|
343
|
-
Root.Runtime.ExperimentName.TIMELINE_DEBUG_MODE,
|
|
344
|
-
'Performance panel: Enable debug mode (trace event details, etc)', true);
|
|
341
|
+
Root.Runtime.ExperimentName.TIMELINE_DEBUG_MODE, 'Performance panel: debug mode (trace event details, etc)');
|
|
345
342
|
|
|
346
343
|
// Debugging
|
|
347
|
-
Root.Runtime.experiments.register('instrumentation-breakpoints', '
|
|
348
|
-
Root.Runtime.experiments.register('use-source-map-scopes', 'Use scope information from source maps'
|
|
344
|
+
Root.Runtime.experiments.register('instrumentation-breakpoints', 'Instrumentation breakpoints');
|
|
345
|
+
Root.Runtime.experiments.register('use-source-map-scopes', 'Use scope information from source maps');
|
|
349
346
|
|
|
350
347
|
// Advanced Perceptual Contrast Algorithm.
|
|
351
348
|
Root.Runtime.experiments.register(
|
|
352
|
-
'apca',
|
|
353
|
-
'
|
|
354
|
-
undefined, 'https://developer.chrome.com/blog/new-in-devtools-89/#apca');
|
|
349
|
+
'apca', 'Advanced Perceptual Contrast Algorithm (APCA) replacing previous contrast ratio and AA/AAA guidelines',
|
|
350
|
+
'https://developer.chrome.com/blog/new-in-devtools-89/#apca');
|
|
355
351
|
|
|
356
352
|
// Full Accessibility Tree
|
|
357
353
|
Root.Runtime.experiments.register(
|
|
358
|
-
'full-accessibility-tree', '
|
|
354
|
+
'full-accessibility-tree', 'Full accessibility tree view in the Elements panel',
|
|
359
355
|
'https://developer.chrome.com/blog/new-in-devtools-90/#accessibility-tree',
|
|
360
356
|
'https://g.co/devtools/a11y-tree-feedback');
|
|
361
357
|
|
|
362
358
|
// Font Editor
|
|
363
359
|
Root.Runtime.experiments.register(
|
|
364
|
-
'font-editor', '
|
|
360
|
+
'font-editor', 'New font editor in the Styles tab',
|
|
365
361
|
'https://developer.chrome.com/blog/new-in-devtools-89/#font');
|
|
366
362
|
|
|
367
363
|
// Contrast issues reported via the Issues panel.
|
|
368
364
|
Root.Runtime.experiments.register(
|
|
369
|
-
'contrast-issues', '
|
|
365
|
+
'contrast-issues', 'Automatic contrast issue reporting via the Issues panel',
|
|
370
366
|
'https://developer.chrome.com/blog/new-in-devtools-90/#low-contrast');
|
|
371
367
|
|
|
372
368
|
// New cookie features.
|
|
373
|
-
Root.Runtime.experiments.register('experimental-cookie-features', '
|
|
369
|
+
Root.Runtime.experiments.register('experimental-cookie-features', 'Experimental cookie features');
|
|
374
370
|
|
|
375
371
|
// Change grouping of sources panel to use Authored/Deployed trees
|
|
376
372
|
Root.Runtime.experiments.register(
|
|
377
373
|
Root.Runtime.ExperimentName.AUTHORED_DEPLOYED_GROUPING, 'Group sources into authored and deployed trees',
|
|
378
|
-
|
|
374
|
+
'https://goo.gle/authored-deployed', 'https://goo.gle/authored-deployed-feedback');
|
|
379
375
|
|
|
380
376
|
// Hide third party code (as determined by ignore lists or source maps)
|
|
381
377
|
Root.Runtime.experiments.register(
|
|
@@ -413,6 +409,7 @@ export class MainImpl {
|
|
|
413
409
|
}
|
|
414
410
|
}
|
|
415
411
|
}
|
|
412
|
+
|
|
416
413
|
async #createAppUI(): Promise<void> {
|
|
417
414
|
MainImpl.time('Main._createAppUI');
|
|
418
415
|
|
|
@@ -66,7 +66,7 @@ inspectorBackend.registerType("Animation.KeyframesRule", [{"name": "name", "type
|
|
|
66
66
|
inspectorBackend.registerType("Animation.KeyframeStyle", [{"name": "offset", "type": "string", "optional": false, "description": "Keyframe's time offset.", "typeRef": null}, {"name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null}]);
|
|
67
67
|
|
|
68
68
|
// Audits.
|
|
69
|
-
inspectorBackend.registerEnum("Audits.CookieExclusionReason", {ExcludeSameSiteUnspecifiedTreatedAsLax: "ExcludeSameSiteUnspecifiedTreatedAsLax", ExcludeSameSiteNoneInsecure: "ExcludeSameSiteNoneInsecure", ExcludeSameSiteLax: "ExcludeSameSiteLax", ExcludeSameSiteStrict: "ExcludeSameSiteStrict",
|
|
69
|
+
inspectorBackend.registerEnum("Audits.CookieExclusionReason", {ExcludeSameSiteUnspecifiedTreatedAsLax: "ExcludeSameSiteUnspecifiedTreatedAsLax", ExcludeSameSiteNoneInsecure: "ExcludeSameSiteNoneInsecure", ExcludeSameSiteLax: "ExcludeSameSiteLax", ExcludeSameSiteStrict: "ExcludeSameSiteStrict", ExcludeDomainNonASCII: "ExcludeDomainNonASCII", ExcludeThirdPartyCookieBlockedInFirstPartySet: "ExcludeThirdPartyCookieBlockedInFirstPartySet", ExcludeThirdPartyPhaseout: "ExcludeThirdPartyPhaseout", ExcludePortMismatch: "ExcludePortMismatch", ExcludeSchemeMismatch: "ExcludeSchemeMismatch"});
|
|
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"});
|
|
@@ -773,8 +773,8 @@ inspectorBackend.registerEnum("Network.TrustTokenOperationType", {Issuance: "Iss
|
|
|
773
773
|
inspectorBackend.registerEnum("Network.AlternateProtocolUsage", {AlternativeJobWonWithoutRace: "alternativeJobWonWithoutRace", AlternativeJobWonRace: "alternativeJobWonRace", MainJobWonRace: "mainJobWonRace", MappingMissing: "mappingMissing", Broken: "broken", DnsAlpnH3JobWonWithoutRace: "dnsAlpnH3JobWonWithoutRace", DnsAlpnH3JobWonRace: "dnsAlpnH3JobWonRace", UnspecifiedReason: "unspecifiedReason"});
|
|
774
774
|
inspectorBackend.registerEnum("Network.ServiceWorkerRouterSource", {Network: "network", Cache: "cache", FetchEvent: "fetch-event", RaceNetworkAndFetchHandler: "race-network-and-fetch-handler", RaceNetworkAndCache: "race-network-and-cache"});
|
|
775
775
|
inspectorBackend.registerEnum("Network.InitiatorType", {Parser: "parser", Script: "script", Preload: "preload", SignedExchange: "SignedExchange", Preflight: "preflight", FedCM: "FedCM", Other: "other"});
|
|
776
|
-
inspectorBackend.registerEnum("Network.SetCookieBlockedReason", {SecureOnly: "SecureOnly", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", SyntaxError: "SyntaxError", SchemeNotSupported: "SchemeNotSupported", OverwriteSecure: "OverwriteSecure", InvalidDomain: "InvalidDomain", InvalidPrefix: "InvalidPrefix", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax",
|
|
777
|
-
inspectorBackend.registerEnum("Network.CookieBlockedReason", {SecureOnly: "SecureOnly", NotOnPath: "NotOnPath", DomainMismatch: "DomainMismatch", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax",
|
|
776
|
+
inspectorBackend.registerEnum("Network.SetCookieBlockedReason", {SecureOnly: "SecureOnly", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", SyntaxError: "SyntaxError", SchemeNotSupported: "SchemeNotSupported", OverwriteSecure: "OverwriteSecure", InvalidDomain: "InvalidDomain", InvalidPrefix: "InvalidPrefix", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", DisallowedCharacter: "DisallowedCharacter", NoCookieContent: "NoCookieContent"});
|
|
777
|
+
inspectorBackend.registerEnum("Network.CookieBlockedReason", {SecureOnly: "SecureOnly", NotOnPath: "NotOnPath", DomainMismatch: "DomainMismatch", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", PortMismatch: "PortMismatch", SchemeMismatch: "SchemeMismatch", AnonymousContext: "AnonymousContext"});
|
|
778
778
|
inspectorBackend.registerEnum("Network.CookieExemptionReason", {None: "None", UserSetting: "UserSetting", TPCDMetadata: "TPCDMetadata", TPCDDeprecationTrial: "TPCDDeprecationTrial", TopLevelTPCDDeprecationTrial: "TopLevelTPCDDeprecationTrial", TPCDHeuristics: "TPCDHeuristics", EnterprisePolicy: "EnterprisePolicy", StorageAccess: "StorageAccess", TopLevelStorageAccess: "TopLevelStorageAccess", Scheme: "Scheme", SameSiteNoneCookiesInSandbox: "SameSiteNoneCookiesInSandbox"});
|
|
779
779
|
inspectorBackend.registerEnum("Network.AuthChallengeSource", {Server: "Server", Proxy: "Proxy"});
|
|
780
780
|
inspectorBackend.registerEnum("Network.AuthChallengeResponseResponse", {Default: "Default", CancelAuth: "CancelAuth", ProvideCredentials: "ProvideCredentials"});
|
|
@@ -865,7 +865,7 @@ inspectorBackend.registerCommand("Network.searchInResponseBody", [{"name": "requ
|
|
|
865
865
|
inspectorBackend.registerCommand("Network.setBlockedURLs", [{"name": "urlPatterns", "type": "array", "optional": true, "description": "Patterns to match in the order in which they are given. These patterns also take precedence over any wildcard patterns defined in `urls`.", "typeRef": "Network.BlockPattern"}, {"name": "urls", "type": "array", "optional": true, "description": "URL patterns to block. Wildcards ('*') are allowed.", "typeRef": "string"}], [], "Blocks URLs from loading.");
|
|
866
866
|
inspectorBackend.registerCommand("Network.setBypassServiceWorker", [{"name": "bypass", "type": "boolean", "optional": false, "description": "Bypass service worker and load from network.", "typeRef": null}], [], "Toggles ignoring of service worker for each request.");
|
|
867
867
|
inspectorBackend.registerCommand("Network.setCacheDisabled", [{"name": "cacheDisabled", "type": "boolean", "optional": false, "description": "Cache disabled state.", "typeRef": null}], [], "Toggles ignoring cache for each request. If `true`, cache will not be used.");
|
|
868
|
-
inspectorBackend.registerCommand("Network.setCookie", [{"name": "name", "type": "string", "optional": false, "description": "Cookie name.", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "Cookie value.", "typeRef": null}, {"name": "url", "type": "string", "optional": true, "description": "The request-URI to associate with the setting of the cookie. This value can affect the default domain, path, source port, and source scheme values of the created cookie.", "typeRef": null}, {"name": "domain", "type": "string", "optional": true, "description": "Cookie domain.", "typeRef": null}, {"name": "path", "type": "string", "optional": true, "description": "Cookie path.", "typeRef": null}, {"name": "secure", "type": "boolean", "optional": true, "description": "True if cookie is secure.", "typeRef": null}, {"name": "httpOnly", "type": "boolean", "optional": true, "description": "True if cookie is http-only.", "typeRef": null}, {"name": "sameSite", "type": "string", "optional": true, "description": "Cookie SameSite type.", "typeRef": "Network.CookieSameSite"}, {"name": "expires", "type": "number", "optional": true, "description": "Cookie expiration date, session cookie if not set", "typeRef": "Network.TimeSinceEpoch"}, {"name": "priority", "type": "string", "optional": true, "description": "Cookie Priority type.", "typeRef": "Network.CookiePriority"}, {"name": "
|
|
868
|
+
inspectorBackend.registerCommand("Network.setCookie", [{"name": "name", "type": "string", "optional": false, "description": "Cookie name.", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "Cookie value.", "typeRef": null}, {"name": "url", "type": "string", "optional": true, "description": "The request-URI to associate with the setting of the cookie. This value can affect the default domain, path, source port, and source scheme values of the created cookie.", "typeRef": null}, {"name": "domain", "type": "string", "optional": true, "description": "Cookie domain.", "typeRef": null}, {"name": "path", "type": "string", "optional": true, "description": "Cookie path.", "typeRef": null}, {"name": "secure", "type": "boolean", "optional": true, "description": "True if cookie is secure.", "typeRef": null}, {"name": "httpOnly", "type": "boolean", "optional": true, "description": "True if cookie is http-only.", "typeRef": null}, {"name": "sameSite", "type": "string", "optional": true, "description": "Cookie SameSite type.", "typeRef": "Network.CookieSameSite"}, {"name": "expires", "type": "number", "optional": true, "description": "Cookie expiration date, session cookie if not set", "typeRef": "Network.TimeSinceEpoch"}, {"name": "priority", "type": "string", "optional": true, "description": "Cookie Priority type.", "typeRef": "Network.CookiePriority"}, {"name": "sourceScheme", "type": "string", "optional": true, "description": "Cookie source scheme type.", "typeRef": "Network.CookieSourceScheme"}, {"name": "sourcePort", "type": "number", "optional": true, "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port. An unspecified port value allows protocol clients to emulate legacy cookie scope for the port. This is a temporary ability and it will be removed in the future.", "typeRef": null}, {"name": "partitionKey", "type": "object", "optional": true, "description": "Cookie partition key. If not set, the cookie will be set as not partitioned.", "typeRef": "Network.CookiePartitionKey"}], ["success"], "Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.");
|
|
869
869
|
inspectorBackend.registerCommand("Network.setCookies", [{"name": "cookies", "type": "array", "optional": false, "description": "Cookies to be set.", "typeRef": "Network.CookieParam"}], [], "Sets given cookies.");
|
|
870
870
|
inspectorBackend.registerCommand("Network.setExtraHTTPHeaders", [{"name": "headers", "type": "object", "optional": false, "description": "Map with extra HTTP headers.", "typeRef": "Network.Headers"}], [], "Specifies whether to always send extra HTTP headers with the requests from this page.");
|
|
871
871
|
inspectorBackend.registerCommand("Network.setAttachDebugStack", [{"name": "enabled", "type": "boolean", "optional": false, "description": "Whether to attach a page script stack for debugging purpose.", "typeRef": null}], [], "Specifies whether to attach a page script stack id in requests");
|
|
@@ -893,11 +893,11 @@ inspectorBackend.registerType("Network.WebSocketFrame", [{"name": "opcode", "typ
|
|
|
893
893
|
inspectorBackend.registerType("Network.CachedResource", [{"name": "url", "type": "string", "optional": false, "description": "Resource URL. This is the url of the original network request.", "typeRef": null}, {"name": "type", "type": "string", "optional": false, "description": "Type of this resource.", "typeRef": "Network.ResourceType"}, {"name": "response", "type": "object", "optional": true, "description": "Cached response data.", "typeRef": "Network.Response"}, {"name": "bodySize", "type": "number", "optional": false, "description": "Cached response body size.", "typeRef": null}]);
|
|
894
894
|
inspectorBackend.registerType("Network.Initiator", [{"name": "type", "type": "string", "optional": false, "description": "Type of this initiator.", "typeRef": null}, {"name": "stack", "type": "object", "optional": true, "description": "Initiator JavaScript stack trace, set for Script only. Requires the Debugger domain to be enabled.", "typeRef": "Runtime.StackTrace"}, {"name": "url", "type": "string", "optional": true, "description": "Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.", "typeRef": null}, {"name": "lineNumber", "type": "number", "optional": true, "description": "Initiator line number, set for Parser type or for Script type (when script is importing module) (0-based).", "typeRef": null}, {"name": "columnNumber", "type": "number", "optional": true, "description": "Initiator column number, set for Parser type or for Script type (when script is importing module) (0-based).", "typeRef": null}, {"name": "requestId", "type": "string", "optional": true, "description": "Set if another request triggered this request (e.g. preflight).", "typeRef": "Network.RequestId"}]);
|
|
895
895
|
inspectorBackend.registerType("Network.CookiePartitionKey", [{"name": "topLevelSite", "type": "string", "optional": false, "description": "The site of the top-level URL the browser was visiting at the start of the request to the endpoint that set the cookie.", "typeRef": null}, {"name": "hasCrossSiteAncestor", "type": "boolean", "optional": false, "description": "Indicates if the cookie has any ancestors that are cross-site to the topLevelSite.", "typeRef": null}]);
|
|
896
|
-
inspectorBackend.registerType("Network.Cookie", [{"name": "name", "type": "string", "optional": false, "description": "Cookie name.", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "Cookie value.", "typeRef": null}, {"name": "domain", "type": "string", "optional": false, "description": "Cookie domain.", "typeRef": null}, {"name": "path", "type": "string", "optional": false, "description": "Cookie path.", "typeRef": null}, {"name": "expires", "type": "number", "optional": false, "description": "Cookie expiration date as the number of seconds since the UNIX epoch. The value is set to -1 if the expiry date is not set. The value can be null for values that cannot be represented in JSON (\u00b1Inf).", "typeRef": null}, {"name": "size", "type": "number", "optional": false, "description": "Cookie size.", "typeRef": null}, {"name": "httpOnly", "type": "boolean", "optional": false, "description": "True if cookie is http-only.", "typeRef": null}, {"name": "secure", "type": "boolean", "optional": false, "description": "True if cookie is secure.", "typeRef": null}, {"name": "session", "type": "boolean", "optional": false, "description": "True in case of session cookie.", "typeRef": null}, {"name": "sameSite", "type": "string", "optional": true, "description": "Cookie SameSite type.", "typeRef": "Network.CookieSameSite"}, {"name": "priority", "type": "string", "optional": false, "description": "Cookie Priority", "typeRef": "Network.CookiePriority"}, {"name": "
|
|
896
|
+
inspectorBackend.registerType("Network.Cookie", [{"name": "name", "type": "string", "optional": false, "description": "Cookie name.", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "Cookie value.", "typeRef": null}, {"name": "domain", "type": "string", "optional": false, "description": "Cookie domain.", "typeRef": null}, {"name": "path", "type": "string", "optional": false, "description": "Cookie path.", "typeRef": null}, {"name": "expires", "type": "number", "optional": false, "description": "Cookie expiration date as the number of seconds since the UNIX epoch. The value is set to -1 if the expiry date is not set. The value can be null for values that cannot be represented in JSON (\u00b1Inf).", "typeRef": null}, {"name": "size", "type": "number", "optional": false, "description": "Cookie size.", "typeRef": null}, {"name": "httpOnly", "type": "boolean", "optional": false, "description": "True if cookie is http-only.", "typeRef": null}, {"name": "secure", "type": "boolean", "optional": false, "description": "True if cookie is secure.", "typeRef": null}, {"name": "session", "type": "boolean", "optional": false, "description": "True in case of session cookie.", "typeRef": null}, {"name": "sameSite", "type": "string", "optional": true, "description": "Cookie SameSite type.", "typeRef": "Network.CookieSameSite"}, {"name": "priority", "type": "string", "optional": false, "description": "Cookie Priority", "typeRef": "Network.CookiePriority"}, {"name": "sourceScheme", "type": "string", "optional": false, "description": "Cookie source scheme type.", "typeRef": "Network.CookieSourceScheme"}, {"name": "sourcePort", "type": "number", "optional": false, "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port. An unspecified port value allows protocol clients to emulate legacy cookie scope for the port. This is a temporary ability and it will be removed in the future.", "typeRef": null}, {"name": "partitionKey", "type": "object", "optional": true, "description": "Cookie partition key.", "typeRef": "Network.CookiePartitionKey"}, {"name": "partitionKeyOpaque", "type": "boolean", "optional": true, "description": "True if cookie partition key is opaque.", "typeRef": null}]);
|
|
897
897
|
inspectorBackend.registerType("Network.BlockedSetCookieWithReason", [{"name": "blockedReasons", "type": "array", "optional": false, "description": "The reason(s) this cookie was blocked.", "typeRef": "Network.SetCookieBlockedReason"}, {"name": "cookieLine", "type": "string", "optional": false, "description": "The string representing this individual cookie as it would appear in the header. This is not the entire \\\"cookie\\\" or \\\"set-cookie\\\" header which could have multiple cookies.", "typeRef": null}, {"name": "cookie", "type": "object", "optional": true, "description": "The cookie object which represents the cookie which was not stored. It is optional because sometimes complete cookie information is not available, such as in the case of parsing errors.", "typeRef": "Network.Cookie"}]);
|
|
898
898
|
inspectorBackend.registerType("Network.ExemptedSetCookieWithReason", [{"name": "exemptionReason", "type": "string", "optional": false, "description": "The reason the cookie was exempted.", "typeRef": "Network.CookieExemptionReason"}, {"name": "cookieLine", "type": "string", "optional": false, "description": "The string representing this individual cookie as it would appear in the header.", "typeRef": null}, {"name": "cookie", "type": "object", "optional": false, "description": "The cookie object representing the cookie.", "typeRef": "Network.Cookie"}]);
|
|
899
899
|
inspectorBackend.registerType("Network.AssociatedCookie", [{"name": "cookie", "type": "object", "optional": false, "description": "The cookie object representing the cookie which was not sent.", "typeRef": "Network.Cookie"}, {"name": "blockedReasons", "type": "array", "optional": false, "description": "The reason(s) the cookie was blocked. If empty means the cookie is included.", "typeRef": "Network.CookieBlockedReason"}, {"name": "exemptionReason", "type": "string", "optional": true, "description": "The reason the cookie should have been blocked by 3PCD but is exempted. A cookie could only have at most one exemption reason.", "typeRef": "Network.CookieExemptionReason"}]);
|
|
900
|
-
inspectorBackend.registerType("Network.CookieParam", [{"name": "name", "type": "string", "optional": false, "description": "Cookie name.", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "Cookie value.", "typeRef": null}, {"name": "url", "type": "string", "optional": true, "description": "The request-URI to associate with the setting of the cookie. This value can affect the default domain, path, source port, and source scheme values of the created cookie.", "typeRef": null}, {"name": "domain", "type": "string", "optional": true, "description": "Cookie domain.", "typeRef": null}, {"name": "path", "type": "string", "optional": true, "description": "Cookie path.", "typeRef": null}, {"name": "secure", "type": "boolean", "optional": true, "description": "True if cookie is secure.", "typeRef": null}, {"name": "httpOnly", "type": "boolean", "optional": true, "description": "True if cookie is http-only.", "typeRef": null}, {"name": "sameSite", "type": "string", "optional": true, "description": "Cookie SameSite type.", "typeRef": "Network.CookieSameSite"}, {"name": "expires", "type": "number", "optional": true, "description": "Cookie expiration date, session cookie if not set", "typeRef": "Network.TimeSinceEpoch"}, {"name": "priority", "type": "string", "optional": true, "description": "Cookie Priority.", "typeRef": "Network.CookiePriority"}, {"name": "
|
|
900
|
+
inspectorBackend.registerType("Network.CookieParam", [{"name": "name", "type": "string", "optional": false, "description": "Cookie name.", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "Cookie value.", "typeRef": null}, {"name": "url", "type": "string", "optional": true, "description": "The request-URI to associate with the setting of the cookie. This value can affect the default domain, path, source port, and source scheme values of the created cookie.", "typeRef": null}, {"name": "domain", "type": "string", "optional": true, "description": "Cookie domain.", "typeRef": null}, {"name": "path", "type": "string", "optional": true, "description": "Cookie path.", "typeRef": null}, {"name": "secure", "type": "boolean", "optional": true, "description": "True if cookie is secure.", "typeRef": null}, {"name": "httpOnly", "type": "boolean", "optional": true, "description": "True if cookie is http-only.", "typeRef": null}, {"name": "sameSite", "type": "string", "optional": true, "description": "Cookie SameSite type.", "typeRef": "Network.CookieSameSite"}, {"name": "expires", "type": "number", "optional": true, "description": "Cookie expiration date, session cookie if not set", "typeRef": "Network.TimeSinceEpoch"}, {"name": "priority", "type": "string", "optional": true, "description": "Cookie Priority.", "typeRef": "Network.CookiePriority"}, {"name": "sourceScheme", "type": "string", "optional": true, "description": "Cookie source scheme type.", "typeRef": "Network.CookieSourceScheme"}, {"name": "sourcePort", "type": "number", "optional": true, "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port. An unspecified port value allows protocol clients to emulate legacy cookie scope for the port. This is a temporary ability and it will be removed in the future.", "typeRef": null}, {"name": "partitionKey", "type": "object", "optional": true, "description": "Cookie partition key. If not set, the cookie will be set as not partitioned.", "typeRef": "Network.CookiePartitionKey"}]);
|
|
901
901
|
inspectorBackend.registerType("Network.AuthChallenge", [{"name": "source", "type": "string", "optional": true, "description": "Source of the authentication challenge.", "typeRef": null}, {"name": "origin", "type": "string", "optional": false, "description": "Origin of the challenger.", "typeRef": null}, {"name": "scheme", "type": "string", "optional": false, "description": "The authentication scheme used, such as basic or digest", "typeRef": null}, {"name": "realm", "type": "string", "optional": false, "description": "The realm of the challenge. May be empty.", "typeRef": null}]);
|
|
902
902
|
inspectorBackend.registerType("Network.AuthChallengeResponse", [{"name": "response", "type": "string", "optional": false, "description": "The decision on what to do in response to the authorization challenge. Default means deferring to the default behavior of the net stack, which will likely either the Cancel authentication or display a popup dialog box.", "typeRef": null}, {"name": "username", "type": "string", "optional": true, "description": "The username to provide, possibly empty. Should only be set if response is ProvideCredentials.", "typeRef": null}, {"name": "password", "type": "string", "optional": true, "description": "The password to provide, possibly empty. Should only be set if response is ProvideCredentials.", "typeRef": null}]);
|
|
903
903
|
inspectorBackend.registerType("Network.RequestPattern", [{"name": "urlPattern", "type": "string", "optional": true, "description": "Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is backslash. Omitting is equivalent to `\\\"*\\\"`.", "typeRef": null}, {"name": "resourceType", "type": "string", "optional": true, "description": "If set, only requests for matching resource types will be intercepted.", "typeRef": "Network.ResourceType"}, {"name": "interceptionStage", "type": "string", "optional": true, "description": "Stage at which to begin intercepting requests. Default is Request.", "typeRef": "Network.InterceptionStage"}]);
|
|
@@ -474,6 +474,7 @@ export const generatedProperties = [
|
|
|
474
474
|
"float",
|
|
475
475
|
"flood-color",
|
|
476
476
|
"flood-opacity",
|
|
477
|
+
"flow-tolerance",
|
|
477
478
|
"font-display",
|
|
478
479
|
"font-family",
|
|
479
480
|
"font-feature-settings",
|
|
@@ -532,7 +533,6 @@ export const generatedProperties = [
|
|
|
532
533
|
"interest-delay-start",
|
|
533
534
|
"interpolate-size",
|
|
534
535
|
"isolation",
|
|
535
|
-
"item-tolerance",
|
|
536
536
|
"justify-content",
|
|
537
537
|
"justify-items",
|
|
538
538
|
"justify-self",
|
|
@@ -2308,6 +2308,13 @@ export const generatedProperties = [
|
|
|
2308
2308
|
{
|
|
2309
2309
|
"name": "flood-opacity"
|
|
2310
2310
|
},
|
|
2311
|
+
{
|
|
2312
|
+
"keywords": [
|
|
2313
|
+
"normal",
|
|
2314
|
+
"infinite"
|
|
2315
|
+
],
|
|
2316
|
+
"name": "flow-tolerance"
|
|
2317
|
+
},
|
|
2311
2318
|
{
|
|
2312
2319
|
"inherited": true,
|
|
2313
2320
|
"longhands": [
|
|
@@ -2881,13 +2888,6 @@ export const generatedProperties = [
|
|
|
2881
2888
|
],
|
|
2882
2889
|
"name": "isolation"
|
|
2883
2890
|
},
|
|
2884
|
-
{
|
|
2885
|
-
"keywords": [
|
|
2886
|
-
"normal",
|
|
2887
|
-
"infinite"
|
|
2888
|
-
],
|
|
2889
|
-
"name": "item-tolerance"
|
|
2890
|
-
},
|
|
2891
2891
|
{
|
|
2892
2892
|
"name": "justify-content"
|
|
2893
2893
|
},
|
|
@@ -5835,6 +5835,12 @@ export const generatedPropertyValues = {
|
|
|
5835
5835
|
"currentcolor"
|
|
5836
5836
|
]
|
|
5837
5837
|
},
|
|
5838
|
+
"flow-tolerance": {
|
|
5839
|
+
"values": [
|
|
5840
|
+
"normal",
|
|
5841
|
+
"infinite"
|
|
5842
|
+
]
|
|
5843
|
+
},
|
|
5838
5844
|
"font-feature-settings": {
|
|
5839
5845
|
"values": [
|
|
5840
5846
|
"normal"
|
|
@@ -6156,12 +6162,6 @@ export const generatedPropertyValues = {
|
|
|
6156
6162
|
"isolate"
|
|
6157
6163
|
]
|
|
6158
6164
|
},
|
|
6159
|
-
"item-tolerance": {
|
|
6160
|
-
"values": [
|
|
6161
|
-
"normal",
|
|
6162
|
-
"infinite"
|
|
6163
|
-
]
|
|
6164
|
-
},
|
|
6165
6165
|
"left": {
|
|
6166
6166
|
"values": [
|
|
6167
6167
|
"auto"
|
|
@@ -771,8 +771,6 @@ export namespace Audits {
|
|
|
771
771
|
ExcludeSameSiteNoneInsecure = 'ExcludeSameSiteNoneInsecure',
|
|
772
772
|
ExcludeSameSiteLax = 'ExcludeSameSiteLax',
|
|
773
773
|
ExcludeSameSiteStrict = 'ExcludeSameSiteStrict',
|
|
774
|
-
ExcludeInvalidSameParty = 'ExcludeInvalidSameParty',
|
|
775
|
-
ExcludeSamePartyCrossPartyContext = 'ExcludeSamePartyCrossPartyContext',
|
|
776
774
|
ExcludeDomainNonASCII = 'ExcludeDomainNonASCII',
|
|
777
775
|
ExcludeThirdPartyCookieBlockedInFirstPartySet = 'ExcludeThirdPartyCookieBlockedInFirstPartySet',
|
|
778
776
|
ExcludeThirdPartyPhaseout = 'ExcludeThirdPartyPhaseout',
|
|
@@ -10673,11 +10671,6 @@ export namespace Network {
|
|
|
10673
10671
|
* Cookie Priority
|
|
10674
10672
|
*/
|
|
10675
10673
|
priority: CookiePriority;
|
|
10676
|
-
/**
|
|
10677
|
-
* True if cookie is SameParty.
|
|
10678
|
-
* @deprecated
|
|
10679
|
-
*/
|
|
10680
|
-
sameParty: boolean;
|
|
10681
10674
|
/**
|
|
10682
10675
|
* Cookie source scheme type.
|
|
10683
10676
|
*/
|
|
@@ -10719,8 +10712,6 @@ export namespace Network {
|
|
|
10719
10712
|
SchemefulSameSiteStrict = 'SchemefulSameSiteStrict',
|
|
10720
10713
|
SchemefulSameSiteLax = 'SchemefulSameSiteLax',
|
|
10721
10714
|
SchemefulSameSiteUnspecifiedTreatedAsLax = 'SchemefulSameSiteUnspecifiedTreatedAsLax',
|
|
10722
|
-
SamePartyFromCrossPartyContext = 'SamePartyFromCrossPartyContext',
|
|
10723
|
-
SamePartyConflictsWithOtherAttributes = 'SamePartyConflictsWithOtherAttributes',
|
|
10724
10715
|
NameValuePairExceedsMaxSize = 'NameValuePairExceedsMaxSize',
|
|
10725
10716
|
DisallowedCharacter = 'DisallowedCharacter',
|
|
10726
10717
|
NoCookieContent = 'NoCookieContent',
|
|
@@ -10744,7 +10735,6 @@ export namespace Network {
|
|
|
10744
10735
|
SchemefulSameSiteStrict = 'SchemefulSameSiteStrict',
|
|
10745
10736
|
SchemefulSameSiteLax = 'SchemefulSameSiteLax',
|
|
10746
10737
|
SchemefulSameSiteUnspecifiedTreatedAsLax = 'SchemefulSameSiteUnspecifiedTreatedAsLax',
|
|
10747
|
-
SamePartyFromCrossPartyContext = 'SamePartyFromCrossPartyContext',
|
|
10748
10738
|
NameValuePairExceedsMaxSize = 'NameValuePairExceedsMaxSize',
|
|
10749
10739
|
PortMismatch = 'PortMismatch',
|
|
10750
10740
|
SchemeMismatch = 'SchemeMismatch',
|
|
@@ -10873,10 +10863,6 @@ export namespace Network {
|
|
|
10873
10863
|
* Cookie Priority.
|
|
10874
10864
|
*/
|
|
10875
10865
|
priority?: CookiePriority;
|
|
10876
|
-
/**
|
|
10877
|
-
* True if cookie is SameParty.
|
|
10878
|
-
*/
|
|
10879
|
-
sameParty?: boolean;
|
|
10880
10866
|
/**
|
|
10881
10867
|
* Cookie source scheme type.
|
|
10882
10868
|
*/
|
|
@@ -12088,10 +12074,6 @@ export namespace Network {
|
|
|
12088
12074
|
* Cookie Priority type.
|
|
12089
12075
|
*/
|
|
12090
12076
|
priority?: CookiePriority;
|
|
12091
|
-
/**
|
|
12092
|
-
* True if cookie is SameParty.
|
|
12093
|
-
*/
|
|
12094
|
-
sameParty?: boolean;
|
|
12095
12077
|
/**
|
|
12096
12078
|
* Cookie source scheme type.
|
|
12097
12079
|
*/
|
|
@@ -97,6 +97,7 @@ export class PatchAgent extends AiAgent<Workspace.Workspace.Project> {
|
|
|
97
97
|
description: '',
|
|
98
98
|
nullable: true,
|
|
99
99
|
properties: {},
|
|
100
|
+
required: [],
|
|
100
101
|
},
|
|
101
102
|
handler: async () => {
|
|
102
103
|
const files = this.#project.getFiles();
|
|
@@ -143,9 +144,10 @@ export class PatchAgent extends AiAgent<Workspace.Workspace.Project> {
|
|
|
143
144
|
isRegex: {
|
|
144
145
|
type: Host.AidaClient.ParametersTypes.BOOLEAN,
|
|
145
146
|
description: 'Whether the query is a regular expression or not',
|
|
146
|
-
nullable:
|
|
147
|
+
nullable: false,
|
|
147
148
|
}
|
|
148
149
|
},
|
|
150
|
+
required: ['query']
|
|
149
151
|
},
|
|
150
152
|
handler: async (args, options) => {
|
|
151
153
|
return {
|
|
@@ -182,6 +184,7 @@ export class PatchAgent extends AiAgent<Workspace.Workspace.Project> {
|
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
186
|
},
|
|
187
|
+
required: ['files']
|
|
185
188
|
},
|
|
186
189
|
handler: async (args, options) => {
|
|
187
190
|
debugLog('updateFiles', args.files);
|
|
@@ -782,6 +782,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
782
782
|
nullable: false,
|
|
783
783
|
}
|
|
784
784
|
},
|
|
785
|
+
required: ['insightSetId', 'insightName']
|
|
785
786
|
},
|
|
786
787
|
displayInfoFromArgs: params => {
|
|
787
788
|
return {
|
|
@@ -829,6 +830,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
829
830
|
nullable: false,
|
|
830
831
|
}
|
|
831
832
|
},
|
|
833
|
+
required: ['eventKey']
|
|
832
834
|
},
|
|
833
835
|
displayInfoFromArgs: params => {
|
|
834
836
|
return {title: lockedString('Looking at trace event…'), action: `getEventByKey('${params.eventKey}')`};
|
|
@@ -886,6 +888,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
886
888
|
nullable: false,
|
|
887
889
|
},
|
|
888
890
|
},
|
|
891
|
+
required: ['min', 'max']
|
|
889
892
|
},
|
|
890
893
|
displayInfoFromArgs: args => {
|
|
891
894
|
return {
|
|
@@ -943,6 +946,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
943
946
|
nullable: false,
|
|
944
947
|
},
|
|
945
948
|
},
|
|
949
|
+
required: ['min', 'max']
|
|
946
950
|
},
|
|
947
951
|
displayInfoFromArgs: args => {
|
|
948
952
|
return {
|
|
@@ -993,6 +997,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
993
997
|
nullable: false,
|
|
994
998
|
},
|
|
995
999
|
},
|
|
1000
|
+
required: ['eventKey']
|
|
996
1001
|
},
|
|
997
1002
|
displayInfoFromArgs: args => {
|
|
998
1003
|
return {title: lockedString('Looking at call tree…'), action: `getDetailedCallTree('${args.eventKey}')`};
|
|
@@ -1046,7 +1051,9 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
1046
1051
|
description: 'The message the annotation should show to the user.',
|
|
1047
1052
|
nullable: false,
|
|
1048
1053
|
},
|
|
1054
|
+
|
|
1049
1055
|
},
|
|
1056
|
+
required: ['elementId', 'annotationMessage']
|
|
1050
1057
|
},
|
|
1051
1058
|
handler: async params => {
|
|
1052
1059
|
return await this.addElementAnnotation(params.elementId, params.annotationMessage);
|
|
@@ -1077,6 +1084,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
1077
1084
|
nullable: false,
|
|
1078
1085
|
},
|
|
1079
1086
|
},
|
|
1087
|
+
required: ['eventKey', 'annotationMessage']
|
|
1080
1088
|
},
|
|
1081
1089
|
handler: async params => {
|
|
1082
1090
|
return await this.addNetworkRequestAnnotation(params.eventKey, params.annotationMessage);
|
|
@@ -1108,6 +1116,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
1108
1116
|
nullable: false,
|
|
1109
1117
|
},
|
|
1110
1118
|
},
|
|
1119
|
+
required: ['scriptUrl', 'line', 'column']
|
|
1111
1120
|
},
|
|
1112
1121
|
displayInfoFromArgs: args => {
|
|
1113
1122
|
return {
|
|
@@ -1166,6 +1175,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
1166
1175
|
nullable: false,
|
|
1167
1176
|
},
|
|
1168
1177
|
},
|
|
1178
|
+
required: ['url']
|
|
1169
1179
|
},
|
|
1170
1180
|
displayInfoFromArgs: args => {
|
|
1171
1181
|
return {title: lockedString('Looking at resource content…'), action: `getResourceContent('${args.url}')`};
|
|
@@ -1220,6 +1230,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
1220
1230
|
nullable: false,
|
|
1221
1231
|
}
|
|
1222
1232
|
},
|
|
1233
|
+
required: ['eventKey']
|
|
1223
1234
|
},
|
|
1224
1235
|
displayInfoFromArgs: params => {
|
|
1225
1236
|
return {title: lockedString('Selecting event…'), action: `selectEventByKey('${params.eventKey}')`};
|
|
@@ -1281,6 +1292,7 @@ export class PerformanceAgent extends AiAgent<AgentFocus> {
|
|
|
1281
1292
|
nullable: true,
|
|
1282
1293
|
},
|
|
1283
1294
|
},
|
|
1295
|
+
required: ['type']
|
|
1284
1296
|
},
|
|
1285
1297
|
handler: async params => {
|
|
1286
1298
|
switch (params.type) {
|
|
@@ -86,7 +86,12 @@ Content:
|
|
|
86
86
|
"description": "A CSS style property name to retrieve. For example, 'background-color'."
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
}
|
|
89
|
+
},
|
|
90
|
+
"required": [
|
|
91
|
+
"explanation",
|
|
92
|
+
"elements",
|
|
93
|
+
"styleProperties"
|
|
94
|
+
]
|
|
90
95
|
}
|
|
91
96
|
},
|
|
92
97
|
{
|
|
@@ -109,7 +114,12 @@ Content:
|
|
|
109
114
|
"type": 1,
|
|
110
115
|
"description": "Provide a summary of what the code does. For example, \"Checking related element styles\"."
|
|
111
116
|
}
|
|
112
|
-
}
|
|
117
|
+
},
|
|
118
|
+
"required": [
|
|
119
|
+
"code",
|
|
120
|
+
"thought",
|
|
121
|
+
"title"
|
|
122
|
+
]
|
|
113
123
|
}
|
|
114
124
|
}
|
|
115
125
|
],
|
|
@@ -313,7 +313,8 @@ export class StylingAgent extends AiAgent<SDK.DOMModel.DOMNode> {
|
|
|
313
313
|
description: 'A CSS style property name to retrieve. For example, \'background-color\'.'
|
|
314
314
|
}
|
|
315
315
|
},
|
|
316
|
-
}
|
|
316
|
+
},
|
|
317
|
+
required: ['explanation', 'elements', 'styleProperties']
|
|
317
318
|
},
|
|
318
319
|
displayInfoFromArgs: params => {
|
|
319
320
|
return {
|
|
@@ -396,6 +397,7 @@ const data = {
|
|
|
396
397
|
description: 'Provide a summary of what the code does. For example, "Checking related element styles".',
|
|
397
398
|
},
|
|
398
399
|
},
|
|
400
|
+
required: ['code', 'thought', 'title']
|
|
399
401
|
},
|
|
400
402
|
displayInfoFromArgs: params => {
|
|
401
403
|
return {
|
|
@@ -436,6 +438,7 @@ const data = {
|
|
|
436
438
|
nullable: false,
|
|
437
439
|
},
|
|
438
440
|
},
|
|
441
|
+
required: ['elementId', 'annotationMessage']
|
|
439
442
|
},
|
|
440
443
|
handler: async params => {
|
|
441
444
|
return await this.addElementAnnotation(params.elementId, params.annotationMessage);
|
|
@@ -9,10 +9,6 @@
|
|
|
9
9
|
* They need remain isolated for importing other function so
|
|
10
10
|
* bundling them for production does not create issues.
|
|
11
11
|
*/
|
|
12
|
-
/* eslint-disable @devtools/no-adopted-style-sheets --
|
|
13
|
-
* The scripts in this file aren't executed as part of DevTools front-end,
|
|
14
|
-
* but are injected into the page.
|
|
15
|
-
**/
|
|
16
12
|
|
|
17
13
|
export const AI_ASSISTANCE_CSS_CLASS_NAME = 'ai-style-change';
|
|
18
14
|
export const FREESTYLER_WORLD_NAME = 'DevTools AI Assistance';
|
|
@@ -100,19 +96,9 @@ export const PAGE_EXPOSED_FUNCTIONS = ['setElementStyles'];
|
|
|
100
96
|
/**
|
|
101
97
|
* Please see fileoverview
|
|
102
98
|
*/
|
|
103
|
-
function setupSetElementStyles(prefix
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
freestyler: FreestylerBinding,
|
|
107
|
-
setElementStyles: unknown,
|
|
108
|
-
};
|
|
109
|
-
async function setElementStyles(
|
|
110
|
-
el: HTMLElement&{
|
|
111
|
-
// eslint-disable-next-line
|
|
112
|
-
__freestylerClassName?: `${typeof AI_ASSISTANCE_CSS_CLASS_NAME}-${number}`,
|
|
113
|
-
},
|
|
114
|
-
styles: Record<string, string>,
|
|
115
|
-
): Promise<void> {
|
|
99
|
+
const setupSetElementStyles = `function setupSetElementStyles(prefix) {
|
|
100
|
+
const global = globalThis;
|
|
101
|
+
async function setElementStyles(el, styles) {
|
|
116
102
|
let selector = el.tagName.toLowerCase();
|
|
117
103
|
if (el.id) {
|
|
118
104
|
selector = '#' + el.id;
|
|
@@ -131,7 +117,7 @@ function setupSetElementStyles(prefix: typeof AI_ASSISTANCE_CSS_CLASS_NAME): voi
|
|
|
131
117
|
|
|
132
118
|
// __freestylerClassName is not exposed to the page due to this being
|
|
133
119
|
// run in the isolated world.
|
|
134
|
-
const className = el.__freestylerClassName ??
|
|
120
|
+
const className = el.__freestylerClassName ?? \`\${prefix}-\${global.freestyler.id}\`;
|
|
135
121
|
el.__freestylerClassName = className;
|
|
136
122
|
el.classList.add(className);
|
|
137
123
|
|
|
@@ -140,7 +126,6 @@ function setupSetElementStyles(prefix: typeof AI_ASSISTANCE_CSS_CLASS_NAME): voi
|
|
|
140
126
|
// if it's kebab case.
|
|
141
127
|
el.style.removeProperty(key);
|
|
142
128
|
// If it's camel case.
|
|
143
|
-
// @ts-expect-error this won't throw if wrong
|
|
144
129
|
el.style[key] = '';
|
|
145
130
|
}
|
|
146
131
|
|
|
@@ -168,7 +153,7 @@ function setupSetElementStyles(prefix: typeof AI_ASSISTANCE_CSS_CLASS_NAME): voi
|
|
|
168
153
|
continue;
|
|
169
154
|
}
|
|
170
155
|
|
|
171
|
-
hasAiStyleChange = rule.selectorText.startsWith(
|
|
156
|
+
hasAiStyleChange = rule.selectorText.startsWith(\`.\${prefix}\`);
|
|
172
157
|
if (hasAiStyleChange) {
|
|
173
158
|
stylesheet = sheet;
|
|
174
159
|
break;
|
|
@@ -183,6 +168,6 @@ function setupSetElementStyles(prefix: typeof AI_ASSISTANCE_CSS_CLASS_NAME): voi
|
|
|
183
168
|
}
|
|
184
169
|
|
|
185
170
|
global.setElementStyles = setElementStyles;
|
|
186
|
-
}
|
|
171
|
+
}`;
|
|
187
172
|
|
|
188
|
-
export const injectedFunctions = `(${
|
|
173
|
+
export const injectedFunctions = `(${setupSetElementStyles})('${AI_ASSISTANCE_CSS_CLASS_NAME}')`;
|