diff options
author | Richard He <linyhe@microsoft.com> | 2022-04-25 23:09:58 +0000 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-04-25 16:18:33 -0700 |
commit | adbc5fbb6ea990999a36402715f189ae6dba4a0c (patch) | |
tree | 8263699d82b242d554ce3f05a76958b533ac76b5 /src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java | |
parent | dba208a9fee576d917dc092c44576e3e4db1a872 (diff) | |
download | webview_support_interfaces-adbc5fbb6ea990999a36402715f189ae6dba4a0c.tar.gz |
Replace String with WebMessagePayload for AndroidX WebMessage API
Design doc: https://docs.google.com/document/d/1nsQnwwY43OuA4PsSaMioiKA0c_M1eV1XX2q15YFA7cI/edit?usp=sharing
This CL did not add new features.
- Add a new boundary type WebMessagePayload to replace String
WebMessage.getData().
- Add new data class MessagePayload in content/, and replace existing
PostMessage API with the new type.
- A followup change will add ArrayBuffer support in
WebViewCompat.postMessageToMainFrame and
WebChannelCompat.postMessage.
How to test: run tests in existing AndroidX Webkit.
Bug: 1023334
Change-Id: Ib5b35b974bee597a6efada75503c5288f7058c50
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3583520
Reviewed-by: Bo Liu <boliu@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Commit-Queue: Linyue He <linyhe@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#995852}
NOKEYCHECK=True
GitOrigin-RevId: bc7514a7cf7b67ffc3fb0698310a23246df5a7c5
Diffstat (limited to 'src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java')
-rw-r--r-- | src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java new file mode 100644 index 0000000..1a4d6b5 --- /dev/null +++ b/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java @@ -0,0 +1,28 @@ +// Copyright 2022 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.support_lib_boundary; + +import androidx.annotation.IntDef; +import androidx.annotation.Nullable; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Boundary interface for WebMessagePayload. + */ +public interface WebMessagePayloadBoundaryInterface extends FeatureFlagHolderBoundaryInterface { + @WebMessagePayloadType + int getType(); + + @Nullable + String getAsString(); + + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = true, value = {WebMessagePayloadType.TYPE_STRING}) + @interface WebMessagePayloadType { + int TYPE_STRING = 0; + } +} |