summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard He <linyhe@microsoft.com>2022-08-27 01:25:08 +0000
committerCopybara-Service <copybara-worker@google.com>2022-08-26 18:34:37 -0700
commitbb54ff3521b041a520e27dde9ff06c2317800c95 (patch)
tree9ed4efe44047d41badfb87c1d9f8072556653ed4
parent698ea09b2f962a9d7bf300a05bac8b60213ac14a (diff)
downloadwebview_support_interfaces-bb54ff3521b041a520e27dde9ff06c2317800c95.tar.gz
[WebView] Adopt ArrayBuffer WebMessage in boundary interface
Support to receive ArrayBuffer from AndroidX. Design doc: https://docs.google.com/document/d/1nsQnwwY43OuA4PsSaMioiKA0c_M1eV1XX2q15YFA7cI/edit?usp=sharing Bug: 1023334 Change-Id: I63766886b38b0c0fd92d6c1f74eb79457131e0b3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3826702 Reviewed-by: Susanne Westphal <swestphal@chromium.org> Commit-Queue: Linyue He <linyhe@microsoft.com> Cr-Commit-Position: refs/heads/main@{#1040052} NOKEYCHECK=True GitOrigin-RevId: 57554690aecbb3d2a9748c3d077d71effa730675
-rw-r--r--src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java8
-rw-r--r--src/org/chromium/support_lib_boundary/util/Features.java3
2 files changed, 10 insertions, 1 deletions
diff --git a/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java
index 1a4d6b5..fe2ff62 100644
--- a/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java
@@ -5,6 +5,7 @@
package org.chromium.support_lib_boundary;
import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.lang.annotation.Retention;
@@ -20,9 +21,14 @@ public interface WebMessagePayloadBoundaryInterface extends FeatureFlagHolderBou
@Nullable
String getAsString();
+ @NonNull
+ byte[] getAsArrayBuffer();
+
@Retention(RetentionPolicy.SOURCE)
- @IntDef(flag = true, value = {WebMessagePayloadType.TYPE_STRING})
+ @IntDef(flag = true,
+ value = {WebMessagePayloadType.TYPE_STRING, WebMessagePayloadType.TYPE_ARRAY_BUFFER})
@interface WebMessagePayloadType {
int TYPE_STRING = 0;
+ int TYPE_ARRAY_BUFFER = 1;
}
}
diff --git a/src/org/chromium/support_lib_boundary/util/Features.java b/src/org/chromium/support_lib_boundary/util/Features.java
index e4abaae..021ab38 100644
--- a/src/org/chromium/support_lib_boundary/util/Features.java
+++ b/src/org/chromium/support_lib_boundary/util/Features.java
@@ -106,6 +106,9 @@ public class Features {
"SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL";
// WebMessage.getMessagePayload
+ // WebMessagePayload.getType
+ // WebMessagePayload.getAsString
+ // WebMessagePayload.getAsArrayBuffer
public static final String WEB_MESSAGE_GET_MESSAGE_PAYLOAD = "WEB_MESSAGE_GET_MESSAGE_PAYLOAD";
// WebMessagePortCompat.postMessage