Skip to content

Commit b813569

Browse files
1 parent a96facc commit b813569

File tree

5 files changed

+223
-0
lines changed

5 files changed

+223
-0
lines changed

src/bidiMapper/CommandProcessor.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,10 @@ export class CommandProcessor extends EventEmitter<CommandProcessorEventsMap> {
336336

337337
// Network module
338338
// keep-sorted start block=yes
339+
case 'network.addDataCollector':
340+
throw new UnknownErrorException(
341+
`Method ${command.method} is not implemented.`,
342+
);
339343
case 'network.addIntercept':
340344
return await this.#networkProcessor.addIntercept(
341345
this.#parser.parseAddInterceptParams(command.params),
@@ -356,10 +360,18 @@ export class CommandProcessor extends EventEmitter<CommandProcessorEventsMap> {
356360
return await this.#networkProcessor.failRequest(
357361
this.#parser.parseFailRequestParams(command.params),
358362
);
363+
case 'network.getData':
364+
throw new UnknownErrorException(
365+
`Method ${command.method} is not implemented.`,
366+
);
359367
case 'network.provideResponse':
360368
return await this.#networkProcessor.provideResponse(
361369
this.#parser.parseProvideResponseParams(command.params),
362370
);
371+
case 'network.removeDataCollector':
372+
throw new UnknownErrorException(
373+
`Method ${command.method} is not implemented.`,
374+
);
363375
case 'network.removeIntercept':
364376
return await this.#networkProcessor.removeIntercept(
365377
this.#parser.parseRemoveInterceptParams(command.params),

