devtools-protocol 0.0.1704951 → 0.0.1709723

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.
@@ -13361,6 +13361,35 @@
13361
13361
  }
13362
13362
  ]
13363
13363
  },
13364
+ {
13365
+ "domain": "FindInPage",
13366
+ "description": "This domain provides commands to trigger the \"Find in page\" feature.",
13367
+ "experimental": true,
13368
+ "commands": [
13369
+ {
13370
+ "name": "findFirst",
13371
+ "description": "Forwards `query` to the find-in-page facility, starting a new find session.\nWhere exactly the search starts from is implementation-specific.",
13372
+ "parameters": [
13373
+ {
13374
+ "name": "query",
13375
+ "type": "string"
13376
+ }
13377
+ ]
13378
+ },
13379
+ {
13380
+ "name": "findNext",
13381
+ "description": "Moves to the next match for the query passed to the most recent\nfindFirst() call."
13382
+ },
13383
+ {
13384
+ "name": "findPrev",
13385
+ "description": "Moves to the previous match for the query passed to the most recent\nfindFirst() call."
13386
+ },
13387
+ {
13388
+ "name": "stop",
13389
+ "description": "Ends the current find session, if any, and clears its highlighting."
13390
+ }
13391
+ ]
13392
+ },
13364
13393
  {
13365
13394
  "domain": "HeadlessExperimental",
13366
13395
  "description": "This domain provides experimental commands only supported in headless mode.",
@@ -22086,6 +22115,7 @@
22086
22115
  "private-state-token-redemption",
22087
22116
  "publickey-credentials-create",
22088
22117
  "publickey-credentials-get",
22118
+ "publickey-credentials-remote-client-data-json",
22089
22119
  "rewriter",
22090
22120
  "screen-wake-lock",
22091
22121
  "serial",
@@ -282,11 +282,15 @@
282
282
  "$ref": "Location"
283
283
  },
284
284
  {
285
- "name": "empty",
286
- "description": "True if the scope does not declare any variables or have a runtime context.\nOnly present if true.\nEmpty scopes are retained in the scope chain because\nthey can be targeted via `evaluateOnCallFrame` (using `scopeNumber`) or\nmatched against scopes in source maps.",
285
+ "name": "emptyReason",
286
+ "description": "Present if the scope has no variable values to show. Absent means that\nthe scope declares at least one variable with an available value.\nEmpty scopes are retained in the scope chain because\nthey can be targeted via `evaluateOnCallFrame` (using `scopeNumber`) or\nmatched against scopes in source maps.",
287
287
  "experimental": true,
288
288
  "optional": true,
289
- "type": "boolean"
289
+ "type": "string",
290
+ "enum": [
291
+ "no-variables",
292
+ "all-unavailable"
293
+ ]
290
294
  }
291
295
  ]
292
296
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devtools-protocol",
3
- "version": "0.0.1704951",
3
+ "version": "0.0.1709723",
4
4
  "description": "The Chrome DevTools Protocol JSON",
5
5
  "repository": "https://github.com/ChromeDevTools/devtools-protocol",
6
6
  "author": "The Chromium Authors",
@@ -33,6 +33,7 @@ include domains/Extensions.pdl
33
33
  include domains/FedCm.pdl
34
34
  include domains/Fetch.pdl
35
35
  include domains/FileSystem.pdl
36
+ include domains/FindInPage.pdl
36
37
  include domains/HeadlessExperimental.pdl
37
38
  include domains/IO.pdl
38
39
  include domains/IndexedDB.pdl
@@ -0,0 +1,22 @@
1
+ # Copyright 2026 The Chromium Authors
2
+ # Use of this source code is governed by a BSD-style license that can be
3
+ # found in the LICENSE file.
4
+
5
+ # This domain provides commands to trigger the "Find in page" feature.
6
+ experimental domain FindInPage
7
+ # Forwards `query` to the find-in-page facility, starting a new find session.
8
+ # Where exactly the search starts from is implementation-specific.
9
+ command findFirst
10
+ parameters
11
+ string query
12
+
13
+ # Moves to the next match for the query passed to the most recent
14
+ # findFirst() call.
15
+ command findNext
16
+
17
+ # Moves to the previous match for the query passed to the most recent
18
+ # findFirst() call.
19
+ command findPrev
20
+
21
+ # Ends the current find session, if any, and clears its highlighting.
22
+ command stop
@@ -152,6 +152,7 @@ domain Page
152
152
  private-state-token-redemption
153
153
  publickey-credentials-create
