chrome-devtools-frontend 1.0.1543472 → 1.0.1545096
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/AUTHORS +1 -0
- package/config/typescript/tsconfig.eslint.json +1 -0
- package/front_end/core/common/ParsedURL.ts +1 -1
- package/front_end/core/common/common.ts +0 -2
- package/front_end/core/host/AidaClient.ts +10 -7
- package/front_end/core/host/DispatchHttpRequestClient.ts +18 -3
- package/front_end/core/protocol_client/CDPConnection.ts +3 -3
- package/front_end/core/protocol_client/DevToolsCDPConnection.ts +2 -1
- package/front_end/core/root/Runtime.ts +8 -7
- package/front_end/core/sdk/CPUThrottlingManager.ts +0 -4
- package/front_end/core/sdk/CSSMatchedStyles.ts +7 -9
- package/front_end/core/sdk/CSSMetadata.ts +17 -5
- package/front_end/core/sdk/CSSModel.ts +1 -1
- package/front_end/core/sdk/CSSRule.ts +18 -6
- package/front_end/core/sdk/ChildTargetManager.ts +2 -2
- package/front_end/core/sdk/NetworkManager.ts +6 -8
- package/front_end/core/sdk/NetworkRequest.ts +4 -0
- package/front_end/core/sdk/SDKModel.ts +4 -2
- package/front_end/core/sdk/TargetManager.ts +14 -15
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +2 -0
- package/front_end/entrypoints/main/MainImpl.ts +0 -16
- package/front_end/foundation/Universe.ts +12 -1
- package/front_end/generated/Deprecation.ts +4 -0
- package/front_end/generated/InspectorBackendCommands.ts +2 -5
- package/front_end/generated/SupportedCSSProperties.js +0 -23
- package/front_end/generated/protocol-mapping.d.ts +0 -15
- package/front_end/generated/protocol-proxy-api.d.ts +0 -11
- package/front_end/generated/protocol.ts +2 -34
- package/front_end/models/ai_assistance/agents/AiAgent.ts +10 -8
- package/front_end/models/ai_assistance/agents/PatchAgent.ts +7 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +0 -5
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +4 -8
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +1 -1
- package/front_end/models/ai_code_generation/AiCodeGeneration.ts +5 -3
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +8 -7
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +9 -8
- package/front_end/models/bindings/ResourceMapping.ts +57 -15
- package/front_end/models/live-metrics/LiveMetrics.ts +12 -20
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +6 -2
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +3 -2
- package/front_end/panels/ai_assistance/components/ChatView.ts +2 -4
- package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +2 -1
- package/front_end/panels/ai_assistance/components/UserActionRow.ts +2 -1
- package/front_end/panels/animation/AnimationTimeline.ts +6 -6
- package/front_end/panels/application/ApplicationPanelSidebar.ts +6 -7
- package/front_end/panels/application/{components/FrameDetailsView.ts → FrameDetailsView.ts} +134 -165
- package/front_end/panels/application/{components/OriginTrialTreeView.ts → OriginTrialTreeView.ts} +9 -9
- package/front_end/panels/application/application.ts +4 -0
- package/front_end/panels/application/components/ReportsGrid.ts +7 -2
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +5 -3
- package/front_end/panels/application/components/StackTrace.ts +5 -3
- package/front_end/panels/application/components/TrustTokensView.ts +7 -1
- package/front_end/panels/application/components/components.ts +2 -4
- package/front_end/panels/application/{components/frameDetailsReportView.css → frameDetailsReportView.css} +5 -1
- package/front_end/panels/application/preloading/PreloadingView.ts +10 -4
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +7 -11
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +15 -3
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +12 -13
- package/front_end/panels/common/BadgeNotification.ts +2 -1
- package/front_end/panels/{elements → common}/DOMLinkifier.ts +13 -8
- package/front_end/panels/common/GdpSignUpDialog.ts +2 -1
- package/front_end/panels/common/common.ts +1 -0
- package/front_end/panels/console/ConsoleViewMessage.ts +4 -4
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -1
- package/front_end/panels/elements/ElementStatePaneWidget.ts +2 -1
- package/front_end/panels/elements/ElementsTreeElement.ts +3 -1
- package/front_end/panels/elements/StylePropertiesSection.ts +52 -15
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -3
- package/front_end/panels/elements/StylesSidebarPane.ts +24 -14
- package/front_end/panels/elements/elements-meta.ts +0 -13
- package/front_end/panels/elements/elements.ts +0 -3
- package/front_end/panels/explain/components/ConsoleInsight.ts +31 -20
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +3 -6
- package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +2 -1
- package/front_end/panels/network/NetworkLogView.ts +1 -1
- package/front_end/panels/recorder/RecorderController.ts +7 -1
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +2 -1
- package/front_end/panels/settings/SettingsScreen.ts +3 -2
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +42 -294
- package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
- package/front_end/panels/sources/SourcesPanel.ts +5 -1
- package/front_end/panels/timeline/TimelineUIUtils.ts +3 -2
- package/front_end/panels/timeline/components/LiveMetricsView.ts +18 -6
- package/front_end/panels/timeline/components/MetricCard.ts +2 -2
- package/front_end/panels/timeline/components/insights/NodeLink.ts +4 -4
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -1
- package/front_end/panels/timeline/timeline-meta.ts +0 -10
- package/front_end/panels/timeline/timeline.ts +0 -2
- package/front_end/panels/whats_new/ReleaseNoteView.ts +2 -1
- package/front_end/panels/whats_new/WhatsNewImpl.ts +3 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +4 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.js +8 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkEventManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +22 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +34 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +4 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.js +8 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkEventManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +22 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/package.json +2 -2
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +5 -1
- package/front_end/third_party/puppeteer/package/src/cdp/NetworkEventManager.ts +16 -1
- package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +28 -0
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/tsconfig.json +1 -0
- package/front_end/ui/components/buttons/Button.docs.ts +6 -5
- package/front_end/ui/components/snackbars/Snackbars.docs.ts +1 -1
- package/front_end/ui/components/spinners/Spinners.docs.ts +1 -1
- package/front_end/ui/components/survey_link/SurveyLink.docs.ts +2 -1
- package/front_end/ui/components/switch/Switch.docs.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +8 -5
- package/front_end/ui/components/tooltips/Tooltip.docs.ts +3 -3
- package/front_end/ui/helpers/OpenInNewTab.ts +87 -0
- package/front_end/ui/helpers/helpers.ts +5 -0
- package/front_end/ui/i18n/i18n.ts +16 -0
- package/front_end/ui/legacy/ContextMenu.docs.ts +12 -11
- package/front_end/ui/legacy/RadioButton.docs.ts +1 -1
- package/front_end/ui/legacy/SelectMenu.docs.ts +1 -1
- package/front_end/ui/legacy/Slider.docs.ts +1 -1
- package/front_end/ui/legacy/UIUtils.ts +1 -34
- package/front_end/ui/legacy/Widget.ts +56 -25
- package/front_end/ui/legacy/XLink.ts +4 -6
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +2 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +3 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +294 -336
- package/front_end/ui/legacy/components/utils/Linkifier.ts +2 -1
- package/front_end/ui/legacy/inspectorCommon.css +0 -4
- package/mcp/mcp.ts +1 -0
- package/mcp/tsconfig.json +16 -0
- package/package.json +2 -2
- package/front_end/core/common/Linkifier.ts +0 -55
- package/front_end/panels/timeline/CLSLinkifier.ts +0 -58
- package/front_end/ui/components/expandable_list/ExpandableList.docs.ts +0 -30
- /package/front_end/panels/application/{components/originTrialTokenRows.css → originTrialTokenRows.css} +0 -0
- /package/front_end/panels/application/{components/originTrialTreeView.css → originTrialTreeView.css} +0 -0
- /package/front_end/panels/{elements → common}/domLinkifier.css +0 -0
package/AUTHORS
CHANGED
|
@@ -18,6 +18,7 @@ Alex Ho <wjhe1016@gmail.com>
|
|
|
18
18
|
Alexander Stammbach <alexander@stammbach.io>
|
|
19
19
|
Alexey Rodionov <fluorescent.hallucinogen@gmail.com>
|
|
20
20
|
Ameen Basha <ameenbasha111@gmail.com>
|
|
21
|
+
Ankit Kumar Sahu <sahuankit.murhu@gmail.com>
|
|
21
22
|
Ankit Mishra <ankit.mishra131990@gmail.com>
|
|
22
23
|
Anna Agoha <annaagoha@gmail.com>
|
|
23
24
|
Anthony Xie <anthonyxie64@gmail.com>
|
|
@@ -38,7 +38,7 @@ export function normalizePath(path: string): string {
|
|
|
38
38
|
return normalizedPath;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
export function schemeIs(url: Platform.DevToolsPath.UrlString, scheme: string): boolean {
|
|
41
|
+
export function schemeIs(url: Platform.DevToolsPath.UrlString|URL, scheme: string): boolean {
|
|
42
42
|
try {
|
|
43
43
|
return (new URL(url)).protocol === scheme;
|
|
44
44
|
} catch {
|
|
@@ -15,7 +15,6 @@ import * as EventTarget from './EventTarget.js';
|
|
|
15
15
|
import * as Gzip from './Gzip.js';
|
|
16
16
|
import * as JavaScriptMetaData from './JavaScriptMetaData.js';
|
|
17
17
|
import * as Lazy from './Lazy.js';
|
|
18
|
-
import * as Linkifier from './Linkifier.js';
|
|
19
18
|
import * as MapWithDefault from './MapWithDefault.js';
|
|
20
19
|
import * as Mutex from './Mutex.js';
|
|
21
20
|
import * as ObjectWrapper from './Object.js';
|
|
@@ -56,7 +55,6 @@ export {
|
|
|
56
55
|
Gzip,
|
|
57
56
|
JavaScriptMetaData,
|
|
58
57
|
Lazy,
|
|
59
|
-
Linkifier,
|
|
60
58
|
MapWithDefault,
|
|
61
59
|
Mutex,
|
|
62
60
|
ObjectWrapper,
|
|
@@ -707,13 +707,16 @@ export class AidaClient {
|
|
|
707
707
|
return {generatedSamples, metadata};
|
|
708
708
|
}
|
|
709
709
|
|
|
710
|
-
async generateCode(request: GenerateCodeRequest
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
710
|
+
async generateCode(request: GenerateCodeRequest, options?: {signal?: AbortSignal}):
|
|
711
|
+
Promise<GenerateCodeResponse|null> {
|
|
712
|
+
const response = await DispatchHttpRequestClient.makeHttpRequest<GenerateCodeResponse>(
|
|
713
|
+
{
|
|
714
|
+
service: SERVICE_NAME,
|
|
715
|
+
path: '/v1/aida:generateCode',
|
|
716
|
+
method: 'POST',
|
|
717
|
+
body: JSON.stringify(request),
|
|
718
|
+
},
|
|
719
|
+
options);
|
|
717
720
|
|
|
718
721
|
return response;
|
|
719
722
|
}
|
|
@@ -8,6 +8,7 @@ import type {DispatchHttpRequestRequest, DispatchHttpRequestResult} from './Insp
|
|
|
8
8
|
export enum ErrorType {
|
|
9
9
|
HTTP_RESPONSE_UNAVAILABLE = 'HTTP_RESPONSE_UNAVAILABLE',
|
|
10
10
|
NOT_FOUND = 'NOT_FOUND',
|
|
11
|
+
ABORT = 'ABORT',
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export class DispatchHttpRequestError extends Error {
|
|
@@ -16,9 +17,23 @@ export class DispatchHttpRequestError extends Error {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
export async function makeHttpRequest<R>(
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
export async function makeHttpRequest<R>(
|
|
21
|
+
request: DispatchHttpRequestRequest, options?: {signal?: AbortSignal}): Promise<R> {
|
|
22
|
+
const signal = options?.signal;
|
|
23
|
+
if (signal?.aborted) {
|
|
24
|
+
throw new DispatchHttpRequestError(ErrorType.ABORT);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const response = await new Promise<DispatchHttpRequestResult>((resolve, reject) => {
|
|
28
|
+
const onAbort = (): void => {
|
|
29
|
+
reject(new DispatchHttpRequestError(ErrorType.ABORT));
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
signal?.addEventListener('abort', onAbort, {once: true});
|
|
33
|
+
InspectorFrontendHostInstance.dispatchHttpRequest(request, result => {
|
|
34
|
+
signal?.removeEventListener('abort', onAbort);
|
|
35
|
+
resolve(result);
|
|
36
|
+
});
|
|
22
37
|
});
|
|
23
38
|
|
|
24
39
|
debugLog({request, response});
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
import type {ProtocolMapping} from '../../generated/protocol-mapping.js';
|
|
6
6
|
|
|
7
7
|
export type Command = keyof ProtocolMapping.Commands;
|
|
8
|
-
export type CommandParams<T extends
|
|
9
|
-
export type CommandResult<T extends
|
|
8
|
+
export type CommandParams<T extends Command> = ProtocolMapping.Commands[T]['paramsType'][0];
|
|
9
|
+
export type CommandResult<T extends Command> = Omit<ProtocolMapping.Commands[T]['returnType'], 'getError'>;
|
|
10
10
|
export type Event = keyof ProtocolMapping.Events;
|
|
11
|
-
export type EventParams<T extends keyof ProtocolMapping.Events> = ProtocolMapping.Events[T];
|
|
11
|
+
export type EventParams<T extends keyof ProtocolMapping.Events> = ProtocolMapping.Events[T][0];
|
|
12
12
|
|
|
13
13
|
export interface CDPBaseMessage {
|
|
14
14
|
sessionId?: string;
|
|
@@ -17,7 +17,8 @@ import type {ConnectionTransport} from './ConnectionTransport.js';
|
|
|
17
17
|
import {InspectorBackend, type MessageError, type QualifiedName, test} from './InspectorBackend.js';
|
|
18
18
|
|
|
19
19
|
interface CallbackWithDebugInfo {
|
|
20
|
-
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
+
resolve: (response: {result: CommandResult<any>}|{error: CDPError}) => void;
|
|
21
22
|
method: string;
|
|
22
23
|
sessionId: string|undefined;
|
|
23
24
|
}
|
|
@@ -70,21 +70,22 @@ export class Runtime {
|
|
|
70
70
|
runtimeInstance = undefined;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
static queryParamsObject: URLSearchParams;
|
|
73
|
+
static #queryParamsObject: URLSearchParams;
|
|
74
74
|
|
|
75
|
-
static getSearchParams(): URLSearchParams {
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
static #getSearchParams(): URLSearchParams|null {
|
|
76
|
+
// TODO(crbug.com/451502260): Find a more explicit way to support running in Node.js
|
|
77
|
+
if (!Runtime.#queryParamsObject && 'location' in globalThis) {
|
|
78
|
+
Runtime.#queryParamsObject = new URLSearchParams(location.search);
|
|
78
79
|
}
|
|
79
|
-
return Runtime
|
|
80
|
+
return Runtime.#queryParamsObject;
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
static queryParam(name: string): string|null {
|
|
83
|
-
return Runtime
|
|
84
|
+
return Runtime.#getSearchParams()?.get(name) ?? null;
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
static setQueryParamForTesting(name: string, value: string): void {
|
|
87
|
-
Runtime
|
|
88
|
+
Runtime.#getSearchParams()?.set(name, value);
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
static isNode(): boolean {
|
|
@@ -184,10 +184,6 @@ export interface EventTypes {
|
|
|
184
184
|
[Events.HARDWARE_CONCURRENCY_CHANGED]: number;
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
export function throttlingManager(): CPUThrottlingManager {
|
|
188
|
-
return CPUThrottlingManager.instance();
|
|
189
|
-
}
|
|
190
|
-
|
|
191
187
|
export enum CPUThrottlingRates {
|
|
192
188
|
NO_THROTTLING = 1,
|
|
193
189
|
MID_TIER_MOBILE = 4,
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
VariableMatcher
|
|
42
42
|
} from './CSSPropertyParserMatchers.js';
|
|
43
43
|
import {
|
|
44
|
-
|
|
44
|
+
CSSAtRule,
|
|
45
45
|
CSSFunctionRule,
|
|
46
46
|
CSSKeyframeRule,
|
|
47
47
|
CSSKeyframesRule,
|
|
@@ -210,7 +210,7 @@ export interface CSSMatchedStylesPayload {
|
|
|
210
210
|
positionTryRules: Protocol.CSS.CSSPositionTryRule[];
|
|
211
211
|
propertyRules: Protocol.CSS.CSSPropertyRule[];
|
|
212
212
|
cssPropertyRegistrations: Protocol.CSS.CSSPropertyRegistration[];
|
|
213
|
-
|
|
213
|
+
atRules: Protocol.CSS.CSSAtRule[];
|
|
214
214
|
animationStylesPayload: Protocol.CSS.CSSAnimationStyle[];
|
|
215
215
|
transitionsStylePayload: Protocol.CSS.CSSStyle|null;
|
|
216
216
|
inheritedAnimatedPayload: Protocol.CSS.InheritedAnimatedStyleEntry[];
|
|
@@ -305,8 +305,8 @@ export class CSSMatchedStyles {
|
|
|
305
305
|
#pseudoDOMCascades?: Map<Protocol.DOM.PseudoType, DOMInheritanceCascade>;
|
|
306
306
|
#customHighlightPseudoDOMCascades?: Map<string, DOMInheritanceCascade>;
|
|
307
307
|
#functionRules: CSSFunctionRule[];
|
|
308
|
+
#atRules: CSSAtRule[];
|
|
308
309
|
#functionRuleMap = new Map<string, CSSFunctionRule>();
|
|
309
|
-
readonly #fontPaletteValuesRule: CSSFontPaletteValuesRule|undefined;
|
|
310
310
|
#environmentVariables: Record<string, string> = {};
|
|
311
311
|
|
|
312
312
|
static async create(payload: CSSMatchedStylesPayload): Promise<CSSMatchedStyles> {
|
|
@@ -323,9 +323,9 @@ export class CSSMatchedStyles {
|
|
|
323
323
|
positionTryRules,
|
|
324
324
|
propertyRules,
|
|
325
325
|
cssPropertyRegistrations,
|
|
326
|
-
fontPaletteValuesRule,
|
|
327
326
|
activePositionFallbackIndex,
|
|
328
327
|
functionRules,
|
|
328
|
+
atRules,
|
|
329
329
|
}: CSSMatchedStylesPayload) {
|
|
330
330
|
this.#cssModel = cssModel;
|
|
331
331
|
this.#node = node;
|
|
@@ -338,11 +338,9 @@ export class CSSMatchedStyles {
|
|
|
338
338
|
}
|
|
339
339
|
this.#positionTryRules = positionTryRules.map(rule => new CSSPositionTryRule(cssModel, rule));
|
|
340
340
|
this.#parentLayoutNodeId = parentLayoutNodeId;
|
|
341
|
-
this.#fontPaletteValuesRule =
|
|
342
|
-
fontPaletteValuesRule ? new CSSFontPaletteValuesRule(cssModel, fontPaletteValuesRule) : undefined;
|
|
343
|
-
|
|
344
341
|
this.#activePositionFallbackIndex = activePositionFallbackIndex;
|
|
345
342
|
this.#functionRules = functionRules.map(rule => new CSSFunctionRule(cssModel, rule));
|
|
343
|
+
this.#atRules = atRules.map(rule => new CSSAtRule(cssModel, rule));
|
|
346
344
|
}
|
|
347
345
|
|
|
348
346
|
private async init({
|
|
@@ -799,8 +797,8 @@ export class CSSMatchedStyles {
|
|
|
799
797
|
return this.#functionRules;
|
|
800
798
|
}
|
|
801
799
|
|
|
802
|
-
|
|
803
|
-
return this.#
|
|
800
|
+
atRules(): CSSAtRule[] {
|
|
801
|
+
return this.#atRules;
|
|
804
802
|
}
|
|
805
803
|
|
|
806
804
|
keyframes(): CSSKeyframesRule[] {
|
|
@@ -455,11 +455,8 @@ const cornerShapeValuePresetMap = new Map([
|
|
|
455
455
|
]);
|
|
456
456
|
|
|
457
457
|
const valuePresets = new Map([
|
|
458
|
-
['filter', filterValuePresetMap],
|
|
459
|
-
['
|
|
460
|
-
['background', imageValuePresetMap],
|
|
461
|
-
['background-image', imageValuePresetMap],
|
|
462
|
-
['-webkit-mask-image', imageValuePresetMap],
|
|
458
|
+
['filter', filterValuePresetMap], ['backdrop-filter', filterValuePresetMap], ['background', imageValuePresetMap],
|
|
459
|
+
['background-image', imageValuePresetMap], ['-webkit-mask-image', imageValuePresetMap],
|
|
463
460
|
[
|
|
464
461
|
'transform',
|
|
465
462
|
new Map([
|
|
@@ -486,6 +483,17 @@ const valuePresets = new Map([
|
|
|
486
483
|
]),
|
|
487
484
|
],
|
|
488
485
|
['corner-shape', cornerShapeValuePresetMap],
|
|
486
|
+
[
|
|
487
|
+
'font-variant-alternates',
|
|
488
|
+
new Map([
|
|
489
|
+
['stylistic', 'stylistic(||)'],
|
|
490
|
+
['styleset', 'styleset(||)'],
|
|
491
|
+
['character-variant', 'character-variant(||)'],
|
|
492
|
+
['swash', 'swash(||)'],
|
|
493
|
+
['ornaments', 'ornaments(||)'],
|
|
494
|
+
['annotation', 'annotation(||)'],
|
|
495
|
+
]),
|
|
496
|
+
]
|
|
489
497
|
]);
|
|
490
498
|
|
|
491
499
|
const distanceProperties = new Set<string>([
|
|
@@ -766,6 +774,10 @@ const extraPropertyValues = new Map<string, Set<string>>([
|
|
|
766
774
|
'ruby',
|
|
767
775
|
]),
|
|
768
776
|
],
|
|
777
|
+
[
|
|
778
|
+
'font-variant-alternates',
|
|
779
|
+
new Set(['historical-forms', 'stylistic', 'styleset', 'character-variant', 'swash', 'ornaments', 'annotation'])
|
|
780
|
+
],
|
|
769
781
|
['vertical-align', new Set(['top', 'bottom', '-webkit-baseline-middle'])],
|
|
770
782
|
['page-break-after', new Set(['left', 'right', 'always', 'avoid'])],
|
|
771
783
|
['text-emphasis-style', textEmphasisStyle],
|
|
@@ -358,7 +358,7 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
|
358
358
|
propertyRules: matchedStylesResponse.cssPropertyRules ?? [],
|
|
359
359
|
functionRules: matchedStylesResponse.cssFunctionRules ?? [],
|
|
360
360
|
cssPropertyRegistrations: matchedStylesResponse.cssPropertyRegistrations ?? [],
|
|
361
|
-
|
|
361
|
+
atRules: matchedStylesResponse.cssAtRules ?? [],
|
|
362
362
|
activePositionFallbackIndex: matchedStylesResponse.activePositionFallbackIndex ?? -1,
|
|
363
363
|
animationStylesPayload: animatedStylesResponse?.animationStyles || [],
|
|
364
364
|
inheritedAnimatedPayload: animatedStylesResponse?.inherited || [],
|
|
@@ -268,20 +268,32 @@ export class CSSPropertyRule extends CSSRule {
|
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
-
export class
|
|
272
|
-
readonly #
|
|
273
|
-
|
|
271
|
+
export class CSSAtRule extends CSSRule {
|
|
272
|
+
readonly #name: CSSValue|null;
|
|
273
|
+
readonly #type: string;
|
|
274
|
+
readonly #subsection: string|null;
|
|
275
|
+
constructor(cssModel: CSSModel, payload: Protocol.CSS.CSSAtRule) {
|
|
274
276
|
super(cssModel, {
|
|
275
277
|
origin: payload.origin,
|
|
276
278
|
style: payload.style,
|
|
277
279
|
header: styleSheetHeaderForRule(cssModel, payload),
|
|
278
280
|
originTreeScopeNodeId: undefined
|
|
279
281
|
});
|
|
280
|
-
this.#
|
|
282
|
+
this.#name = payload.name ? new CSSValue(payload.name) : null;
|
|
283
|
+
this.#type = payload.type;
|
|
284
|
+
this.#subsection = payload.subsection ?? null;
|
|
281
285
|
}
|
|
282
286
|
|
|
283
|
-
name(): CSSValue {
|
|
284
|
-
return this.#
|
|
287
|
+
name(): CSSValue|null {
|
|
288
|
+
return this.#name;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
type(): string {
|
|
292
|
+
return this.#type;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
subsection(): string|null {
|
|
296
|
+
return this.#subsection;
|
|
285
297
|
}
|
|
286
298
|
}
|
|
287
299
|
|
|
@@ -13,7 +13,7 @@ import {SDKModel} from './SDKModel.js';
|
|
|
13
13
|
import {SecurityOriginManager} from './SecurityOriginManager.js';
|
|
14
14
|
import {StorageKeyManager} from './StorageKeyManager.js';
|
|
15
15
|
import {Capability, type Target, Type} from './Target.js';
|
|
16
|
-
import {Events as TargetManagerEvents, TargetManager} from './TargetManager.js';
|
|
16
|
+
import {Events as TargetManagerEvents, type TargetManager} from './TargetManager.js';
|
|
17
17
|
|
|
18
18
|
const UIStrings = {
|
|
19
19
|
/**
|
|
@@ -126,7 +126,7 @@ export class ChildTargetManager extends SDKModel<EventTypes> implements Protocol
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
private fireAvailableTargetsChanged(): void {
|
|
129
|
-
|
|
129
|
+
this.#targetManager.dispatchEventToListeners(
|
|
130
130
|
TargetManagerEvents.AVAILABLE_TARGETS_CHANGED, [...this.#targetInfos.values()]);
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -383,14 +383,6 @@ export class NetworkManager extends SDKModel<EventTypes> {
|
|
|
383
383
|
return result.status;
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
-
async getIpProtectionProxyStatus(): Promise<Protocol.Network.IpProxyStatus|null> {
|
|
387
|
-
const result = await this.#networkAgent.invoke_getIPProtectionProxyStatus();
|
|
388
|
-
if (result.getError()) {
|
|
389
|
-
return null;
|
|
390
|
-
}
|
|
391
|
-
return result.status;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
386
|
async enableReportingApi(enable = true): Promise<Promise<Protocol.ProtocolResponseWithError>> {
|
|
395
387
|
return await this.#networkAgent.invoke_enableReportingApi({enable});
|
|
396
388
|
}
|
|
@@ -1043,6 +1035,12 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
1043
1035
|
appliedNetworkConditionsId,
|
|
1044
1036
|
};
|
|
1045
1037
|
this.getExtraInfoBuilder(requestId).addRequestExtraInfo(extraRequestInfo);
|
|
1038
|
+
|
|
1039
|
+
const networkRequest = this.#requestsById.get(requestId);
|
|
1040
|
+
if (appliedNetworkConditionsId && networkRequest) {
|
|
1041
|
+
networkRequest.setAppliedNetworkConditions(appliedNetworkConditionsId);
|
|
1042
|
+
this.updateNetworkRequest(networkRequest);
|
|
1043
|
+
}
|
|
1046
1044
|
}
|
|
1047
1045
|
|
|
1048
1046
|
responseReceivedEarlyHints({
|
|
@@ -1629,6 +1629,10 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
1629
1629
|
);
|
|
1630
1630
|
}
|
|
1631
1631
|
|
|
1632
|
+
setAppliedNetworkConditions(appliedNetworkConditionsId: string): void {
|
|
1633
|
+
this.#appliedNetworkConditionsId = appliedNetworkConditionsId;
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1632
1636
|
hasExtraRequestInfo(): boolean {
|
|
1633
1637
|
return this.#hasExtraRequestInfo;
|
|
1634
1638
|
}
|
|
@@ -12,7 +12,9 @@ export interface RegistrationInfo {
|
|
|
12
12
|
early?: boolean;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
export type SDKModelConstructor<T extends SDKModel = SDKModel> = new (target: Target) => T;
|
|
16
|
+
|
|
17
|
+
const registeredModels = new Map<SDKModelConstructor, RegistrationInfo>();
|
|
16
18
|
|
|
17
19
|
// TODO(crbug.com/1228674) Remove defaults for generic type parameters once
|
|
18
20
|
// all event emitters and sinks have been migrated.
|
|
@@ -52,7 +54,7 @@ export class SDKModel<Events = any> extends Common.ObjectWrapper.ObjectWrapper<E
|
|
|
52
54
|
dispose(): void {
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
static register(modelClass:
|
|
57
|
+
static register(modelClass: SDKModelConstructor, registrationInfo: RegistrationInfo): void {
|
|
56
58
|
if (registrationInfo.early && !registrationInfo.autostart) {
|
|
57
59
|
throw new Error(`Error registering model ${modelClass.name}: early models must be autostarted.`);
|
|
58
60
|
}
|
|
@@ -10,22 +10,20 @@ import {assertNotNullOrUndefined} from '../platform/platform.js';
|
|
|
10
10
|
import type * as ProtocolClient from '../protocol_client/protocol_client.js';
|
|
11
11
|
import * as Root from '../root/root.js';
|
|
12
12
|
|
|
13
|
-
import {SDKModel} from './SDKModel.js';
|
|
13
|
+
import {SDKModel, type SDKModelConstructor} from './SDKModel.js';
|
|
14
14
|
import {Target, Type as TargetType} from './Target.js';
|
|
15
15
|
|
|
16
|
-
type ModelClass<T = SDKModel> = new (arg1: Target) => T;
|
|
17
|
-
|
|
18
16
|
export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
|
19
17
|
#targets: Set<Target>;
|
|
20
18
|
readonly #observers: Set<Observer>;
|
|
21
19
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
22
20
|
#modelListeners: Platform.MapUtilities.Multimap<string|symbol|number, {
|
|
23
|
-
modelClass:
|
|
21
|
+
modelClass: SDKModelConstructor,
|
|
24
22
|
thisObject: Object|undefined,
|
|
25
23
|
listener: Common.EventTarget.EventListener<any, any>,
|
|
26
24
|
wrappedListener: Common.EventTarget.EventListener<any, any>,
|
|
27
25
|
}>;
|
|
28
|
-
readonly #modelObservers: Platform.MapUtilities.Multimap<
|
|
26
|
+
readonly #modelObservers: Platform.MapUtilities.Multimap<SDKModelConstructor, SDKModelObserver<any>>;
|
|
29
27
|
#scopedObservers: WeakSet<Observer|SDKModelObserver<any>>;
|
|
30
28
|
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
31
29
|
#isSuspended: boolean;
|
|
@@ -99,7 +97,7 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
|
|
|
99
97
|
return this.#isSuspended;
|
|
100
98
|
}
|
|
101
99
|
|
|
102
|
-
models<T extends SDKModel>(modelClass:
|
|
100
|
+
models<T extends SDKModel>(modelClass: SDKModelConstructor<T>, opts?: {scoped: boolean}): T[] {
|
|
103
101
|
const result = [];
|
|
104
102
|
for (const target of this.#targets) {
|
|
105
103
|
if (opts?.scoped && !this.isInScope(target)) {
|
|
@@ -119,8 +117,9 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
|
|
|
119
117
|
return mainTarget ? mainTarget.inspectedURL() : '';
|
|
120
118
|
}
|
|
121
119
|
|
|
122
|
-
observeModels<T extends SDKModel>(modelClass:
|
|
123
|
-
|
|
120
|
+
observeModels<T extends SDKModel>(modelClass: SDKModelConstructor<T>, observer: SDKModelObserver<T>, opts?: {
|
|
121
|
+
scoped: boolean,
|
|
122
|
+
}): void {
|
|
124
123
|
const models = this.models(modelClass, opts);
|
|
125
124
|
this.#modelObservers.set(modelClass, observer);
|
|
126
125
|
if (opts?.scoped) {
|
|
@@ -131,12 +130,12 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
|
|
|
131
130
|
}
|
|
132
131
|
}
|
|
133
132
|
|
|
134
|
-
unobserveModels<T extends SDKModel>(modelClass:
|
|
133
|
+
unobserveModels<T extends SDKModel>(modelClass: SDKModelConstructor<T>, observer: SDKModelObserver<T>): void {
|
|
135
134
|
this.#modelObservers.delete(modelClass, observer);
|
|
136
135
|
this.#scopedObservers.delete(observer);
|
|
137
136
|
}
|
|
138
137
|
|
|
139
|
-
modelAdded(modelClass:
|
|
138
|
+
modelAdded(modelClass: SDKModelConstructor, model: SDKModel, inScope: boolean): void {
|
|
140
139
|
for (const observer of this.#modelObservers.get(modelClass).values()) {
|
|
141
140
|
if (!this.#scopedObservers.has(observer) || inScope) {
|
|
142
141
|
observer.modelAdded(model);
|
|
@@ -144,7 +143,7 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
|
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
145
|
|
|
147
|
-
private modelRemoved(modelClass:
|
|
146
|
+
private modelRemoved(modelClass: SDKModelConstructor, model: SDKModel, inScope: boolean): void {
|
|
148
147
|
for (const observer of this.#modelObservers.get(modelClass).values()) {
|
|
149
148
|
if (!this.#scopedObservers.has(observer) || inScope) {
|
|
150
149
|
observer.modelRemoved(model);
|
|
@@ -153,8 +152,8 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
|
|
|
153
152
|
}
|
|
154
153
|
|
|
155
154
|
addModelListener<Events, T extends keyof Events>(
|
|
156
|
-
modelClass:
|
|
157
|
-
thisObject?: Object, opts?: {scoped: boolean}): void {
|
|
155
|
+
modelClass: SDKModelConstructor<SDKModel<Events>>, eventType: T,
|
|
156
|
+
listener: Common.EventTarget.EventListener<Events, T>, thisObject?: Object, opts?: {scoped: boolean}): void {
|
|
158
157
|
const wrappedListener = (event: Common.EventTarget.EventTargetEvent<Events[T], Events>): void => {
|
|
159
158
|
if (!opts?.scoped || this.isInScope(event)) {
|
|
160
159
|
listener.call(thisObject, event);
|
|
@@ -167,8 +166,8 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
|
|
|
167
166
|
}
|
|
168
167
|
|
|
169
168
|
removeModelListener<Events, T extends keyof Events>(
|
|
170
|
-
modelClass:
|
|
171
|
-
thisObject?: Object): void {
|
|
169
|
+
modelClass: SDKModelConstructor<SDKModel<Events>>, eventType: T,
|
|
170
|
+
listener: Common.EventTarget.EventListener<Events, T>, thisObject?: Object): void {
|
|
172
171
|
if (!this.#modelListeners.has(eventType)) {
|
|
173
172
|
return;
|
|
174
173
|
}
|
|
@@ -448,23 +448,7 @@ export class MainImpl {
|
|
|
448
448
|
Workspace.FileManager.FileManager.instance({forceNew: true});
|
|
449
449
|
|
|
450
450
|
Bindings.NetworkProject.NetworkProjectManager.instance();
|
|
451
|
-
const resourceMapping = new Bindings.ResourceMapping.ResourceMapping(
|
|
452
|
-
targetManager,
|
|
453
|
-
Workspace.Workspace.WorkspaceImpl.instance(),
|
|
454
|
-
);
|
|
455
451
|
new Bindings.PresentationConsoleMessageHelper.PresentationConsoleMessageManager();
|
|
456
|
-
Bindings.CSSWorkspaceBinding.CSSWorkspaceBinding.instance({
|
|
457
|
-
forceNew: true,
|
|
458
|
-
resourceMapping,
|
|
459
|
-
targetManager,
|
|
460
|
-
});
|
|
461
|
-
Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance({
|
|
462
|
-
forceNew: true,
|
|
463
|
-
resourceMapping,
|
|
464
|
-
targetManager,
|
|
465
|
-
ignoreListManager: Workspace.IgnoreListManager.IgnoreListManager.instance(),
|
|
466
|
-
workspace: Workspace.Workspace.WorkspaceImpl.instance(),
|
|
467
|
-
});
|
|
468
452
|
targetManager.setScopeTarget(targetManager.primaryPageTarget());
|
|
469
453
|
UI.Context.Context.instance().addFlavorChangeListener(SDK.Target.Target, ({data}) => {
|
|
470
454
|
const outermostTarget = data?.outermostTarget();
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import * as Common from '../core/common/common.js';
|
|
6
6
|
import * as Root from '../core/root/root.js';
|
|
7
7
|
import * as SDK from '../core/sdk/sdk.js';
|
|
8
|
+
import * as Bindings from '../models/bindings/bindings.js';
|
|
8
9
|
import * as Workspace from '../models/workspace/workspace.js';
|
|
9
10
|
|
|
10
11
|
export interface CreationOptions {
|
|
@@ -25,9 +26,19 @@ export class Universe {
|
|
|
25
26
|
|
|
26
27
|
const targetManager = new SDK.TargetManager.TargetManager();
|
|
27
28
|
this.context.set(SDK.TargetManager.TargetManager, targetManager);
|
|
28
|
-
|
|
29
|
+
|
|
30
|
+
const workspace = new Workspace.Workspace.WorkspaceImpl();
|
|
31
|
+
this.context.set(Workspace.Workspace.WorkspaceImpl, workspace);
|
|
29
32
|
|
|
30
33
|
const ignoreListManager = new Workspace.IgnoreListManager.IgnoreListManager(settings, targetManager);
|
|
31
34
|
this.context.set(Workspace.IgnoreListManager.IgnoreListManager, ignoreListManager);
|
|
35
|
+
|
|
36
|
+
const resourceMapping = new Bindings.ResourceMapping.ResourceMapping(targetManager, workspace);
|
|
37
|
+
const cssWorkspaceBinding = new Bindings.CSSWorkspaceBinding.CSSWorkspaceBinding(resourceMapping, targetManager);
|
|
38
|
+
this.context.set(Bindings.CSSWorkspaceBinding.CSSWorkspaceBinding, cssWorkspaceBinding);
|
|
39
|
+
|
|
40
|
+
const debuggerWorkspaceBinding = new Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding(
|
|
41
|
+
resourceMapping, targetManager, ignoreListManager, workspace);
|
|
42
|
+
this.context.set(Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding, debuggerWorkspaceBinding);
|
|
32
43
|
}
|
|
33
44
|
}
|
|
@@ -54,6 +54,10 @@ export const UIStrings = {
|
|
|
54
54
|
* @description Warning displayed to developers when a data: URL is assigned to SVGUseElement to let them know that the support is deprecated.
|
|
55
55
|
*/
|
|
56
56
|
DataUrlInSvgUse: "Support for data: URLs in SVGUseElement is deprecated and it will be removed in the future.",
|
|
57
|
+
/**
|
|
58
|
+
* @description A deprecation warning shown in the DevTools Issues tab. It's shown when one of the Protected Audience APIs like `navigator.joinAdInterestGroup`, `navigator.getInterestGroupAdAuctionData` or `navigator.runAdAuction` are called.
|
|
59
|
+
*/
|
|
60
|
+
Fledge: "The Protected Audience API is deprecated and will be removed in a future release.",
|
|
57
61
|
/**
|
|
58
62
|
* @description Warning displayed to developers when the Geolocation API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is no longer supported.
|
|
59
63
|
*/
|