Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Doc changes when unhiding the API:
- WebMessageListener does not support ARRAY_BUFFER, review docs to make sure it clearly documented.
- WebMessageCompat: document
getData
andgetArrayBuffer
will return null, unlessgetType
is equal to string or array buffer. - WebMessagePortCompat: review docs and make sure new type is updated.
cl...@google.com <cl...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit ab44a8fb40979c6790385beeb83e7d52378a0212
Author: Richard He <linyhe@microsoft.com>
Date: Thu Sep 29 17:58:19 2022
Add ArrayBuffer support in WebMessageCompat.
This add a new type (ArrayBuffer) in WebMessageCompat, which can be
send from App to Chromium and vice versa. A transferable ArrayBuffer
from JavaScript is also supported.
Since the new type is not supported by framework,
`WebMessagePort#setWebMessageCallback` changed the behavior to use
WebView impl first.
And the following PostMessage API uses WebView impl if the
WebMessage typs is not support by framework:
- WebMessagePort#postMessage
- WebViewCompat#postWebMessage
To keep backwords competibility, the following APIs do not throw
exception when the type is not correct.
- String WebMessageCompat#getData
- Byte[] WebMessageCompat#getArrayBuffer
Design doc:https://docs.google.com/document/d/1nsQnwwY43OuA4PsSaMioiKA0c_M1eV1XX2q15YFA7cI/edit?usp=sharing
Test: Added WebViewWebMessageCompatTest
Change-Id: I705512d2be14315831599ceb98e37be300fa5591
Bug: 251152171
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessageListenerAdapter.java
A webkit/webkit/src/main/java/androidx/webkit/internal/WebMessagePayloadAdapter.java
A webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/WebMessageCompatActivity.java
M webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/JsJavaInteractionActivity.java
M webkit/webkit/src/main/java/androidx/webkit/WebMessageCompat.java
A webkit/integration-tests/testapp/src/main/assets/www/web_message_compat.html
M webkit/integration-tests/testapp/src/main/AndroidManifest.xml
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessageAdapter.java
M webkit/webkit/src/main/java/androidx/webkit/internal/WebViewFeatureInternal.java
M webkit/webkit/src/main/java/androidx/webkit/WebViewCompat.java
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessageCallbackAdapter.java
A webkit/webkit/src/androidTest/java/androidx/webkit/WebViewWebMessageCompatTest.java
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessagePortImpl.java
A webkit/integration-tests/testapp/src/main/res/layout/activity_web_message_compat.xml
M webkit/webkit/src/main/java/androidx/webkit/WebViewFeature.java
M webkit/integration-tests/testapp/src/main/res/values/donottranslate-strings.xml
https://android-review.googlesource.com/2238574
Branch: androidx-main
commit ab44a8fb40979c6790385beeb83e7d52378a0212
Author: Richard He <linyhe@microsoft.com>
Date: Thu Sep 29 17:58:19 2022
Add ArrayBuffer support in WebMessageCompat.
This add a new type (ArrayBuffer) in WebMessageCompat, which can be
send from App to Chromium and vice versa. A transferable ArrayBuffer
from JavaScript is also supported.
Since the new type is not supported by framework,
`WebMessagePort#setWebMessageCallback` changed the behavior to use
WebView impl first.
And the following PostMessage API uses WebView impl if the
WebMessage typs is not support by framework:
- WebMessagePort#postMessage
- WebViewCompat#postWebMessage
To keep backwords competibility, the following APIs do not throw
exception when the type is not correct.
- String WebMessageCompat#getData
- Byte[] WebMessageCompat#getArrayBuffer
Design doc:
Test: Added WebViewWebMessageCompatTest
Change-Id: I705512d2be14315831599ceb98e37be300fa5591
Bug: 251152171
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessageListenerAdapter.java
A webkit/webkit/src/main/java/androidx/webkit/internal/WebMessagePayloadAdapter.java
A webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/WebMessageCompatActivity.java
M webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/JsJavaInteractionActivity.java
M webkit/webkit/src/main/java/androidx/webkit/WebMessageCompat.java
A webkit/integration-tests/testapp/src/main/assets/www/web_message_compat.html
M webkit/integration-tests/testapp/src/main/AndroidManifest.xml
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessageAdapter.java
M webkit/webkit/src/main/java/androidx/webkit/internal/WebViewFeatureInternal.java
M webkit/webkit/src/main/java/androidx/webkit/WebViewCompat.java
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessageCallbackAdapter.java
A webkit/webkit/src/androidTest/java/androidx/webkit/WebViewWebMessageCompatTest.java
M webkit/webkit/src/main/java/androidx/webkit/internal/WebMessagePortImpl.java
A webkit/integration-tests/testapp/src/main/res/layout/activity_web_message_compat.xml
M webkit/webkit/src/main/java/androidx/webkit/WebViewFeature.java
M webkit/integration-tests/testapp/src/main/res/values/donottranslate-strings.xml
na...@google.com <na...@google.com> #4
The following release(s) address this bug:
androidx.webkit:webkit:1.6.0-alpha02
Description