154
154
  publickey-credentials-get
155
+ publickey-credentials-remote-client-data-json
155
156
  rewriter
156
157
  screen-wake-lock
157
158
  serial
@@ -143,12 +143,17 @@ domain Debugger
143
143
  optional Location startLocation
144
144
  # Location in the source code where scope ends
145
145
  optional Location endLocation
146
- # True if the scope does not declare any variables or have a runtime context.
147
- # Only present if true.
146
+ # Present if the scope has no variable values to show. Absent means that
147
+ # the scope declares at least one variable with an available value.
148
148
  # Empty scopes are retained in the scope chain because
149
149
  # they can be targeted via `evaluateOnCallFrame` (using `scopeNumber`) or
150
150
  # matched against scopes in source maps.
151
- experimental optional boolean empty
151
+ experimental optional enum emptyReason
152
+ # The scope does not declare any variables.
153
+ no-variables
154
+ # The scope declares variables, but none of their values are available
155
+ # (e.g. because they were optimized out or are in their TDZ).
156
+ all-unavailable
152
157
 
153
158
  # Search match for resource.
154
159
  type SearchMatch extends object
@@ -3890,6 +3890,37 @@ export namespace ProtocolMapping {
3890
3890
  paramsType: [Protocol.FileSystem.GetDirectoryRequest];
3891
3891
  returnType: Protocol.FileSystem.GetDirectoryResponse;
3892
3892
  };
