From d02d8ce92406216204292e63f9a4a1628d09702c Mon Sep 17 00:00:00 2001 From: echoorchid Date: Mon, 8 Aug 2022 14:51:00 +0800 Subject: [PATCH] add webMessagePort interface Signed-off-by: echoorchid Change-Id: Ic9b0a220d50c293ce7cc5010d3369ea537fefcd7 --- api/@internal/component/ets/web.d.ts | 82 ++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/api/@internal/component/ets/web.d.ts b/api/@internal/component/ets/web.d.ts index 4d435b3a6b..0742b47d2c 100644 --- a/api/@internal/component/ets/web.d.ts +++ b/api/@internal/component/ets/web.d.ts @@ -157,6 +157,73 @@ declare enum CacheMode { Only, } +/** + * Define html5 web message port. + * @since 9 + */ +declare class WebMessagePort { + /** + * Constructor. + * @since 9 + */ + constructor(); + + /** + * Close port. + * @since 9 + */ + close(): void; + + /** + * Post a message to other port. + * @since 9 + */ + postMessageEvent(message: WebMessageEvent): void; + + /** + * Receive message from other port. + * @since 9 + */ + onMessageEvent(callback: (result: string) => void): void; +} + + +/** + * Define html5 web message, which include message and ports. + * @since 9 + */ +declare class WebMessageEvent { + /** + * Constructor. + * @since 9 + */ + constructor(); + + /** + * Get message. + * @since 9 + */ + getData(): string; + + /** + * Set message. + * @since 9 + */ + setData(data: string): void; + + /** + * Get ports. + * @since 9 + */ + getPorts(): Array; + + /** + * Set ports. + * @since 9 + */ + setPorts(ports: Array): void; +} + /** * Enum type supplied to {@link renderExitReason} when onRenderExited being called. * @since 9 @@ -968,6 +1035,21 @@ declare class WebCookie { */ runJavaScript(options: { script: string, callback?: (result: string) => void }); + /** + * Create web message ports + * + * @since 9 + */ + createWebMessagePorts(): Array; + + /** + * Post web message port to html5 + * @param options The options with a message event and a uri. + * + * @since 9 + */ + postMessage(options: { message: WebMessageEvent, uri: string}): void; + /** * Loads the data or URL. * @param options The options with the data or URL and other information. -- Gitee