Skip to content

Commit

Permalink
Add generated types for ReactNativeApplication CDP domain
Browse files Browse the repository at this point in the history
  • Loading branch information
huntie committed Jul 3, 2024
1 parent 7cd81c1 commit eeb767d
Show file tree
Hide file tree
Showing 7 changed files with 176 additions and 0 deletions.
4 changes: 4 additions & 0 deletions front_end/core/protocol_client/InspectorBackend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -736,6 +736,10 @@ export class TargetBase {
return this.getAgent('Performance');
}

reactNativeApplicationAgent(): ProtocolProxyApi.ReactNativeApplicationApi {
return this.getAgent('ReactNativeApplication');
}

runtimeAgent(): ProtocolProxyApi.RuntimeApi {
return this.getAgent('Runtime');
}
Expand Down
5 changes: 5 additions & 0 deletions front_end/generated/InspectorBackendCommands.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions front_end/generated/protocol-mapping.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
*/
export namespace ProtocolMapping {
export interface Events {
/**
* Issued once after the domain is enabled. Contains metadata about the
* device, application, and debugger integration.
*/
'ReactNativeApplication.metadataUpdated': [Protocol.ReactNativeApplication.MetadataUpdatedEvent];
/**
* The loadComplete event mirrors the load complete event sent by the browser to assistive
* technology when the web page has finished loading.
Expand Down Expand Up @@ -771,6 +776,20 @@ export namespace ProtocolMapping {
paramsType: [];
returnType: void;
};
/**
* Disables events from backend.
*/
'ReactNativeApplication.disable': {
paramsType: [];
returnType: void;
};
/**
* Enables events from backend.
*/
'ReactNativeApplication.enable': {
paramsType: [];
returnType: void;
};
/**
* Disables the accessibility domain.
*/
Expand Down
25 changes: 25 additions & 0 deletions front_end/generated/protocol-proxy-api.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ declare namespace ProtocolProxyApi {
export interface ProtocolApi {
FuseboxClient: FuseboxClientApi;

ReactNativeApplication: ReactNativeApplicationApi;

Accessibility: AccessibilityApi;

Animation: AnimationApi;
Expand Down Expand Up @@ -123,6 +125,8 @@ declare namespace ProtocolProxyApi {
export interface ProtocolDispatchers {
FuseboxClient: FuseboxClientDispatcher;

ReactNativeApplication: ReactNativeApplicationDispatcher;

Accessibility: AccessibilityDispatcher;

Animation: AnimationDispatcher;
Expand Down Expand Up @@ -238,6 +242,27 @@ declare namespace ProtocolProxyApi {
export interface FuseboxClientDispatcher {
}

export interface ReactNativeApplicationApi {
/**
* Disables events from backend.
*/
invoke_disable(): Promise<Protocol.ProtocolResponseWithError>;

/**
* Enables events from backend.
*/
invoke_enable(): Promise<Protocol.ProtocolResponseWithError>;

}
export interface ReactNativeApplicationDispatcher {
/**
* Issued once after the domain is enabled. Contains metadata about the
* device, application, and debugger integration.
*/
metadataUpdated(params: Protocol.ReactNativeApplication.MetadataUpdatedEvent): void;

}

export interface AccessibilityApi {
/**
* Disables the accessibility domain.
Expand Down
38 changes: 38 additions & 0 deletions front_end/generated/protocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,44 @@ type OpaqueIdentifier<RepresentationType, Tag extends string> = RepresentationTy
export namespace FuseboxClient {
}

/**
* A React Native-specific domain for interacting with React Native application
* features.
*/
export namespace ReactNativeApplication {

/**
* Issued once after the domain is enabled. Contains metadata about the
* device, application, and debugger integration.
*/
export interface MetadataUpdatedEvent {
/**
* The app display name.
*/
appDisplayName?: string;
/**
* The app bundle identifier.
*/
appIdentifier?: string;
/**
* The device name.
*/
deviceName?: string;
/**
* A label identifying the debugger integration.
*/
integrationName: string;
/**
* The platform name.
*/
platform?: string;
/**
* The React Native version.
*/
reactNativeVersion?: string;
}
}

export namespace Accessibility {

/**
Expand Down
58 changes: 58 additions & 0 deletions third_party/blink/public/devtools_protocol/browser_protocol.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,64 @@
}
]
},
{
"domain": "ReactNativeApplication",
"description": "A React Native-specific domain for interacting with React Native application\nfeatures.",
"experimental": true,
"commands": [
{
"name": "disable",
"description": "Disables events from backend."
},
{
"name": "enable",
"description": "Enables events from backend."
}
],
"events": [
{
"name": "metadataUpdated",
"description": "Issued once after the domain is enabled. Contains metadata about the\ndevice, application, and debugger integration.",
"parameters": [
{
"name": "appDisplayName",
"description": "The app display name.",
"optional": true,
"type": "string"
},
{
"name": "appIdentifier",
"description": "The app bundle identifier.",
"optional": true,
"type": "string"
},
{
"name": "deviceName",
"description": "The device name.",
"optional": true,
"type": "string"
},
{
"name": "integrationName",
"description": "A label identifying the debugger integration.",
"type": "string"
},
{
"name": "platform",
"description": "The platform name.",
"optional": true,
"type": "string"
},
{
"name": "reactNativeVersion",
"description": "The React Native version.",
"optional": true,
"type": "string"
}
]
}
]
},
{
"domain": "Accessibility",
"experimental": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,30 @@ experimental domain FuseboxClient
# message to the console, etc. The client should send this before enabling
# the Runtime and Log domains.
command setClientMetadata

# A React Native-specific domain for interacting with React Native application
# features.
experimental domain ReactNativeApplication

# Disables events from backend.
command disable

# Enables events from backend.
command enable

# Issued once after the domain is enabled. Contains metadata about the
# device, application, and debugger integration.
event metadataUpdated
parameters
# The app display name.
optional string appDisplayName
# The app bundle identifier.
optional string appIdentifier
# The device name.
optional string deviceName
# A label identifying the debugger integration.
string integrationName
# The platform name.
optional string platform
# The React Native version.
optional string reactNativeVersion

0 comments on commit eeb767d

Please sign in to comment.