src/protocol-parser/generated/webdriver-bidi.ts

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,13 @@ export const ErrorCodeSchema = z.lazy(() =>
120120
'invalid web extension',
121121
'move target out of bounds',
122122
'no such alert',
123+
'no such network collector',
123124
'no such element',
124125
'no such frame',
125126
'no such handle',
126127
'no such history entry',
127128
'no such intercept',
129+
'no such network data',
128130
'no such node',
129131
'no such request',
130132
'no such script',
@@ -136,6 +138,7 @@ export const ErrorCodeSchema = z.lazy(() =>
136138
'unable to close browser',
137139
'unable to set cookie',
138140
'unable to set file input',
141+
'unavailable network data',
139142
'underspecified storage partition',
140143
'unknown command',
141144
'unknown error',
@@ -1269,12 +1272,15 @@ export namespace Emulation {
12691272
}
12701273
export const NetworkCommandSchema = z.lazy(() =>
12711274
z.union([
1275+
Network.AddDataCollectorSchema,
12721276
Network.AddInterceptSchema,
12731277
Network.ContinueRequestSchema,
12741278
Network.ContinueResponseSchema,
12751279
Network.ContinueWithAuthSchema,
12761280
Network.FailRequestSchema,
1281+
Network.GetDataSchema,
12771282
Network.ProvideResponseSchema,
1283+
Network.RemoveDataCollectorSchema,
12781284
Network.RemoveInterceptSchema,
12791285
Network.SetCacheBehaviorSchema,
12801286
]),
@@ -1321,6 +1327,9 @@ export namespace Network {
13211327
}),
13221328
);
13231329
}
1330+
export namespace Network {
1331+
export const DataTypeSchema = z.literal('response');
1332+
}
13241333
export namespace Network {
13251334
export const BytesValueSchema = z.lazy(() =>
13261335
z.union([Network.StringValueSchema, Network.Base64ValueSchema]),
@@ -1342,6 +1351,12 @@ export namespace Network {
13421351
}),
13431352
);
13441353
}
1354+
export namespace Network {
1355+
export const CollectorSchema = z.lazy(() => z.string());
1356+
}
1357+
export namespace Network {
1358+
export const CollectorTypeSchema = z.literal('blob');
1359+
}
13451360
export namespace Network {
13461361
export const SameSiteSchema = z.lazy(() => z.enum(['strict', 'lax', 'none']));
13471362
}
@@ -1495,6 +1510,35 @@ export namespace Network {
14951510
}),
14961511
);
14971512
}
1513+
export namespace Network {
1514+
export const AddDataCollectorSchema = z.lazy(() =>
1515+
z.object({
1516+
method: z.literal('network.addDataCollector'),
1517+
params: Network.AddDataCollectorParametersSchema,
1518+
}),
1519+
);
1520+
}
1521+
export namespace Network {
1522+
export const AddDataCollectorParametersSchema = z.lazy(() =>
1523+
z.object({
1524+
dataTypes: z.array(Network.DataTypeSchema).min(1),
1525+
maxEncodedDataSize: JsUintSchema,
1526+
collectorType: Network.CollectorTypeSchema.default('blob').optional(),
1527+
contexts: z
1528+
.array(BrowsingContext.BrowsingContextSchema)
1529+
.min(1)
1530+
.optional(),
1531+
userContexts: z.array(Browser.UserContextSchema).min(1).optional(),
1532+
}),
1533+
);
1534+
}
1535+
export namespace Network {
1536+
export const AddDataCollectorResultSchema = z.lazy(() =>
1537+
z.object({
1538+
collector: Network.CollectorSchema,
1539+
}),
1540+
);
1541+
}
14981542
export namespace Network {
14991543
export const AddInterceptParametersSchema = z.lazy(() =>
15001544
z.object({
@@ -1604,6 +1648,23 @@ export namespace Network {
16041648
}),
16051649
);
16061650
}
1651+
export namespace Network {
1652+
export const DisownDataSchema = z.lazy(() =>
1653+
z.object({
1654+
method: z.literal('network.disownData'),
1655+
params: Network.DisownDataParametersSchema,
1656+
}),
1657+
);
1658+
}
1659+
export namespace Network {
1660+
export const DisownDataParametersSchema = z.lazy(() =>
1661+
z.object({
1662+
dataType: Network.DataTypeSchema,
1663+
collector: Network.CollectorSchema,
1664+
request: Network.RequestSchema,
1665+
}),
1666+
);
1667+
}
16071668
export namespace Network {
16081669
export const FailRequestSchema = z.lazy(() =>
16091670
z.object({
@@ -1619,6 +1680,31 @@ export namespace Network {
16191680
}),
16201681
);
16211682
}
1683+
export namespace Network {
1684+
export const GetDataSchema = z.lazy(() =>
1685+
z.object({
1686+
method: z.literal('network.getData'),
1687+
params: Network.GetDataParametersSchema,
1688+
}),
1689+
);
1690+
}
1691+
export namespace Network {
1692+
export const GetDataParametersSchema = z.lazy(() =>
1693+
z.object({
1694+
dataType: Network.DataTypeSchema,
1695+
collector: Network.CollectorSchema.optional(),
1696+
disown: z.boolean().default(false).optional(),
1697+
request: Network.RequestSchema,
1698+
}),
1699+
);
1700+
}
1701+
export namespace Script {
1702+
export const GetDataResultSchema = z.lazy(() =>
1703+
z.object({
1704+
bytes: Network.BytesValueSchema,
1705+
}),
1706+
);
1707+
}
16221708
export namespace Network {
16231709
export const ProvideResponseSchema = z.lazy(() =>
16241710
z.object({
@@ -1639,6 +1725,21 @@ export namespace Network {
16391725
}),
16401726
);
16411727
}
1728+
export namespace Network {
1729+
export const RemoveDataCollectorSchema = z.lazy(() =>
1730+
z.object({
1731+
method: z.literal('network.removeDataCollector'),
1732+
params: Network.RemoveDataCollectorParametersSchema,
1733+
}),
1734+
);
1735+
}
1736+
export namespace Network {
1737+
export const RemoveDataCollectorParametersSchema = z.lazy(() =>
1738+
z.object({
1739+
collector: Network.CollectorSchema,
1740+
}),
1741+
);
1742+
}
16421743
export namespace Network {
16431744
export const RemoveInterceptSchema = z.lazy(() =>
16441745
z.object({

src/protocol/ErrorResponse.spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ describe('Exception', () => {
3535
[ErrorCode.NoSuchHandle]: undefined,
3636
[ErrorCode.NoSuchHistoryEntry]: undefined,
3737
[ErrorCode.NoSuchIntercept]: undefined,
38+
[ErrorCode.NoSuchNetworkCollector]: undefined,
39+
[ErrorCode.NoSuchNetworkData]: undefined,
3840
[ErrorCode.NoSuchNode]: undefined,
3941
[ErrorCode.NoSuchRequest]: undefined,
4042
[ErrorCode.NoSuchScript]: undefined,
@@ -46,6 +48,7 @@ describe('Exception', () => {
4648
[ErrorCode.UnableToCloseBrowser]: undefined,
4749
[ErrorCode.UnableToSetCookie]: undefined,
4850
[ErrorCode.UnableToSetFileInput]: undefined,
51+
[ErrorCode.UnavailableNetworkData]: undefined,
4952
[ErrorCode.UnderspecifiedStoragePartition]: undefined,
5053
[ErrorCode.UnknownCommand]: undefined,
5154
[ErrorCode.UnknownError]: undefined,

src/protocol/ErrorResponse.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,3 +192,19 @@ export class NoSuchWebExtensionException extends Exception {
192192
super(ErrorCode.NoSuchWebExtension, message, stacktrace);
193193
}
194194
}
195+
196+
export class NoSuchNetworkCollectorException extends Exception {
197+
constructor(message: string, stacktrace?: string) {
198+
super(ErrorCode.NoSuchNetworkCollector, message, stacktrace);
199+
}
200+
}
201+
export class NoSuchNetworkDataException extends Exception {
202+
constructor(message: string, stacktrace?: string) {
203+
super(ErrorCode.NoSuchNetworkData, message, stacktrace);
204+
}
205+
}
206+
export class UnavailableNetworkDataException extends Exception {
207+
constructor(message: string, stacktrace?: string) {
208+
super(ErrorCode.UnavailableNetworkData, message, stacktrace);
209+
}
210+
}

0 commit comments

Comments
 (0)