chrome-devtools-frontend 1.0.1525561 → 1.0.1526630
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/common/Settings.ts +1 -1
- package/front_end/core/i18n/i18nImpl.ts +1 -1
- package/front_end/core/sdk/ChildTargetManager.ts +2 -0
- package/front_end/core/sdk/PreloadingModel.ts +3 -0
- package/front_end/core/sdk/ResourceTreeModel.ts +1 -1
- package/front_end/core/sdk/SourceMapScopesInfo.ts +57 -0
- package/front_end/generated/InspectorBackendCommands.js +5 -5
- package/front_end/generated/SupportedCSSProperties.js +0 -19
- package/front_end/generated/protocol-mapping.d.ts +4 -2
- package/front_end/generated/protocol-proxy-api.d.ts +4 -2
- package/front_end/generated/protocol.ts +9 -8
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +43 -8
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +50 -32
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +29 -29
- package/front_end/models/javascript_metadata/NativeFunctions.js +3 -8
- package/front_end/models/trace/handlers/UserTimingsHandler.ts +1 -1
- package/front_end/models/trace/insights/CLSCulprits.ts +2 -1
- package/front_end/models/trace/insights/Cache.ts +2 -1
- package/front_end/models/trace/insights/DOMSize.ts +2 -1
- package/front_end/models/trace/insights/DocumentLatency.ts +2 -1
- package/front_end/models/trace/insights/DuplicatedJavaScript.ts +2 -1
- package/front_end/models/trace/insights/FontDisplay.ts +2 -1
- package/front_end/models/trace/insights/ForcedReflow.ts +2 -1
- package/front_end/models/trace/insights/INPBreakdown.ts +2 -1
- package/front_end/models/trace/insights/ImageDelivery.ts +2 -1
- package/front_end/models/trace/insights/LCPBreakdown.ts +2 -1
- package/front_end/models/trace/insights/LCPDiscovery.ts +2 -1
- package/front_end/models/trace/insights/LegacyJavaScript.ts +2 -1
- package/front_end/models/trace/insights/ModernHTTP.ts +2 -1
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +2 -1
- package/front_end/models/trace/insights/RenderBlocking.ts +2 -1
- package/front_end/models/trace/insights/SlowCSSSelector.ts +2 -1
- package/front_end/models/trace/insights/ThirdParties.ts +2 -1
- package/front_end/models/trace/insights/Viewport.ts +2 -1
- package/front_end/models/trace/insights/types.ts +2 -1
- package/front_end/panels/application/ReportingApiView.ts +8 -7
- package/front_end/panels/application/StorageView.ts +2 -1
- package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -0
- package/front_end/panels/console/ConsolePrompt.ts +24 -4
- package/front_end/panels/coverage/CoverageListView.ts +125 -279
- package/front_end/panels/coverage/CoverageView.ts +109 -111
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +11 -19
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +27 -43
- package/front_end/panels/network/RequestResponseView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +10 -8
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +1 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/buttons/Button.ts +18 -1
- package/front_end/ui/legacy/EmptyWidget.ts +11 -1
- package/front_end/ui/legacy/SearchableView.ts +1 -1
- package/front_end/ui/legacy/Toolbar.ts +25 -4
- package/front_end/ui/legacy/UIUtils.ts +28 -2
- package/front_end/ui/legacy/Widget.ts +5 -0
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +48 -5
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +28 -0
- package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +7 -8
- package/package.json +22 -22
|
@@ -131,7 +131,7 @@ export class Settings {
|
|
|
131
131
|
* to store UI state such as how a user choses to position a split widget or
|
|
132
132
|
* which panel they last opened.
|
|
133
133
|
* If you are creating a setting that you expect the user to control, and
|
|
134
|
-
* sync, prefer {@
|
|
134
|
+
* sync, prefer {@link Settings.createSetting}
|
|
135
135
|
*/
|
|
136
136
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
137
137
|
moduleSetting<T = any>(settingName: string): Setting<T> {
|
|
@@ -68,7 +68,7 @@ export async function fetchAndRegisterLocaleData(
|
|
|
68
68
|
locale: Intl.UnicodeBCP47LocaleIdentifier, location = self.location.toString()): Promise<void> {
|
|
69
69
|
const localeDataTextPromise = fetch(getLocaleFetchUrl(locale, location)).then(result => result.json());
|
|
70
70
|
const timeoutPromise =
|
|
71
|
-
new Promise<never>((_, reject) => window.setTimeout(() => reject(new Error('timed out fetching locale')),
|
|
71
|
+
new Promise<never>((_, reject) => window.setTimeout(() => reject(new Error('timed out fetching locale')), 2500));
|
|
72
72
|
const localeData = await Promise.race([timeoutPromise, localeDataTextPromise]);
|
|
73
73
|
i18nInstance.registerLocaleData(locale, localeData);
|
|
74
74
|
}
|
|
@@ -177,6 +177,8 @@ export class ChildTargetManager extends SDKModel<EventTypes> implements Protocol
|
|
|
177
177
|
type = Type.FRAME;
|
|
178
178
|
} else if (targetInfo.type === 'page') {
|
|
179
179
|
type = Type.FRAME;
|
|
180
|
+
} else if (targetInfo.type === 'browser_ui') {
|
|
181
|
+
type = Type.FRAME;
|
|
180
182
|
} else if (targetInfo.type === 'worker') {
|
|
181
183
|
type = Type.Worker;
|
|
182
184
|
} else if (targetInfo.type === 'worklet') {
|
|
@@ -626,6 +626,8 @@ class PreloadingAttemptRegistry {
|
|
|
626
626
|
return 0;
|
|
627
627
|
case Protocol.Preload.SpeculationAction.Prerender:
|
|
628
628
|
return 1;
|
|
629
|
+
case Protocol.Preload.SpeculationAction.PrerenderUntilScript:
|
|
630
|
+
return 2;
|
|
629
631
|
}
|
|
630
632
|
}
|
|
631
633
|
|
|
@@ -736,6 +738,7 @@ class PreloadingAttemptRegistry {
|
|
|
736
738
|
};
|
|
737
739
|
break;
|
|
738
740
|
case Protocol.Preload.SpeculationAction.Prerender:
|
|
741
|
+
case Protocol.Preload.SpeculationAction.PrerenderUntilScript:
|
|
739
742
|
attempt = {
|
|
740
743
|
action: Protocol.Preload.SpeculationAction.Prerender,
|
|
741
744
|
key,
|
|
@@ -106,7 +106,7 @@ export class ResourceTreeModel extends SDKModel<EventTypes> {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
// TODO(crbug.com/445966299): Refactor to use `storageAgent().invoke_getStorageKey()` instead.
|
|
109
|
-
const response = await this.storageAgent.
|
|
109
|
+
const response = await this.storageAgent.invoke_getStorageKey({frameId});
|
|
110
110
|
if (response.getError() === 'Frame tree node for given frame not found') {
|
|
111
111
|
return null;
|
|
112
112
|
}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import * as Protocol from '../../generated/protocol.js';
|
|
6
|
+
import * as Formatter from '../../models/formatter/formatter.js';
|
|
7
|
+
import type * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
6
8
|
import type * as ScopesCodec from '../../third_party/source-map-scopes-codec/source-map-scopes-codec.js';
|
|
7
9
|
|
|
8
10
|
import type {CallFrame, ScopeChainEntry} from './DebuggerModel.js';
|
|
@@ -22,6 +24,61 @@ export class SourceMapScopesInfo {
|
|
|
22
24
|
this.#generatedRanges = scopeInfo.ranges;
|
|
23
25
|
}
|
|
24
26
|
|
|
27
|
+
/**
|
|
28
|
+
* If the source map does not contain any scopes information, this factory function attempts to create bare bones scope information
|
|
29
|
+
* via the script's AST combined with the mappings.
|
|
30
|
+
*
|
|
31
|
+
* We create the generated ranges from the scope tree and for each range we create an original scope that matches the bounds 1:1.
|
|
32
|
+
* We don't map the bounds via mappings as mappings are often iffy and it's not strictly required to translate stack traces where we
|
|
33
|
+
* map call-sites separately.
|
|
34
|
+
*/
|
|
35
|
+
static createFromAst(
|
|
36
|
+
sourceMap: SourceMap, scopeTree: Formatter.FormatterWorkerPool.ScopeTreeNode,
|
|
37
|
+
text: TextUtils.Text.Text): SourceMapScopesInfo {
|
|
38
|
+
const {scope, range} = convertScope(scopeTree, undefined, undefined);
|
|
39
|
+
return new SourceMapScopesInfo(sourceMap, {scopes: [scope], ranges: [range]});
|
|
40
|
+
|
|
41
|
+
function convertScope(
|
|
42
|
+
node: Formatter.FormatterWorkerPool.ScopeTreeNode, parentScope: ScopesCodec.OriginalScope|undefined,
|
|
43
|
+
parentRange: ScopesCodec.GeneratedRange|
|
|
44
|
+
undefined): {scope: ScopesCodec.OriginalScope, range: ScopesCodec.GeneratedRange} {
|
|
45
|
+
const start = positionFromOffset(node.start);
|
|
46
|
+
const end = positionFromOffset(node.end);
|
|
47
|
+
const isStackFrame = node.kind === Formatter.FormatterWorkerPool.ScopeKind.FUNCTION;
|
|
48
|
+
|
|
49
|
+
const scope: ScopesCodec.OriginalScope = {
|
|
50
|
+
start,
|
|
51
|
+
end,
|
|
52
|
+
name: sourceMap.findEntry(start.line, start.column, 0)?.name,
|
|
53
|
+
isStackFrame,
|
|
54
|
+
variables: [],
|
|
55
|
+
children: [],
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const range: ScopesCodec.GeneratedRange = {
|
|
59
|
+
start,
|
|
60
|
+
end,
|
|
61
|
+
originalScope: scope,
|
|
62
|
+
isStackFrame,
|
|
63
|
+
isHidden: false,
|
|
64
|
+
values: [],
|
|
65
|
+
children: [],
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
parentRange?.children.push(range);
|
|
69
|
+
parentScope?.children.push(scope);
|
|
70
|
+
|
|
71
|
+
node.children.forEach(child => convertScope(child, scope, range));
|
|
72
|
+
|
|
73
|
+
return {scope, range};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function positionFromOffset(offset: number): ScopesCodec.Position {
|
|
77
|
+
const location = text.positionFromOffset(offset);
|
|
78
|
+
return {line: location.lineNumber, column: location.columnNumber};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
25
82
|
addOriginalScopes(scopes: Array<ScopesCodec.OriginalScope|null>): void {
|
|
26
83
|
for (const scope of scopes) {
|
|
27
84
|
this.#originalScopes.push(scope);
|
|
@@ -214,7 +214,7 @@ inspectorBackend.registerEnum("Browser.PrivacySandboxAPI", {BiddingAndAuctionSer
|
|
|
214
214
|
inspectorBackend.registerEvent("Browser.downloadWillBegin", ["frameId", "guid", "url", "suggestedFilename"]);
|
|
215
215
|
inspectorBackend.registerEnum("Browser.DownloadProgressEventState", {InProgress: "inProgress", Completed: "completed", Canceled: "canceled"});
|
|
216
216
|
inspectorBackend.registerEvent("Browser.downloadProgress", ["guid", "totalBytes", "receivedBytes", "state", "filePath"]);
|
|
217
|
-
inspectorBackend.registerCommand("Browser.setPermission", [{"name": "permission", "type": "object", "optional": false, "description": "Descriptor of permission to override.", "typeRef": "Browser.PermissionDescriptor"}, {"name": "setting", "type": "string", "optional": false, "description": "Setting of the permission.", "typeRef": "Browser.PermissionSetting"}, {"name": "origin", "type": "string", "optional": true, "description": "
|
|
217
|
+
inspectorBackend.registerCommand("Browser.setPermission", [{"name": "permission", "type": "object", "optional": false, "description": "Descriptor of permission to override.", "typeRef": "Browser.PermissionDescriptor"}, {"name": "setting", "type": "string", "optional": false, "description": "Setting of the permission.", "typeRef": "Browser.PermissionSetting"}, {"name": "origin", "type": "string", "optional": true, "description": "Embedding origin the permission applies to, all origins if not specified.", "typeRef": null}, {"name": "embeddedOrigin", "type": "string", "optional": true, "description": "Embedded origin the permission applies to. It is ignored unless the embedding origin is present and valid. If the embedding origin is provided but the embedded origin isn't, the embedding origin is used as the embedded origin.", "typeRef": null}, {"name": "browserContextId", "type": "string", "optional": true, "description": "Context to override. When omitted, default browser context is used.", "typeRef": "Browser.BrowserContextID"}], [], "Set permission settings for given embedding and embedded origins.");
|
|
218
218
|
inspectorBackend.registerCommand("Browser.grantPermissions", [{"name": "permissions", "type": "array", "optional": false, "description": "", "typeRef": "Browser.PermissionType"}, {"name": "origin", "type": "string", "optional": true, "description": "Origin the permission applies to, all origins if not specified.", "typeRef": null}, {"name": "browserContextId", "type": "string", "optional": true, "description": "BrowserContext to override permissions. When omitted, default browser context is used.", "typeRef": "Browser.BrowserContextID"}], [], "Grant specific permissions to the given origin and reject all others. Deprecated. Use setPermission instead.");
|
|
219
219
|
inspectorBackend.registerCommand("Browser.resetPermissions", [{"name": "browserContextId", "type": "string", "optional": true, "description": "BrowserContext to reset permissions. When omitted, default browser context is used.", "typeRef": "Browser.BrowserContextID"}], [], "Reset all permission management for all origins.");
|
|
220
220
|
inspectorBackend.registerEnum("Browser.SetDownloadBehaviorRequestBehavior", {Deny: "deny", Allow: "allow", AllowAndName: "allowAndName", Default: "default"});
|
|
@@ -858,7 +858,7 @@ inspectorBackend.registerCommand("Network.continueInterceptedRequest", [{"name":
|
|
|
858
858
|
inspectorBackend.registerCommand("Network.deleteCookies", [{"name": "name", "type": "string", "optional": false, "description": "Name of the cookies to remove.", "typeRef": null}, {"name": "url", "type": "string", "optional": true, "description": "If specified, deletes all the cookies with the given name where domain and path match provided URL.", "typeRef": null}, {"name": "domain", "type": "string", "optional": true, "description": "If specified, deletes only cookies with the exact domain.", "typeRef": null}, {"name": "path", "type": "string", "optional": true, "description": "If specified, deletes only cookies with the exact path.", "typeRef": null}, {"name": "partitionKey", "type": "object", "optional": true, "description": "If specified, deletes only cookies with the the given name and partitionKey where all partition key attributes match the cookie partition key attribute.", "typeRef": "Network.CookiePartitionKey"}], [], "Deletes browser cookies with matching name and url or domain/path/partitionKey pair.");
|
|
859
859
|
inspectorBackend.registerCommand("Network.disable", [], [], "Disables network tracking, prevents network events from being sent to the client.");
|
|
860
860
|
inspectorBackend.registerCommand("Network.emulateNetworkConditions", [{"name": "offline", "type": "boolean", "optional": false, "description": "True to emulate internet disconnection.", "typeRef": null}, {"name": "latency", "type": "number", "optional": false, "description": "Minimum latency from request sent to response headers received (ms).", "typeRef": null}, {"name": "downloadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.", "typeRef": null}, {"name": "uploadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.", "typeRef": null}, {"name": "connectionType", "type": "string", "optional": true, "description": "Connection type if known.", "typeRef": "Network.ConnectionType"}, {"name": "packetLoss", "type": "number", "optional": true, "description": "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.", "typeRef": null}, {"name": "packetQueueLength", "type": "number", "optional": true, "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.", "typeRef": null}, {"name": "packetReordering", "type": "boolean", "optional": true, "description": "WebRTC packetReordering feature.", "typeRef": null}], [], "Activates emulation of network conditions. This command is deprecated in favor of the emulateNetworkConditionsByRule and overrideNetworkState commands, which can be used together to the same effect.");
|
|
861
|
-
inspectorBackend.registerCommand("Network.emulateNetworkConditionsByRule", [{"name": "offline", "type": "boolean", "optional": false, "description": "True to emulate internet disconnection.", "typeRef": null}, {"name": "matchedNetworkConditions", "type": "array", "optional": false, "description": "Configure conditions for matching requests. If multiple entries match a request, the first entry wins. Global conditions can be configured by leaving the urlPattern for the conditions empty. These global conditions are also applied for throttling of p2p connections.", "typeRef": "Network.NetworkConditions"}], ["ruleIds"], "Activates emulation of network conditions for individual requests using URL match patterns.");
|
|
861
|
+
inspectorBackend.registerCommand("Network.emulateNetworkConditionsByRule", [{"name": "offline", "type": "boolean", "optional": false, "description": "True to emulate internet disconnection.", "typeRef": null}, {"name": "matchedNetworkConditions", "type": "array", "optional": false, "description": "Configure conditions for matching requests. If multiple entries match a request, the first entry wins. Global conditions can be configured by leaving the urlPattern for the conditions empty. These global conditions are also applied for throttling of p2p connections.", "typeRef": "Network.NetworkConditions"}], ["ruleIds"], "Activates emulation of network conditions for individual requests using URL match patterns. Unlike the deprecated Network.emulateNetworkConditions this method does not affect `navigator` state. Use Network.overrideNetworkState to explicitly modify `navigator` behavior.");
|
|
862
862
|
inspectorBackend.registerCommand("Network.overrideNetworkState", [{"name": "offline", "type": "boolean", "optional": false, "description": "True to emulate internet disconnection.", "typeRef": null}, {"name": "latency", "type": "number", "optional": false, "description": "Minimum latency from request sent to response headers received (ms).", "typeRef": null}, {"name": "downloadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.", "typeRef": null}, {"name": "uploadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.", "typeRef": null}, {"name": "connectionType", "type": "string", "optional": true, "description": "Connection type if known.", "typeRef": "Network.ConnectionType"}], [], "Override the state of navigator.onLine and navigator.connection.");
|
|
863
863
|
inspectorBackend.registerCommand("Network.enable", [{"name": "maxTotalBufferSize", "type": "number", "optional": true, "description": "Buffer size in bytes to use when preserving network payloads (XHRs, etc).", "typeRef": null}, {"name": "maxResourceBufferSize", "type": "number", "optional": true, "description": "Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).", "typeRef": null}, {"name": "maxPostDataSize", "type": "number", "optional": true, "description": "Longest post body size (in bytes) that would be included in requestWillBeSent notification", "typeRef": null}, {"name": "reportDirectSocketTraffic", "type": "boolean", "optional": true, "description": "Whether DirectSocket chunk send/receive events should be reported.", "typeRef": null}, {"name": "enableDurableMessages", "type": "boolean", "optional": true, "description": "Enable storing response bodies outside of renderer, so that these survive a cross-process navigation. Requires maxTotalBufferSize to be set. Currently defaults to false.", "typeRef": null}], [], "Enables network tracking, network events will now be delivered to the client.");
|
|
864
864
|
inspectorBackend.registerCommand("Network.getAllCookies", [], ["cookies"], "Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the `cookies` field. Deprecated. Use Storage.getCookies instead.");
|
|
@@ -870,7 +870,7 @@ inspectorBackend.registerCommand("Network.getResponseBodyForInterception", [{"na
|
|
|
870
870
|
inspectorBackend.registerCommand("Network.takeResponseBodyForInterceptionAsStream", [{"name": "interceptionId", "type": "string", "optional": false, "description": "", "typeRef": "Network.InterceptionId"}], ["stream"], "Returns a handle to the stream representing the response body. Note that after this command, the intercepted request can't be continued as is -- you either need to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified.");
|
|
871
871
|
inspectorBackend.registerCommand("Network.replayXHR", [{"name": "requestId", "type": "string", "optional": false, "description": "Identifier of XHR to replay.", "typeRef": "Network.RequestId"}], [], "This method sends a new XMLHttpRequest which is identical to the original one. The following parameters should be identical: method, url, async, request body, extra headers, withCredentials attribute, user, password.");
|
|
872
872
|
inspectorBackend.registerCommand("Network.searchInResponseBody", [{"name": "requestId", "type": "string", "optional": false, "description": "Identifier of the network response to search.", "typeRef": "Network.RequestId"}, {"name": "query", "type": "string", "optional": false, "description": "String to search for.", "typeRef": null}, {"name": "caseSensitive", "type": "boolean", "optional": true, "description": "If true, search is case sensitive.", "typeRef": null}, {"name": "isRegex", "type": "boolean", "optional": true, "description": "If true, treats string parameter as regex.", "typeRef": null}], ["result"], "Searches for given string in response content.");
|
|
873
|
-
inspectorBackend.registerCommand("Network.setBlockedURLs", [{"name": "urlPatterns", "type": "array", "optional": true, "description": "URL patterns to block. Patterns use the URLPattern constructor string syntax (https://urlpattern.spec.whatwg.org/). Example: `*://*:*/*.css`.", "typeRef": "string"}, {"name": "urls", "type": "array", "optional": true, "description": "URL patterns to block. Wildcards ('*') are allowed.", "typeRef": "string"}], [], "Blocks URLs from loading.");
|
|
873
|
+
inspectorBackend.registerCommand("Network.setBlockedURLs", [{"name": "urlPatterns", "type": "array", "optional": true, "description": "URL patterns to block. Patterns use the URLPattern constructor string syntax (https://urlpattern.spec.whatwg.org/) and must be absolute. Example: `*://*:*/*.css`.", "typeRef": "string"}, {"name": "urls", "type": "array", "optional": true, "description": "URL patterns to block. Wildcards ('*') are allowed.", "typeRef": "string"}], [], "Blocks URLs from loading.");
|
|
874
874
|
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.");
|
|
875
875
|
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.");
|
|
876
876
|
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": "sameParty", "type": "boolean", "optional": true, "description": "True if cookie is SameParty.", "typeRef": null}, {"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.");
|
|
@@ -911,7 +911,7 @@ inspectorBackend.registerType("Network.SignedExchangeSignature", [{"name": "labe
|
|
|
911
911
|
inspectorBackend.registerType("Network.SignedExchangeHeader", [{"name": "requestUrl", "type": "string", "optional": false, "description": "Signed exchange request URL.", "typeRef": null}, {"name": "responseCode", "type": "number", "optional": false, "description": "Signed exchange response code.", "typeRef": null}, {"name": "responseHeaders", "type": "object", "optional": false, "description": "Signed exchange response headers.", "typeRef": "Network.Headers"}, {"name": "signatures", "type": "array", "optional": false, "description": "Signed exchange response signature.", "typeRef": "Network.SignedExchangeSignature"}, {"name": "headerIntegrity", "type": "string", "optional": false, "description": "Signed exchange header integrity hash in the form of `sha256-<base64-hash-value>`.", "typeRef": null}]);
|
|
912
912
|
inspectorBackend.registerType("Network.SignedExchangeError", [{"name": "message", "type": "string", "optional": false, "description": "Error message.", "typeRef": null}, {"name": "signatureIndex", "type": "number", "optional": true, "description": "The index of the signature which caused the error.", "typeRef": null}, {"name": "errorField", "type": "string", "optional": true, "description": "The field which caused the error.", "typeRef": "Network.SignedExchangeErrorField"}]);
|
|
913
913
|
inspectorBackend.registerType("Network.SignedExchangeInfo", [{"name": "outerResponse", "type": "object", "optional": false, "description": "The outer response of signed HTTP exchange which was received from network.", "typeRef": "Network.Response"}, {"name": "hasExtraInfo", "type": "boolean", "optional": false, "description": "Whether network response for the signed exchange was accompanied by extra headers.", "typeRef": null}, {"name": "header", "type": "object", "optional": true, "description": "Information about the signed exchange header.", "typeRef": "Network.SignedExchangeHeader"}, {"name": "securityDetails", "type": "object", "optional": true, "description": "Security details for the signed exchange header.", "typeRef": "Network.SecurityDetails"}, {"name": "errors", "type": "array", "optional": true, "description": "Errors occurred while handling the signed exchange.", "typeRef": "Network.SignedExchangeError"}]);
|
|
914
|
-
inspectorBackend.registerType("Network.NetworkConditions", [{"name": "urlPattern", "type": "string", "optional": false, "description": "Only matching requests will be affected by these conditions. Patterns use the URLPattern constructor string syntax (https://urlpattern.spec.whatwg.org/). If the pattern is empty, all requests are matched (including p2p connections).", "typeRef": null}, {"name": "latency", "type": "number", "optional": false, "description": "Minimum latency from request sent to response headers received (ms).", "typeRef": null}, {"name": "downloadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.", "typeRef": null}, {"name": "uploadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.", "typeRef": null}, {"name": "connectionType", "type": "string", "optional": true, "description": "Connection type if known.", "typeRef": "Network.ConnectionType"}, {"name": "packetLoss", "type": "number", "optional": true, "description": "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.", "typeRef": null}, {"name": "packetQueueLength", "type": "number", "optional": true, "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.", "typeRef": null}, {"name": "packetReordering", "type": "boolean", "optional": true, "description": "WebRTC packetReordering feature.", "typeRef": null}]);
|
|
914
|
+
inspectorBackend.registerType("Network.NetworkConditions", [{"name": "urlPattern", "type": "string", "optional": false, "description": "Only matching requests will be affected by these conditions. Patterns use the URLPattern constructor string syntax (https://urlpattern.spec.whatwg.org/) and must be absolute. If the pattern is empty, all requests are matched (including p2p connections).", "typeRef": null}, {"name": "latency", "type": "number", "optional": false, "description": "Minimum latency from request sent to response headers received (ms).", "typeRef": null}, {"name": "downloadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.", "typeRef": null}, {"name": "uploadThroughput", "type": "number", "optional": false, "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.", "typeRef": null}, {"name": "connectionType", "type": "string", "optional": true, "description": "Connection type if known.", "typeRef": "Network.ConnectionType"}, {"name": "packetLoss", "type": "number", "optional": true, "description": "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.", "typeRef": null}, {"name": "packetQueueLength", "type": "number", "optional": true, "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.", "typeRef": null}, {"name": "packetReordering", "type": "boolean", "optional": true, "description": "WebRTC packetReordering feature.", "typeRef": null}]);
|
|
915
915
|
inspectorBackend.registerType("Network.DirectTCPSocketOptions", [{"name": "noDelay", "type": "boolean", "optional": false, "description": "TCP_NODELAY option", "typeRef": null}, {"name": "keepAliveDelay", "type": "number", "optional": true, "description": "Expected to be unsigned integer.", "typeRef": null}, {"name": "sendBufferSize", "type": "number", "optional": true, "description": "Expected to be unsigned integer.", "typeRef": null}, {"name": "receiveBufferSize", "type": "number", "optional": true, "description": "Expected to be unsigned integer.", "typeRef": null}, {"name": "dnsQueryType", "type": "string", "optional": true, "description": "", "typeRef": "Network.DirectSocketDnsQueryType"}]);
|
|
916
916
|
inspectorBackend.registerType("Network.DirectUDPSocketOptions", [{"name": "remoteAddr", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "remotePort", "type": "number", "optional": true, "description": "Unsigned int 16.", "typeRef": null}, {"name": "localAddr", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "localPort", "type": "number", "optional": true, "description": "Unsigned int 16.", "typeRef": null}, {"name": "dnsQueryType", "type": "string", "optional": true, "description": "", "typeRef": "Network.DirectSocketDnsQueryType"}, {"name": "sendBufferSize", "type": "number", "optional": true, "description": "Expected to be unsigned integer.", "typeRef": null}, {"name": "receiveBufferSize", "type": "number", "optional": true, "description": "Expected to be unsigned integer.", "typeRef": null}]);
|
|
917
917
|
inspectorBackend.registerType("Network.DirectUDPMessage", [{"name": "data", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "remoteAddr", "type": "string", "optional": true, "description": "Null for connected mode.", "typeRef": null}, {"name": "remotePort", "type": "number", "optional": true, "description": "Null for connected mode. Expected to be unsigned integer.", "typeRef": null}]);
|
|
@@ -1176,7 +1176,7 @@ inspectorBackend.registerType("PerformanceTimeline.TimelineEvent", [{"name": "fr
|
|
|
1176
1176
|
|
|
1177
1177
|
// Preload.
|
|
1178
1178
|
inspectorBackend.registerEnum("Preload.RuleSetErrorType", {SourceIsNotJsonObject: "SourceIsNotJsonObject", InvalidRulesSkipped: "InvalidRulesSkipped", InvalidRulesetLevelTag: "InvalidRulesetLevelTag"});
|
|
1179
|
-
inspectorBackend.registerEnum("Preload.SpeculationAction", {Prefetch: "Prefetch", Prerender: "Prerender"});
|
|
1179
|
+
inspectorBackend.registerEnum("Preload.SpeculationAction", {Prefetch: "Prefetch", Prerender: "Prerender", PrerenderUntilScript: "PrerenderUntilScript"});
|
|
1180
1180
|
inspectorBackend.registerEnum("Preload.SpeculationTargetHint", {Blank: "Blank", Self: "Self"});
|
|
1181
1181
|
inspectorBackend.registerEnum("Preload.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", MemoryLimitExceeded: "MemoryLimitExceeded", DataSaverEnabled: "DataSaverEnabled", TriggerUrlHasEffectiveUrl: "TriggerUrlHasEffectiveUrl", ActivatedBeforeStarted: "ActivatedBeforeStarted", InactivePageRestriction: "InactivePageRestriction", StartFailed: "StartFailed", TimeoutBackgrounded: "TimeoutBackgrounded", CrossSiteRedirectInInitialNavigation: "CrossSiteRedirectInInitialNavigation", CrossSiteNavigationInInitialNavigation: "CrossSiteNavigationInInitialNavigation", SameSiteCrossOriginRedirectNotOptInInInitialNavigation: "SameSiteCrossOriginRedirectNotOptInInInitialNavigation", SameSiteCrossOriginNavigationNotOptInInInitialNavigation: "SameSiteCrossOriginNavigationNotOptInInInitialNavigation", ActivationNavigationParameterMismatch: "ActivationNavigationParameterMismatch", ActivatedInBackground: "ActivatedInBackground", EmbedderHostDisallowed: "EmbedderHostDisallowed", ActivationNavigationDestroyedBeforeSuccess: "ActivationNavigationDestroyedBeforeSuccess", TabClosedByUserGesture: "TabClosedByUserGesture", TabClosedWithoutUserGesture: "TabClosedWithoutUserGesture", PrimaryMainFrameRendererProcessCrashed: "PrimaryMainFrameRendererProcessCrashed", PrimaryMainFrameRendererProcessKilled: "PrimaryMainFrameRendererProcessKilled", ActivationFramePolicyNotCompatible: "ActivationFramePolicyNotCompatible", PreloadingDisabled: "PreloadingDisabled", BatterySaverEnabled: "BatterySaverEnabled", ActivatedDuringMainFrameNavigation: "ActivatedDuringMainFrameNavigation", PreloadingUnsupportedByWebContents: "PreloadingUnsupportedByWebContents", CrossSiteRedirectInMainFrameNavigation: "CrossSiteRedirectInMainFrameNavigation", CrossSiteNavigationInMainFrameNavigation: "CrossSiteNavigationInMainFrameNavigation", SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation: "SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation", SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation: "SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation", MemoryPressureOnTrigger: "MemoryPressureOnTrigger", MemoryPressureAfterTriggered: "MemoryPressureAfterTriggered", PrerenderingDisabledByDevTools: "PrerenderingDisabledByDevTools", SpeculationRuleRemoved: "SpeculationRuleRemoved", ActivatedWithAuxiliaryBrowsingContexts: "ActivatedWithAuxiliaryBrowsingContexts", MaxNumOfRunningEagerPrerendersExceeded: "MaxNumOfRunningEagerPrerendersExceeded", MaxNumOfRunningNonEagerPrerendersExceeded: "MaxNumOfRunningNonEagerPrerendersExceeded", MaxNumOfRunningEmbedderPrerendersExceeded: "MaxNumOfRunningEmbedderPrerendersExceeded", PrerenderingUrlHasEffectiveUrl: "PrerenderingUrlHasEffectiveUrl", RedirectedPrerenderingUrlHasEffectiveUrl: "RedirectedPrerenderingUrlHasEffectiveUrl", ActivationUrlHasEffectiveUrl: "ActivationUrlHasEffectiveUrl", JavaScriptInterfaceAdded: "JavaScriptInterfaceAdded", JavaScriptInterfaceRemoved: "JavaScriptInterfaceRemoved", AllPrerenderingCanceled: "AllPrerenderingCanceled", WindowClosed: "WindowClosed", SlowNetwork: "SlowNetwork", OtherPrerenderedPageActivated: "OtherPrerenderedPageActivated", V8OptimizerDisabled: "V8OptimizerDisabled", PrerenderFailedDuringPrefetch: "PrerenderFailedDuringPrefetch", BrowsingDataRemoved: "BrowsingDataRemoved", PrerenderHostReused: "PrerenderHostReused"});
|
|
1182
1182
|
inspectorBackend.registerEnum("Preload.PreloadingStatus", {Pending: "Pending", Running: "Running", Ready: "Ready", Success: "Success", Failure: "Failure", NotSupported: "NotSupported"});
|
|
@@ -733,7 +733,6 @@ export const generatedProperties = [
|
|
|
733
733
|
"text-wrap-mode",
|
|
734
734
|
"text-wrap-style",
|
|
735
735
|
"timeline-scope",
|
|
736
|
-
"timeline-trigger-behavior",
|
|
737
736
|
"timeline-trigger-exit-range-end",
|
|
738
737
|
"timeline-trigger-exit-range-start",
|
|
739
738
|
"timeline-trigger-name",
|
|
@@ -4432,7 +4431,6 @@ export const generatedProperties = [
|
|
|
4432
4431
|
"longhands": [
|
|
4433
4432
|
"timeline-trigger-name",
|
|
4434
4433
|
"timeline-trigger-source",
|
|
4435
|
-
"timeline-trigger-behavior",
|
|
4436
4434
|
"timeline-trigger-range-start",
|
|
4437
4435
|
"timeline-trigger-range-end",
|
|
4438
4436
|
"timeline-trigger-exit-range-start",
|
|
@@ -4440,15 +4438,6 @@ export const generatedProperties = [
|
|
|
4440
4438
|
],
|
|
4441
4439
|
"name": "timeline-trigger"
|
|
4442
4440
|
},
|
|
4443
|
-
{
|
|
4444
|
-
"keywords": [
|
|
4445
|
-
"once",
|
|
4446
|
-
"repeat",
|
|
4447
|
-
"alternate",
|
|
4448
|
-
"state"
|
|
4449
|
-
],
|
|
4450
|
-
"name": "timeline-trigger-behavior"
|
|
4451
|
-
},
|
|
4452
4441
|
{
|
|
4453
4442
|
"name": "timeline-trigger-exit-range-end"
|
|
4454
4443
|
},
|
|
@@ -6846,14 +6835,6 @@ export const generatedPropertyValues = {
|
|
|
6846
6835
|
"stable"
|
|
6847
6836
|
]
|
|
6848
6837
|
},
|
|
6849
|
-
"timeline-trigger-behavior": {
|
|
6850
|
-
"values": [
|
|
6851
|
-
"once",
|
|
6852
|
-
"repeat",
|
|
6853
|
-
"alternate",
|
|
6854
|
-
"state"
|
|
6855
|
-
]
|
|
6856
|
-
},
|
|
6857
6838
|
"timeline-trigger-source": {
|
|
6858
6839
|
"values": [
|
|
6859
6840
|
"none",
|
|
@@ -1231,7 +1231,7 @@ export namespace ProtocolMapping {
|
|
|
1231
1231
|
returnType: void;
|
|
1232
1232
|
};
|
|
1233
1233
|
/**
|
|
1234
|
-
* Set permission settings for given
|
|
1234
|
+
* Set permission settings for given embedding and embedded origins.
|
|
1235
1235
|
*/
|
|
1236
1236
|
'Browser.setPermission': {
|
|
1237
1237
|
paramsType: [Protocol.Browser.SetPermissionRequest];
|
|
@@ -3349,7 +3349,9 @@ export namespace ProtocolMapping {
|
|
|
3349
3349
|
returnType: void;
|
|
3350
3350
|
};
|
|
3351
3351
|
/**
|
|
3352
|
-
* Activates emulation of network conditions for individual requests using URL match patterns.
|
|
3352
|
+
* Activates emulation of network conditions for individual requests using URL match patterns. Unlike the deprecated
|
|
3353
|
+
* Network.emulateNetworkConditions this method does not affect `navigator` state. Use Network.overrideNetworkState to
|
|
3354
|
+
* explicitly modify `navigator` behavior.
|
|
3353
3355
|
*/
|
|
3354
3356
|
'Network.emulateNetworkConditionsByRule': {
|
|
3355
3357
|
paramsType: [Protocol.Network.EmulateNetworkConditionsByRuleRequest];
|
|
@@ -591,7 +591,7 @@ declare namespace ProtocolProxyApi {
|
|
|
591
591
|
|
|
592
592
|
export interface BrowserApi {
|
|
593
593
|
/**
|
|
594
|
-
* Set permission settings for given
|
|
594
|
+
* Set permission settings for given embedding and embedded origins.
|
|
595
595
|
*/
|
|
596
596
|
invoke_setPermission(params: Protocol.Browser.SetPermissionRequest): Promise<Protocol.ProtocolResponseWithError>;
|
|
597
597
|
|
|
@@ -2523,7 +2523,9 @@ declare namespace ProtocolProxyApi {
|
|
|
2523
2523
|
invoke_emulateNetworkConditions(params: Protocol.Network.EmulateNetworkConditionsRequest): Promise<Protocol.ProtocolResponseWithError>;
|
|
2524
2524
|
|
|
2525
2525
|
/**
|
|
2526
|
-
* Activates emulation of network conditions for individual requests using URL match patterns.
|
|
2526
|
+
* Activates emulation of network conditions for individual requests using URL match patterns. Unlike the deprecated
|
|
2527
|
+
* Network.emulateNetworkConditions this method does not affect `navigator` state. Use Network.overrideNetworkState to
|
|
2528
|
+
* explicitly modify `navigator` behavior.
|
|
2527
2529
|
*/
|
|
2528
2530
|
invoke_emulateNetworkConditionsByRule(params: Protocol.Network.EmulateNetworkConditionsByRuleRequest): Promise<Protocol.Network.EmulateNetworkConditionsByRuleResponse>;
|
|
2529
2531
|
|
|
@@ -2289,15 +2289,15 @@ export namespace Browser {
|
|
|
2289
2289
|
*/
|
|
2290
2290
|
setting: PermissionSetting;
|
|
2291
2291
|
/**
|
|
2292
|
-
*
|
|
2292
|
+
* Embedding origin the permission applies to, all origins if not specified.
|
|
2293
2293
|
*/
|
|
2294
2294
|
origin?: string;
|
|
2295
2295
|
/**
|
|
2296
|
-
*
|
|
2297
|
-
* present and valid. If the
|
|
2298
|
-
*
|
|
2296
|
+
* Embedded origin the permission applies to. It is ignored unless the embedding origin is
|
|
2297
|
+
* present and valid. If the embedding origin is provided but the embedded origin isn't, the
|
|
2298
|
+
* embedding origin is used as the embedded origin.
|
|
2299
2299
|
*/
|
|
2300
|
-
|
|
2300
|
+
embeddedOrigin?: string;
|
|
2301
2301
|
/**
|
|
2302
2302
|
* Context to override. When omitted, default browser context is used.
|
|
2303
2303
|
*/
|
|
@@ -11012,8 +11012,8 @@ export namespace Network {
|
|
|
11012
11012
|
export interface NetworkConditions {
|
|
11013
11013
|
/**
|
|
11014
11014
|
* Only matching requests will be affected by these conditions. Patterns use the URLPattern constructor string
|
|
11015
|
-
* syntax (https://urlpattern.spec.whatwg.org/). If the pattern is empty, all requests are
|
|
11016
|
-
* connections).
|
|
11015
|
+
* syntax (https://urlpattern.spec.whatwg.org/) and must be absolute. If the pattern is empty, all requests are
|
|
11016
|
+
* matched (including p2p connections).
|
|
11017
11017
|
*/
|
|
11018
11018
|
urlPattern: string;
|
|
11019
11019
|
/**
|
|
@@ -11608,7 +11608,7 @@ export namespace Network {
|
|
|
11608
11608
|
export interface SetBlockedURLsRequest {
|
|
11609
11609
|
/**
|
|
11610
11610
|
* URL patterns to block. Patterns use the URLPattern constructor string syntax
|
|
11611
|
-
* (https://urlpattern.spec.whatwg.org/). Example: `*://*:*\/*.css`.
|
|
11611
|
+
* (https://urlpattern.spec.whatwg.org/) and must be absolute. Example: `*://*:*\/*.css`.
|
|
11612
11612
|
*/
|
|
11613
11613
|
urlPatterns?: string[];
|
|
11614
11614
|
/**
|
|
@@ -16126,6 +16126,7 @@ export namespace Preload {
|
|
|
16126
16126
|
export const enum SpeculationAction {
|
|
16127
16127
|
Prefetch = 'Prefetch',
|
|
16128
16128
|
Prerender = 'Prerender',
|
|
16129
|
+
PrerenderUntilScript = 'PrerenderUntilScript',
|
|
16129
16130
|
}
|
|
16130
16131
|
|
|
16131
16132
|
/**
|