3893
+ /**
3894
+ * Forwards `query` to the find-in-page facility, starting a new find session.
3895
+ * Where exactly the search starts from is implementation-specific.
3896
+ */
3897
+ 'FindInPage.findFirst': {
3898
+ paramsType: [Protocol.FindInPage.FindFirstRequest];
3899
+ returnType: void;
3900
+ };
3901
+ /**
3902
+ * Moves to the next match for the query passed to the most recent
3903
+ * findFirst() call.
3904
+ */
3905
+ 'FindInPage.findNext': {
3906
+ paramsType: [];
3907
+ returnType: void;
3908
+ };
3909
+ /**
3910
+ * Moves to the previous match for the query passed to the most recent
3911
+ * findFirst() call.
3912
+ */
3913
+ 'FindInPage.findPrev': {
3914
+ paramsType: [];
3915
+ returnType: void;
3916
+ };
3917
+ /**
3918
+ * Ends the current find session, if any, and clears its highlighting.
3919
+ */
3920
+ 'FindInPage.stop': {
3921
+ paramsType: [];
3922
+ returnType: void;
3923
+ };
3893
3924
  /**
3894
3925
  * Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a
3895
3926
  * screenshot from the resulting frame. Requires that the target was created with enabled
@@ -76,6 +76,8 @@ export namespace ProtocolProxyApi {
76
76
 
77
77
  FileSystem: FileSystemApi;
78
78
 
79
+ FindInPage: FindInPageApi;
80
+
79
81
  HeadlessExperimental: HeadlessExperimentalApi;
80
82
 
81
83
  IO: IOApi;
@@ -2705,6 +2707,32 @@ export namespace ProtocolProxyApi {
2705
2707
 
2706
2708
  }
2707
2709
 
2710
+ export interface FindInPageApi {
2711
+ /**
2712
+ * Forwards `query` to the find-in-page facility, starting a new find session.
2713
+ * Where exactly the search starts from is implementation-specific.
2714
+ */
2715
+ findFirst(params: Protocol.FindInPage.FindFirstRequest): Promise<void>;
2716
+
2717
+ /**
2718
+ * Moves to the next match for the query passed to the most recent
2719
+ * findFirst() call.
2720
+ */
2721
+ findNext(): Promise<void>;
2722
+
2723
+ /**
2724
+ * Moves to the previous match for the query passed to the most recent
2725
+ * findFirst() call.
2726
+ */
2727
+ findPrev(): Promise<void>;
2728
+
2729
+ /**
2730
+ * Ends the current find session, if any, and clears its highlighting.
2731
+ */
2732
+ stop(): Promise<void>;
2733
+
2734
+ }
2735
+
2708
2736
  export interface HeadlessExperimentalApi {
2709
2737
  /**
2710
2738
  * Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a
@@ -76,6 +76,8 @@ export namespace ProtocolTestsProxyApi {
76
76
 
77
77
  FileSystem: FileSystemApi;
78
78
 
79
+ FindInPage: FindInPageApi;
80
+
79
81
  HeadlessExperimental: HeadlessExperimentalApi;
80
82
 
81
83
  IO: IOApi;
@@ -2855,6 +2857,32 @@ export namespace ProtocolTestsProxyApi {
2855
2857
 
2856
2858
  }
2857
2859
 
2860
+ export interface FindInPageApi {
2861
+ /**
2862
+ * Forwards `query` to the find-in-page facility, starting a new find session.
2863
+ * Where exactly the search starts from is implementation-specific.
2864
+ */
2865
+ findFirst(params: Protocol.FindInPage.FindFirstRequest): Promise<{id: number, result: void, sessionId: string}>;
2866
+
2867
+ /**
2868
+ * Moves to the next match for the query passed to the most recent
2869
+ * findFirst() call.
2870
+ */
2871
+ findNext(): Promise<{id: number, result: void, sessionId: string}>;
2872
+
2873
+ /**
2874
+ * Moves to the previous match for the query passed to the most recent
2875
+ * findFirst() call.
2876
+ */
2877
+ findPrev(): Promise<{id: number, result: void, sessionId: string}>;
2878
+
2879
+ /**
2880
+ * Ends the current find session, if any, and clears its highlighting.
2881
+ */
2882
+ stop(): Promise<{id: number, result: void, sessionId: string}>;
2883
+
2884
+ }
2885
+
2858
2886
  export interface HeadlessExperimentalApi {
2859
2887
  /**
2860
2888
  * Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a
@@ -199,6 +199,11 @@ export namespace Protocol {
199
199
  WasmExpressionStack = 'wasm-expression-stack',
200
200
  }
201
201
 
202
+ export const enum ScopeEmptyReason {
203
+ NoVariables = 'no-variables',
204
+ AllUnavailable = 'all-unavailable',
205
+ }
206
+
202
207
  /**
203
208
  * Scope description.
204
209
  */
@@ -223,14 +228,14 @@ export namespace Protocol {
223
228
  */
224
229
  endLocation?: Location;
225
230
  /**
226
- * True if the scope does not declare any variables or have a runtime context.
227
- * Only present if true.
231
+ * Present if the scope has no variable values to show. Absent means that
232
+ * the scope declares at least one variable with an available value.
228
233
  * Empty scopes are retained in the scope chain because
229
234
  * they can be targeted via `evaluateOnCallFrame` (using `scopeNumber`) or
230
235
  * matched against scopes in source maps.
231
236
  * @experimental
232
237
  */
233
- empty?: boolean;
238
+ emptyReason?: ('no-variables' | 'all-unavailable');
234
239
  }
235
240
 
236
241
  /**
@@ -10962,6 +10967,17 @@ export namespace Protocol {
10962
10967
  }
10963
10968
  }
10964
10969
 
10970
+ /**
10971
+ * This domain provides commands to trigger the "Find in page" feature.
10972
+ * @experimental
10973
+ */
10974
+ export namespace FindInPage {
10975
+
10976
+ export interface FindFirstRequest {
10977
+ query: string;
10978
+ }
10979
+ }
10980
+
10965
10981
  /**
10966
10982
  * This domain provides experimental commands only supported in headless mode.
10967
10983
  * @experimental
@@ -16837,7 +16853,7 @@ export namespace Protocol {
16837
16853
  * in services/network/public/cpp/permissions_policy/permissions_policy_features.json5.
16838
16854
  * @experimental
16839
16855
  */
16840
- export type PermissionsPolicyFeature = ('accelerometer' | 'all-screens-capture' | 'ambient-light-sensor' | 'aria-notify' | 'autofill' | 'autoplay' | 'bluetooth' | 'browsing-topics' | 'camera' | 'captured-surface-control' | 'ch-dpr' | 'ch-device-memory' | 'ch-downlink' | 'ch-ect' | 'ch-prefers-color-scheme' | 'ch-prefers-reduced-motion' | 'ch-prefers-reduced-transparency' | 'ch-rtt' | 'ch-save-data' | 'ch-ua' | 'ch-ua-arch' | 'ch-ua-bitness' | 'ch-ua-high-entropy-values' | 'ch-ua-platform' | 'ch-ua-model' | 'ch-ua-mobile' | 'ch-ua-form-factors' | 'ch-ua-full-version' | 'ch-ua-full-version-list' | 'ch-ua-platform-version' | 'ch-ua-wow64' | 'ch-viewport-height' | 'ch-viewport-width' | 'ch-width' | 'clipboard-read' | 'clipboard-write' | 'compute-pressure' | 'controlled-frame' | 'cross-origin-isolated' | 'deferred-fetch' | 'deferred-fetch-minimal' | 'device-attributes' | 'digital-credentials-create' | 'digital-credentials-get' | 'direct-sockets' | 'direct-sockets-multicast' | 'display-capture' | 'document-domain' | 'encrypted-media' | 'execution-while-out-of-viewport' | 'execution-while-not-rendered' | 'focus-without-user-activation' | 'fullscreen' | 'frobulate' | 'gamepad' | 'geolocation' | 'gyroscope' | 'haptics' | 'hid' | 'identity-credentials-get' | 'idle-detection' | 'interest-cohort' | 'keyboard-map' | 'language-detector' | 'language-model' | 'local-fonts' | 'local-network' | 'local-network-access' | 'loopback-network' | 'magnetometer' | 'manual-text' | 'media-playback-while-not-visible' | 'microphone' | 'midi' | 'on-device-speech-recognition' | 'otp-credentials' | 'payment' | 'picture-in-picture' | 'private-state-token-issuance' | 'private-state-token-redemption' | 'publickey-credentials-create' | 'publickey-credentials-get' | 'rewriter' | 'screen-wake-lock' | 'serial' | 'shared-storage' | 'shared-storage-select-url' | 'smart-card' | 'speaker-selection' | 'storage-access' | 'sub-apps' | 'summarizer' | 'sync-xhr' | 'tools' | 'translator' | 'unload' | 'usb' | 'usb-unrestricted' | 'vertical-scroll' | 'web-app-installation' | 'webnn' | 'web-printing' | 'web-share' | 'window-management' | 'writer' | 'xr-spatial-tracking');
16856
+ export type PermissionsPolicyFeature = ('accelerometer' | 'all-screens-capture' | 'ambient-light-sensor' | 'aria-notify' | 'autofill' | 'autoplay' | 'bluetooth' | 'browsing-topics' | 'camera' | 'captured-surface-control' | 'ch-dpr' | 'ch-device-memory' | 'ch-downlink' | 'ch-ect' | 'ch-prefers-color-scheme' | 'ch-prefers-reduced-motion' | 'ch-prefers-reduced-transparency' | 'ch-rtt' | 'ch-save-data' | 'ch-ua' | 'ch-ua-arch' | 'ch-ua-bitness' | 'ch-ua-high-entropy-values' | 'ch-ua-platform' | 'ch-ua-model' | 'ch-ua-mobile' | 'ch-ua-form-factors' | 'ch-ua-full-version' | 'ch-ua-full-version-list' | 'ch-ua-platform-version' | 'ch-ua-wow64' | 'ch-viewport-height' | 'ch-viewport-width' | 'ch-width' | 'clipboard-read' | 'clipboard-write' | 'compute-pressure' | 'controlled-frame' | 'cross-origin-isolated' | 'deferred-fetch' | 'deferred-fetch-minimal' | 'device-attributes' | 'digital-credentials-create' | 'digital-credentials-get' | 'direct-sockets' | 'direct-sockets-multicast' | 'display-capture' | 'document-domain' | 'encrypted-media' | 'execution-while-out-of-viewport' | 'execution-while-not-rendered' | 'focus-without-user-activation' | 'fullscreen' | 'frobulate' | 'gamepad' | 'geolocation' | 'gyroscope' | 'haptics' | 'hid' | 'identity-credentials-get' | 'idle-detection' | 'interest-cohort' | 'keyboard-map' | 'language-detector' | 'language-model' | 'local-fonts' | 'local-network' | 'local-network-access' | 'loopback-network' | 'magnetometer' | 'manual-text' | 'media-playback-while-not-visible' | 'microphone' | 'midi' | 'on-device-speech-recognition' | 'otp-credentials' | 'payment' | 'picture-in-picture' | 'private-state-token-issuance' | 'private-state-token-redemption' | 'publickey-credentials-create' | 'publickey-credentials-get' | 'publickey-credentials-remote-client-data-json' | 'rewriter' | 'screen-wake-lock' | 'serial' | 'shared-storage' | 'shared-storage-select-url' | 'smart-card' | 'speaker-selection' | 'storage-access' | 'sub-apps' | 'summarizer' | 'sync-xhr' | 'tools' | 'translator' | 'unload' | 'usb' | 'usb-unrestricted' | 'vertical-scroll' | 'web-app-installation' | 'webnn' | 'web-printing' | 'web-share' | 'window-management' | 'writer' | 'xr-spatial-tracking');
16841
16857
 
16842
16858
  /**
16843
16859
  * Reason for a permissions policy feature to be disabled.