chrome-devtools-frontend 1.0.1567721 → 1.0.1568864
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/generated/InspectorBackendCommands.ts +6 -6
- package/front_end/generated/protocol.ts +0 -18
- package/front_end/models/ai_assistance/injected.ts +7 -22
- package/front_end/models/javascript_metadata/NativeFunctions.js +12 -0
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +3 -4
- package/front_end/panels/application/preloading/PreloadingView.ts +1 -3
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +315 -258
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +58 -15
- package/front_end/panels/elements/ElementsSidebarPane.ts +2 -26
- package/front_end/panels/elements/MetricsSidebarPane.ts +83 -106
- package/front_end/panels/elements/StylesSidebarPane.ts +5 -5
- package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +57 -4
- package/front_end/panels/elements/components/StylePropertyEditor.ts +93 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/menus/Menu.ts +3 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +2 -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>
|
|
@@ -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"}]);
|
|
@@ -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
|
*/
|
|
@@ -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}')`;
|
|
@@ -7400,6 +7400,18 @@ export const NativeFunctions = [
|
|
|
7400
7400
|
name: "queryFeatureSupport",
|
|
7401
7401
|
signatures: [["feature"]]
|
|
7402
7402
|
},
|
|
7403
|
+
{
|
|
7404
|
+
name: "LanguageModelToolCall",
|
|
7405
|
+
signatures: [["init"]]
|
|
7406
|
+
},
|
|
7407
|
+
{
|
|
7408
|
+
name: "LanguageModelToolSuccess",
|
|
7409
|
+
signatures: [["init"]]
|
|
7410
|
+
},
|
|
7411
|
+
{
|
|
7412
|
+
name: "LanguageModelToolError",
|
|
7413
|
+
signatures: [["init"]]
|
|
7414
|
+
},
|
|
7403
7415
|
{
|
|
7404
7416
|
name: "registerAnimator",
|
|
7405
7417
|
signatures: [["name","animatorCtor"]]
|
|
@@ -6,6 +6,7 @@ import * as Common from '../../../core/common/common.js';
|
|
|
6
6
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
7
7
|
import * as Platform from '../../../core/platform/platform.js';
|
|
8
8
|
import * as Protocol from '../../../generated/protocol.js';
|
|
9
|
+
import * as Extras from '../extras/extras.js';
|
|
9
10
|
import type * as Handlers from '../handlers/handlers.js';
|
|
10
11
|
import * as Helpers from '../helpers/helpers.js';
|
|
11
12
|
import type * as Lantern from '../lantern/lantern.js';
|
|
@@ -549,10 +550,8 @@ function candidateRequestsByOrigin(
|
|
|
549
550
|
return;
|
|
550
551
|
}
|
|
551
552
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
// lookup that fixes bugs with dynamically injected content.
|
|
555
|
-
if (data.NetworkRequests.incompleteInitiator.get(request) === mainResource) {
|
|
553
|
+
const initiator = Extras.Initiators.getNetworkInitiator(data, request);
|
|
554
|
+
if (initiator === mainResource) {
|
|
556
555
|
return;
|
|
557
556
|
}
|
|
558
557
|
|
|
@@ -564,9 +564,7 @@ export class PreloadingSummaryView extends UI.Widget.VBox {
|
|
|
564
564
|
this.contentElement.insertBefore(this.warningsContainer, this.contentElement.firstChild);
|
|
565
565
|
this.warningsView.show(this.warningsContainer);
|
|
566
566
|
|
|
567
|
-
|
|
568
|
-
usedPreloadingContainer.contentElement.appendChild(this.usedPreloading);
|
|
569
|
-
usedPreloadingContainer.show(this.contentElement);
|
|
567
|
+
this.usedPreloading.show(this.contentElement);
|
|
570
568
|
}
|
|
571
569
|
|
|
572
570
|
override wasShown(): void {
|