summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-09-05 19:03:53 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-09-05 19:03:53 +0000
commitf7cb729758bd2cf03028c8b206c856116294b51a (patch)
tree6dc334df032cc9a63c54411b718c6fe937d9230b
parent43260e5bb805304b6385649f51bf28864cccc796 (diff)
parent099fddefcddadd46fbb1cedfc0c54917ecbe6c12 (diff)
downloadwebview_support_interfaces-androidx-sqlite-release.tar.gz
Snap for 10763169 from 099fddefcddadd46fbb1cedfc0c54917ecbe6c12 to androidx-sqlite-releaseandroidx-sqlite-release
Change-Id: Iaafd4b808cba152e00d0fe6bb7a49b472d0b70a8
-rw-r--r--BUILD.gn1
-rw-r--r--src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java33
-rw-r--r--src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java7
-rw-r--r--src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java17
-rw-r--r--src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java8
-rw-r--r--src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java16
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java2
-rw-r--r--src/org/chromium/support_lib_boundary/util/Features.java35
8 files changed, 88 insertions, 31 deletions
diff --git a/BUILD.gn b/BUILD.gn
index e3dbf8d..43ae324 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -7,6 +7,7 @@ import("//build/config/android/rules.gni")
android_library("boundary_interface_java") {
sources = [
+ "src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/FeatureFlagHolderBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/IsomorphicObjectBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java",
diff --git a/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java b/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java
new file mode 100644
index 0000000..9e694a2
--- /dev/null
+++ b/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java
@@ -0,0 +1,33 @@
+// Copyright 2022 The Chromium Authors
+// 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 android.content.ContentProvider;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.ParcelFileDescriptor;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import java.io.FileNotFoundException;
+
+/**
+ * Boundary interface for DropDataProvider.
+ */
+public interface DropDataContentProviderBoundaryInterface {
+ boolean onCreate();
+ String[] getStreamTypes(@NonNull Uri uri, @NonNull String mimeTypeFilter);
+ ParcelFileDescriptor openFile(@NonNull ContentProvider providerWrapper, @NonNull Uri uri)
+ throws FileNotFoundException;
+ Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection,
+ @Nullable String[] selectionArgs, @Nullable String sortOrder);
+ String getType(@NonNull Uri uri);
+ Uri cache(byte[] imageBytes, String encodingFormat, String filename);
+ void setClearCachedDataIntervalMs(int milliseconds);
+ void onDragEnd(boolean imageInUse);
+ Bundle call(@NonNull String method, @Nullable String arg, @Nullable Bundle extras);
+} \ No newline at end of file
diff --git a/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java b/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java
index 046b157..689982f 100644
--- a/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java
@@ -4,9 +4,16 @@
package org.chromium.support_lib_boundary;
+import java.lang.reflect.InvocationHandler;
+
/**
* Boundary interface for org.chromium.android_webview.WebMessageListener.
*/
public interface JsReplyProxyBoundaryInterface extends IsomorphicObjectBoundaryInterface {
+ /**
+ * Prefer using {@link #postMessageWithPayload}.
+ */
void postMessage(String message);
+
+ void postMessageWithPayload(/* MessagePayload */ InvocationHandler payload);
}
diff --git a/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java b/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java
index 4da312b..1b8a7d2 100644
--- a/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java
+++ b/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java
@@ -20,10 +20,7 @@ public final class ProcessGlobalConfigConstants {
/** @hide */
@RestrictTo(RestrictTo.Scope.LIBRARY)
- @StringDef(value =
- {
- DATA_DIRECTORY_SUFFIX,
- })
+ @StringDef(value = {DATA_DIRECTORY_SUFFIX, DATA_DIRECTORY_BASE_PATH, CACHE_DIRECTORY_BASE_PATH})
@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.PARAMETER, ElementType.METHOD})
public @interface ProcessGlobalConfigMapKey {}
@@ -33,4 +30,16 @@ public final class ProcessGlobalConfigConstants {
* via reflection into AndroidX class.
*/
public static final String DATA_DIRECTORY_SUFFIX = "DATA_DIRECTORY_SUFFIX";
+
+ /**
+ * Key for the data directory base path in the process global config map that is read in
+ * chromium via reflection into AndroidX class.
+ */
+ public static final String DATA_DIRECTORY_BASE_PATH = "DATA_DIRECTORY_BASE_PATH";
+
+ /**
+ * Key for the cache directory base path in the process global config map that is read in
+ * chromium via reflection into AndroidX class.
+ */
+ public static final String CACHE_DIRECTORY_BASE_PATH = "CACHE_DIRECTORY_BASE_PATH";
} \ No newline at end of file
diff --git a/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java
index 5a4b9ab..f13f3a1 100644
--- a/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java
@@ -4,8 +4,6 @@
package org.chromium.support_lib_boundary;
-import org.chromium.support_lib_boundary.WebSettingsBoundaryInterface.RequestedWithHeaderMode;
-
import java.util.Set;
/**
@@ -28,12 +26,6 @@ public interface ServiceWorkerWebSettingsBoundaryInterface {
boolean getBlockNetworkLoads();
- @Deprecated
- void setRequestedWithHeaderMode(@RequestedWithHeaderMode int mode);
- @Deprecated
- @RequestedWithHeaderMode
- int getRequestedWithHeaderMode();
-
void setRequestedWithHeaderOriginAllowList(Set<String> allowedOriginRules);
Set<String> getRequestedWithHeaderOriginAllowList();
diff --git a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
index fa298a6..987dd78 100644
--- a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
@@ -11,6 +11,7 @@ package org.chromium.support_lib_boundary;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.util.Map;
import java.util.Set;
/**
@@ -57,21 +58,12 @@ public interface WebSettingsBoundaryInterface {
@WebAuthnSupport
int getWebAuthnSupport();
- @Deprecated
- @Retention(RetentionPolicy.SOURCE)
- @interface RequestedWithHeaderMode {
- int NO_HEADER = 0;
- int APP_PACKAGE_NAME = 1;
- }
- @Deprecated
- void setRequestedWithHeaderMode(@RequestedWithHeaderMode int mode);
- @Deprecated
- @RequestedWithHeaderMode
- int getRequestedWithHeaderMode();
-
void setRequestedWithHeaderOriginAllowList(Set<String> allowedOriginRules);
Set<String> getRequestedWithHeaderOriginAllowList();
void setEnterpriseAuthenticationAppLinkPolicyEnabled(boolean enabled);
boolean getEnterpriseAuthenticationAppLinkPolicyEnabled();
+
+ void setUserAgentMetadataFromMap(Map<String, Object> uaMetadata);
+ Map<String, Object> getUserAgentMetadataMap();
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java
index ef4ea8e..f415011 100644
--- a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java
@@ -18,5 +18,5 @@ public interface WebViewProviderFactoryBoundaryInterface {
/* SupportLibraryServiceWorkerController */ InvocationHandler getServiceWorkerController();
/* SupportLibraryTracingController */ InvocationHandler getTracingController();
/* SupportLibraryProxyController */ InvocationHandler getProxyController();
- void setSupportLibraryVersion(String version);
+ /* DropDataContentProviderBoundaryInterface*/ InvocationHandler getDropDataProvider();
}
diff --git a/src/org/chromium/support_lib_boundary/util/Features.java b/src/org/chromium/support_lib_boundary/util/Features.java
index 2ddeece..870ac09 100644
--- a/src/org/chromium/support_lib_boundary/util/Features.java
+++ b/src/org/chromium/support_lib_boundary/util/Features.java
@@ -105,11 +105,18 @@ public class Features {
public static final String SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL =
"SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL";
+ /**
+ * @deprecated Feature was renamed to WEB_MESSAGE_ARRAY_BUFFER. Do not reuse feature name.
+ */
+ @Deprecated()
+ public static final String WEB_MESSAGE_GET_MESSAGE_PAYLOAD = "WEB_MESSAGE_GET_MESSAGE_PAYLOAD";
+
+ // JsReplyProxy.postMessageWithPayload
// WebMessage.getMessagePayload
- // WebMessagePayload.getType
- // WebMessagePayload.getAsString
// WebMessagePayload.getAsArrayBuffer
- public static final String WEB_MESSAGE_GET_MESSAGE_PAYLOAD = "WEB_MESSAGE_GET_MESSAGE_PAYLOAD";
+ // WebMessagePayload.getAsString
+ // WebMessagePayload.getType
+ public static final String WEB_MESSAGE_ARRAY_BUFFER = "WEB_MESSAGE_ARRAY_BUFFER";
// WebMessagePortCompat.postMessage
public static final String WEB_MESSAGE_PORT_POST_MESSAGE = "WEB_MESSAGE_PORT_POST_MESSAGE";
@@ -190,9 +197,6 @@ public class Features {
// WebViewCompat.removeWebMessageListener
public static final String WEB_MESSAGE_LISTENER = "WEB_MESSAGE_LISTENER";
- // WebViewProviderFactoryAdapter.setSupportLibraryVersion
- public static final String SET_SUPPORT_LIBRARY_VERSION = "SET_SUPPORT_LIBRARY_VERSION";
-
// WebViewCompat.addDocumentStartJavascript
public static final String DOCUMENT_START_SCRIPT = "DOCUMENT_START_SCRIPT:1";
@@ -227,4 +231,23 @@ public class Features {
// CookieManagerCompat.getCookieInfo
public static final String GET_COOKIE_INFO = "GET_COOKIE_INFO";
+
+ // DropDataContentProvider.onCreate
+ // DropDataContentProvider.getStreamTypes
+ // DropDataContentProvider.openFile
+ // DropDataContentProvider.query
+ // DropDataContentProvider.getType
+ // DropDataContentProvider.cache
+ // DropDataContentProvider.setClearCachedDataIntervalMs
+ // DropDataContentProvider.onDragEnd
+ // DropDataContentProvider.call
+ public static final String IMAGE_DRAG_DROP = "IMAGE_DRAG_DROP";
+
+ // WebSettingsCompat.enableRestrictSensitiveWebContent
+ @Deprecated()
+ public static final String RESTRICT_SENSITIVE_WEB_CONTENT = "RESTRICT_SENSITIVE_WEB_CONTENT";
+
+ // WebSettingsCompat.setUserAgentMetadataFromMap
+ // WebSettingsCompat.getUserAgentMetadataMap
+ public static final String USER_AGENT_METADATA = "USER_AGENT_METADATA";
}